Verwenden Sie ogr2ogr, um GML in Python in Shapefile zu konvertieren?

22

Ich versuche, eine GML mit dem Dienstprogramm ogr2ogr in einem Python-Skript in ein ESRI-Shapefile zu konvertieren.

Ich habe das GDAL / OGR-Paket erfolgreich über osgeo installiert, aber ich habe jetzt Schwierigkeiten, Details zur Syntax für die Verwendung von ogr2ogr in Python zu finden / zu verstehen.

Alles, was ich nach dem Import von OGR gefunden habe, ist ogr2ogr -f "ESRI Shapefile" output.shp input.gml

Wie verwende ich das in Python? Ist es so einfach wie das Zuweisen der Eingabe- und Ausgabedateien?

Alles was ich versuche bekomme ich nur Syntaxfehler. Alle Hinweise in die richtige Richtung, um mich an den Start zu bringen, wären großartig.

Matt
quelle
Welche Fehler bekommen Sie? und was ist deine GDAL Version? Bitte teilen Sie für die Hilfe für Sie ..
Aragon

Antworten:

35

Besorgen Sie sich eine Kopie des ogr2ogr-Python-Ports, der mit dem GDAL-Quellcode heruntergeladen oder hier heruntergeladen wird: http://svn.osgeo.org/gdal/trunk/gdal/swig/python/samples/ogr2ogr.py

Sobald Sie das in Ihren Code importiert haben, können Sie es folgendermaßen verwenden:

import ogr2ogr

def main():
  #note: main is expecting sys.argv, where the first argument is the script name
  #so, the argument indices in the array need to be offset by 1
  ogr2ogr.main(["","-f", "KML", "out.kml", "data/san_andres_y_providencia_administrative.shp"])
Eric Levine
quelle
Dies ist das einzige funktionierende Beispiel, das ich jemals gesehen habe.
Bozdoz
1

Eine ausführliche Erläuterung zum Ersetzen des ogr2ogrBefehlszeilentools durch die OGR-Python-API finden Sie hier .

ustroetz
quelle