ГИС специфика в ИТ
Что такое ГИС?
Сегодня уже никому не нужно объяснять, что такое ГИС: существуют мощные общеизвестные картографические сервисы, которые позволяют пользователю иметь доступ к онлайн картам и выполнять простейшие операции над ними. Однако, кроме просмотра карт и измерения расстояний существует множество других, более сложных, действий с картой, которые могут быть полезными, и именно о них, и тех задачах, которые ожидают ГИС программиста и хотелось бы поговорить.
Сфера применения ГИС включает в себя задачи мониторинга объектов на карте, моделирования и анализа территорий и процессов их изменений (извержение вулканов, разливы рек – в этом случае решается задача динамического моделирования растечения жидкости в условиях изменения ее вязкости, температуры и объёма), создание реалистичных 3d изображений, маршрутизация и геопоиск, обработка и визуализация статистических, исторических и онлайн данных, планирование путешествий, поддержка логистики
Отображение
Одна из первых задач ГИС решается в момент открытия карты пользователем: отображение универсальных координат объектов (широт и долгот) в экранные. Не проблема вычислить функции отображения координат, проблема делать пересчет быстро и точно. Откуда берется пересчет? Он возникает из-за попытки отобразить «сферические» данные на плоскость, к сожалению, не исказить при этом данные невозможно, поэтому в картографии используются различные проекции, которые можно варьировать, пытаясь исказить некоторые данные минимально, в ущерб остальным. Например, сохранить информацию о точном взаимном расположении объектов, но исказить их контуры, или наоборот (равноугольные и равновеликие проекции) или сохранить как можно больше различной информации неискаженной, но в какой-то ограниченной локализации.
![img-right](https://hr.softech.ru/wp-content/uploads/2016/12/Layer-99.png)
Задача отображения несколько усложняется тем, что в серьезных приложениях пользователь может выбирать не только вид проекции, но и ее параметры: расположение проецирующих фигур(азимутальные проекции) их размеры и точки приложения, что не позволяет провести все вычисления заранее и сделать их частью данных.
![otobrazhenie-block-img](https://hr.softech.ru/wp-content/uploads/2016/12/Rectangle-2-copy-35.png)
Хранение
Идея вынести в слой данных как можно больше заранее вычисленных величин приводит к увеличению и без того немалого объема данных, что в свою очередь порождает задачи хранения и оптимизации доступа к данным. Для более экономного сжатия используются адаптивные компрессоры, либо алгоритмы, модифицированные для сжатия конкретных видов данных (например, сплайны для гео-линий).
Ускорение доступа к данным возможно за счет использования широкого спектра хэш-функций, зачастую комбинируя их. Гео-хэши- специальный вид хэш-функций, позволяющий не только формировать ключи для многомерных данных, но и сохранять некоторые свойства гео-данных в самом ключе: например, порядок следования точек, или их близость друг к другу.
![hranenie-map](https://hr.softech.ru/wp-content/uploads/2016/12/Layer-40.png)
Индексация
Также для организации пространственных данных часто используются структуры на базе R+ деревьев, которые также позволяют учитывать взаимное расположение и координаты объектов для формирования ключей.
Атрибутивные данные также имеют ряд собственных свойств, например, весьма серьезно зависят от языка.
![indexsaciya-map](https://hr.softech.ru/wp-content/uploads/2016/12/image009.png)
![indexsaciya-map](https://hr.softech.ru/wp-content/uploads/2016/12/geohash.png)
![indexsaciya-map](https://hr.softech.ru/wp-content/uploads/2016/12/Layer-100.png)
Маршрутизация
Очень интересна задача маршрутизации, безусловно, не новая, но постоянно обновляемая, так как списки параметров растут с запросами пользователей. В общем случае нужно навигировать в реальном времени объект со смешанными свойствами на динамическом графе, построенном в 3d.
Задача наполняется такими параметрами как: списки точек для обязательного посещения, предпочтительный вид покрытия дороги, списки точек «запретных» для посещения, желаемое время пути, желательный тип дорог и т.д.
Задача может быть также поставлена как навигация группы объектов и тогда необходимо отслеживать проходимость маршрута для всех участников группы.
![marshrutizaciya-map](https://hr.softech.ru/wp-content/uploads/2016/12/Layer-104.png)
Анализ и дизайн территорий
Картографические приложения также решают задачи поддержки бизнеса: от складской логистики и доставки для компаний до территориальной оптимизации. В данном случае приходится использовать различные подходы построения мат.моделей (СМО, вероятностные модели потоков данных, численные методы вычисления площадей сложных фигур, нахождение центров масс и т.д.)
![analiz-ter](https://hr.softech.ru/wp-content/uploads/2016/12/image001.png)
![analiz-ter](https://hr.softech.ru/wp-content/uploads/2016/12/image007.png)
Моделирование и анализ гео-данных
Не менее интересны задачи моделирования поведения физических объектов на карте, так и распознавания их состояния анализируя гео-данные: разливы рек, составления карт подтоплений, прогнозирование ЧС.
Вы можете взять любую технологию или подход в ИТ и обнаружить, что она тоже находит свое применение в специфике ГИС.
![modelirovanie-img](https://hr.softech.ru/wp-content/uploads/2016/12/Layer-102.png)