2016-04-20 325 views
0

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

  1. 如何创建ESRI一个的SpatialReference:102121
  2. 我可以通过我的6位数字,对直接重新投影,或者我需要“调整”它,比如,规模由一些10的力量,还是从脚转换为米,或者是什么?
+0

[importFromEPSG]的GDAL参考(http://www.gdal.org/classOGRSpatialReference.html#a8a5b8c9a205eedc6b88a14aa0c219969) - “坐标系定义通常从EPSG派生的支持文件中读取...并回退到搜索对于PROJ.4 epsg init文件或epsg.wkt中的定义“。检查[102121预测](http://spatialreference.org/ref/esri/102121/html/)是否在这些支持文件中。 – Erica

回答

0

我不知道你是如何使用GDAL API,但是GDAL 2.0通过Python中,这个工作对我来说:

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

但我怀疑这是不行的,因为在你的描述题。

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 

的PROJ.4代码最终使用libproj做实际的投影:所以,你可以从PROJ.4代码,而不是,你可以从http://epsg.io/102121获得或.proj4扩展添加到原代码导入,而不是WKT。