Улучшения RoadGraph plugin и network analysis API для QGIS
Добавлено: 28 сен 2011, 00:17
Здравствуйте.
В моем форке QGIS, в ветке network-analysis есть новая версия RoadGraphPlugin.
Направление работы было два: исправление ошибок и перенос ядра плагина в ядро QGIS
Изменения:
1. При установки параметра "топологическая толерантность" в значение больше нуля построение графа происходит почти также быстро как и с параметром равным нулю. (теперь этот параметр не использует пространственные индексы и рассчитан только на устранение ошибок округления).
2. Уменьшено потребление памяти. Если Вы используете OSM-карту Москвы, то Вам больше не нужны гигабайты ОЗУ. Достаточно 10 мегабайт.
3. Ядро RoadGraph выделено в отдельную библиотеку qgisnetworkanalysis (наименования классов приведены к принятой в QGIS - схеме)
4. Реализованы минимально необходимый набор python привязок. Теперь Вы можете использовать Python для поиска дерева кратчайших путей. (Если честно, я абсолютно не понимаю язык python и откровенно ненавижу его за синтаксис. Тем не менее как мог старался сделать свою работу хорошо. Ногами не пинайте)
Для демонстрации 3-его и 4-го пунктов подготовлен (и тщательно комментирован) простенький скрипт (см. вложение) - его можно выполнить прямо в консоли QGis - или смотрите скринкаст.
Думаю это хороший кандидат на включение в основную ветку qgis. Так что, ребята, попиарте мою работу.
В моем форке QGIS, в ветке network-analysis есть новая версия RoadGraphPlugin.
Направление работы было два: исправление ошибок и перенос ядра плагина в ядро QGIS
Изменения:
1. При установки параметра "топологическая толерантность" в значение больше нуля построение графа происходит почти также быстро как и с параметром равным нулю. (теперь этот параметр не использует пространственные индексы и рассчитан только на устранение ошибок округления).
2. Уменьшено потребление памяти. Если Вы используете OSM-карту Москвы, то Вам больше не нужны гигабайты ОЗУ. Достаточно 10 мегабайт.
3. Ядро RoadGraph выделено в отдельную библиотеку qgisnetworkanalysis (наименования классов приведены к принятой в QGIS - схеме)
4. Реализованы минимально необходимый набор python привязок. Теперь Вы можете использовать Python для поиска дерева кратчайших путей. (Если честно, я абсолютно не понимаю язык python и откровенно ненавижу его за синтаксис. Тем не менее как мог старался сделать свою работу хорошо. Ногами не пинайте)
Для демонстрации 3-его и 4-го пунктов подготовлен (и тщательно комментирован) простенький скрипт (см. вложение) - его можно выполнить прямо в консоли QGis - или смотрите скринкаст.
Думаю это хороший кандидат на включение в основную ветку qgis. Так что, ребята, попиарте мою работу.