Введение в геоинформационные системы для начинающих
Теория
«80% данных так или иначе связаны с географией» US Office of Management and Budget, 2002
ГИС - это технология: специфические данные + программное обеспечение, которое умеет с такими данными работать.
В задачи этой статьи входит рассказ о том, что можно сделать с помощью ГИС. Сформулировать вопрос мы предоставляем самому читателю. Вкратце, ГИС широко используют для:
- Визуализации
- Информирования и сбора геоданных
- Анализа и управления пространственной информацией
Как и с любой другой технологией, перед тем как вы получите возможность разговаривать со специалистами и быть понятыми (если вы конечно хотите быть понятыми быстро, а не через полчаса сбивчивых объяснений и выуживания из вас информации), необходимо усвоить некоторые общие понятия.
На самом деле, все особенности ГИС не являются:
- Уникальными именно для ГИС. Вы можете встретить элементы этой технологии во многих других, смежных областях. Например, мы имеем дело с пространственными системами координат и в области САПР.
- Строгими. По большому счету, в ГИС есть только одно жесткое общее правило: ГИС - про пространственные данные (хотя это не означает, что вы не сможете использовать ГИС как графический редактор или редактор, скажем, таблиц). Все остальные особенности изложенные ниже являются наиболее часто встречаемыми, на самом деле из них существует масса исключений, многие ГИС развиваются по своему, в чем то необычному пути. Поэтому к любому, кажущемуся категоричным заявлению ниже стоит мысленно добавлять "... как правило ...".
Геоданные
ГИС работает с географическими данными (их также называют "геоданные", "пространственные данные").
Сами ГИС появились как гибрид баз данных (БД) и инженерной графики (САПР), поэтому объекты, с которыми имеем дело в ГИС также объединяют в себе две сущности: геометрию и атрибутивную информацию (атрибутику). Объект "дорога" например это:
- геометрический примитив: совокупность поворотных точек каждая из которых имеет координаты и соединенных друг с другом в определенном порядке
- атрибутивное описание: совокупность пар ключ=значение.
Эта особенность ГИС поначалу обособила ГИС от параллельно развивавшихся баз данных и САПР. Сейчас границы технологии сильно размылись, у нас есть базы данных способные хранить геоданные и САПР имеющие представление о том, где в географическом пространстве находятся объекты, с которыми мы в них работаем.
Метаданные
Метаданные - информация о данных, описывающая их особенности. Например, про отдельный набор мы хотели бы знать:
- кто, как и когда создал этот набор
- как правильно его цитировать при использовании
- какая лицензия у данных
- каков масштаб данных
- многое многое другое.
Существует огромное количество специальных форматов и спецификаций для описания геоданных: американский FGDC, европейские ISO19115/ISO19139 и INSPIRE, наконец наш ГОСТ Р 52573-2006.
Совет: Вам не обязательно заполнять огромное количество характеристик ваших данных, но обязательно сопровождайте свои данные небольшим описанием, содержащим ответы на основные вопросы.
Объекты и слои
Данные в ГИС обычно разделяются на слои. Слои могут быть виртуальными и представлять собой просто выборки из общей базы данных, так и физически разделенными в разные базы данных. Разделение на слои позволяет легче управлять данными, улучшает "читаемость", но, пожалуй самое важное, разделение делает удобной визуализацию данных, позволяя временно отключать ненужные данные и включать нужные.
Данные могут делиться на слои по двум признакам:
- по типу геометрии - многие форматы геоданных просто не позволят вам хранить вместе точки и полигоны, заставляя вас создавать и работать с ними в разных слоях.
- семантически - по типу объектов. Понятно, что реки не стоит хранить в одном слое с дорогами, а границы субъектов федерации в одном слое со зданиями. А вот делить ли по разным слоям реки разных типов или границы административно-территориального деления по границам разного уровня - вопрос сложный и зависит от задачи.
Деление данных на слои автоматически создает некоторые сложности:
- необходимо следить за порядком слоёв при визуализации. Полигональные слои могут "закрыть" точечные или линейные, лежащие под ними.
- объектам в разных слоях сложнее обеспечить необходимые пространственные отношения друг с другом.
- легко попасть ситуацию дублирования одних и тех же объектов.
Структуры данных
Существует несколько типов структур геоданных. Наверняка вам придется столкнуться с векторной и растровой.
Векторная структура:
- Элемент структуры: узел и ребро
- Объект: точка, линия, полигон
- Может находиться: где угодно
- Хорошо подходит для описания и хранения дискретных объектов
- Одному объекту может соответствовать много атрибутов
- Примеры: местоположения отдельных объектов, дорожная сеть
Растровая структура:
- Элемент структуры: пиксел
- Объект: пиксел
- Может находиться: только в ячейках регулярной прямоугольной сети
- Хорошо подходит для описания и хранения непрерывных значений
- Одному объекту соответствует одно значение
- Примеры: космоснимки, отсканированные и географически привязанные различные картографически материалы, до этого бывшие бумажными.
Следует внимательно отнестись к выбору структуры данных. Ошибка может привести к неоправданному усложнению процессов редактирования данных, увеличению размера занимаемого на диске, перевод данных из одной структуры в другую может оказаться неожиданно сложным и трудоемким. Процесс перевода информации из растровой структуры в векторную называется векторизацией, обратно - растеризацией.
Выбор структуры данных целиком зависит от задачи. Картографическая основа создаваемая с нуля всегда векторная, так как каждый ее объект - дискретен, но для массового распространения ее часто растеризуют. Высота над уровнем моря является непрерывным признаком и эти данные обычно имеют растровую структуру, но если вам нужно показать только несколько изогипс (линий равных значений высоты) или вершин, то использовать для этого растр - нецелесообразно.
Разумеется, в ГИС часто объединяют слои имеющие разные структуры для их совместной визуализации и анализа.
Представление данных
Важно понимать, что та структура данных, в которой они дошли до вас не обязательно равна структуре в которой они находятся исходно. Так, картографическую основу исходно всегда хранят в векторных структурах, но для распространения часто растеризуют. Передать один тайл отрисованный нужным образом гораздо легче, чем многослойную векторную структуру со множеством объектов.
Системы координат
Геоданные могут находиться в бесконечном множестве систем координат, следует различать три группы: географические, проекционные и локальные. Системы координат принято идентифицировать по их коду EPSG.
Начинающему о системах координат важно знать три вещи:
- Диапазон значений которые могут принимать в них координаты
- Характер искажений
- Открытость перехода к другим системам координат.
Кратко о трех группах систем координат.
Географические
Приборы GPS/ГЛОНАСС сообщают пользователю координаты именно в географической системе координат.
Самая распространенная система координат такого типа: Широта/Долгота WGS84 (EPSG: 4326)
Диапазон значений координат: -180...180, -90...90
Преимущества:
Недостатки: Сложности в расчетах из-за того, что единицы измерения - градусы, а не метры. Сложности в статической визуализации, Google Earth прекрасно справляется с глобусом, но нам сложно узреть весь земной шар целиком.
Спроецированные
Диапазон значений координат: -180...180, -90...90 Самая распространенная система координат такого типа: Меркатор (EPSG: 3857)
Локальные
С этой системой координат мы сталкиваемся у только что отсканированных изображений или у любых данных, систему координат которых мы не знаем и не можем узнать.
Главный недостаток таких систем - мы не можем "сходу" перевести из них данные в географическую или проекционную систему. Для того, чтобы осуществить такой переход, понадобится ручная работа называемая "географической привязкой".
Форматы
Форматов геоданных - великое множество. Одна из крупнейших библиотек, позволяющих переводить данные из формата в формат, GDAL/OGR поддерживает 200 различных форматов векторных и растровых геоданных.
Однако, для большинства задач достаточно познакомиться с несколькими, самыми распространенными и универсальными. Вам наверняка придется столкнуться со следующими форматами геоданных.
Векторные:
- ESRI Shape -
- CSV -
- MIF/MID/TAB -
Растровые:
- GeoTIFF -
Открытые геоданные
С открытыми геоданными у нас в стране пока все плохо.
«Если вы не сделаете публично доступными карты, появятся люди на своих машинах с GPS, которые будут по всюду разъезжать со своими ноутбуками, отмечая каждую тропинку» Тим Бернерс Ли про Ordnance Survey, 2006
Основные источники открытых геоданных
На территорию России открытые геоданные можно найти в следующих источниках
OpenStreetMap
GIS-Lab
Региональные порталы данных
Лицензии для открытых геоданных
- Creative Commons (СС-BY, CC-BY-SA)
- ODbL
- Своя специальная лицензия (ДИТ Москвы)
- Следование базовым законам (ФЗ 149 см. «общедоступность»)
Основные инструменты
Что нужно делать, чтобы научиться эффективно работать с геоданными
Социализируйтесь
Вопросы для самопроверки
- ГИС нужно осваивать потому что:
- Это модно и современно
- Без специального ПО ГИС нельзя работать с данными
- Использование ГИС позволит эффективнее решить мои задачи связанные с геоданными.
- ГИС это очень мощный инструмент
- Какую форму представления лучше всего использовать для данных о рельефе?
- Растровую
- Векторную
- Зависит от задачи
- У вас географический объект и пара координат: 37, 55, какую систему координат для этого объекта нужно пробовать первой:
- Прямоугольная (спроецированная)
- Локальная
- Географическая
- Недостаточно данных чтобы ответить на вопрос
- Вы скачали с сайта набор данных и в его описании вы прочитали, что он находится в известной, несекретной системе координат, этого достаточно, чтобы уверенно сказать "я смогу наложить эти данные на свои":
- Да
- Нет
- Вам прислали набор геоданных, вы задумчиво смотрите на файлы и не видите среди них никаких метаданных, какие первые два вопроса вы зададите тем, кто вам их прислал?
- ____________________________________________________
- ____________________________________________________
- Вы разрабатываете мобильное приложение, подключились к API Яндекс.карт и по адресам извлекли координаты всех детских учреждений г. Москвы. В своём приложении вы наложили их на карту OpenStreetMap потому что она красивее. Когда вы рассказали про своё приложение знакомому участнику OpenStreetMap, он предупредил, что у вас могут быть проблемы. Что вы сделали не так?
- __________________________________________________
- OpenStreetMap это ГИС?
- Да
- Нет
- Ни в коем случае!
Практика
Исходные данные: тематика
Пишем скрипт на Python для получения данных с mos.memo.ru в виде таблицы (файл CSV).
Исходные данные: картооснова
Загружаем картооснову на территорию г. Москвы из ежедневных выгрузок данных OpenStreetMap на GIS-Lab.info
Создаем геоданные
Геокодирование
Берем таблицу расстрельных домов - геокодируем ее для создания геоданных.
Рассчитываем координаты (широту и долготу) точек.
Объединение данных и геоданных
Привязываем точки домов к полигональным домам - Join by location.
Также объединяем информацию о точках интереса - Join by attributes.
Привязка растровых данных
Привязываем и подкладываем в проект фрагмент карты Москвы 30х годов.
Расчеты
Настраиваем условные обозначения в зависимости от значения интересующего нас поля.
Красивые карты
Карта для печати
Создаем макет и выгружаем в PDF.
Карта для Веб
Домашнее задание
- Выберите любой интересующий вас показатель распределенный по территории всей страны: число мигрантов, демография, урожай пшеницы или количество упавших самолетов, любой. Сформируйте набор данных в виде файла CSV.
- Найдите и скачайте набор данных границ субъектов федерации.
- Привяжите значение показателя к каждому субъекту.
- Раскрасьте карту выбрав один из типов условных обозначений лучше всего иллюстрирующий распределение вашего признака.
- Rinse, repeat.