Идеи для разработчиков геопространственного ПО с открытым исходным кодом
Нажмите на название задачи, чтобы прочитать о ней чуть подробнее.
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 - производительность и CRAN R плохо подходит для массовой работы с геоданными, ST_ConcaveHull - использует алгоритм со страным параметром в процентах и невозможно однозначно сказать какими свойствами будет обладать полигон при том или ином параметре. Код - эвристический алгоритм на PL/SQL. При обработке больших геометрий приходится резать на кусочки. В случае с ST_ConcaveHull кусочки не согласованы между собой.
.