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

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

Нажмите на название задачи, чтобы прочитать о ней чуть подробнее.

QGIS

Задачи связанные с разработкой в рамках ПО ГИС Quantum GIS (QGIS)

Кратко Подробнее Язык Обсуждение Взялся
генератор отчетов полноценный генератор отчетов, что-то похожее на Fast/FreeReport C++/Python(?)
Режим Wireframe возможность переключать «на лету» стиль отрисовки слоя (сложный/простой) C++
генерализация линейных (и полигональных?) слоёв «на лету» упрощение сложных объектов перед отрисовкой C++
пересмотр и доработка ветки threading_branch адаптация и интеграция существующего кода C++
поддержка Tile Cache поддержка протоколов OGC WMS-C/TMS C++
Визуальный привязчик растров дальнейшее развитие инструмента привязки растров C/C++
использование многопопоточности и OpenCL в fTools и других библиотеках QGIS для повышения скорости обработки больших объемов данных С/C++
генерализация векторных данных с сохранением топологии сейчас возможна генерализация без учета топологии, что для смежных полигонов неприемлемо C++
Экспорт в MBTiles GDAL поддерживает чтение формата MBTiles, нужно сделать экспорт в него. C++
Кусочно-линейное редактирование гистограммы Расширенная настройка гистограммы изображения C++
Привязка векторных файлов по точкам в QGIS Необходимо разработать плагин для QGIS представляющий собой инструмент для привязки векторных файлов к местности. Инструмент должен работать аналогично привязке растровых файлов. C++/Python(?)
Шторка в QGIS Необходимо разработать плагин для QGIS представляющий собой инструмент для отображения части растрового слоя. Слой делится горизонтально или вертикально относительно курсора мыши. При движении курсора часть растрового слоя показывается, а часть нет. C++/Python(?)
Исправление некорректных планарных геометрий Портирование инструмента проверки и исправление ошибок планарных геометрий для избавления от наложений и сливеров. C++/Python(?)

GDAL

GDAL - Geospatial Data Abstraction Library

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


Разное

Кратко Подробнее Язык Обсуждение Взялся
Анализ производительности формата SpatialLite в GDAL и QGIS Существует мнение что формат SpatialLite очень медленный. Необходимо провести анализ производительности формата. Любой
Создание десктопного индексатора геопространственных файлов Для индексации и быстрого поиска файлов предлагается использовать существующие поисковые движки на основе открытого программного обеспечения. Например Sphinx или DataparkSearch. Выбранный поисковый движок должен быть доработан или его функционал должен использоваться в программе службе/сервисе/демоне. С/С++
Анализ открытых решений для организации версионности в PostGIS Существует ряд решений для организации версионности в PostGIS. Например, версионность средствами PostgreSQL, pgVersion, Versioning Postgis datastore. Необходимо провести анализ. Любой
Построение вогнутых оболочек в PostGIS при помощи α-полигонов] Реализация алгоритма построения α-полигонов как функции PostGIS. С/C++
Параллельная обрезка по нескольким полигонам в osmosis Текущая реализация обрезки по полигону в osmosis [1] работает с одним полигоном, однако довольно часто требуется из одного дампа вырезать несколько областей. Добавление параллельной работы с несколькими полигонами обрезки поможет значительно ускорить этот процесс. Java
Реализация поддержки SLD в map-файлах MapServer Поддержка SLD в MapServer в принципе присутствует, но необходимо добавить поддержку в map-файл. C

Подробнее

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

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

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

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

С точки зрения алгоритмов все в QGIS для этого уже есть.

Режим Wireframe

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

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

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

threading_branch

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

Топологически корректное упрощение

При упрощении смежных полигонов не учитывается топология, что делает инструмент бесполезным при решении ряда задач. Ссылка в тему http://gis.stackexchange.com/questions/178/simplifying-adjacent-polygons

Экспорт в MBTiles

Начиная с версии 2.0 GDAL поддерживает чтение формата MBTiles - тайлового растрового формата для пространственных данных хранящего набор тайлов соответствующих отрисовке карты на разных масштабах в едином файле базы данных SQLite. На сегодняшний день такие тайлы могут создаваться только в TileMill, логичным представляется экспорт настроенного проекта QGIS в этот формат для дальнейшей публикации в Web и использования там, где этот формат можно читать.

Коррелятор

В настоящее время осуществляется сбор большого количества данных ДЗЗ с БПЛА и самолетов. В большинстве случае - это кадровая съемка. Для формирования единого бесшовного изображения встает задача поиска связующих точек изображений на маршруте и межмаршрутных изображений или просто создание панорам. Необходимо расширить библиотеку GDAL таким алгоритмом.

Задача разрабатывалась на Google Summer of Code 2012.

Уравнивание сети триангуляции

Собранные с использованием Коррелятора точки образуют сеть триангуляции. Причем, соответствующие точки с разных изображений будут иметь отличающиеся географические координаты. Для однозначного позиционирования изображений на местности, сеть точек нужно уровнять. Тогда изображения "лягут" на свои места и стыки межу ними будут мало заметны.


Кусочно-линейное редактирование гистограммы

Текущие средства работы с гистограммой достаточно простые, есть только обрезка и растяжение по стандартному отклонению, эквализация. Предлагается добавить возможность работы с гистограммой с помощью кусочно-линейных преобразований позволяющих настраивать отдельные области гистограммы за счет ручного указания изменяемых областей.

Исправление некорректных планарных геометрий

Существует новое решение (pprepair) для решения проблемы исправления топологической структуры планарных геометрий. К сожалению, это решение использует CGAL. Задача минимум, перевести его на GEOS/OGR например в виде плагина для QGIS или отдельного приложения. Подробнее о pprepair.

Построение вогнутых оболочек в PostGIS при помощи α-полигонов

Существующие реализации: CGAL, CRAN R - Lattice