allez à Sujet :: Scientifique / Ingénierie :: SIG
et vous avez tous les modules Python pour SIG (pour travailler avec des fichiers de formes, des rasters, KML, GML, géocodage GPX, etc.)
Les plus importants ont déjà été cités, mais je recommande également Fiona
" Fiona fournit une interface Python minimale et simple à la bibliothèque d'accès aux géodonnées la plus fiable de la communauté SIG open source et s'intègre facilement avec d'autres packages SIG Python tels que pyproj, Rtree et Shapely. "
et pour la mise en réseau avec des fichiers de formes ou la classe d'entités Esri avec le module Networkx Géotraitement de réseau géométrique : " Pour autant que je sache , ESRI n'a pas publié d'outils de géotraitement pour leur réseau géométrique " ou Alternatives à pgRouting ou Python: comment transformer un fichier de formes (ou classe d'entités ESRI) dans un réseau topologique (graphique )
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
J'utilise Shapely, Fiona, GDAL / OGR, Pyshp, Networkx et autres dans QGIS et GRASS GIS sans problème (et avec matplotlib ou descartes pour un graphique interactif). Ils ont souvent des algorithmes plus faciles à utiliser pour le traitement.
Certains de ces modules peuvent également être utilisés dans ArcPy avec des problèmes car ArcPy utilise la version 1.3 de Numpy, obsolète (maintenant la version 1.6.1 ...) et vous ne pouvez pas le mettre à jour sans casser le module ArcPy.