Идеи для разработчиков геопространственного ПО с открытым исходным кодом
QGIS
Кратко | Подробнее | Язык | Обсуждение | Взялся |
---|---|---|---|---|
генератор отчетов | полноценный генератор отчетов, что-то похожее на Fast/FreeReport | C++/Python(?) | ||
интеграция fTools в библиотеку анализа | перенос из модуля в ядро, вынос в API | C++ | ||
добавление пообъектных инструментов геопроцессинга | расширение возможностей редактирования | C++ | ||
доработка новой символики | поддержка нескольких библиотек условных знаков, группировка знаков по категориям и древовидное их отображение в библиотеке | C++ | ||
Режим Wireframe | возможность переключать «на лету» стиль отрисовки слоя (сложный/простой) | C++ | ||
генерализация линейных (и полигональных?) слоёв «на лету» | упрощение сложных объектов перед отрисовкой | C++ | ||
пересмотр и доработка ветки threading_branch | адаптация и интеграция существующего кода | C++ | ||
поддержка Tile Cache | поддержка протоколов OGC WMS-C/TMS | C++ | ||
Визуальный привязчик растров | дальнейшее развитие инструмента привязки растров | C/C++ | ||
использование многопопоточности и OpenCL в fTools и других библиотеках QGIS | для повышения скорости обработки больших объемов данных | С/C++ | ||
генерализация векторных данных с сохранением топологии | сейчас возможна генерализация без учета топологии, что для смежных полигонов неприемлемо | C++ |
GDAL
Кратко | Подробнее | Язык | Обсуждение | Взялся |
---|---|---|---|---|
Коррелятор | Поиск связующих точек | С/С++ | ||
уравнивание сети триангуляции | В случае поиска связующих точек, образуется сеть триангуляции. При этом, встает задача уравнивание этой сети для случая тройного и более перекрытия. | С/С++ | ||
драйвер SXF для OGR | С/С++ | |||
драйвер OSM XML для OGR | С/С++ | |||
Многопоточный тайлинг | Как оказалось, при приличном количестве больших растров создание тайлов с определенными уровнями для картографических веб серверов довольно ресурсная задача. Предлагается сделать этот процесс многопоточным или вообще на видеокарте обсчет. | С/С++/OpenCL |
Подробнее
Генератор отчетов
Сейчас есть только «компоновки» (макеты карты), которые позволяют создавать печатные карты с некоторыми элементами оформления. Возможность создания более-менее сложных отчетов (карта, форматированный текст, данные из атрибутивных таблиц, графики, выполнение расчетов) отсутствует. В качестве образца можно взять Fast/FreeReport, NCReport, CrystalReport
Портирование fTools
Цель: оптимизация библиотеки векторного анализа
Сейчас fTools реализованы на Python и не представлены в API. Имеются проблемы с производительностью, результат всегда записывается в новый shape-файл. Необходимо переписать инструменты на С++ с выносом операций в отдельный поток, обеспечить возможность как создания нового shape-файла, так и создания слоя в памяти.
Пообъектовое редактирование
Цель: расширение возможностей по редактированию векторных данных
Сейчас нет возможности применить операции геообработки к выбранным объектам, операция (через fTools) выполняется над всем слоем. Необходимо реализовать инструменты геообработки, работающие над выбранными объектами активного слоя.
Визуальный привязчик растров
Цель: ускорение и облегчение процесса привязки
Географическая привязка изображений на лету. Текущий инструмент - статический, работает так, загружаем растр в спец. модуль, расставляем точки, выбираем настройки, запускаем процесс трансформации, ждем, получаем результат - оцениваем точность.
Визуальный процесс привязки работает так: загружаем растр в канвас, ставим первую точку - растр делает shift, ставим вторую точку, растр делает scale, ставим третью - растр делает transform и все на лету, при двигании точек соответственно перетягивается растр.
С точки зрения алгоритмов все в QGIS для этого уже есть.
Режим Wireframe
Цель: ускорение работы с векторными слоями
Скорость отрисовки векторных слоёв при прочих равных условиях зависит от сложности и количества используемых условных знаков. В некоторых ситуациях (например, при редактировании) нет необходимости во всех красивостях, но важна скорость отрисовки. Необходимо реализовать переключение на простые стили (тонкая линия, полигон без заливки, окружность малого радиуса без заливки) и обратно по запросу пользователя.
Генерализация на лету
Цель: ускорение работы с векторными слоями
Еще один способ повысить скорость отрисовки - генерализация (упрощение) объектов. Пока только для линейных слоёв. Т.е. перед тем как выполнить отрисовку уменьшаем количество узлов в линии, и за счет некоторого огрубления получаем выигрыш в скорости. При этом необходимо учитывать, что при переходе в режим редактирования должны показываться все узлы, а не только оставшиеся после генерализации
threading_branch
Цель: ускорение работы
Многопоточная отрисовка и оптимизация. Изначально работа была сделана в рамках GSoC 2010, но по ряду причин так и не была влита в основное дерево. Код давно не синхронизировался с текущим деревом
Новая символика
Отсутствует возможность использования нескольких библиотек условных знаков, что делает работу с большим числов знаком весьма неудобной. Отображение знаков в виде плоского списка и отсутствие категорий тоже не добавляют удобства.
Топологически корректное упрощение
При упрощении смежных полигонов не учитывается топология, что делает инструмент бесполезным при решении ряда задач. Ссылка в тему http://gis.stackexchange.com/questions/178/simplifying-adjacent-polygons
Коррелятор
В настоящее время осуществляется сбор большого количества данных ДЗЗ с БПЛА и самолетов. В большинстве случае - это кадровая съемка. Для формирования единого бесшовного изображения встает задача поиска связующих точек изображений на маршруте и межмаршрутных изображений или просто создание панорам. Необходимо расширить библиотеку GDAL таким алгоритмом.