ГИС специфика в ИТ
Что такое ГИС?
Сегодня уже никому не нужно объяснять, что такое ГИС: существуют мощные общеизвестные картографические сервисы, которые позволяют пользователю иметь доступ к онлайн картам и выполнять простейшие операции над ними. Однако, кроме просмотра карт и измерения расстояний существует множество других, более сложных, действий с картой, которые могут быть полезными, и именно о них, и тех задачах, которые ожидают ГИС программиста и хотелось бы поговорить.
Сфера применения ГИС включает в себя задачи мониторинга объектов на карте, моделирования и анализа территорий и процессов их изменений (извержение вулканов, разливы рек – в этом случае решается задача динамического моделирования растечения жидкости в условиях изменения ее вязкости, температуры и объёма), создание реалистичных 3d изображений, маршрутизация и геопоиск, обработка и визуализация статистических, исторических и онлайн данных, планирование путешествий, поддержка логистики
Отображение
Одна из первых задач ГИС решается в момент открытия карты пользователем: отображение универсальных координат объектов (широт и долгот) в экранные. Не проблема вычислить функции отображения координат, проблема делать пересчет быстро и точно. Откуда берется пересчет? Он возникает из-за попытки отобразить «сферические» данные на плоскость, к сожалению, не исказить при этом данные невозможно, поэтому в картографии используются различные проекции, которые можно варьировать, пытаясь исказить некоторые данные минимально, в ущерб остальным. Например, сохранить информацию о точном взаимном расположении объектов, но исказить их контуры, или наоборот (равноугольные и равновеликие проекции) или сохранить как можно больше различной информации неискаженной, но в какой-то ограниченной локализации.
Задача отображения несколько усложняется тем, что в серьезных приложениях пользователь может выбирать не только вид проекции, но и ее параметры: расположение проецирующих фигур(азимутальные проекции) их размеры и точки приложения, что не позволяет провести все вычисления заранее и сделать их частью данных.
Хранение
Идея вынести в слой данных как можно больше заранее вычисленных величин приводит к увеличению и без того немалого объема данных, что в свою очередь порождает задачи хранения и оптимизации доступа к данным. Для более экономного сжатия используются адаптивные компрессоры, либо алгоритмы, модифицированные для сжатия конкретных видов данных (например, сплайны для гео-линий).
Ускорение доступа к данным возможно за счет использования широкого спектра хэш-функций, зачастую комбинируя их. Гео-хэши- специальный вид хэш-функций, позволяющий не только формировать ключи для многомерных данных, но и сохранять некоторые свойства гео-данных в самом ключе: например, порядок следования точек, или их близость друг к другу.
Индексация
Также для организации пространственных данных часто используются структуры на базе R+ деревьев, которые также позволяют учитывать взаимное расположение и координаты объектов для формирования ключей.
Атрибутивные данные также имеют ряд собственных свойств, например, весьма серьезно зависят от языка.
Маршрутизация
Очень интересна задача маршрутизации, безусловно, не новая, но постоянно обновляемая, так как списки параметров растут с запросами пользователей. В общем случае нужно навигировать в реальном времени объект со смешанными свойствами на динамическом графе, построенном в 3d.
Задача наполняется такими параметрами как: списки точек для обязательного посещения, предпочтительный вид покрытия дороги, списки точек «запретных» для посещения, желаемое время пути, желательный тип дорог и т.д.
Задача может быть также поставлена как навигация группы объектов и тогда необходимо отслеживать проходимость маршрута для всех участников группы.
Анализ и дизайн территорий
Картографические приложения также решают задачи поддержки бизнеса: от складской логистики и доставки для компаний до территориальной оптимизации. В данном случае приходится использовать различные подходы построения мат.моделей (СМО, вероятностные модели потоков данных, численные методы вычисления площадей сложных фигур, нахождение центров масс и т.д.)
Моделирование и анализ гео-данных
Не менее интересны задачи моделирования поведения физических объектов на карте, так и распознавания их состояния анализируя гео-данные: разливы рек, составления карт подтоплений, прогнозирование ЧС.
Вы можете взять любую технологию или подход в ИТ и обнаружить, что она тоже находит свое применение в специфике ГИС.