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

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

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 таким алгоритмом.