2014-11-15 3 views
3

Я пытаюсь использовать gdal для проектирования некоторых основных фигур из ряда локальных систем координат. Эти системы координат поддерживаются ArcGIS, но в конечном итоге я просто заставляю использовать gdal (и proj4) для преобразования этих геометрий в базовый lat/long (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 перевести шейп точки я получаю следующее сообщение об ошибке:

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: 

DoES 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 

Конечно, было бы хорошей идеей, чтобы проверить его, чтобы увидеть, если он работает.

Смежные вопросы