2016-04-20 186 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。