2014-11-15 44 views
3

我正在嘗試使用gdal從一些局部座標系投影一些基本形狀。這些座標系由ArcGIS支持,但最終我只是使用gdal(和proj4)將這些幾何轉換爲基本緯度/經度(EPSG:4326)。這裏是什麼gdalsrsinfo回報:WKT當量投影

PROJCS["mylocalgrid",GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137.0,298.257223563]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Local"],PARAMETER["False_Easting",20289.634],PARAMETER["False_Northing",14781.765],PARAMETER["Scale_Factor",1.000179],PARAMETER["Azimuth",0.0],PARAMETER["Longitude_Of_Center",-109.675257803],PARAMETER["Latitude_Of_Center",32.9599048 58],UNIT["Foot_US",0.3048006096012192]] 

如果我嘗試使用OGR的點shapefile我收到以下錯誤翻譯:

ERROR 6: No translation for Local to PROJ.4 format is known. 
Failed to create coordinate transformation between the 
following coordinate systems. This may be because they 
are not transformable, or because projection services 
(PROJ.4 DLL/.so) could not be loaded. 
Source: 

是否proj4支持局部座標系?任何建議我應該使用PROJECTION參數?

謝謝。

回答

3

查看ArcGIS的Local Cartesian Projection文檔,它說「此地圖投影與Orthographic相同」。因此,對於PROJECTION參數,請將"Local"替換爲"Orthographic",它應該可以工作。下面是Python中的片段來告訴你這是怎麼回事:

from osgeo import osr 
p = osr.SpatialReference() 
p.ImportFromWkt('PROJCS["mylocalgrid",GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137.0,298.257223563]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Orthographic"],PARAMETER["False_Easting",20289.634],PARAMETER["False_Northing",14781.765],PARAMETER["Scale_Factor",1.000179],PARAMETER["Azimuth",0.0],PARAMETER["Longitude_Of_Center",-109.675257803],PARAMETER["Latitude_Of_Center",32.9599048 58],UNIT["Foot_US",0.3048006096012192]]') 
print(p.ExportToProj4()) 

顯示PROJ.4字符串:

+proj=ortho +lat_0=32.959904858 +lon_0=-109.675257803 +x_0=6184.292811785623 +y_0=4505.490982981965 +ellps=WGS84 +units=us-ft +no_defs 

當然,這將是一個好主意來測試它,看它是否作品。