【问题标题】:Converting "GLNX/Y" to longitude, latitude将“GLNX/Y”转换为经度、纬度
【发布时间】:2016-08-13 19:33:40
【问题描述】:

我有由两个 6 位数字(例如 300,000 250,000)组成的坐标数据,我想将其转换为 long., lat.坐标。我被告知坐标数据(称为 GLNX、GLNY)来自密歇根州平面坐标系,EPSG 编号 ESRI:102121 但是,当我将该 102121 编号传递给 gdal.ImportFromEPSG 时,它抱怨说它不知道.两个问题:

  1. 如何为 ESRI:102121 创建空间参考
  2. 我可以将我的 6 位数字对直接传递给 reProject,还是需要“调整”它,例如,按 10 的幂次方缩放,或者从英尺转换为米,还是什么?

【问题讨论】:

  • GDAL reference for importFromEPSG -- "坐标系定义通常是从 EPSG 派生的支持文件中读取的......然后回退到搜索 PROJ.4 epsg init 文件或在epsg.wkt。”检查the 102121 projection 是否在这些支持文件中。

标签: gis gdal coordinate-systems epsg


【解决方案1】:

我不确定您如何使用 GDAL API,但是通过 Python 使用 GDAL 2.0,这对我有用:

from osgeo import osr
osr.UseExceptions()
sr = osr.SpatialReference()
sr.ImportFromEPSG(102121)  # returns 0 for success, which I get

但我怀疑这不起作用,如您的问题中所述。因此,您可以改为从 PROJ.4 代码导入,您可以从 http://epsg.io/102121 获取或在原始代码中添加 .proj4 扩展:

import urllib2
srid = 102121
response = urllib2.urlopen('http://epsg.io/%d.proj4' % (srid,))
sr.ImportFromProj4(response.read())  # returns 0 for success
print(sr.ExportToPrettyWkt())  # shows that it is understood

libproj 最终使用 PROJ.4 代码进行实际投影,而不是 WKT。

【讨论】:

    猜你喜欢
    • 2020-09-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多