123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685 |
- .. _wfs_basics_axis:
- Axis ordering
- =============
- The definition of a spatial reference system includes an indication of the axis order used to interpret the coordinates. There are a number of projected spatial reference systems defined in `north/east` order in the formal ``EPSG`` definition, but are interpreted as being in ``east/north`` order by earlier versions of the ``WFS`` protocol.
- * ``WFS 1.0.0``: Provides geographic coordinates in ``east/north`` and may not be trusted to respect the EPSG definition axis order.
- * ``WFS 1.1.0``: Respects the axis order defined by the EPSG definition.
- * ``WFS 2.0.0``: Respects the axis order defined by the EPSG definition.
- Forcing content into ``east/north`` order was intended to be easier for developers where computer displays are defined with an `x/y` order. However this decision has introduced no end of confusion, and was corrected in later versions of ``WFS``.
- .. note:: Some spatial reference systems, for example polar stereographic, do not have an ``east`` or ``west`` as they have a pole in the middle of the axis.
- These differences may cause difficulties when clients switch between different ``WFS`` versions. To minimize confusion and increase interoperability, GeoServer has adopted the following guidelines when specifying spatial reference systems to avoid ambiguity.
- .. list-table::
- :widths: 50 25 25
- :header-rows: 1
- * - Representation
- - Axis order
- - Interpretation
- * - ``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
- SRSList Axis Order
- ------------------
- To compare the spatial reference system definition for ``EPSG:4326``:
- #. Navigate :menuselection:`Demos --> SRS List` page and search for :kbd:`4326`.
- #. Compare the formal `EPSG` definition of `WGS84`:
- .. figure:: img/wgs84-epsg-description.png
-
- WGS84 EPSG definition
- #. With the internal definition of `WGS84`:
- .. figure:: img/wgs84-internal-description.png
-
- WGS84 Internal definition
- The same approach can be used to check the definition of any spatial reference system supported by GeoServer.
- .. note:: The formal ``EPSG`` definition provides the axis-order used to interpret coordinate values. GeoServer uses an internal representation that does not always respect the ``EPSG`` provided axis order.
- In the example above ``EPSG:4326`` is defined with a `north/east` axis order, while the internal representation has ``east/north`` order.
- The startup option ``-Dorg.geotools.referencing.forceXY=true`` is used to configure GeoServer to prefer an internal representation in `east/north` axis order. We recommend the default value of ``true`` to match a wide range of clients that make this assumption.
- Layer Axis Order
- ----------------
- The default data directory includes the following dataset illustrating this challenge:
- * :file:`shapefile/states.shp``: Data stored in x/y order::
-
- MULTIPOLYGON (((-121.664154 38.169369,-121.781296 38.066856, ...
-
- * :file:`shapefiles/states.prj` ::
-
- GEOGCS["GCS_WGS_1984",DATUM["WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]]
-
- Published as ``topp:states`` with Spatial Reference System ``EPSG:4326``.
- To review how this layer has been published:
- #. Navigate to the :guilabel:`Edit Layer` page for ``topp:states``.
- #. Locate :guilabel:`Native SRS` and click on the :guilabel:`GCS_WGS_1984` link to show how GeoServer interpreted the :file:`PRJ` file above.
-
- The :file:`PRJ` did not provide an axis-order and GeoSever has filled in an assumption. This describing the data in `x/y` order which matches our data and we could use it unmodified.
-
- .. figure:: img/native_srs.png
-
- Native SRS for topp:states
- #. Locate :guilabel:`Declared SRS` and click on :guilabel:`EPSG:WGS 84...` link to see the definition used to publish this content.
-
- This is the internal definition of ``EPSG:4326`` as shown in the SRSList above, which also describes the data in `x/y` order matching our data. This definition provides slightly more readable names along with additional ``AUTHORITY`` information that may be helpful to client applications.
-
- .. figure:: img/declared_srs.png
-
- Declared SRS for topp:states
-
- #. The :guilabel:`SRS Handling` is set to ``Force declared`` to completely ignore the provided :guilabel:`Native SRS` definition and use the :guilabel:`Declared SRS`.
- .. figure:: img/srs_handling.png
-
- Force declared SRS handling for topp:states
- WFS 1.0 Axis Order
- ------------------
- **GetCapabilities** describes ``topp:states`` using:
- http://localhost:8080/geoserver/ows?service=wfs&version=1.0.0&request=GetCapabilities
- .. code-block:: xml
- <FeatureType><Name>topp:states</Name>
- <Title>USA Population</Title>
- <Abstract>This is some census data on the states.</Abstract>
- <Keywords>census, united, boundaries, state, states</Keywords>
- <SRS>EPSG:4326</SRS>
- <LatLongBoundingBox minx="-124.731422" miny="24.955967" maxx="-66.969849" maxy="49.371735" />
- </FeatureType>
-
- WFS 1.0 describes the latitude / longitude bounds with the understanding that you will associate `minx` and `maxx` with longitude, and also `miny` and `maxy` with latitude.
- WFS 1.0 *GetFeature* request defaults to GML2 output, and the default ``EPSG:4326`` spatial reference system used to publish the layer:
- * WFS 1.0 Default: http://localhost:8080/geoserver/ows?service=WFS&version=1.0.0&request=GetFeature&typeName=topp%3Astates&featureId=states.1
- The GML2 output uses ``http://www.opengis.net/gml/srs/epsg.xml#4326`` reference, with data in x/y order:
- .. code-block:: xml
- <gml:MultiPolygon srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
- <gml:polygonMember>
- <gml:Polygon>
- <gml:outerBoundaryIs><gml:LinearRing>
- <gml:coordinates decimal="." cs="," ts=" ">
- -88.071564,37.51099 -88.087883,37.476273
- WFS 1.0 output format GML3
- ``````````````````````````
- * GML3.1 (default ``EPSG:4326``):
-
- http://localhost:8080/geoserver/topp/ows?service=WFS&version=1.0.0&request=GetFeature&typeName=topp%3Astates&featureId=states.1&outputFormat=gml3
- GML3 output uses ``http://www.opengis.net/gml/srs/epsg.xml#4326`` reference, with data in x/y order:
-
- .. code-block:: xml
-
- <gml:MultiSurface srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
- <gml:surfaceMember>
- <gml:Polygon>
- <gml:exterior>
- <gml:LinearRing>
- <gml:posList>
- -88.071564 37.51099 -88.087883 37.476273
- * GML3.1 reproject to ``EPSG:4326``
-
- http://localhost:8080/geoserver/topp/ows?service=WFS&version=1.0.0&request=GetFeature&typeName=topp%3Astates&featureId=states.1&outputFormat=gml3&srsName=urn:x-ogc:def:crs:EPSG:4326
-
- GML3 output uses ``http://www.opengis.net/gml/srs/epsg.xml#4326`` reference, with data in x/y order:
-
- .. code-block:: xml
-
- <gml:MultiSurface srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
- <gml:surfaceMember>
- <gml:Polygon>
- <gml:exterior>
- <gml:LinearRing>
- <gml:posList>
- -88.071564 37.51099 -88.087883
-
- * GML 3.1 reproject to ``urn:x-ogc:def:crs:EPSG:4326``
-
- http://localhost:8080/geoserver/topp/ows?service=WFS&version=1.0.0&request=GetFeature&typeName=topp%3Astates&featureId=states.1&outputFormat=gml3&srsName=urn:x-ogc:def:crs:EPSG:4326
-
- GML3.1 output using ``urn:x-ogc:def:crs:EPSG:4326`` reference and data in y/x order:
-
- .. code-block:: xml
-
- <gml:MultiSurface srsName="urn:x-ogc:def:crs:EPSG:4326">
- <gml:surfaceMember>
- <gml:Polygon>
- <gml:exterior>
- <gml:LinearRing>
- <gml:posList>
- 37.51099 -88.071564 37.476273 -88.087883
- WFS 1.0 output format GML32
- ```````````````````````````````
- * GML3.2:
-
- http://localhost:8080/geoserver/topp/ows?service=WFS&version=1.0.0&request=GetFeature&typeName=topp%3Astates&featureId=states.1&outputFormat=gml32
- The GML32 output uses ``http://www.opengis.net/gml/srs/epsg.xml#4326`` reference, with data in x/y order:
-
- .. code-block:: xml
-
- <gml:MultiSurface srsName="http://www.opengis.net/gml/srs/epsg.xml#4326" gml:id="states.1.the_geom">
- <gml:surfaceMember>
- <gml:Polygon gml:id="states.1.the_geom.1">
- <gml:exterior>
- <gml:LinearRing>
- <gml:posList>-88.071564 37.51099 -88.087883 37.476273
- * GML3.2 reproject to ``EPSG:4326``:
-
- http://localhost:8080/geoserver/topp/ows?service=WFS&version=1.0.0&request=GetFeature&typeName=topp%3Astates&featureId=states.1&outputFormat=gml32&srsName=EPSG:4326
- The GML32 output uses ``http://www.opengis.net/gml/srs/epsg.xml#4326`` reference, with data in x/y order:
- .. code-block:: xml
-
- <gml:MultiSurface srsName="http://www.opengis.net/gml/srs/epsg.xml#4326" gml:id="states.1.the_geom">
- <gml:surfaceMember>
- <gml:Polygon gml:id="states.1.the_geom.1">
- <gml:exterior>
- <gml:LinearRing>
- <gml:posList>
- -88.071564 37.51099 -88.087883 37.476273
-
- * GML3.2 reproject to ``urn:x-ogc:def:crs:EPSG:4326``:
-
- http://localhost:8080/geoserver/topp/ows?service=WFS&version=1.0.0&request=GetFeature&typeName=topp%3Astates&featureId=states.1&outputFormat=gml32&srsName=urn:x-ogc:def:crs:EPSG:4326
-
- GML3.2 output using ``urn:x-ogc:def:crs:EPSG:4326`` reference and data in y/x order:
- .. code-block:: xml
-
- <gml:MultiSurface srsName="urn:ogc:def:crs:EPSG::4326" gml:id="states.1.the_geom">
- <gml:surfaceMember>
- <gml:Polygon gml:id="states.1.the_geom.1">
- <gml:exterior>
- <gml:LinearRing><gml:posList>
- 37.51099 -88.071564 37.476273 -88.087883
- WFS 1.1 Axis Order
- ------------------
- **GetCapabilities** describes ``topp:states`` using:
- http://localhost:8080/geoserver/ows?service=wfs&version=1.1.0&request=GetCapabilities
- .. code-block:: xml
- <FeatureType>
- <Name>topp:states</Name>
- <Title>USA Population</Title>
- <Abstract>This is some census data on the states.</Abstract>
- <ows:Keywords>
- <ows:Keyword>census</ows:Keyword><ows:Keyword>united</ows:Keyword><ows:Keyword>boundaries</ows:Keyword><ows:Keyword>state</ows:Keyword><ows:Keyword>states</ows:Keyword>
- </ows:Keywords>
- <DefaultSRS>urn:x-ogc:def:crs:EPSG:4326</DefaultSRS>
- <ows:WGS84BoundingBox>
- <ows:LowerCorner>-124.731422 24.955967</ows:LowerCorner>
- <ows:UpperCorner>-66.969849 49.371735</ows:UpperCorner>
- </ows:WGS84BoundingBox></FeatureType>
-
- WFS 1.1 describes the ``WGS84BoundingBox`` as a lower and upper corner in x/y order.
- .. warning:: This combination is inconsistent with ``DefaultSRS`` definition and the ``LowerCorner`` and ``UpperCorner`` coordinate order and may confuse client applications.
-
- The result matches the WFS 1.1.0 Implementation Specification GetCapabilities examples.
- WFS 1.1 *GetFeature* request defaults to GML3 output, and the default ``urn:x-ogc:def:crs:EPSG:4326`` spatial reference system used to publish the layer:
- * WFS 1.1 Default:
-
- http://localhost:8080/geoserver/ows?service=WFS&version=1.1.0&request=GetFeature&typeName=topp%3Astates&featureId=states.1
- The GML3.1 output uses ``urn:x-ogc:def:crs:EPSG:4326`` reference, with data in y/x order:
- .. code-block:: xml
- <gml:MultiSurface srsName="urn:x-ogc:def:crs:EPSG:4326">
- <gml:surfaceMember>
- <gml:Polygon>
- <gml:exterior>
- <gml:LinearRing>
- <gml:posList>
- 37.51099 -88.071564 37.476273 -88.087883
- * WFS 1.1 reproject to ``EPSG:4326``:
-
- http://localhost:8080/geoserver/ows?service=WFS&version=1.1.0&request=GetFeature&typeName=topp%3Astates&featureId=states.1&srsName=EPSG:4326
-
- The GML3.1 output uses ``http://www.opengis.net/gml/srs/epsg.xml#4326`` reference, with data in x/y order:
-
- .. code-block:: xml
-
- <gml:MultiSurface srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
- <gml:surfaceMember>
- <gml:Polygon>
- <gml:exterior>
- <gml:LinearRing>
- <gml:posList>
- -88.071564 37.51099 -88.087883 37.476273
- .. note:: The `srsName` and `posList` coordinate order are consistent.
-
- This approach can be used to force x/y order.
- * WFS 1.1 reproject to ``urn:x-ogc:def:crs:EPSG:4326``:
-
- http://localhost:8080/geoserver/ows?service=WFS&version=1.1.0&request=GetFeature&typeName=topp%3Astates&featureId=states.1&srsName=urn:x-ogc:def:crs:EPSG:4326
-
- The GML3.1 output uses ``http://www.opengis.net/gml/srs/epsg.xml#4326`` reference, with data in y/x order:
-
- .. code-block:: xml
-
- <gml:MultiSurface srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
- <gml:surfaceMember>
- <gml:Polygon>
- <gml:exterior>
- <gml:LinearRing>
- <gml:posList>
- 37.51099 -88.071564 37.476273 -88.087883
- WFS 1.1 output format GML2
- ``````````````````````````
- * GML2:
-
-
- http://localhost:8080/geoserver/topp/ows?service=WFS&version=1.1.0&request=GetFeature&typeName=topp%3Astates&featureId=states.1&outputFormat=gml2
- GML2 output uses ``http://www.opengis.net/gml/srs/epsg.xml#4326`` reference, with data in y/x order:
- .. code-block:: xml
-
- <gml:MultiPolygon srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
- <gml:polygonMember>
- <gml:Polygon><gml:outerBoundaryIs>
- <gml:LinearRing>
- <gml:coordinates decimal="." cs="," ts=" ">
- 37.51099,-88.071564 37.476273,-88.087883
-
- * GML2 reproject to ``EPSG:4326``:
-
- http://localhost:8080/geoserver/topp/ows?service=WFS&version=1.1.0&request=GetFeature&typeName=topp%3Astates&featureId=states.1&outputFormat=gml2&srsName=EPSG:4326
- GML2 output uses ``http://www.opengis.net/gml/srs/epsg.xml#4326`` reference, with data in x/y order:
- .. code-block:: xml
-
- <gml:MultiPolygon srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
- <gml:polygonMember>
- <gml:Polygon>
- <gml:outerBoundaryIs>
- <gml:LinearRing>
- <gml:coordinates decimal="." cs="," ts=" ">
- -88.071564,37.51099 -88.087883,37.476273
- .. note:: The `srsName` and `posList` coordinate order are consistent.
-
- This approach can be used to force x/y order.
- WFS 1.1 output format GML3
- ````````````````````````````
- * GML3:
- http://localhost:8080/geoserver/topp/ows?service=WFS&version=1.1.0&request=GetFeature&typeName=topp%3Astates&featureId=states.1&outputFormat=gml3
- GML3.1 output uses ``http://www.opengis.net/gml/srs/epsg.xml#4326`` reference, with data in y/x order:
-
- .. code-block:: xml
-
- <gml:MultiSurface srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
- <gml:surfaceMember>
- <gml:Polygon>
- <gml:exterior>
- <gml:LinearRing>
- <gml:posList>
- 37.51099 -88.071564 37.476273 -88.087883
- * GML3 reproject to ``EPSG:4326``:
-
- http://localhost:8080/geoserver/topp/ows?service=WFS&version=1.1.0&request=GetFeature&typeName=topp%3Astates&featureId=states.1&outputFormat=gml3&srsName=EPSG:4326
-
- GML3.1 output uses ``http://www.opengis.net/gml/srs/epsg.xml#4326`` reference, *but has changed the data to x/y order*:
-
- .. code-block:: xml
-
- <gml:MultiSurface srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
- <gml:surfaceMember>
- <gml:Polygon>
- <gml:exterior>
- <gml:LinearRing>
- <gml:posList>
- -88.071564 37.51099 -88.087883 37.476273
- .. note:: The `srsName` and `posList` coordinate order are consistent.
-
- This approach can be used to force x/y order.
-
- * GML3 reproject to ``urn:x-ogc:def:crs:EPSG:4326``
-
- http://localhost:8080/geoserver/topp/ows?service=WFS&version=1.1.0&request=GetFeature&typeName=topp%3Astates&featureId=states.1&outputFormat=gml3&srsName=urn:x-ogc:def:crs:EPSG:4326
-
- GML3.1 output using ``urn:x-ogc:def:crs:EPSG:4326`` reference and data in y/x order:
-
- .. code-block:: xml
-
- <gml:MultiSurface srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
- <gml:surfaceMember>
- <gml:Polygon>
- <gml:exterior>
- <gml:LinearRing>
- <gml:posList>
- -88.071564 37.51099 -88.087883 37.476273
- .. note:: The `srsName` and `posList` coordinate order are consistent.
-
- This approach can be used to force x/y order.
- WFS 1.1 output format GML32
- ````````````````````````````
- * GML3.2:
-
- http://localhost:8080/geoserver/topp/ows?service=WFS&version=1.1.0&request=GetFeature&typeName=topp%3Astates&featureId=states.1&outputFormat=gml32
- The GML32 output uses ``http://www.opengis.net/gml/srs/epsg.xml#4326`` reference, with data in y/x order:
-
- .. code-block:: xml
-
- <gml:MultiSurface srsName="urn:ogc:def:crs:EPSG::4326" gml:id="states.1.the_geom">
- <gml:surfaceMember><gml:Polygon gml:id="states.1.the_geom.1">
- <gml:exterior>
- <gml:LinearRing>
- <gml:posList>37.51099 -88.071564 37.476273 -88.087883
- * GML3.2 reproject to ``EPSG:4326``:
-
- http://localhost:8080/geoserver/topp/ows?service=WFS&version=1.0.0&request=GetFeature&typeName=topp%3Astates&featureId=states.1&outputFormat=gml32&srsName=EPSG:4326
- The GML32 output uses ``http://www.opengis.net/gml/srs/epsg.xml#4326`` reference, with data in x/y order:
- .. code-block:: xml
-
- <gml:MultiSurface srsName="http://www.opengis.net/gml/srs/epsg.xml#4326" gml:id="states.1.the_geom">
- <gml:surfaceMember>
- <gml:Polygon gml:id="states.1.the_geom.1">
- <gml:exterior>
- <gml:LinearRing>
- <gml:posList>-88.071564 37.51099 -88.087883 37.476273
-
- * GML3.2 reproject to ``urn:x-ogc:def:crs:EPSG:4326``:
-
- http://localhost:8080/geoserver/topp/ows?service=WFS&version=1.0.0&request=GetFeature&typeName=topp%3Astates&featureId=states.1&outputFormat=gml32&srsName=urn:x-ogc:def:crs:EPSG:4326
-
- GML3.2 output using ``urn:x-ogc:def:crs:EPSG:4326`` reference and data in y/x order:
- .. code-block:: xml
-
- <gml:MultiSurface srsName="urn:ogc:def:crs:EPSG::4326" gml:id="states.1.the_geom">
- <gml:surfaceMember>
- <gml:Polygon gml:id="states.1.the_geom.1">
- <gml:exterior>
- <gml:LinearRing><gml:posList>37.51099 -88.071564 37.476273 -88.087883
- WFS 2.0 Axis Order
- ------------------
- **GetCapabilities** describes ``topp:states`` using:
- http://localhost:8080/geoserver/ows?service=wfs&version=2.0.0&request=GetCapabilities
- .. code-block:: xml
- <FeatureType>
- <Name>topp:states</Name>
- <Title>USA Population</Title>
- <Abstract>This is some census data on the states.</Abstract>
- <ows:Keywords>
- <ows:Keyword>census</ows:Keyword><ows:Keyword>united</ows:Keyword><ows:Keyword>boundaries</ows:Keyword><ows:Keyword>state</ows:Keyword><ows:Keyword>states</ows:Keyword>
- </ows:Keywords>
- <DefaultCRS>urn:ogc:def:crs:EPSG::4326</DefaultCRS>
- <ows:WGS84BoundingBox>
- <ows:LowerCorner>-124.731422 24.955967</ows:LowerCorner>
- <ows:UpperCorner>-66.969849 49.371735</ows:UpperCorner>
- </ows:WGS84BoundingBox>
- </FeatureType>
-
- WFS 2.0 describes the ``WGS84BoundingBox`` as a lower and upper corner in x/y order.
- .. warning:: This combination is inconsistent with ``DefaultSRS`` definition and the ``LowerCorner`` and ``UpperCorner`` coordinate order and may confuse client applications.
-
- The result matches the WFS 2.0 GetCapabilities examples.
- WFS 2.0 *GetFeature* request defaults to GML3.2 output, and the default ``urn:ogc:def:crs:EPSG::4326`` spatial reference system used to publish the layer:
- * WFS 2.0 Default:
-
- http://localhost:8080/geoserver/ows?service=WFS&version=2.0.0&request=GetFeature&typeNames=topp%3Astates&featureId=states.1
- The GML3.2 output uses ``urn:ogc:def:crs:EPSG::4326`` reference, with data in y/x order:
- .. code-block:: xml
- <gml:MultiSurface srsName="urn:ogc:def:crs:EPSG::4326" gml:id="states.1.the_geom">
- <gml:surfaceMember>
- <gml:Polygon gml:id="states.1.the_geom.1">
- <gml:exterior><gml:LinearRing>
- <gml:posList>
- 37.51099 -88.071564 37.476273 -88.087883
- * WFS 2.0 reproject to ``EPSG:4326``:
- http://localhost:8080/geoserver/ows?service=WFS&version=2.0.0&request=GetFeature&typeNames=topp%3Astates&featureId=states.1&srsName=EPSG:4326
- The GML3.2 output uses ``http://www.opengis.net/gml/srs/epsg.xml#4326`` reference, with data in x/y order:
- .. code-block:: xml
- <gml:MultiSurface srsName="http://www.opengis.net/gml/srs/epsg.xml#4326" gml:id="states.1.the_geom">
- <gml:surfaceMember>
- <gml:Polygon gml:id="states.1.the_geom.1">
- <gml:exterior><gml:LinearRing>
- <gml:posList>
- -88.071564 37.51099 -88.087883 37.476273
- * WFS 2.0 reproject to ``urn:ogc:def:crs:EPSG::4326``
- http://localhost:8080/geoserver/ows?service=WFS&version=2.0.0&request=GetFeature&typeNames=topp%3Astates&featureId=states.1&srsName=urn:ogc:def:crs:EPSG::4326
- The GML3.2 output uses ``urn:ogc:def:crs:EPSG::4326`` reference, with data in y/x order:
- .. code-block:: xml
- <gml:MultiSurface srsName="urn:ogc:def:crs:EPSG::4326" gml:id="states.1.the_geom">
- <gml:surfaceMember>
- <gml:Polygon gml:id="states.1.the_geom.1">
- <gml:exterior><gml:LinearRing>
- <gml:posList>
- 37.51099 -88.071564 37.476273 -88.087883 37.442852
-
- WFS 2.0 output format GML2
- ``````````````````````````
- * GML2:
-
- http://localhost:8080/geoserver/ows?service=WFS&version=2.0.0&request=GetFeature&typeNames=topp%3Astates&featureId=states.1&outputFormat=gml2
- .. code-block:: xml
-
- <gml:MultiPolygon srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
- <gml:polygonMember>
- <gml:Polygon>
- <gml:outerBoundaryIs>
- <gml:LinearRing>
- <gml:coordinates decimal="." cs="," ts=" ">
- 37.51099,-88.071564 37.476273,-88.087883
- * GML2 reproject to ``EPSG:4326``:
-
- http://localhost:8080/geoserver/ows?service=WFS&version=2.0.0&request=GetFeature&typeNames=topp%3Astates&featureId=states.1&outputFormat=gml2&srsName=EPSG:4326
- .. code-block:: xml
-
- <gml:MultiPolygon srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
- <gml:polygonMember>
- <gml:Polygon>
- <gml:outerBoundaryIs>
- <gml:LinearRing>
- <gml:coordinates decimal="." cs="," ts=" ">
- -88.071564,37.51099 -88.087883,37.476273
- .. note:: The `srsName` and `posList` coordinate order are consistent.
-
- This approach can be used to force x/y order.
- * GML2 reproject to ``urn:x-ogc:def:crs:EPSG:4326``:
-
- http://localhost:8080/geoserver/ows?service=WFS&version=2.0.0&request=GetFeature&typeNames=topp%3Astates&featureId=states.1&outputFormat=gml2&srsName=urn:x-ogc:def:crs:EPSG:4326
- .. code-block:: xml
-
- <gml:MultiPolygon srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
- <gml:polygonMember>
- <gml:Polygon>
- <gml:outerBoundaryIs>
- <gml:LinearRing>
- <gml:coordinates decimal="." cs="," ts=" ">
- 37.51099,-88.071564 37.476273,-88.087883
- WFS 2.0 output format GML3
- ``````````````````````````
- * GML3:
-
- http://localhost:8080/geoserver/ows?service=WFS&version=2.0.0&request=GetFeature&typeNames=topp%3Astates&featureId=states.1&outputFormat=gml3
-
- .. code-block:: xml
-
- <gml:MultiSurface srsName="urn:x-ogc:def:crs:EPSG:4326">
- <gml:surfaceMember>
- <gml:Polygon>
- <gml:exterior>
- <gml:LinearRing>
- <gml:posList>
- 37.51099 -88.071564 37.476273 -88.087883
-
- * GML3 reproject to ``EPSG:4326``:
-
- http://localhost:8080/geoserver/ows?service=WFS&version=2.0.0&request=GetFeature&typeNames=topp%3Astates&featureId=states.1&outputFormat=gml3&srsName=EPSG:4326
-
- .. code-block:: xml
-
- <gml:MultiSurface srsName="urn:x-ogc:def:crs:EPSG:4326">
- <gml:surfaceMember>
- <gml:Polygon>
- <gml:exterior>
- <gml:LinearRing>
- <gml:posList>
- -88.071564 37.51099 -88.087883 37.476273
- .. warning:: This combination is inconsistent between `srsName` and `posList` coordinate order and may confuse applications expecting a valid GML3 document.
-
- This approach can be used to force x/y order.
-
- * GML3 reproject to ``urn:x-ogc:def:crs:EPSG:4326``:
-
- http://localhost:8080/geoserver/ows?service=WFS&version=2.0.0&request=GetFeature&typeNames=topp%3Astates&featureId=states.1&outputFormat=gml3&srsName=urn:x-ogc:def:crs:EPSG:4326
-
- .. code-block:: xml
-
- <gml:MultiSurface srsName="urn:x-ogc:def:crs:EPSG:4326">
- <gml:surfaceMember>
- <gml:Polygon>
- <gml:exterior>
- <gml:LinearRing>
- <gml:posList>
- 37.51099 -88.071564 37.476273 -88.087883
-
- WFS 2.0 output format GML32
- ```````````````````````````
- * GML32:
-
- http://localhost:8080/geoserver/ows?service=WFS&version=2.0.0&request=GetFeature&typeNames=topp%3Astates&featureId=states.1&outputFormat=gml32
- .. code-block:: xml
-
- <gml:MultiSurface srsName="urn:ogc:def:crs:EPSG::4326" gml:id="states.1.the_geom">
- <gml:surfaceMember>
- <gml:Polygon gml:id="states.1.the_geom.1"><gml:exterior>
- <gml:LinearRing>
- <gml:posList>
- 37.51099 -88.071564 37.476273 -88.087883
- * GML32 reproject to ``EPSG:4326``:
-
- http://localhost:8080/geoserver/ows?service=WFS&version=2.0.0&request=GetFeature&typeNames=topp%3Astates&featureId=states.1&outputFormat=gml32&srsName=EPSG:4326
- .. code-block:: xml
-
- <gml:MultiSurface srsName="urn:ogc:def:crs:EPSG::4326" gml:id="states.1.the_geom">
- <gml:surfaceMember>
- <gml:Polygon gml:id="states.1.the_geom.1"><gml:exterior>
- <gml:LinearRing>
- <gml:posList>
- -88.071564 37.51099 -88.087883 37.476273
-
- .. warning:: This combination is inconsistent between `srsName` and `posList` coordinate order and may confuse applications expecting a valid GML3 document.
-
- This approach can be used to force x/y order.
-
- * GML32 reproject to ``urn:x-ogc:def:crs:EPSG:4326``:
-
- http://localhost:8080/geoserver/ows?service=WFS&version=2.0.0&request=GetFeature&typeNames=topp%3Astates&featureId=states.1&outputFormat=gml32&srsName=urn:x-ogc:def:crs:EPSG:4326
- .. code-block:: xml
-
- <gml:MultiSurface srsName="urn:ogc:def:crs:EPSG::4326" gml:id="states.1.the_geom">
- <gml:surfaceMember>
- <gml:Polygon gml:id="states.1.the_geom.1"><gml:exterior>
- <gml:LinearRing>
- <gml:posList>
- 37.51099 -88.071564 37.476273 -88.087883
|