[mapserver-users] Mapserver WFS, Intersect and projection
Sture Dingsøyr
candalt at online.no
Mon Nov 24 02:06:39 PST 2008
Hi
Have a PostGIS dataset where the data is defined as LAT/LON (EPSG:4326).
We have made a mapserver WFS layer based on this dataset, and populated it in EPSG:32633.
We are able to do regular BBOX Filter on this theme, but when we try to do an Intersect filter, Mapserver only returns WFS null.
If we make a view on the dataset, transforming the data to EPSG:32633 everything works fine.
Is there a problem using WFS Filter (e.g. Intersect) in Mapserver when the source data is in one projection, and the mapfile another?
E.g. in our case where the source data is in EPSG:4326, and the mapfile is in EPSG:32633?
Regular GetFeature returns null
http://myserver/wfs?SERVICE=WFS&VERSION=1.0.0&REQUEST=getfeature&MAXFEATURES=100&TYPENAME=layer_1
Regular BBOX works fine
http://myserver/wfs?SERVICE=WFS&VERSION=1.0.0&REQUEST=getfeature&MAXFEATURES=100&TYPENAME=layer_1&FILTER=<Filter><BBOX><PropertyName>Geometry</PropertyName><gml:Box%20srsName='EPSG:32633'><gml:coordinates>19547,6834875%2019806,6835088</gml:coordinates></gml:Box></BBOX></Filter>
Regular Intersect returns null
http://myserver/wfs?SERVICE=WFS&VERSION=1.0.0&REQUEST=getfeature&MAXFEATURES=100&TYPENAME=layer_1&FILTER=<Filter><Intersect><PropertyName>Geometry</PropertyName><gml:Polygon><gml:outerBoundaryIs><gml:LinearRing><gml:coordinates>19555,6835218%2019470,6834837%2019478,6834837%2019944,6834794%2019957,6835187%2019555,6835218</gml:coordinates></gml:LinearRing></gml:outerBoundaryIs></gml:Polygon></Intersect></Filter>
This mapfile definition fails (data is in EPSG:4326 and we make mapserver do transformation):
LAYER
PROJECTION
"init=epsg:4326"
END
METADATA
"wfs_title" "Test"
"wfs_srs" "EPSG:32633"
"wfs_abstract" "For å hente dette tema via WFS må ein nytte layer_1 som verdi i TYPENAME parameter"
"gml_include_items" "all"
END
CONNECTION "user=xxxxxx password=xxxxxx dbname=test host=localhost"
CONNECTIONTYPE postgis
DATA "geom FROM (SELECT id,name,geom FROM test) AS test USING UNIQUE id USING SRID=4326"
STATUS off
TYPE point
DUMP TRUE
TEMPLATE "TRUE"
NAME "layer_1"
CLASS
COLOR 255 0 0
MINSCALE 2000001
NAME "Test"
OUTLINECOLOR 0 0 0
SIZE 8
SYMBOL "circle"
END
END
This mafile definition works (data is in EPSG:4326, but we do transformation in POstGIS via the SQL to EPSG:32633):
LAYER
PROJECTION
"init=epsg:32633"
END
METADATA
"wfs_title" "Test"
"wfs_srs" "EPSG:32633"
"wfs_abstract" "For å hente dette tema via WFS må ein nytte layer_1 som verdi i TYPENAME parameter"
"gml_include_items" "all"
END
CONNECTION "user=xxxxxx password=xxxxxx dbname=test host=localhost"
CONNECTIONTYPE postgis
DATA "geom FROM (SELECT id,name,transform(geom, 32633) AS geom FROM test) AS test USING UNIQUE id USING SRID=32633"
STATUS off
TYPE point
DUMP TRUE
TEMPLATE "TRUE"
NAME "layer_1"
CLASS
COLOR 255 0 0
MINSCALE 2000001
NAME "Test"
OUTLINECOLOR 0 0 0
SIZE 8
SYMBOL "circle"
END
END
Am using Mapserver 5.2.0
Cheers
Sture
More information about the MapServer-users
mailing list