pergi ke Topik :: Ilmiah / Teknik :: GIS dan
Anda memiliki semua Modul Python untuk GIS (untuk bekerja dengan shapefile, raster, KML, GML, geocoding GPX, dll.)
Yang paling penting telah dikutip tetapi saya sarankan juga Fiona
" Fiona menyediakan antarmuka Python minimal, tidak rumit ke perpustakaan open source geodata yang paling dipercaya komunitas GIS dan terintegrasi dengan mudah dengan paket GIS Python lain seperti pyproj, Rtree, dan Shapely. "
dan untuk jaringan dengan shapefile atau Esri Feature Class dengan modul Networkx Geometric Network Geoprocessing : " Sejauh yang saya tahu, ESRI belum merilis alat geoprocessing untuk Jaringan Geometrik mereka " atau Alternatif untuk pgRouting atau Python: cara mengubah shapefile (atau kelas fitur ESRI) dalam jaringan topologi (grafik) (dalam bahasa Prancis)
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
Saya menggunakan Shapely, Fiona, GDAL / OGR, Pyshp, Networkx dan yang lainnya di QGIS dan GRASS GIS tanpa masalah (dan dengan matplotlib atau descartes untuk grafik interaktif). Mereka sering memiliki algoritma yang lebih mudah digunakan untuk perawatan.
Beberapa modul ini juga dapat digunakan di ArcPy dengan masalah karena ArcPy menggunakan versi 1.3 dari Numpy, ketinggalan jaman (sekarang versi 1.6.1 ...) dan Anda tidak dapat memperbaruinya tanpa merusak modul ArcPy.