2012-04-03 1 views
24

Ich habe eine Tabelle mit einigen Geometrietypen und muss die SRID eines bestimmten Feldes zurückgeben können. Wie kann ich das machen. Ich hatte eine Suche, aber alles, was ich finden kann, ist die Funktion, eine SRID zu ändern. In Oracle mache ich das:Ruft die SRID eines Geometriefelds ab

Gibt es eine äquivalente Funktion in PostGIS?

Antwort

48

ST_SRID gibt Ihnen die SRID einer einzelnen Geometrie. Verwenden Sie Find_SRID zum Abrufen der SRID einer Spalte.

+0

Danke. Ich habe keine Ahnung, warum ich das nicht gefunden habe. – CSharpened

-2

Auszufinden SRID der Daten

Sie eine der Dateien feststellen, es wird TOWNS_POLY.prj genannt extrahiert. A .prj ist oft mit ESRI-Shape-Dateien enthalten und sagt Ihnen die Projektion der Daten. Wir müssen diese beschreibende Projektion mit einer SRID (dem ID-Feld eines räumlichen Referenzdatensatzes in der Tabelle spatial_ref_sys) abgleichen, wenn wir unsere Daten jemals erneut projizieren möchten. Öffnen Sie die .prj-Datei in einem Texteditor. Sie werden so etwas wie NAD_1983_StatePlane_Massachusetts_Mainland_FIPS_2001 und UNIT["Meter",1.0]

Öffnen Sie Ihre PgAdmin III-Abfrage-Tool und geben Sie die folgende Anweisung

select srid, srtext, proj4text from spatial_ref_sys where srtext ILIKE '%Massachusetts%' 

und klicken Sie dann auf den grünen Pfeil sehen. Dies wird ungefähr 10 Datensätze hervorbringen. Beachten Sie die Srid der engsten Übereinstimmung. In diesem Fall sein 26986.

HINWEIS: Srid ist nicht nur ein PostGIS Begriff. Da es sich um einen OGC-Standard handelt, wird SRID in anderen Geodatenbanken, gis Webservices und Anwendungen häufig erwähnt. Die meisten gängigen räumlichen Bezugssysteme haben global definierte Nummern. 26986 wird also immer auf NAD83_StatePlane_Massachusetts_Mainland_FIPS_2001 Meter abgebildet. Die meisten, wenn nicht alle MassGIS-Daten sind in dieser speziellen Projektion enthalten.

Source