Ответы:
Бен Рейли недавно опубликовал ссылку на другой вопрос в своем пакете Python для служебной сети , который использует привязки OGR для преобразования данных в DiGraphs для сети x .
Судя по списку сетевых форматов и форматов импортируемых графов, поддерживаемых GDAL , я сомневаюсь, что такое преобразование возможно.
TranspoTools Will be here shortly
. Есть ли какой-нибудь код в репозитории google-code? Все, что я мог видеть, было пустым.
ogr2networkx
инструментом типа.
Вы не упомянули конкретно, какой анализ сети вы хотите сделать, но если вы заинтересованы в маршрутизации, есть несколько вариантов:
PgRouting http://pgrouting.postlbs.org/ работает с данными в PostGIS для анализа маршрутов. Он поддерживает алгоритмы Shortest Path Dijkstra, Shortest Path A *, Shortest Path Shooting Star и Traveling Salesperson (TSP). Он также делает расчеты расстояния вождения. Список примеров приложений, использующих PgRouting, можно найти на http://pgrouting.postlbs.org/wiki/pgRoutingDemo
PgRouting, где находится http://www.ridethecity.com/
приложение Ride the City .
Проект OpenRouter http://wiki.osgeo.org/wiki/OpenRouter
. Этот проект выглядит интересным, но не особо зрелым на данный момент.
(Извиняюсь за указанные URL, но у меня недостаточно средств, чтобы опубликовать> 1 URl ...)
Я думаю, что ответ зависит. Большинство форматов ГИС явно не включают информацию о смежности (например, в файле .shp, полном простых линейных объектов, отсутствуют индикаторы, указывающие на то, что две функции имеют общую конечную точку), что является прерывателем для их чтения непосредственно в сети.
После беглого взгляда на код, похоже, что пакет служебной сети, связанный с scw, заново обнаружит эту информацию только в том случае, если конечные точки идентичны по битам. Это может быть достаточно для большинства нужд, включая ваши! (Я могу ошибаться, так как это был лишь беглый взгляд.)
Для чего-то более надежного - например, вы можете захотеть создать новые узлы в сети, где пересекаются два ребра, или вы хотите обрабатывать возмущения, которые сильно перекрывают перекрывающиеся конечные точки - вам придется искать подход это осматривает геометрию более глубоко.
Я сделал нечто похожее с Boundary Generator для восстановления информации о смежности сети из полигонов: к сожалению, неправильная платформа, язык и геометрический примитив для вас. Тем не менее, это может быть проницательным в отношении того, как подходить к решению проблемы надежности.
В MarineMap есть некоторый код geodjango, который можно адаптировать для этой задачи.
GML
, первое относится кGeography Markup Language
последнему, а второе - к немуGraph Modelling Language
.