13 votos

Cómo convertir la línea de simples características topológicas de la red?

el uso de Gdal/ OGR es allí una manera de convertir un shp, kml, o PostGIS capa de línea en una red de nodos y segmentos de modo que puede ser utilizado en paquetes como networkx?

8voto

Robert Höglund Puntos 5572

Ben Reilly ha publicado recientemente un enlace en otra pregunta a su utilitynetwork paquete de Python, que utiliza la OGR enlaces para convertir los datos en networkx de los Bigramas.

2voto

Slayd Puntos 111

Creo que la respuesta depende. La mayoría de los SIG de los formatos no incluyen explícitamente de adyacencia de información (por ejemplo, no hay indicadores en una .shp lleno de simples funciones de línea para indicar que dos características comparten un punto final común), que es un rompe el acuerdo para la lectura directa en una red.

De un rápido vistazo en el código, parece que el utilitynetwork paquete vinculado por scw se re-descubre que la información que sólo si los extremos son bit-por-bit idéntica. Esto podría ser lo suficientemente bueno para la mayoría de las necesidades, incluyendo la suya! (Yo podría estar equivocado acerca de esto, ya que de hecho fue sólo un somero vistazo.)

Para algo más robusta, por ejemplo, puede que desee crear nuevos nodos en la red donde los dos bordes de la cruz, o si te gustaría manejar las perturbaciones que hacen de la superposición de los extremos muy ligeramente diferentes-tendrás que buscar un enfoque que inspecciona la geometría más profundamente.

Yo he hecho algo similar con el Límite del Generador para recuperar la red de adyacencia de la información de los polígonos: mal de la plataforma, el lenguaje y la primitiva geométrica para usted, por desgracia. Sin embargo, puede ser clarificador en cuanto a cómo acercarse a la robustez de los problema(s).

2voto

tobes Puntos 19

A juzgar por la networkx lista de importables gráfico formatos y formatos soportados por GDAL, dudo que esta conversión es posible.

2voto

Josh Puntos 569

Usted no ha mencionado específicamente qué clase de análisis de red que quieres hacer, pero si usted está interesado en enrutamiento, hay un par de opciones:

PgRouting http://pgrouting.postlbs.org/ trabaja con datos en PostGIS para hacer el análisis de enrutamiento. Es compatible con la Ruta más corta de Dijkstra, la Ruta más corta A*, la Ruta más corta Estrella fugaz y Viajar Vendedor (TSP) de los algoritmos. Asimismo, la conducción de los cálculos de distancia. Una lista de ejemplo de aplicaciones con PgRouting se puede encontrar en http://pgrouting.postlbs.org/wiki/pgRoutingDemo de PgRouting unidades de la conducción de la Ciudad http://www.ridethecity.com/ app.

El OpenRouter proyecto http://wiki.osgeo.org/wiki/OpenRouter. Este proyecto se ve interesante, pero no particularmente maduro en este punto.

(Disculpas por el citado Url, pero no tengo la suficiente credibilidad para publicar >1 URl...)

0voto

akdom Puntos 6724

Hay algunos geodjango código en MarineMap que puede ser adaptable para la tarea.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X