Идеи для разработчиков геопространственного ПО с открытым исходным кодом

Материал из GIS-Lab
Перейти к навигации Перейти к поиску

QGIS

Кратко Подробнее Язык Обсуждение Взялся
генератор отчетов полноценный генератор отчетов, что-то похожее на Fast/FreeReport C++/Python(?)
интеграция fTools в библиотеку анализа перенос из модуля в ядро, вынос в API C++
добавление пообъектных инструментов геопроцессинга расширение возможностей редактирования C++
доработка новой символики поддержка нескольких библиотек условных знаков, группировка знаков по категориям и древовидное их отображение в библиотеке C++
wireframe-mode возможность переключать «на лету» стиль отрисовки слоя (сложный/простой) C++
генерализация линейных (и полигональных?) слоёв «на лету» упрощение сложных объектов перед отрисовкой C++
пересмотр и доработка ветки threading_branch адаптация и интеграция существующего кода C++
поддержка Tile Cache поддержка протоколов OGC WMS-C/TMS C++
visual georeferencing tool дальнейшее развитие инсрумента привязки растров C/C++
использование многопопоточности и OpenCL в fTools и других библиотеках QGIS для повышения скорости обработки больших объемов данных С/C++
генерализация векторных данных с сохранением топологии сейчас возможна генерализация без учета топологии, что для смежных полигонов неприемлемо C++

GDAL

Кратко Подробнее Язык Обсуждение Взялся
коррелятор
драйвер SXF для OGR
драйвер OSM XML для OGR

Подробнее

Генератор отчетов

Сейчас есть только «компоновки» (макеты карты), которые позволяют создавать печатные карты с некоторыми элементами оформления. Возможность создания более-менее сложных отчетов (карта, форматированный текст, данные из атрибутивных таблиц, графики, выполнение расчетов) отсутствует. В качестве образца можно взять Fast/FreeReport, NCReport, CrystalReport

Портирование fTools

Цель: оптимизация библиотеки векторного анализа Сейчас fTools реализованы на Python и не представлены в API. Имеются проблемы с производительностью, результат всегда записывается в новый shape-файл. Необходимо переписать инструменты на С++ с выносом операций в отдельный поток, обеспечить возможность как создания нового shape-файла, так и создания слоя в памяти.

Пообъектовое редактирование

Сейчас нет возможности применить операции геообработки к выбранным объектам, операция (через fTools) выполняется над всем слоем. Необходимо реализовать инструменты геообработки, работающие над выбранными объектами активного слоя.

Визуальный привязчик растров

Цель: ускорение и облегчение процесса привязки. Географическая привязка изображений на лету. Текущий инструмент - статический, работает так, загружаем растр в спец. модуль, расставляем точки, выбираем настройки, запускаем процесс трансформации, ждем, получаем результат - оцениваем точность. Визуальный процесс привязки работает так: загружаем растр в канвас, ставим первую точку - растр делает shift, ставим вторую точку, растр делает scale, ставим третью - растр делает transform и все на лету, при двигании точек соответственно перетягивается растр. С точки зрения алгоритмов все в кугисе для этого уже есть.

Режим Wireframe

Цель: ускорение работы с векторными слоями. Скорость отрисовки векторных слоёв при прочих равных условиях зависит от сложности и количества используемых условных знаков. В некоторых ситуациях (например, при редактировании) нет необходимости во всех красивостях, но важна скорость отрисовки. Необходимо реализовать переключение на простые стили (тонкая линия, полигон без заливки, окружность малого радиуса без заливки) и обратно по запросу пользователя.

Генерализация на лету

Цель: ускорение работы с векторными слоями. Еще один способ повысить скорость отрисовки - генерализация (упрощение) объектов. Пока только для линейных слоёв. Т.е. перед тем как выполнить отрисовку уменьшаем количество узлов в линии, и за счет некоторого огрубления получаем выигрыш в скорости. При этом необходимо учитывать, что при переходе в режим редактирования должны показываться все узлы, а не только оставшиеся после генерализации

threading_branch

Многопоточная отрисовка и оптимизация. Изначально работа была сделана в рамках GSoC 2010, но по ряду причин так и не была влита в основное дерево. Код давно не синхронизировался с текущим деревом

Новая символика

Отсутствует возможность использования нескольких библиотек условных знаков, что делает работу с большим числов знаком весьма неудобной.