gehe zu Thema :: Wissenschaft / Technik :: GIS und
du hast alle Python-Module für GIS (für die Arbeit mit Shapefiles, Rastern, KML, GML, GPX, Geocoding, etc.)
Die wichtigsten wurden bereits erwähnt, aber ich empfehle auch Fiona
" Fiona bietet eine minimale, unkomplizierte Python-Oberfläche für die vertrauenswürdigste Geodaten-Zugriffsbibliothek der Open-Source-GIS-Community und lässt sich problemlos in andere Python-GIS-Pakete wie pyproj, Rtree und Shapely integrieren. "
und für die Vernetzung mit Shape - Dateien oder Esri - Feature - Class mit NetworkX Modul geometrischem Netzwerk Geoprocessing : „ Soweit ich das beurteilen kann, ESRI hat noch keine Geoverarbeitungswerkzeuge für ihr geometrisches Netzwerk freigegeben oder“ Alternativen zu pgRouting oder Python: wie eine Shape - Datei zu transformieren (oder Feature Class ESRI) in einem topologischen Netzwerk (Grafik) (auf Französisch)
import networkx as nx
G = nx.read_shp('pointshapefile.shp')
print(G.nodes())
# result [(1.0, 2.0), (3.0, 2.0), (0.0, 0.0), (3.0, 1.0), (4.0, 4.0), (2.0, 1.0), (2.0, 4.0), (1.0, 3.0), (2.0, 3.0), (1.0, 4.0), (4.0, 3.0), (4.0, 2.0), (3.0, 4.0), (1.0, 1.0)]
print(G.edges())
# result [((1.0, 2.0), (1.0, 1.0)), ((3.0, 2.0), (2.0, 1.0)), ((3.0, 1.0), (2.0, 1.0)), ((4.0, 4.0), (3.0, 4.0)), ((2.0, 1.0), (1.0, 1.0)), ((2.0, 4.0), (2.0, 3.0)), ((1.0, 3.0), (1.0, 2.0)), ((2.0, 3.0), (1.0, 2.0)), ((1.0, 4.0), (1.0, 3.0)), ((4.0, 3.0), (4.0, 2.0)), ((4.0, 2.0), (3.0, 2.0)), ((3.0, 4.0), (2.0, 3.0)), ((1.0, 1.0), (0.0, 0.0))]
# shortest path
print(nx.astar_path(H,(1.0, 4.0),(4.0, 2.0),dist))
# result [(1.0, 4.0), (1.0, 3.0), (1.0, 2.0), (2.0, 3.0), (3.0, 2.0), (4.0, 2.0)]
# and so with all the algorithms of Networkx module
# you can also export the results in shapefile format
Ich verwende Shapely, Fiona, GDAL / OGR, Pyshp, Networkx und andere in QGIS und GRASS GIS ohne Probleme (und mit matplotlib oder descartes für interaktive Grafiken). Sie haben oft Algorithmen, die für die Behandlung einfacher zu verwenden sind.
Einige dieser Module können auch in ArcPy mit Problemen verwendet werden, da ArcPy Version 1.3 von Numpy verwendet, die veraltet ist (jetzt Version 1.6.1 ...), und Sie können es nicht aktualisieren, ohne das ArcPy-Modul zu beschädigen.