vaya a Tema :: Científico / Ingeniería :: SIG
y tenga todos los módulos de Python para SIG (para trabajar con shapefiles, rásteres, KML, GML, geocodificación GPX, etc.)
Ya se han citado los más importantes, pero también recomiendo a Fiona
" Fiona proporciona una interfaz Python mínima y sin complicaciones para la biblioteca de acceso a geodatos más confiable de la comunidad GIS de código abierto y se integra fácilmente con otros paquetes Python GIS como pyproj, Rtree y Shapely " .
y para redes con shapefiles o Esri Feature Class con módulo Networkx Geoprocesamiento de red geométrica : " Por lo que puedo decir, ESRI no ha lanzado ninguna herramienta de geoprocesamiento para su red geométrica " o Alternativas a pgRouting o Python: cómo transformar un shapefile (o clase de entidad ESRI) en una red topológica (gráfico) (en francés)
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
Utilizo Shapely, Fiona, GDAL / OGR, Pyshp, Networkx y otros en QGIS y GRASS GIS sin problema (y con matplotlib o descartes para gráficos interactivos). A menudo tienen algoritmos más fáciles de usar para el tratamiento.
Algunos de estos módulos también se pueden usar en ArcPy con problemas porque ArcPy usa la versión 1.3 de Numpy, obsoleta (ahora versión 1.6.1 ...) y no puede actualizarla sin romper el módulo ArcPy.