将“GLNX/Y”转换为经度,纬度
问题描述:
我的坐标数据由两个6位数字(例如300,000 250,000)组成,我想将其转换为long。lat。坐标。我被告知坐标数据(称为GLNX,GLNY)来自密歇根州立平面坐标系,EPSG编号ESRI:102121但是,当我将该102121号码传递给gdal.ImportFromEPSG时,它会抱怨它不知道它。两个问题:将“GLNX/Y”转换为经度,纬度
- 如何创建ESRI一个的SpatialReference:102121
- 我可以通过我的6位数字,对直接重新投影,或者我需要“调整”它,比如,规模由一些10的力量,还是从脚转换为米,或者是什么?
答
我不知道你是如何使用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。
[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