1

ユーザーがシェープファイルをアップロードできるシステムを構築しています。次に、これらのシェープファイルを を使用して PostGIS に変換しshp2pgsqlます。このコマンドには、EPSG コード形式の SRS ID が必要です。

*.prjしたがって、シェープファイルのファイル (WKT としてエンコードされた投影/空間参照システムを含む) を読み取って、対応する SRS ID を返すことができる ruby​​ gem が必要です。

4

2 に答える 2

2

参考までに、http://prj2epsg.org/では、PRJ ファイルを検索して SRID / EPSG コードを取得できます。

更新:サイトがダウンしています。この回答を参照してください: https://gis.stackexchange.com/questions/372381/is-there-an-alternative-to-prj2epsg-org

于 2012-09-13T04:16:37.127 に答える
2

Ruby バインディングが GDAL に対してどのように機能するかはわかりませんが、OSR (GDAL の一部) は射影 WKT (テキスト) または SRID (整数) のいずれかを抽出できます。

Python/GDAL/OSR を使用したソリューションについては、この gis.SE の回答を参照してください。

更新: Ruby バインディングが期待どおりにうまく機能することがわかりました。始めるには、次のコードを試してください。

require 'gdal/osr'

prj_fname = 'myfile.prj'
prj = File.open( prj_fname )

# Import the WKT from the PRJ file
srs = Gdal::Osr::SpatialReference.new()
srs.import_from_wkt( prj.read )

# Various exports
puts srs.export_to_wkt

srs.auto_identify_epsg
puts srs.get_authority_name(nil)
puts srs.get_authority_code(nil)

プロジェクションの他の側面が必要な場合は、利用可能なパブリック メソッドを調べてください。

srs.public_methods.sort
于 2011-10-16T19:48:32.170 に答える