[Редактировать: это было заменено nx_spatial, который доступен из pypi (easy_install nx_spatial). Импорт шейп-файлов теперь является стандартным в сети x 1.4 ]
Я был немного разочарован отсутствием инструментов геометрической сети в Python GP API ESRI, поэтому я написал кое-что, что загружает шейп- файлы и классы объектов в диаграммы направленности сети (DiGraphs).
Это все еще в стадии разработки, но это может быть хорошей отправной точкой для чего-то, что может помочь с вашей проблемой.
http://bitbucket.org/gallipoli/utilitynetwork/
Образцы:
from utilitynetwork import Network
net = Network()
#load single file, method reqs OGR
net.loadshp("/shapefiles/test.shp")
#load directory full of shapefiles
net.loadshp("/shapefiles")
#load a feature class, req ESRI gp object, should work with shps as well
import arcgisscripting
gp = arcgisscripting.create(9.3)
net.loadfc("C:\somedb.gdb\featureclass", gp)
#Accessing node/edge data is done by the key value (the geometry as a tuple).
#access node data at x=4, y=2
nodekey = (4, 2)
net.node[nodekey]
Сеть наследуется от networkx.DiGraph, поэтому все эти функции доступны.
.shpnetworkx? Я мог бы создать его сам в Python, но я бы не смог заново изобрести колесо ...