将“GLNX / Y”转换为经度,纬度

时间:2016-04-20 21:17:50

标签: gis gdal coordinate-systems epsg

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

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

1 个答案:

答案 0 :(得分:0)

我不确定您是如何使用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。