Używasz ogr2ogr do konwersji GML na plik kształtu w Pythonie?

22

Próbuję przekonwertować GML na plik kształtu ESRI przy użyciu narzędzia ogr2ogr w skrypcie python.

Z powodzeniem zainstalowałem pakiet GDAL / OGR przez osgeo, ale staram się teraz znaleźć / zrozumieć wszelkie szczegóły dotyczące składni używania ogr2ogr w pythonie.

Po zaimportowaniu ogr wszystko, co znalazłem, to ogr2ogr -f "ESRI Shapefile" output.shp input.gml

Jak korzystać z tego w Pythonie? Czy to tak proste, jak przypisanie plików wejściowych i wyjściowych?

Wszystko, co próbuję, po prostu dostaję błędy składniowe. Wszelkie wskazówki w dobrym kierunku, aby zacząć, byłyby świetne.

Matt
źródło
jakie masz błędy? a jaka jest twoja wersja GDAL? proszę o podzielenie się z nami za pomoc ..
Aragon

Odpowiedzi:

35

Chwyć kopię portu ogr2ogr Python, który jest dystrybuowany wraz z pobranym kodem źródłowym GDAL lub można go znaleźć tutaj: http://svn.osgeo.org/gdal/trunk/gdal/swig/python/samples/ogr2ogr.py

Po zaimportowaniu do kodu możesz użyć go w następujący sposób:

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
źródło
To jedyny działający przykład, jaki widziałem gdziekolwiek.
bozdoz
5

Przeczytać na os.system lub os.popen lub podproces . Lub po prostu użyj ogr2ogr i swojej powłoki. Nawet cmd.exe (Windows) pozwala ci na przeglądanie plików wejściowych.

sgillies
źródło
1

Szczegółowe wyjaśnienie, jak zastąpić ogr2ogrnarzędzie wiersza poleceń interfejsem API OGR Python można znaleźć tutaj .

ustroetz
źródło