[Редагувати: це було замінено nx_spatial, який доступний у pypi (easy_install nx_spatial). Імпорт форм- файлів тепер стандартний у мережіx 1.4 ]
Я був розчарований відсутністю геометричних мережевих інструментів у API Python GP ESRI, тому я записав щось, що завантажує форми Shapefiles та Feature Class в networkx спрямовані графіки (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, тому вся ця функціональність доступна.
.shp
на мережуx? Я міг би сам побудувати його в Python, але я б не намагався винаходити колесо ...