census.govシェープファイルのSRIDとは何ですか?


9

私は郡のファイルを以下からダウンロードしました:

http://www.census.gov/cgi-bin/geo/shapefiles2011/main

それらで使用するSRIDがわかりません。からクラスファイルを生成しようとすると、ポリゴンフィールドに./manage.py ogrinspect ...SRIDが表示さ-1れます。これは正しくないと思います。

GDALは私に与えたにProj4のを+proj=longlat +ellps=GRS80 +datum=NAD83 +no_defs

SRIDが-1の場合、不明であることを知っています。それは私のジオメトリを役に立たなくしませんか?使用するSRIDを確認するにはどうすればよいですか?

私はGISが初めてです。地球が平らだった時代はもう寂しいです。

これも役に立つかもしれません:

SELECT PostGIS_full_version();
                                         postgis_full_version                                          
-------------------------------------------------------------------------------------------------------
 POSTGIS="1.5.3" GEOS="3.2.2-CAPI-1.6.2" PROJ="Rel. 4.7.1, 23 September 2009" LIBXML="2.7.8" USE_STATS
(1 row)

>>> import django
>>> django.VERSION
(1, 4, 0, 'final', 0)

回答:


18

レイヤーの正しい投影を決定する最初のステップは、レイヤーに付属している投影情報がある場合は、それを見つけることです。Census.govShapefileからダウンロードしたようなの場合、その情報はProjectionの略であるファイルに含まれています。.prj

国勢調査データからの予測ファイルの内容は次のとおりです。

GEOGCS ["GCS_North_American_1983"、DATUM ["D_North_American_1983"、SPHEROID ["GRS_1980"、6378137,298.257222101]]、PRIMEM ["Greenwich"、0]、UNIT ["Degree"、0.017453292519943295]]

これの重要な部分は、第1ワードですGEOGCSの手段Geographic Coordinate System、文字列DATUMD_North_American_1983SPHERIODGRS_1980、と最後の部分のUNITDegree

これらは、受け取っProj4定義と簡単に一致します。+proj=longlat +ellps=GRS80 +datum=NAD83 +no_defs

データムと楕円体が ".prj"のデータムと回転楕円体に一致していることがわかります。longlat手段Longitude/Latitudeで測定され、単位Degrees「.PRJ」ファイルにマッチし、。

地理座標系を識別するために追加情報は必要ないため、「定義なし」があります。

空間参照を検索するサイトは、SpatialReference.orgです。

NAD 83の地理座標系は、他の多くの投影法の一部であるため、直接考えるのは困難です。

簡単にするために必要なのはEPSG 4269です。

このリンクは、空間参照情報をさまざまな形式で表示します。PostGISに特化したものは次のとおりです。

INSERT into spatial_ref_sys(srid、auth_name、auth_srid、proj4text、srtext)の値(94269、 'epsg'、4269、 '+ proj = longlat + ellps = GRS80 + datum = NAD83 + no_defs'、 'GEOGCS ["NAD83"、DATUM [ "North_American_Datum_1983"、SPHEROID ["GRS 1980"、6378137,298.257222101、AUTHORITY ["EPSG"、 "7019"]]、AUTHORITY ["EPSG"、 "6269"]]、PRIMEM ["Greenwich"、0、AUTHORITY [" EPSG "、" 8901 "]]、UNIT [" degree "、0.01745329251994328、AUTHORITY [" EPSG "、" 9122 "]]、AUTHORITY [" EPSG "、" 4269 "]] ');

SRID = -1に関する最後のポイントに対処するには、データが役に立たないと想定する前にデータをテストすることが重要だと思います。QGISArcGISなどの一部のGISソフトウェアでそれを起動してみてください。カーソルを移動するときに表示される座標を確認します。y = 0 – +90やx = -180 – +180のようなおなじみの数値の範囲が表示される場合は、これらを緯度/経度として認識してください。地域の一般的な投影法と座標系で発生する座標範囲を認識し始めると、キャリアを進める上で非常に役立ちます。

投影法と座標系についてさらに詳しく知りたい場合、これは素晴らしいリファレンスです:作業マニュアル(PDF)-John P. Snyder


私は間違った質問をしたかもしれないことに気づきました。どうすればいいのかと尋ねたら、魚を頼みました。私が「GRS80 NAD83」を検索した場合SpatialReference.org、私は正しく見えないものの結果を得ます。--- EPSG 4269に指定したリンクには、OpenLayersマップ表示と、アジアと北アフリカのほとんどの周囲に境界ボックスが表示されます。これは正しいですか、それとも重要ですか?
kzh

@kzh-正直なところ、境界ボックスが表示されている理由がわかりません。それは重要ではありません。空間参照に含まれる詳細は重要であり、正確です。
Spatialを入手する

学位は何らかの理由でわずかにずれています-なぜでしょうか?Spatialreference.orgには、より正確なリストがあります。spatialreference.org / ref / sr-org / 6867です。これは、sridとしてspatial_ref_sysテーブルに存在しません。
ザカリーシュースラー2013

@GetSpatial-SRIDとして4269ではなく94269を使用したのはなぜですか?(
4269

1
@GetSpatial-spatialreference.orgのバトラー氏から「すべてのpostgis IDには、既存のpostgis IDと衝突しないようにするために、先頭に9が付いています。」
kttii

1

@Get Spatialは正しいので、この質問に対する回答としてはこれよりも優れていたはずです。彼に加えて、空間参照を追加する前に、spatial_ref_sysをチェックアウトできます。

SELECT * FROM
       spatial_ref_sys WHERE auth_srid = 4269;

おそらくあなたはこのようなsthを取るでしょう:

SRID  | AUTH_NAME  | AUTH_SRID  | SRTEXT
------+------------+------------+-------
4269  |   EPSG     |   1624     | <big SRTEXT string>

SRTEXT = GEOGCS["NAD83",DATUM["North_American_Datum_1983",SPHEROID["GRS 
         1980",6378137,298.257222101,AUTHORITY["EPSG","7019"]],AUTHORITY["EPSG","6269"]],
         PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.01745329251994328,
         AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4269"]]

PROJ4TEXT = +proj=longlat +ellps=GRS80 +datum=NAD83 +no_defs

Spatial_ref_sysは、SRIDをキーとする既知の座標系のテーブルにすぎません。あなたはここでより多くの情報を得ることができます ...

  • srid:数値SRID。これはテーブルの主キーでなければなりません。
  • auth_name:文字列としての機関名。これは、この座標系がEPSGなどの外部機関によって指定されている場合に設定されます。
  • auth_srid:上記の機関のカタログにある座標系の数値ID。
  • srtext:(パート4で説明したように)座標系のWell-Known-Text(WKT)表現。
  • proj4text:座標系のProj4表現。

最後に、それをデータベースにロードするには、次のコマンドを使用します。

shp2pgsql -c -D -s 4269 -I tl_2011_02_anrc.shp myschema.mytable > mysql.sql
psql -d mydb -f mysql.sql

お役に立てば幸いです...

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.