我正在尝试使用gdal从一些本地坐标系中投射出一些基本形状。这些坐标系是由ArcGIS支持的,但最终我只是尝试使用gdal(和proj4)将这些几何转换为基本的lat/long (EPSG:4326)。下面是gdalsrsinfo返回的内容:
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来翻译点格式文件,我会得到以下错误:
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支持局部坐标系吗?有什么建议吗?我应该用什么作为投影参数?
谢谢。
发布于 2014-11-16 23:46:46
看一下ArcGIS的局部笛卡尔投影文档,它说“这个地图投影和正字法一样”。因此,对于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 当然,对它进行测试以确定它是否有效是个好主意。
https://stackoverflow.com/questions/26940941
复制相似问题