[mapserver-users] Tinyows exchange coords when POST request.

Rahkonen Jukka (MML) jukka.rahkonen at maanmittauslaitos.fi
Wed Mar 16 00:56:48 PDT 2016


Hi,

The documentation of Geoserver is not quite right or clear at this point. Geoserver developers did believe some years ago that WFS 1.1.0 means flipping the axis always but of course it is not that simple. Currently Geoserver is handling axis order with WFS 1.1.0 and higher, with WMS 1.3.0, and with WCS 1.1.0 and higher as


-          Always longitude-latitude or easting-northing with the short EPSG:xxxx syntax

-          Axis order as it is defined in the EPSG database when the long urn syntax is used


You can test that yourself by using for example EPSG:2393 and EPSG:3067. The first one is Gauss-Krüger system with northing-easting axis order but the latter is UTM system with easting-northing. Geoserver does not flip the axis of srsname=urn:x-ogc:def:crs:EPSG:3067

No flip with the short syntax
http://demo.opengeo.org/geoserver/wfs?service=wfs&version=1.1.0&request=GetFeature&typename=topp:states&maxfeatures=1&srsname=epsg:2393
Flip with the urn syntax
http://demo.opengeo.org/geoserver/wfs?service=wfs&version=1.1.0&request=GetFeature&typename=topp:states&maxfeatures=1&srsname=urn:x-ogc:def:crs:EPSG:2393
No flip despite using the urn syntax because of official easting-northing axis
http://demo.opengeo.org/geoserver/wfs?service=wfs&version=1.1.0&request=GetFeature&typename=topp:states&maxfeatures=1&srsname=urn:x-ogc:def:crs:EPSG:3067

TinyOWS behaves similarly
No-flip with short
http://hip.latuviitta.org/cgi-bin/tinyows?service=wfs&version=1.1.0&maxfeatures=1&request=getfeature&typename=lv:mml_kunta100k_2011_p&srsname=EPSG:2393
Flip with long
http://hip.latuviitta.org/cgi-bin/tinyows?service=wfs&version=1.1.0&maxfeatures=1&request=getfeature&typename=lv:mml_kunta100k_2011_p&srsname=urn:x-ogc:def:crs:EPSG:2393
No flip with long because system is E-N
http://hip.latuviitta.org/cgi-bin/tinyows?service=wfs&version=1.1.0&maxfeatures=1&request=getfeature&typename=lv:mml_kunta100k_2011_p&srsname=urn:x-ogc:def:crs:EPSG:3067

EPSG:2393 and EPSG:3067 are perhaps the most tested coordinate systems for axis flipping in both Geoserver and Tinyows (Hi Oliviers and Andrea!) but mostly only for simple GetFeature requests. Unfortunately coordinates used inside the filters have not been tested so well and strange things can happen. In your case you use EPSG:3003 which is E-N system and Tinyows handles it correctly when it requires non-flipped coordinates. But you wrote that TinyOWS returns EPSG:3003 coordinates in reversed order for you and that is clearly a bug.

-Jukka Rahkonen-


aperi2007 wrote:

Hi Jukka.
I agreed with you that if the srs is epsg it should always repeort the correct axis order, but this , as report me from Olivier, seem to be a standard "defacto" (a standard coming from bottom).
This is confirmed from this doc from Geoserver:

http://docs.geoserver.org/latest/en/user/services/wfs/basics.html

Where is reported this rule:
Representation

Assumed axis order

EPSG:xxxx

longitude/latitude (x/y)

http://www.opengis.net/gml/srs/epsg.xml#xxxx

longitude/latitude (x/y)

urn:x-ogc:def:crs:EPSG:xxxx

latitude/longitude (y/x)


So established that this is the rule, my second question is:
A request with an srs espressed as a urn should have the coords in reversed axis order ?

Actually tinyows need the request coords in not-reversed axis order however.

A.
Il 15/03/2016 22:58, Rahkonen Jukka (MML) ha scritto:

Hi,



With EPSG:3003 the coordinates should never ever be reversed because it is officially an Easting-Northing system as you can see from http://epsg-registry.org/export.htm?wkt=urn:ogc:def:crs:EPSG::3003



AXIS["easting (X)",east,ORDER[1]],

AXIS["northing (Y)",north,ORDER[2]],



So if you will find a difference in using WMS 1.1.x vs. 1.3.0 or WFS 1.0 vs. 1.1 or SRS in short format vs. long format with EPSG:3003 that's a bug.



-Jukka Rahkonen-



Andrea Peri wrote:



Hi,

thx to Olivier. I understand that the TinyOWS has a rule inherited from OGC that when the srs is in short version (ie: EPSG:3003) the axis are not reversed.

Instead when the srs is with long form (ie:

urn:x-ogc:def:crs:EPSG:3003) the axis are always reversed.



A last question I have is about the input.

Infact this rule seem to be supported also in input request.

So when the srs is espressed in the request in long form , I guess, the cocordinates should be given in reversed order.

But instead tinyows seem to accept instead the coordinate in not reversed axis order.


…
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/mapserver-users/attachments/20160316/a01a137e/attachment-0001.html>


More information about the mapserver-users mailing list