Jaki jest identyfikator SRID plików kształtu census.gov?

9

Pobrałem pliki hrabstwa z:

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

Nie mogę dowiedzieć się, jakiego SRID użyć z nimi. Kiedy próbuję wygenerować plik klasy ./manage.py ogrinspect ..., otrzymuję identyfikator SRID -1w polu wielokąta. Nie sądzę, że to prawda.

GDAL dał mi Proj4 z +proj=longlat +ellps=GRS80 +datum=NAD83 +no_defs.

Wiem, że SRID -1 oznacza nieznany. Czy to nie uczyniłoby moich geometrii bezużytecznymi? Jak mogę dowiedzieć się, jakiego SRID użyć?

Jestem naprawdę nowy w GIS. Już tęsknię za dniami, kiedy Ziemia była płaska.

Może to być również przydatne:

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)
kzh
źródło

Odpowiedzi:

18

Pierwszym krokiem do ustalenia poprawnego odwzorowania dowolnej warstwy jest znalezienie informacji o rzutowaniu, jeśli taka istnieje, dostarczonych z warstwą. W przypadku Shapefile, podobnie jak w przypadku pliku pobranego z Census.gov , informacje te są zawarte w .prjpliku, skrót od Projekcja.

Oto zawartość pliku projekcji z danych spisu:

GEOGCS [„GCS_North_American_1983”, DATUM [„D_North_American_1983”, SPHEROID [„GRS_1980”, 6378137,298.257222101]], PRIMEM [„Greenwich”, 0], UNIT [„Degree”, 0,01745329251994)

Kluczowe elementy to są pierwsze słowo GEOGCS środki Geographic Coordinate System, ciąg DATUM : D_North_American_1983, SPHERIOD : GRS_1980i ostatnia część UNIT : Degree.

Łatwo pasują one do otrzymanej definicji Proj4 :+proj=longlat +ellps=GRS80 +datum=NAD83 +no_defs

Możesz zobaczyć, że układ odniesienia i elipsoida są zgodne z układem odniesienia i sferycznym w „.prj”. Te longlatśrodki Longitude/Latitude, które jest mierzone w jednostkach o Degrees, co odpowiada „.prj” plik.

Brakuje definicji, ponieważ żadne dodatkowe informacje nie są konieczne do zidentyfikowania układu współrzędnych geograficznych.

Witryną do wyszukiwania odniesień przestrzennych jest: SpatialReference.org

Geograficzny układ współrzędnych w NAD 83 trudno jest wymyślić bezpośrednio, ponieważ jest on częścią wielu innych projekcji.

Aby to ułatwić, potrzebujesz EPSG 4269 .

Ten link przedstawia informacje o odniesieniach przestrzennych w wielu różnych formatach. Ten przeznaczony specjalnie dla PostGIS to:

WSTAW do wartości spatial_ref_sys (srid, auth_name, auth_srid, proj4text, srtext) wartości (94269, 'epsg', 4269, '+ proj = longlat + ellps = GRS80 + dane = NAD83 + no_defs', 'GEOGCS ["NAD83], D „North_American_Datum_1983”, SPHEROID [„GRS 1980”, 6378137,298.257222101, AUTHORITY [„EPSG”, „7019”]], AUTHORITY [„EPSG”, „6269”]], PRIMEM [„Greenwich”, 0, AUTHORITY [” EPSG ”,„ 8901 ”]], UNIT [„ stopień ”, 0,01745329251994328, ORGAN [„ EPSG ”,„ 9122 ”]], ORGAN [„ EPSG ”,„ 4269 ”]]”);

Aby odnieść się do ostatniego punktu dotyczącego SRID = -1, myślę, że ważne jest przetestowanie danych przed założeniem, że są one bezużyteczne. Spróbuj wprowadzić to w niektórych programach GIS, takich jak QGIS lub ArcGIS . Spójrz na współrzędne wyświetlane podczas przesuwania kursora. Jeśli widzisz znane zakresy liczb, takie jak y = 0 - +90 i x = -180 - +180, powinieneś je rozpoznać jako szerokość / długość geograficzną. Rozpoznawanie zakresów współrzędnych występujących we wspólnych rzutach i układach współrzędnych w Twojej okolicy pomoże ci znacznie w miarę rozwoju kariery.

Jeśli chcesz dowiedzieć się więcej o rzutach i układach współrzędnych, skorzystaj z fantastycznego podręcznika: Podręcznik roboczy ( PDF ) - John P. Snyder

Uzyskaj przestrzenny
źródło
Zdałem sobie sprawę, że mogłem zadać złe pytanie. Poprosiłem o ryby, kiedy powinienem był zapytać, jak łowić ryby. Jeśli szukam „GRS80 NAD83” na SpatialReference.org , otrzymuję jeden wynik, który nie wygląda poprawnie. --- Link, który podałeś dla EPSG 4269, zawiera mapę OpenLayers z obwiednią wokół większości Azji i Afryki Północnej. Czy to jest poprawne czy nawet znaczące?
kzh
@ kzh - Szczerze mówiąc, nie wiem, dlaczego pokazuje to obwiednię. Nie ma to jednak znaczenia. Liczą się szczegóły zawarte w odniesieniu przestrzennym i są one poprawne.
Get Spatial
Z jakiegoś powodu stopień ten jest nieco wyłączony - dlaczego tak miałoby być? spatialreference.org ma dokładniejszą listę tutaj: spatialreference.org/ref/sr-org/6867 , która nie istnieje jako srid w mojej spatial_ref_systabeli.
Zachary Schuessler,
@GetSpatial - Dlaczego użyłeś 94269 jako SRID zamiast 4269? (ponieważ 4269 jest identyfikatorem EPSG dla NAD 83)
neubert
1
@GetSpatial - od Butlera ze spatialreference.org „wszystkie identyfikatory Postgis są poprzedzone cyfrą 9, aby zapewnić, że nie kolidują z istniejącymi identyfikatorami Postgis”.
kttii
1

@ Get Spatial ma rację i nie mogło być lepszej odpowiedzi na to pytanie. oprócz niego możesz sprawdzić spatial_ref_sys przed dodaniem odniesienia przestrzennego.

SELECT * FROM
       spatial_ref_sys WHERE auth_srid = 4269;

prawdopodobnie weźmiesz coś takiego:

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 jest jedynie tabelą znanych układów współrzędnych, których kluczem jest ich SRID. możesz uzyskać więcej informacji tutaj ...

  • srid: numeryczny SRID. Powinien to być podstawowy klucz tabeli.
  • nazwa_autora: nazwa organu jako ciąg. Jest to ustawiane, jeśli ten układ współrzędnych jest określony przez organ zewnętrzny, taki jak EPSG.
  • auth_srid: Numeryczny identyfikator układu współrzędnych w katalogu powyższego organu.
  • srtext: Reprezentacja dobrze znanego tekstu (WKT) układu współrzędnych (jak opisano w części 4).
  • proj4text: Reprezentacja układu współrzędnych Proj4.

i ostatnią rzeczą jest to, że do załadowania go do bazy danych użyj tego polecenia:

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

Mam nadzieję, że Ci to pomoże....

Aragonia
źródło