ESRI WKT投影与OGC WKT投影有何不同?


9

有人知道ESRI WKT和OGC WKT投影格式字符串之间的区别的确切清单吗?

我知道有各种工具可以帮助您从ESRI WKT转换为OGC WKT,包括GDAL实用程序和各种网站服务。但是我的问题不是实用的,我只是想了解这些服务使用的格式/语法差异。先前的Stackexchange问​​题仅讨论了特定示例之间的差异,或者仅涉及可用工具和服务。

即使您只知道一个区别,也可以将其发布。根据我自己的经验,应该只有很少的差异。我知道的区别是:

  • esri定义中的大多数文本项使用下划线,而ogc使用空格。
  • esri wkt中定义基准的文本与ogc wkt相同,只是以“ D_”开头。
  • 有时,某些预定义的PROJCS,PROJECTION,GEOCCS和DATUM的文本标识符以不同的方式编写(例如,“ NAD83”为“ North_American_1983”)。我猜想知道哪些标识符的拼写不同的唯一方法是拥有列表或查找表,因此请给任何您知道不同的名字命名。
  • 除了ogc每个单词的大写字母大写而esri所有小写的字母之外,各种PARAMETER文本值都相同。但是,我见过没有使用此规则的情况,有人知道在尝试加载它们的软件中标题是否真正重要?
  • UNIT的类型在ogc中拼写为大写字母,在esri中拼写为小写,例如“ Degree”与“ degree”。在某些情况下,我看到ogc的“米”被拼写为“ meter”和“ m”,而在其他情况下,法语的拼写为“ metre”。有人知道这两种格式或任何其他单位类型的正确约定是什么吗?

Answers:


6

2
基本上,ESRI会按照他们的建议进行
编排

1
@iant作为第一个围绕EPSG规范实现代码库的人,他们几乎别无选择。
文斯(Vince)2015年

2
我们可能排名第二-因为当时还提供了GeoTIFF规范。@iant如果我们构建一个新的Esri投影引擎,我会做几件事不同!
mkennedy 2015年

好的,所以很多事情似乎都是临时的,特殊情况下的处理。实际上,从链接的文档来看,名称差异等特殊情况下有数百行代码。所有这些都是由于软件实现方式不同以及可能缺乏一次达成共识的标准:p
Karim Bahgat 2015年

如果ESRI和GoeoTiff总是将EPSG代码号添加到WKT投影字符串中,将会很有帮助。QGIS为shapefile创建了一个额外的.qpj文件来保存此设置。
AndreJ

9

您已经发现了很多差异。Esri从未为地图投影算法或参数名称采用WKID,因此它们都是不同的。我们不同意参数定义的定义方式。我们的更笼统。

我们不支持TOWGS84或某些较新的关键字。

比较字符串(名称)时,我们忽略下划线,GCS_和D_以及大小写。在其他解析器中可能并非如此。我们的解析器对名称严格,但是我们添加了一些同义词,现在维护来自各个供应商的名称列表以进行比较。

当涉及到对象名称时,OGC最初的坐标系规范没有具体说明。有一个新的OGC / ISO规范,“地理信息-坐标参考系统标准的知名文字”,正在逐步实现标准化。关于名称应更具体(匹配EPSG注册表!)。将来实施该标准将是非常令人兴奋的。

披露:我在Esri工作,是维护EPSG注册中心的小组委员会成员,还是CRS WKT 2.0草案委员会的成员。


哇,这真的很有趣,尤其是从决策者那里听到一些内部信息。新的OGC ISO规范听起来很有希望,您是否认为更多的主要GIS供应商和数据格式可能会开始趋于融合?不幸的是,我怀疑,只要旧数据格式仍然流行(例如shapefile,geotiff),某些旧差异将继续存在。
卡里姆·巴格加特

您是在说您不支持TOWGS84,但是如果没有它,一切将如何工作?如果WKT使用未知名称(即用户定义的投影/原点),则忽略原点平移时将无法正确设置坐标系。还是我错过了什么?
PMF

大多数最佳转换都使用网格文件而不是3或7参数方法。一堆转换也不使用WGS84。这是一个非常有限的解决方案。相反,我们晚绑定...在转换选择/设置转换。
mkennedy 2015年

如果系统未知,请使用创建自定义地理转换工具。新的CRS wkt还涵盖了转换。将Arron带到您附近的软件!
mkennedy 2015年

0

作为列出差异的潜在起点,可能会有助于查看我的新PyCRS软件包,在软件包中,我尝试为每个crs元素,参数和基准/省略号/项目名称以及它们的esri_wkt和ogc_wkt拼写创建一个类。我还指定了我如何看待子模块中_from_wkt()函数整体上wkt结构方面的解析差异parser.py。我希望通过用户的贡献,可以进一步增加和/或纠正这些差异。

https://github.com/karimbahgat/PyCRS


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.