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

Материал из GIS-Lab
Перейти к навигации Перейти к поиску
Нет описания правки
Строка 10: Строка 10:
|
|
|-
|-
| интеграция fTools в библиотеку анализа
| [[#Портирование fTools|интеграция fTools в библиотеку анализа]]
| перенос из модуля в ядро, вынос в API
| перенос из модуля в ядро, вынос в API
| C++
| C++
Строка 16: Строка 16:
|
|
|-
|-
| добавление пообъектных инструментов геопроцессинга
| [[#Пообъектовое редактирование|добавление пообъектных инструментов геопроцессинга]]
| расширение возможностей редактирования
| расширение возможностей редактирования
| C++
| C++
Строка 22: Строка 22:
|
|
|-
|-
| доработка новой символики
| [[#Новая символика|доработка новой символики]]
| поддержка нескольких библиотек условных знаков, группировка знаков по категориям и древовидное их отображение в библиотеке
| поддержка нескольких библиотек условных знаков, группировка знаков по категориям и древовидное их отображение в библиотеке
| C++
| C++
Строка 28: Строка 28:
|
|
|-
|-
| wireframe-mode
| [[#Режим Wireframe|Режим Wireframe]]
| возможность переключать «на лету» стиль отрисовки слоя (сложный/простой)
| возможность переключать «на лету» стиль отрисовки слоя (сложный/простой)
| C++
| C++
Строка 34: Строка 34:
|
|
|-
|-
| генерализация линейных (и полигональных?) слоёв «на лету»
| [[#Генерализация на лету|генерализация линейных (и полигональных?) слоёв «на лету»]]
| упрощение сложных объектов перед отрисовкой
| упрощение сложных объектов перед отрисовкой
| C++
| C++
Строка 40: Строка 40:
|
|
|-
|-
| пересмотр и доработка ветки threading_branch
| [[#threading_branch|пересмотр и доработка ветки threading_branch]]
| адаптация и интеграция существующего кода
| адаптация и интеграция существующего кода
| C++
| C++
Строка 52: Строка 52:
|
|
|-
|-
| visual georeferencing tool
| [[#Визуальный привязчик растров|Визуальный привязчик растров]]
| дальнейшее развитие инсрумента привязки растров
| дальнейшее развитие инсрумента привязки растров
| C/C++
| C/C++
Строка 64: Строка 64:
|
|
|-
|-
| генерализация векторных данных с сохранением топологии
| [[#Топологически корректное упрощение|генерализация векторных данных с сохранением топологии]]
| сейчас возможна генерализация без учета топологии, что для смежных полигонов неприемлемо
| сейчас возможна генерализация без учета топологии, что для смежных полигонов неприемлемо
| C++
| C++

Версия от 21:07, 25 марта 2012

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

Кратко Подробнее Язык Обсуждение Взялся
коррелятор В настоящее время осуществляется сбор большого количества данных ДЗЗ с БПЛА и самолетов. В большинстве случае - это кадровая съемка. Для формирования единого бесшовного изображения встает задача поиска связующих точек изображений на маршруте и межмаршрутных изображений или просто создание панорам. Необходимо расширить библиотеку GDAL таким алгоритмом. С/С++
уравнивание сети триангуляции В случае поиска связующих точек, образуется сеть триангуляции. При этом, встает задача уравнивание этой сети для случая тройного и более перекрытия. С/С++
драйвер SXF для OGR С/С++
драйвер OSM XML для OGR С/С++

Подробнее

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

Сейчас есть только «компоновки» (макеты карты), которые позволяют создавать печатные карты с некоторыми элементами оформления. Возможность создания более-менее сложных отчетов (карта, форматированный текст, данные из атрибутивных таблиц, графики, выполнение расчетов) отсутствует. В качестве образца можно взять 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