Apa itu SRID dari census.gov shapefile?


9

Saya mengunduh file county dari:

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

Saya tidak tahu apa SRID untuk digunakan dengan mereka. Ketika saya mencoba menghasilkan file kelas dari ./manage.py ogrinspect ..., saya mendapatkan SRID -1di bidang poligon. Saya pikir ini tidak benar.

GDAL memberi saya Proj4 dari +proj=longlat +ellps=GRS80 +datum=NAD83 +no_defs.

Saya tahu SRID -1 berarti tidak dikenal. Bukankah itu membuat geometri saya tidak berguna? Bagaimana saya mengetahui SRID apa yang harus digunakan?

Saya benar-benar baru dalam GIS. Saya sudah merindukan hari-hari ketika Bumi datar.

Ini mungkin juga berguna:

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)

Jawaban:


18

Langkah pertama untuk menentukan proyeksi yang benar dari setiap lapisan, adalah menemukan informasi proyeksi, jika ada, yang menyertai lapisan Anda. Dalam kasus a Shapefile, seperti apa yang Anda unduh dari Census.gov , informasi itu terdapat dalam .prjfile, kependekan dari Proyeksi.

Berikut adalah isi file proyeksi dari data sensus:

GEOGCS ["GCS_North_American_1983", DATUM ["D_North_American_1983", SPHEROID ["GRS_1980", 6378137,298.257222101]], PRIMEM ["Greenwich", 0], UNIT ["Gelar", 0,01745323225259951

Bagian-bagian kunci dari ini, adalah yang pertama kata GEOGCS berarti Geographic Coordinate System, string DATUM : D_North_American_1983, SPHERIOD : GRS_1980, dan bagian terakhir UNIT : Degree.

Ini dengan mudah cocok dengan definisi Proj4 yang Anda terima:+proj=longlat +ellps=GRS80 +datum=NAD83 +no_defs

Anda dapat melihat bahwa datum dan ellipsoid, cocok dengan datum dan spheriod di ".prj". The longlatberarti Longitude/Latitude, yang diukur dalam Unit dari Degrees, yang cocok dengan "PRJ" file.

Ada "tidak ada kekurangan" karena tidak ada informasi tambahan yang diperlukan untuk mengidentifikasi Sistem Koordinasi Geografis.

Situs untuk mencari referensi spasial adalah: SpatialReference.org

Sistem Koordinat Geografis di NAD 83 sulit didapat secara langsung, karena ia merupakan bagian dari banyak proyeksi lainnya.

Untuk membuatnya lebih mudah, yang Anda butuhkan adalah EPSG 4269 .

Tautan ini menyajikan informasi rujukan spasial dalam sejumlah format berbeda. Yang khusus untuk PostGIS adalah:

Masukkan ke dalam nilai spatial_ref_sys (srid, auth_name, auth_srid, proj4text, srtext) (94269, 'epsg', 4269, '+ proj = longlat + ellps = GRS80 + datum = NAD83 + no_defs', 'GEOGCS ["NAD83, DAT" "North_American_Datum_1983", SPHEROID ["GRS 1980", 6378137.298.257222101, OTORITAS ["EPSG", "7019"]], OTORITAS ["EPSG", "6269"]], PRIMEM ["Greenwich", 0, AUTHORITY "" EPSG "," 8901 "]], UNIT [" degree ", 0,01745329251994328, AUTHORITY [" EPSG "," 9122 "]], AUTHORITY [" EPSG "," 4269 "]] ');

Untuk membahas poin terakhir Anda tentang SRID = -1, saya pikir penting untuk menguji data Anda sebelum Anda menganggapnya tidak berguna. Cobalah untuk memunculkannya dalam beberapa perangkat lunak SIG, seperti QGIS , atau ArcGIS . Lihatlah koordinat yang ditampilkan saat Anda menggerakkan kursor. Jika Anda melihat rentang angka yang sudah dikenal, seperti y = 0 - +90 dan x = -180 - +180, Anda harus mengenalinya sebagai Latitude / Longitude. Mulai mengenali rentang koordinat yang terjadi dalam proyeksi umum dan sistem koordinat di area Anda akan sangat membantu Anda saat Anda bergerak maju dalam karier Anda.

Jika Anda tertarik untuk mempelajari lebih lanjut tentang proyeksi dan sistem koordinat, ini adalah referensi yang fantastis: A Working Manual ( PDF ) - John P. Snyder


Saya menyadari, bahwa saya mungkin telah mengajukan pertanyaan yang salah. Saya meminta ikan ketika saya seharusnya bertanya bagaimana cara menangkap ikan. Jika saya mencari 'GRS80 NAD83' di SpatialReference.org , saya mendapatkan satu hasil yang kelihatannya tidak benar. --- Tautan yang Anda berikan untuk EPSG 4269 memiliki tampilan peta OpenLayers dengan kotak pembatas di sebagian besar Asia dan Afrika Utara. Apakah ini benar atau bahkan signifikan?
kzh

@ kzh - Jujur saya tidak tahu mengapa itu menunjukkan kotak berlari. Itu tidak signifikan. Rincian yang terkandung dalam referensi spasial adalah apa yang diperhitungkan, dan mereka benar.
Dapatkan Spasial

Tingkatnya sedikit turun karena beberapa alasan - mengapa itu terjadi? spatialreference.org memiliki daftar yang lebih akurat di sini: spatialreference.org/ref/sr-org/6867 , yang tidak ada sebagai langkah awal dalam spatial_ref_systabel saya .
Zachary Schuessler

@GetSpatial - Mengapa Anda menggunakan 94269 sebagai SRID, bukan 4269? (karena 4269 adalah pengidentifikasi EPSG untuk NAD 83)
neubert

1
@GetSpatial - Dari Mr Butler di spatialreference.org "semua ID postgis diawali dengan 9 untuk memastikan bahwa mereka tidak bertabrakan dengan ID postgis yang ada."
kttii

1

@ Dapatkan Spasial benar dan itu bukan jawaban yang lebih baik untuk pertanyaan ini. selain dia, Anda dapat memeriksa spatial_ref_sys sebelum menambahkan referensi spasial.

SELECT * FROM
       spatial_ref_sys WHERE auth_srid = 4269;

mungkin Anda akan mengambil sth seperti ini:

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 hanyalah tabel sistem koordinat yang diketahui yang dikunci oleh SRID mereka. Anda bisa mendapatkan info lebih lanjut di sini ...

  • srid: Angka SRID. Ini harus menjadi kunci utama tabel.
  • auth_name: Nama otoritas sebagai string. Ini diatur jika sistem koordinat ini ditentukan oleh otoritas luar seperti EPSG.
  • auth_srid: ID numerik sistem koordinat dalam katalog otoritas di atas.
  • srtext: Representasi Well-Dikenal-Teks (WKT) dari sistem koordinat (seperti yang kami jelaskan di bagian 4).
  • proj4text: Representasi Proj4 dari sistem koordinat.

dan hal terakhir adalah untuk memuatnya ke database gunakan perintah ini:

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

semoga membantu ....

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.