[mapserver-users] MapServer WFS server with PostGIS doesn't respects the axis order defined by the EPSG definition
Martin Hoegh
mh at mapcentia.com
Wed Mar 4 02:58:48 PST 2020
I send this filter in a WFS GET request:
&filter=<Filter xmlns="http://www.opengis.net/ogc"><Intersects><PropertyName>the_geom</PropertyName><Polygon xmlns:gml="http://www.opengis.net/gml" srsName="EPSG:4326" xmlns="http://www.opengis.net/gml"><exterior><LinearRing><posList srsDimension="2">9.65370556674251 55.5315919660268 11.0768630778924 55.5315919660268 11.0768630778924 55.2775349059761 9.65370556674251 55.2775349059761 9.65370556674251 55.5315919660268</posList></LinearRing></exterior></Polygon></Intersects></Filter>
In PostgreSQL these WHERE clauses are used for respectively VERSION=1.0.0 and 1.1.0:
1.0.0:
(st_intersects(the_geom,ST_GeomFromText('POLYGON ((9.6537055667425093 55.5315919660268023, 11.0768630778923995 55.5315919660268023, 11.0768630778923995 55.2775349059760970, 9.6537055667425093 55.2775349059760970, 9.6537055667425093 55.5315919660268023))',4326)) = TRUE)
1.1.0:
(st_intersects(the_geom,ST_GeomFromText('POLYGON ((55.5315919660268023 9.6537055667425093, 55.5315919660268023 11.0768630778923995, 55.2775349059760970 11.0768630778923995, 55.2775349059760970 9.6537055667425093, 55.5315919660268023 9.6537055667425093))',4326)) = TRUE)
The the 1.1.0 request the axis order is being flipped in the WHERE clause (is lat/lon). But shouldn't WFS 1.1.0 respect the axis order defined by the EPSG definition?
To me it seems that MapServer is always flipping axis order when using version > 1.0.0 regardless of EPSG definition. Can this be right?
Axis orders (taken from GeoServer web-site):
EPSG:4326 longitude/latitude assumption
http://www.opengis.net/gml/srs/epsg.xml#xxxx longitude/latitude strict
urn:x-ogc:def:crs:EPSG:xxxx latitude/longitude strict
urn:ogc:def:crs:EPSG::4326 latitude/longitude strict
Regards
Martin Høgh
mapcentia.com
More information about the MapServer-users
mailing list