Ich habe mich gefragt, ob es eine Shapefile-PRJ für die PostGIS-SRID-Nachschlagetabelle gibt. Etwas, das die gängigsten Shapefile-PRJ-Definitionen in die wahrscheinliche SRID übersetzen kann.
Wenn Sie mit PostGIS und pgAdminIII Ihre Shapefiles mit postgisgui importieren, bleibt die SRID "-1". Anscheinend sollte das Tool in der Lage sein, den Esri PRJ zu analysieren und die richtige (oder zumindest einige Optionen) SRID zu bestimmen, anstatt nur die Standardeinstellung beizubehalten.
Oder hat der Importeur die Möglichkeit, sofort neu zu projizieren, wenn Sie eine andere SRID wählen?
Es mag mir faul vorkommen, aber ich finde es merkwürdig, dass diese Funktion noch nicht eingerichtet wurde. Weiß jemand, ob dieses Konzept in Arbeit ist oder aus gutem Grund, warum es weggelassen wurde?
quelle
GDAL hat eine schöne und bequeme Schnittstelle zur PROJ4-Bibliothek.
Wenn Sie mit Python vertraut sind und die GDAL-Python-Bindungen verwenden, haben Sie beim Importieren der osr-Klassen sehr bequeme Methoden zum Lesen und Exportieren von Projektionsdarstellungen in eine Vielzahl von Formaten wie PROJ4, WKT, Esri .PRJ.
Zum Beispiel konvertiert dieses Skript Ihre .PRJ-Datei Ihres Shapefiles in WKT und PROJ4 (die letzte wird von PostGIS verwendet):
Führen Sie dies in der Befehlszeile aus:
quelle
+proj=longlat +datum=WGS84 +no_defs
ist nicht in derspatial_ref_sys
Tabelle enthalten, sodass Sie die Ausgabe nicht zum Nachschlagen der SRID verwenden können. und (2) Ich kann scheinbar keine SRID-Eigenschaft oder -Methode finden (es gibt eine praktischeImportFromEPSG(SRID)
Methode, aber nicht umgekehrt)gdalsrsinfo
undogrinfo
scheitern Sie, das ist der Weg zu gehen!srs.GetAuthorityCode(None)
möglicherweise immer noch keine zurückgegeben wird, wenn keine enge SRID identifiziert wurde.Es ist schon eine Weile her, dass ich POSTGIS-Srids verwendet habe, aber wenn es sich nur um EPSG-Codes handelt, können Sie sie mit http://prj2epsg.org/search aus (defekten) ESRI.prj-Dateien nachschlagen.
quelle
Als Mischung aus Lösungen habe ich ein Skript erstellt, mit dem ich beliebige Shapefiles in Postgis laden kann. Es wird auch versucht, die Codierung des DBF zu erkennen.
quelle
srsly. Ich will auch eins.
Viele Leute scheinen sie auf http://spatialreference.org nachzuschlagen
Wenn Sie Shapefiles mit PostGIS (und dem PostGIS-Loader für PGAdmin) importieren, werden die Projektinformationen in einer Tabelle namens "spatial_ref_sys" nachgeschlagen.
Soweit ich weiß, enthält die mit PostGIS gepackte Standardtabelle "spatial_ref_sys" nur OGC WKT-Darstellungen (Open Geospatial Consortium Well Known Text) einiger räumlicher Bezugssysteme und NICHT der räumlichen Bezugssysteme von ESRI.
Aus der PostGIS 1.5.2-Dokumentation:>
Allerdings enthält ogr2ogr ESRI- Raumreferenzsysteme , wie ich kürzlich durch die Großzügigkeit anderer gelernt habe.
Sowohl in ogr2ogr als auch in spatial_ref_sys wird der in der .proj-Datei enthaltene Text anscheinend mit einer Tabelle von OGC WKT verglichen. Dabei handelt es sich um ein geringfügig anderes Textformat als das in einer .proj-Datei häufig vorkommende ESRI WKT-Format. Ich bin mir auch nicht sicher, wie PostGIS die einzelnen SRS sucht, aber die kleinen Unterschiede zwischen ESRI WKT und OGC WKT können zu fehlgeschlagenen Übereinstimmungen führen.
Es scheint einfach zu sein, räumliche ESRI-Referenzsysteme an die Standardtabelle "spatial_ref_sys" in PostGIS anzuhängen. Vielleicht hat jemand schon einen Patch oder ein Skript.
Ich könnte mich irren, weil ich gerade in den letzten Tagen darauf gestoßen bin, und ich war mit der gleichen Sache frustriert. Vielleicht kennt jemand anderes eine großartige Ressource?
quelle
Es ist schon eine Weile her, dass ich musste, aber, wie ich mich erinnere, gibt Ihnen http://spatialreference.org/ nicht nur die Möglichkeit zu suchen , sondern auch die Möglichkeit, eine prj-Datei hochzuladen.
Dann erhalten Sie als eine der Ausgabeoptionen das entsprechende Postgis-Insert zum Einfügen in die Spatial_ref_sys-Tabelle.
Für die Einfügeanweisung, die es gibt, ersetze ich das generierte srid, das es erstellt, durch das EPSG oder ESRI. Wenn Sie eine Primärschlüsselverletzung feststellen, wissen Sie höchstwahrscheinlich, dass diese bereits in der Tabelle enthalten ist.
quelle