Usando ogr2ogr per convertire GML in shapefile in Python?


22

Sto cercando di convertire un GML in uno shapefile ESRI usando l'utilità ogr2ogr in uno script python.

Ho installato con successo il pacchetto GDAL / OGR tramite osgeo ma ora faccio fatica a trovare / comprendere tutti i dettagli sulla sintassi per usare ogr2ogr in python.

Dopo aver importato ogr, tutto ciò che ho trovato è ogr2ogr -f "ESRI Shapefile" output.shp input.gml

Come lo uso in Python? È semplice come assegnare i file di input e output?

Tutto ciò che provo ottengo solo errori di sintassi. Qualsiasi suggerimento nella giusta direzione per iniziare sarebbe fantastico.


quali errori stai riscontrando? e qual è la tua versione GDAL? per favore, vi prego di aiutarvi ..
Aragona,

Risposte:


35

Prendi una copia della porta ogr2ogr Python, che è distribuita con il download del codice sorgente GDAL o puoi trovarla qui: http://svn.osgeo.org/gdal/trunk/gdal/swig/python/samples/ogr2ogr.py

Una volta importato nel tuo codice, puoi usarlo in questo modo:

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"])

Questo è l'unico esempio funzionante che ho visto ovunque.
Bozdoz,



1

Una spiegazione dettagliata su come sostituire lo ogr2ogrstrumento da riga di comando con l'API OGR Python è disponibile qui .

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.