3

gdal を使用して、多くのローカル座標系からいくつかの基本的な形状を投影しようとしています。これらの座標系は ArcGIS でサポートされていますが、最終的には、これらのジオメトリを基本的な緯度/経度 (EPSG:4326) に変換するために gdal(および proj4) を使用することに苦労しています。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 はローカル座標系をサポートしていますか? PROJECTION パラメータに何を使用すべきか提案はありますか?

ありがとう。

4

1 に答える 1

3

Local Cartesian Projectionに関する 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 

もちろん、それが機能するかどうかをテストすることをお勧めします。

于 2014-11-16T23:46:46.837 に答える