[postgis-tickets] [PostGIS] #3318: ST_MapAlgebra with mask seems to hard-code distance 1 instead of inferring distance from mask matrix
PostGIS
trac at osgeo.org
Mon Oct 5 22:02:30 PDT 2015
#3318: ST_MapAlgebra with mask seems to hard-code distance 1 instead of inferring
distance from mask matrix
---------------------+---------------------------
Reporter: robe | Owner: pramsey
Type: defect | Status: new
Priority: medium | Milestone: PostGIS 2.3.0
Component: postgis | Version: trunk
Keywords: |
---------------------+---------------------------
I've moved this from the now closed mask documentation #2603 to here
{{{
DROP TABLE IF EXISTS shapes;
CREATE TABLE shapes(rid integer, rast raster);
INSERT INTO shapes(rid,rast)
VALUES ( 1, ST_AsRaster(
ST_Buffer(
ST_GeomFromText('LINESTRING(50 50,150 150,150
50)'), 10,'join=bevel'),
200,200,ARRAY['8BUI'], ARRAY[118], ARRAY[0]) );
SELECT st_mapalgebra(rast,1,'st_mean4ma(double precision[], int[],
text[])'::regprocedure,'{{1,0,1,1,1}, {1,0,1,1,1}, {1,0,1,1,1},
{1,0,1,1,1}, {1,0,1,1,1}}'::double precision[],false)
FROM shapes;
}}}
Gives error:
{{{
ERROR: rt_pixel_set_array: mask dimensions 5 x 5 do not match given dims
3 x 3
}}}
It's my understanding based on dusty's comments that the neighborhood size
should be inferred from the mask size, so there seems to me something
wrong here.
Bborie's comments copied from other ticket
----
Distance is two pixels left, right, up, down from the pixel of interest...
{{{
2 2 2 2 2
2 1 1 1 2
2 1 0 1 2
2 1 1 1 2
2 2 2 2 2
}}}
So the distance x/y are correct. As for that error message, I'll need to
dig.
----
--
Ticket URL: <https://trac.osgeo.org/postgis/ticket/3318>
PostGIS <http://trac.osgeo.org/postgis/>
The PostGIS Trac is used for bug, enhancement & task tracking, a user and developer wiki, and a view into the subversion code repository of PostGIS project.
More information about the postgis-tickets
mailing list