Was ist die SRID von census.gov Shapefiles?


9

Ich habe die County-Dateien heruntergeladen von:

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

Ich kann nicht herausfinden, welche SRID ich mit ihnen verwenden soll. Wenn ich versuche, eine Klassendatei aus zu generieren ./manage.py ogrinspect ..., erhalte ich eine SRID von -1im Polygonfeld. Ich denke nicht, dass das richtig ist.

GDAL gab mir das Proj4 von +proj=longlat +ellps=GRS80 +datum=NAD83 +no_defs.

Ich weiß, dass eine SRID von -1 unbekannt bedeutet. Würde das meine Geometrien nicht unbrauchbar machen? Wie kann ich herausfinden, welche SRID verwendet werden soll?

Ich bin wirklich neu in GIS. Ich vermisse bereits die Tage, als die Erde flach war.

Dies kann auch nützlich sein:

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)

Antworten:


18

Der erste Schritt zur Bestimmung der korrekten Projektion einer Ebene besteht darin, die Projektionsinformationen zu ermitteln, die mit Ihrer Ebene geliefert wurden. Im Fall von a Shapefile, wie Sie es von Census.gov heruntergeladen haben , sind diese Informationen in einer .prjDatei enthalten, kurz für Projection.

Hier ist der Inhalt der Projektionsdatei aus den Volkszählungsdaten:

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

Die wichtigsten Teile davon sind das erste Wort, das GEOGCS bedeutet Geographic Coordinate System, die Zeichenfolge DATUM : D_North_American_1983, SPHERIOD : GRS_1980und der letzte Teil UNIT : Degree.

Diese stimmen leicht mit der Proj4- Definition überein , die Sie erhalten haben:+proj=longlat +ellps=GRS80 +datum=NAD83 +no_defs

Sie können sehen, dass das Datum und das Ellipsoid mit dem Datum und der Sphäriode in der ".prj" übereinstimmen. Das longlatMittel Longitude/Latitude, das in Einheiten von gemessen Degreeswird und mit der Datei ".prj" übereinstimmt.

Es gibt "keine Defs", da keine zusätzlichen Informationen erforderlich sind, um das geografische Koordinatensystem zu identifizieren.

Eine Site zum Suchen nach räumlichen Referenzen ist: SpatialReference.org

Das geografische Koordinatensystem in NAD 83 ist schwer direkt zu entwickeln, da es Teil vieler anderer Projektionen ist.

Zur Vereinfachung benötigen Sie EPSG 4269 .

Dieser Link präsentiert die räumlichen Referenzinformationen in verschiedenen Formaten. Die speziell für PostGIS entwickelte ist:

INSERT in räumliche_ref_sys (srid, auth_name, auth_srid, proj4text, srtext) Werte (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 [Grad ", 0.01745329251994328, AUTHORITY [" EPSG "," 9122 "]], AUTHORITY [" EPSG "," 4269 "] ');

Um Ihren letzten Punkt in Bezug auf die SRID = -1 anzusprechen, ist es meiner Meinung nach wichtig, Ihre Daten zu testen, bevor Sie davon ausgehen, dass sie unbrauchbar sind. Versuchen Sie, es in einer GIS-Software wie QGIS oder ArcGIS aufzurufen . Sehen Sie sich die Koordinaten an, die angezeigt werden, wenn Sie den Cursor bewegen. Wenn Sie bekannte Zahlenbereiche wie y = 0 - +90 und x = -180 - +180 sehen, sollten Sie diese als Breiten- / Längengrad erkennen. Wenn Sie anfangen, die Koordinatenbereiche zu erkennen, die in den gängigen Projektionen und Koordinatensystemen in Ihrer Region vorkommen, können Sie Ihre Karriere erheblich vorantreiben.

Wenn Sie mehr über Projektionen und Koordinatensysteme erfahren möchten, ist dies eine fantastische Referenz: Ein Arbeitshandbuch ( PDF ) - John P. Snyder


Mir wurde klar, dass ich möglicherweise die falsche Frage gestellt habe. Ich bat um Fisch, wenn ich hätte fragen sollen, wie man fischt. Wenn ich bei SpatialReference.org nach 'GRS80 NAD83' suche , erhalte ich ein Ergebnis, das nicht korrekt aussieht. --- Der Link, den Sie für EPSG 4269 angegeben haben, enthält die OpenLayers-Kartenanzeige mit einem Begrenzungsrahmen für den größten Teil Asiens und Nordafrikas. Ist das richtig oder sogar wichtig?
kzh

@kzh - Ich weiß ehrlich gesagt nicht, warum es diesen Begrenzungsrahmen zeigt. Es ist jedoch nicht signifikant. Die im Raumbezug enthaltenen Details zählen und sind korrekt.
Holen Sie sich Spatial

Der Abschluss ist aus irgendeinem Grund leicht falsch - warum sollte das so sein? Spatialreference.org hat hier eine genauere Auflistung: Spatialreference.org/ref/sr-org/6867 , die in meiner spatial_ref_sysTabelle nicht als Srid vorhanden ist .
Zachary Schuessler

@GetSpatial - Warum haben Sie 94269 anstelle von 4269 als SRID verwendet? (da 4269 die EPSG-Kennung für NAD 83 ist)
neubert

1
@GetSpatial - Von Herrn Butler auf räumlich referenz.org "Allen Postgis-IDs wird 9 vorangestellt, um sicherzustellen, dass sie nicht mit vorhandenen Postgis-IDs kollidieren."
Kttii

1

@ Get Spatial ist richtig und es hätte keine bessere Antwort auf diese Frage geben können. Zusätzlich zu ihm können Sie Spatial_ref_sys auschecken, bevor Sie einen Raumbezug hinzufügen.

SELECT * FROM
       spatial_ref_sys WHERE auth_srid = 4269;

wahrscheinlich nimmst du etw so:

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 ist lediglich eine Tabelle bekannter Koordinatensysteme, die von ihrer SRID verschlüsselt werden. Weitere Informationen erhalten Sie hier ...

  • srid: Die numerische SRID. Dies sollte der Primärschlüssel der Tabelle sein.
  • auth_name: Ein Autoritätsname als Zeichenfolge. Dies wird festgelegt, wenn dieses Koordinatensystem von einer externen Behörde wie EPSG angegeben wird.
  • auth_srid: Die numerische ID des Koordinatensystems im Katalog der oben genannten Behörde.
  • srtext: Die WKT-Darstellung (Well-Known-Text) des Koordinatensystems (wie in Teil 4 beschrieben).
  • proj4text: Die Proj4-Darstellung des Koordinatensystems.

und das Letzte ist, dass Sie zum Laden in die Datenbank diesen Befehl verwenden:

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

ich hoffe es hilft dir ....

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.