[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