Respostas:
Ben Reilly postou recentemente um link em outra pergunta em seu pacote Python de rede de serviços públicos , que usa as ligações OGR para converter dados em DiGraphs da redex .
A julgar pela lista networkx de formatos de gráficos importáveis e formatos suportados pelo GDAL , duvido que essa conversão seja possível.
TranspoTools Will be here shortly
. Existe algum código no repositório de códigos do google? Tudo o que pude ver estava vazio.
ogr2networkx
ferramenta de tipo.
Você não mencionou especificamente que tipo de análise de rede deseja fazer, mas se estiver interessado em rotear, há algumas opções:
PgRouting http://pgrouting.postlbs.org/ trabalha com dados no PostGIS para fazer análise de roteamento. Ele suporta os algoritmos Dijkstra de caminho mais curto, caminho mais curto A *, estrela cadente de caminho mais curto e vendedor ambulante (TSP). Também faz cálculos de distância de condução. Uma lista de exemplos de aplicativos usando o PgRouting pode ser encontrada em http://pgrouting.postlbs.org/wiki/pgRoutingDemo
PgRouting, no aplicativo Ride the City http://www.ridethecity.com/
.
O projeto OpenRouter http://wiki.osgeo.org/wiki/OpenRouter
. Este projeto parece interessante, mas não particularmente maduro neste momento.
(Desculpas pelos URLs citados, mas não tenho cred o suficiente para postar> 1 URl ...)
Eu acho que a resposta depende. A maioria dos formatos GIS não inclui explicitamente informações de adjacência (por exemplo, não há indicadores em um .shp cheio de recursos de linha simples para indicar que dois recursos compartilham um ponto de extremidade comum), que é um diferencial para lê-los diretamente em uma rede.
De uma olhada rápida no código, parece que o pacote de rede de utilitários vinculado pelo scw redescobrirá essas informações apenas se os terminais forem idênticos bit a bit. Isso pode ser bom o suficiente para a maioria das necessidades, incluindo a sua! (Eu posso estar errado sobre isso, já que foi apenas uma espiada superficial.)
Para algo mais robusto - por exemplo, você pode criar novos nós na rede onde duas arestas se cruzam ou gostaria de lidar com perturbações que tornam os pontos de extremidade sobrepostos muito ligeiramente diferentes - você precisará procurar uma abordagem que inspeciona a geometria mais profundamente.
Fiz algo semelhante com o Boundary Generator para recuperar informações de adjacência de rede dos polígonos: plataforma errada, linguagem e primitivo geométrico para você, infelizmente. No entanto, pode ser interessante saber como abordar problemas de robustez.
Há algum código geodjango no MarineMap que pode ser adaptável à tarefa.
GML
, o primeiro se refereGeography Markup Language
enquanto o último éGraph Modelling Language
.