2014-11-15 7 views
3

저는 여러 로컬 좌표계에서 몇 가지 기본 모양을 투영하기 위해 gdal을 사용하려고합니다. 이러한 좌표계는 ArcGIS에서 지원되지만 궁극적으로 gdal (및 proj4)을 사용하여 이러한 기하학을 기본 위도/경도 (EPSG : 4326)로 변환하려고합니다.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]] 

내가 노력하고 내가 다음과 같은 오류 얻을 포인트 Shape 파일 변환하는 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합니까을 여기에 무엇 gdalsrsinfo 반환입니까? PROJECTION 매개 변수에 대해 사용해야하는 제안은 무엇입니까?

감사합니다.

답변

3

Local Cartesian Projection에 대한 ArcGIS의 설명서를 보면 "이지도 투영은 Orthographic과 같습니다."라고 표시되어 있습니다. 따라서 PROJECTION 매개 변수는 을 "Orthographic"으로 바꾸고 작동해야합니다.

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 

, 그것은 것입니다 그것을 있는지를 테스트하는 것이 좋습니다 여기에 무슨 일이 일어나고 있는지를 보여 파이썬에서 단편이다 공장.