[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