Введение в ГИС: история, модели и алгоритмы

Аватар пользователя Власов Алексей
Власов Алексей

Это статья написана после доклада на Омском «ИТ Субботнике» в феврале 2016 года, на котором давалась краткая вводная информация по геоинформационным системам (ГИС).

Геоинформационные системы

Как можно начать рассказ ГИС? Пожалуй, с небольшой истории. В 1854 г. в одном из районов Лондона вспыхнула вспышка холеры. В процессе поиска причины эпидемии один из врачей, Джон Сноу, решил нанести на карту города точки с адресами заболевших холерой и расположение источников с водой. После этого он предположил, что жители будут обычно ходить за водой к самому близкому источнику и разделил весь город на зоны обеспечения водой из той или иной колонки.

Город разделенный на зоны обеспечения водой

При таком несложном анализе стало видно, что основная масса заболевших живет около одного из источников воды. Источник заражения был найден и ликвидирован. Таким образом проведенный пространственный анализ данных на карте дал возможность найти решение практической задачи.

Второй пример — это трагические события в январе 2010 года, когда произошло землетрясение на острове Гаити. Ситуацию усугубляло еще и то, что на это территорию практически отсутствовали актуальные карты, что еще сильнее затрудняло координацию работ спасателей.

Карта Гаити на 14 января (openstreetmap.org):

Карта Гаити на 14 января

Эта же территория на 16 января (openstreetmap.org):

Карта Гаити на 16 января

Пожалуй, можно считать, что эта работа ГИС сообщества OpenStreetMap помогла спасти не одну жизнь.

В каких еще сферах мы сталкиваемся с применением ГИС? Мониторинг транспорта и прокладывание маршрутов, поиск адресов на карте, общественные инициативы (фиксирование ям на дорогах, совместное создание карт и описание территорий) и многое другое.

Как же описывают ГИС наши сведения? Чем пространственные данные отличаются от прочих данных в информационных системах? Какая модель данных лежит в их основе?

Упрощенно можно представить деление всей пространственной информации на две большие группы — векторную и растровую. Векторные данные описываются координатами точек и среди них выделяются три основных класса объектов: точечные, линейный и площадные (полигоны). Пример точечного, линейного и площадного объекта:

Пример точечного, линейного и площадного объекта

Растровая форма представления данных знакома большинству благодаря сервисам вроде Яндекс.Карт, предоставляющим информацию о снимках Земли из космоса.

Растровая форма представления данных

Но в ГИС растровые данные это не только картинки (фотографии территории). В общем случае можно сказать, что растровые данные представляют собой таблицу (сетку, матрицу), каждая ячейка которой имеет определенное значение.

Растровая форма представления данных

Это может быт либо некоторое число, описывающее количественную характеристику ячейки (высоту, глубину, степень загрязнения, плотность застройки и т.д.) или же тип (класс) ячейки (например, «луг», «река», «поселок»). Растровые данные помогают строить упрощенную модель некоторой территории (чем меньше ячейка растра, тем выше детализация).

Пример сведений и территории, представленных в растровом и векторном виде:

Пример сведений и территории, представленных в растровом и векторном виде

Какие же операции могут быть выполнены над пространственными данными?

В первую очередь, это логические операции (AND, OR, NOT, XOR). Пример такой операции между слоями «земельный участки» и «здания»: «Выбрать все земельные участки, в которые не попадает ни одно здание». При этом данные операции могут быть определены не только между объектами одного типа (точечными линейными и площадными), но и между объектами смешанных типов:

Пример логической операции И (AND) для различных типов объектов

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

Пример буферов для различных типов объектов

Следующий тип операции на пространственных объектах — это вычисление расстояния и следующая за ней задача нахождения ближайшего объекта. И, если для двух точек алгоритм вычисления расстояния (и нахождения ближайшей точки) вопросов не вызывает, то для разных типов объектов принимаются некоторые правила (что, например, считать расстоянием между точкой и ломаной линией).

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

Пример вычисления расстояний между объектами разных типов

По отношению к растровым объектам также существуют операции калькуляции и реклассификации. При калькуляции происходит вычисление значение ячеек растра на основе значений в нескольких исходных растрах по определенной формуле.

Пример калькуляции значений третьего растра на основании значения двух исходных:

Калькуляция значений третьего растра на основании значения двух исходных

При классификации происходит вычисление нового класса ячейки растра, с учетом значения классов в нескольких исходных растрах и определенного правила.

Пример классификации значений третьего растра на основании объединения значения двух исходных:

Классификация значений третьего растра на основании объединения значения двух исходных

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

Пример одной из топологий для пространственных объектов можно на формальном языке выразить так: «Между площадными объектами не должно быть зазоров, а также не должно быть перекрытия». По смыслу это правило гарантирует, что любая точка территории принадлежит строго одному площадному объекту. Это правило может относится, например, к территориальным зонам.

Для контроля выполнения условий топологий существуют специализированные ГИС (например GRASS).

Примеры типов топологий:

Типы топологии

Эта статья носит вводный характер, и тем, кто решит глубже погрузиться в вопросы ГИС и геоинформатики, предстоит захватывающее путешествие в этот интересный мир.

Видео доклада

Комментарии

Отправить комментарий

Содержимое этого поля является приватным и не будет отображаться публично.
АНТИСПАМ
Этот вопрос задается для того, чтобы выяснить, являетесь ли вы человеком или представляете из себя автоматическую спам-рассылку.
X
Вы можете войти с зарегистрированным именем пользователя или вашим e-mail адресом.
Пароль чувствителен к регистру.
Загрузка