web-dev-qa-db-ja.com

shpファイルに使用するSRIDをどのようにして知っていますか?

PostGISデータベースにSHPファイルを挿入しようとしていますが、データが少しずれています。これは間違ったSRIDを使用しているためだと思います。 PRJファイルの内容は次のとおりです。

GEOGCS["GCS_North_American_1983",
DATUM["D_North_American_1983",
SPHEROID["GRS_1980",6378137.0,298.257222101]],
PRIMEM["Greenwich",0.0],
UNIT["Degree",0.0174532925199433]]

これはどのSRIDと関連していますか?さらに一般的には、PRJファイルにある情報に基づいてSRIDを検索するにはどうすればよいですか?すべてのSRIDとそれに対応する「geogcs」をリストするルックアップテーブルはどこかにありますか?

srid=4269と4326を使用してインポートされたデータは、まったく同じ結果でした。

これは間違ったSRIDを使用していることを意味しますか、それともこれは予想されるエラーのマージンですか?

Shpファイルは here からのものです。

34
priestc

synecdoche の答えを詳しく説明するために、SRIDは「EPSG」コードと呼ばれることがあります。 SRID/EPSGコードは、投影のWell-Known-Text表現の事実上の省略形です。

SRIDテーブルでクイック検索を実行して、完全一致または類似の一致が見つかるかどうかを確認できます。
SELECT srid, srtext, proj4text FROM spatial_ref_sys WHERE srtext ILIKE '%BLAH%'

上記は http://www.bostongis.com/?content_name=postgis_tut01 で見つかりました。

spatialreference.org でこれらの種類のものを検索することもできます。検索ツールは基本的なものなので、Google検索を使用してサイトを指定する必要があるかもしれませんが、結果にはESRI PRJコンテンツ、PostGIS SQL INSERT、および他の多くの表現が表示されます。

あなたのPRJは次の場所にあると思います http://spatialreference.org/ref/sr-org/15/

23
James Schek

Prj2EPSG は、まさにこの問題を目的とした小さなWebサイトです。 PRJコンテンツに貼り付けます。一致するEPSGを見つけることが最善です。 WebサービスAPI もあります。それは正確な科学ではありません。彼らはLuceneとEPSGデータベースを使用して一致のテキスト検索を行うようです。

20
Nelson

データはNAD83で、SRIDは4269のようです。PostGISデータベースにはspatial_ref_sysテーブルはSRIDルックアップテーブルです。

SR269が4269(NAD83)と4326(WGS84)のデータが同じように見える場合は、何か問題があります。

11
synecdoche

GDALのOSR Pythonモジュールを使用して、コードを決定します。

from osgeo import osr

srsWkt = '''GEOGCS["GCS_North_American_1983",
DATUM["D_North_American_1983",
SPHEROID["GRS_1980",6378137.0,298.257222101]],
PRIMEM["Greenwich",0.0],
UNIT["Degree",0.0174532925199433]]'''

# Load in the projection WKT
sr = osr.SpatialReference(srsWkt)

# Try to determine the EPSG/SRID code
res = sr.AutoIdentifyEPSG()
if res == 0: # success
    print('SRID=' + sr.GetAuthorityCode(None))
    # SRID=4269
else:
    print('Could not determine SRID')
6
Mike T

必ずご覧ください: http://www.epsg-registry.org/

[フィルターで照会]オプションを使用して、「North American Datum 1983」と入力します。

これは-> EPSG:6269をもたらします。

これがうまくいくことを願っています。

1
Doug