Відповіді:
Бен Рейлі нещодавно опублікував посилання на інше питання до свого пакету утилітних мереж Python, який використовує прив'язки OGR для перетворення даних у мережуx DiGraphs .
Судячи зі списку networkx імпортних форматів графіків та форматів, підтримуваних GDAL , я сумніваюся, що таке перетворення можливе.
TranspoTools Will be here shortly
. Чи є код у сховищі google-коду? Все, що я міг бачити, було порожнім.
ogr2networkx
інструментом типу.
Ви конкретно не згадали, яким саме мережевим аналізом ви хочете займатися, але якщо вас цікавить маршрутизація, є кілька варіантів:
PgRouting http://pgrouting.postlbs.org/ працює з даними в PostGIS для аналізу маршрутизації. Він підтримує алгоритми найкоротшого шляху Dijkstra, Shortest Path A *, Shortest Path Shooting Star та мандрівного продавця (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
.