Respuestas:
Ben Reilly publicó recientemente un enlace en otra pregunta a su paquete Python de red de servicios públicos , que utiliza los enlaces OGR para convertir datos en Networkx DiGraphs .
A juzgar por la lista de networkx de formatos de gráficos importables y formatos compatibles con GDAL , dudo que tal conversión sea posible.
TranspoTools Will be here shortly
. ¿Hay algún código en el repositorio de código de google? Todo lo que pude ver estaba vacío.
ogr2networkx
herramienta de tipo.
No ha mencionado específicamente qué tipo de análisis de red desea hacer, pero si está interesado en el enrutamiento, hay un par de opciones:
PgRouting http://pgrouting.postlbs.org/ trabaja con datos en PostGIS para hacer análisis de enrutamiento. Admite los algoritmos Dijkstra de ruta más corta, ruta A más corta *, estrella fugaz de ruta más corta y vendedor ambulante (TSP). También hace cálculos de distancia de conducción. Puede encontrar una lista de aplicaciones de ejemplo que utilizan PgRouting en http://pgrouting.postlbs.org/wiki/pgRoutingDemo
PgRouting conduce la http://www.ridethecity.com/
aplicación Ride the City .
El proyecto OpenRouter http://wiki.osgeo.org/wiki/OpenRouter
. Este proyecto parece interesante, pero no particularmente maduro en este momento.
(Disculpas por las URL citadas, pero no tengo suficiente crédito para publicar> 1 URL ...)
Creo que la respuesta depende. La mayoría de los formatos SIG no incluyen explícitamente información de adyacencia (por ejemplo, no hay indicadores en un .shp lleno de características de línea simples para indicar que dos características comparten un punto final común), lo que es un factor decisivo para leerlos directamente en una red.
Desde un vistazo rápido al código, parece que el paquete de red de servicios públicos vinculado por scw volverá a descubrir esa información solo si los puntos finales son idénticos bit por bit. ¡Esto podría ser lo suficientemente bueno para la mayoría de las necesidades, incluida la suya! (Podría estar equivocado sobre esto, ya que de hecho fue solo un vistazo superficial).
Para algo más robusto, por ejemplo, es posible que desee crear nuevos nodos en la red donde se crucen dos bordes, o le gustaría manejar perturbaciones que hacen que los puntos finales superpuestos sean muy diferentes, tendrá que buscar un enfoque que inspecciona la geometría más profundamente.
He hecho algo similar con Boundary Generator para recuperar información de adyacencia de red de polígonos: plataforma incorrecta, lenguaje y primitivo geométrico para ti, desafortunadamente. Sin embargo, puede ser perspicaz sobre cómo abordar los problemas de robustez.
Hay algún código geodjango en MarineMap que podría ser adaptable para la tarea.
GML
, el primero se refiere alGeography Markup Language
segundoGraph Modelling Language
.