坐标轴排序

空间参考系的定义包括用于解释坐标的轴顺序的指示。中定义了许多投影空间参照系统 north/east 正式命令 EPSG 定义,但被解释为 east/north 按早期版本的 WFS 协议。

  • WFS 1.0.0 :提供地理坐标 east/north 并且可能不信任是否尊重EPSG定义轴顺序。

  • WFS 1.1.0 :遵守EPSG定义定义的轴顺序。

  • WFS 2.0.0 :遵守EPSG定义定义的轴顺序。

强制内容进入 east/north 订单的目的是为了便于开发人员使用 x/y 命令。然而,这一决定带来了无尽的困惑,并在 WFS .

备注

一些空间参考系统,例如极坐标赤平图,没有 eastwest 因为他们在轴心有一根杆子。

当客户在不同的 WFS 版本。为了减少混淆并提高互操作性,GeoServer在指定空间参考系统时采用了以下准则,以避免歧义。

表现

坐标轴顺序

解释

EPSG:4326

经度/纬度

假设

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

经度/纬度

严格的

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

经纬度

严格的

urn:ogc:def:crs:EPSG::4326

经纬度

严格的

SRSList轴顺序

比较空间参考系定义 EPSG:4326

  1. 导航 Demos ‣ SRS List 页面和搜索 4326 .

  2. 比较正式的 EPSG 定义 WGS84

    ../../_images/wgs84-epsg-description.png

    WGS84 EPSG定义

  3. 内部定义为 WGS84

    ../../_images/wgs84-internal-description.png

    WGS84内部定义

同样的方法可以用来检查GeoServer支持的任何空间参考系统的定义。

备注

正式的 EPSG 定义提供用于解释坐标值的轴顺序。GeoServer使用的内部表示并不总是尊重 EPSG 提供轴顺序。

在上面的例子中 EPSG:4326 定义为 north/east 轴顺序,而内部表示具有 east/north 秩序。

启动选项 -Dorg.geotools.referencing.forceXY=true 用于将GeoServer配置为在 east/north 坐标轴顺序。我们建议默认值为 true 以匹配做出这一假设的广泛客户。

图层轴顺序

默认数据目录包含以下数据集,说明此问题:

  • shapefile/states.shp `:按x/y顺序存储的数据:

    MULTIPOLYGON (((-121.664154 38.169369,-121.781296 38.066856, ...
    
  • shapefiles/states.prj ::

    GEOGCS["GCS_WGS_1984",DATUM["WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]]
    

    发布为 topp:states 空间参考系 EPSG:4326 .

要查看此层是如何发布的,请执行以下操作:

  1. 导航到 Edit Layer 第页 topp:states .

  2. 定位 Native SRS 然后点击 GCS_WGS_1984 链接以显示GeoServer如何解释 PRJ 文件在上面。

    这个 PRJ 未提供轴顺序,GeoSever已填写假设。这描述了 x/y 与我们的数据匹配的顺序,我们可以不经修改使用它。

    ../../_images/native_srs.png

    本地SRS顶部:州

  3. 定位 Declared SRS 然后点击 EPSG:WGS 84... 链接以查看用于发布此内容的定义。

    这是 EPSG:4326 如上面的SRSList所示,它还描述了 x/y 订单匹配我们的数据。这个定义提供了更易读的名称以及附加的 AUTHORITY 可能有助于客户端应用程序的信息。

    ../../_images/declared_srs.png

    声明的SRS顶部:州

  4. 这个 SRS Handling 设置为 Force declared 完全忽略提供的 Native SRS 定义和使用 Declared SRS .

    ../../_images/srs_handling.png

    强制声明的SRS处理顶部:州

WFS 1.0轴顺序

GetCapabilities 描写 topp:states 使用:

http://localhost:8080/geoserver/ows?service=wfs&version=1.0.0&request=GetCapabilities

<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描述了纬度/经度的界限,您可以将其与 minxmaxx 有经度,还有 minymaxy 有自由度。

WFS 1.0版 GetFeature 请求默认为GML2输出,默认为 EPSG:4326 用于发布图层的空间参照系统:

  • WFS 1.0默认值:http://localhost/本地主机:8080/geoserver/ows?service=WFS&version=1.0.0&request=GetFeature&typeName=topp%3states&featureId=states.1

    GML2输出使用 http://www.opengis.net/gml/srs/epsg.xml#4326 参考,数据按x/y顺序排列:

    <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输出格式GML3

WFS 1.0输出格式GML32

WFS 1.1轴顺序

GetCapabilities 描写 topp:states 使用:

http://localhost:8080/geoserver/ows?service=wfs&version=1.1.0&request=GetCapabilities

<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描述了 WGS84BoundingBox 作为x/y顺序的上下角。

警告

这个组合与 DefaultSRS 定义和 LowerCornerUpperCorner 协调顺序,可能会混淆客户端应用程序。

结果与WFS 1.1.0实现规范GetCapabilities示例相匹配。

WFS 1.1版 GetFeature 请求默认为GML3输出,默认为 urn:x-ogc:def:crs:EPSG:4326 用于发布图层的空间参照系统:

WFS 1.1输出格式GML2

WFS 1.1输出格式GML3

WFS 1.1输出格式GML32

WFS 2.0轴顺序

GetCapabilities 描写 topp:states 使用:

http://localhost:8080/geoserver/ows?service=wfs&version=2.0.0&request=GetCapabilities

<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描述了 WGS84BoundingBox 作为x/y顺序的上下角。

警告

这个组合与 DefaultSRS 定义和 LowerCornerUpperCorner 协调顺序,可能会混淆客户端应用程序。

结果与WFS 2.0getcapabilities示例相匹配。

WFS 2.0版 GetFeature 请求默认为GML3.2输出,默认为 urn:ogc:def:crs:EPSG::4326 用于发布图层的空间参照系统:

WFS 2.0输出格式GML2

WFS 2.0输出格式GML3

WFS 2.0输出格式GML32