Введение в геоинформационные системы для начинающих
Что нужно знать, чтобы говорить на тему ГИС на одном языке
Теория
«80% данных так или иначе связаны с географией» US Office of Management and Budget, 2002
ГИС - это технология: специфические данные + программное обеспечение, которое умеет с такими данными работать.
В задачи этой статьи входит не рассказ о том, что можно сделать с помощью ГИС. Сформулировать вопрос мы предоставляем самому читателю. Но если совсем коротко, то ГИС используют для:
- Визуализации
- Доставки до конечно пользователя и сбора
- Анализа и управления
пространственными данными.
Как и с любой другой технологией, перед тем как вы получите возможность разговаривать со специалистами и быть понятыми (если вы конечно хотите быть понятыми быстро, а не через полчаса сбивчивых объяснений и выуживания из вас информации), необходимо усвоить некоторые общие понятия.
На самом деле, все особенности ГИС не являются:
- Уникальными именно для ГИС. Вы можете встретить элементы этой технологии во многих других, смежных областях. Например, мы имеем дело с пространственными системами координат и в области САПР.
- Строгими. По большому счету, в ГИС есть только одно жесткое общее правило: ГИС - про пространственные данные (хотя это не означает, что вы не сможете использовать ГИС как графический редактор или редактор, скажем, таблиц). Все остальные особенности изложенные ниже являются наиболее часто встречаемыми, на самом деле из них существует масса исключений, многие ГИС развиваются по своему, в чем то необычному пути. Поэтому к любому, кажущемуся категоричным заявлению ниже стоит мысленно добавлять "... как правило ...".
Геоданные
ГИС работает с географическими данными (они же "геоданные", "пространственные данные" или "геопространственные данные").
Сами ГИС появились как гибрид баз данных (БД) и инженерной графики (САПР), поэтому объекты, с которыми имеем дело в ГИС также объединяют в себе две сущности: геометрию и атрибутивную информацию (атрибутику). Объект "дорога" например это:
- геометрический примитив: совокупность поворотных точек каждая из которых имеет координаты и соединенных друг с другом в определенном порядке
- атрибутивное описание: совокупность пар ключ=значение.
Эта особенность ГИС поначалу обособила ГИС от параллельно развивавшихся каждая в своём "русле" баз данных и САПР. Сейчас границы технологий существенно размылись. У нас есть базы данных способные хранить геоданные (например PostgreSQL/PostGIS) и САПР имеющие представление о том, где в географическом пространстве находятся объекты, с которыми мы в них работаем (например AutoCAD Map).
Метаданные
Метаданные - информация о данных, описывающая их особенности. Например, про отдельный набор мы хотели бы знать:
- кто, как и когда создал этот набор
- как правильно его цитировать при использовании
- какая лицензия у данных
- каков масштаб данных
- многое многое другое.
Существует огромное количество специальных форматов и спецификаций для описания геоданных: американский FGDC, европейские ISO19115/ISO19139 и INSPIRE, наконец наш ГОСТ Р 52573-2006.
Совет: Вам не обязательно заполнять огромное количество характеристик ваших данных, но старайтесь сопровождать свои данные небольшим описанием, содержащим ответы на основные вопросы.
Структуры данных
Существует несколько типов структур геоданных. Наверняка вам придется столкнуться с векторной и растровой.
Векторная структура:
- Элемент структуры: узел и ребро
- Объект: точка, линия, полигон
- Может находиться: где угодно
- Хорошо подходит для описания и хранения дискретных объектов
- Одному объекту может соответствовать много атрибутов
- Примеры: местоположения отдельных объектов, дорожная сеть
Растровая структура:
- Элемент структуры: пиксел
- Объект: пиксел
- Может находиться: только в ячейках регулярной прямоугольной сети
- Хорошо подходит для описания и хранения непрерывных значений
- Одному объекту соответствует одно значение
- Примеры: космоснимки, отсканированные и географически привязанные различные картографически материалы, до этого бывшие бумажными.
Следует внимательно отнестись к выбору структуры данных. Ошибка может привести к неоправданному усложнению процессов редактирования данных, увеличению размера занимаемого на диске, перевод данных из одной структуры в другую может оказаться неожиданно сложным и трудоемким. Процесс перевода информации из растровой структуры в векторную называется векторизацией, обратно - растеризацией.
Выбор структуры данных целиком зависит от задачи. Картографическая основа создаваемая с нуля всегда векторная, так как каждый ее объект - дискретен, но для массового распространения ее часто растеризуют. Высота над уровнем моря является непрерывным признаком и эти данные обычно имеют растровую структуру, но если вам нужно показать только несколько изогипс (линий равных значений высоты) или вершин, то использовать для этого растр - нецелесообразно.
Разумеется, в ГИС часто объединяют слои имеющие разные структуры для их совместной визуализации и анализа.
Представление данных
Важно понимать, что та структура данных, в которой они дошли до вас не обязательно равна структуре в которой они находятся исходно. Так, картографическую основу исходно всегда хранят в векторных структурах, но для распространения часто растеризуют. Передать один тайл отрисованный нужным образом гораздо легче, чем многослойную векторную структуру со множеством объектов.
Символика
Символика отвечает за визуальное представление данных, то есть то, как объекты отображаются на экране и карте. Цвет и толщина линии, которыми показывается объект на карте определяется его условным обозначением или стилем. Условные обозначения настраиваются через специальный интерфейс (редактор символики) и описываются в специальном файле. Совокупность условных обозначений всей карты иногда называют её легендой.
Символика объектов в ГИС как правило хранится отдельно от данных и по умолчанию, когда слой и объекты в нём только созданы, она вообще не описана. Но если ее нет, то как тогда их отобразить? Обычно эта дилемма решается тем, что точки, линии и полигоны показываются стандартными стилями.
Практический смысл этого следующий. Если вам передали данные, но не передали условные обозначения к ним, вы не сможете увидеть их такими как видит их источник.
Один и тот же набор данных представленный разными условными обозначениями |
Системы координат
Геоданные могут находиться в бесконечном множестве систем координат, следует различать три группы: географические, проекционные и локальные. Системы координат принято идентифицировать по их коду EPSG.
Начинающему о системах координат важно знать три вещи:
- Диапазон значений которые могут принимать в них координаты
- Характер искажений
- Открытость перехода к другим системам координат.
Кратко о трех группах систем координат.
Географические
Приборы GPS/ГЛОНАСС сообщают пользователю координаты именно в географической системе координат.
Самая распространенная система координат такого типа: Широта/Долгота WGS84 (EPSG: 4326)
Диапазон значений координат: -180...180, -90...90
Преимущества:
Недостатки: Сложности в расчетах из-за того, что единицы измерения - градусы, а не метры. Сложности в статической визуализации, Google Earth прекрасно справляется с глобусом, но нам сложно узреть весь земной шар целиком.
Спроецированные
Для того, чтобы работать с данными на плоскости и проводить измерения в более понятных единицах (метрах), их переводят из географических систем координат в спроецированные. Набор математических формул которые описывают такой перевод называется проекционным преобразованием или проекцией.
Диапазон значений координат: -100000[0] ... 100000[0]
Недостатки: Любые проекционные преобразования при переходе от сфероида к плоскости вносят искажения в одну из трех характеристик объектов: их длину, площадь или форму. Проекций которые сохраняли бы все три характеристики - не бывает.
Одна из распространенная система координат такого типа: Меркатор (EPSG: 3857), мы часто сталкиваемся с ней в веб-сервисах. Обратите внимание, что площадь Гренландии в ней визуальна равна площади Африки, что конечно не соответствует действительности. Эта проекция очень неточно передает площади, но зато точно передает углы, она была изобретена для мореплавателей, которым жизненно важно было держать правильный постоянный курс (угол).
Локальные
С этой системой координат мы сталкиваемся у только что отсканированных изображений или у любых данных, систему координат которых мы не знаем и не можем узнать. По большому счету, локальной может стать для нас и спроецированная система координат, описание которой мы потеряли и не можем восстановить.
Главный недостаток таких систем - мы не можем "сходу" перевести из них данные в географическую или проекционную систему. Для того, чтобы осуществить такой переход, понадобится ручная работа называемая "географической привязкой".
В отличие от проекционных преобразований, при которых при переходе от географических к проекционным системам координат нам нужно знать только их названия (формулы знает машина), перевод данных из локальной системы координат в проекционную или географическую - ручная работа, требующая расстановки связующих точек.
В целом, следует избегать использования геоданных локальных системах координат.
Форматы
Существует огромное количество форматов геоданных. Одна из крупнейших библиотек, позволяющих переводить данные из формата в формат, GDAL/OGR поддерживает 200 различных форматов векторных и растровых геоданных.
Многообразие форматов обусловлено скорее историческими причинами, форматы создавались для разных задач разными вендорами. Однако, для большинства задач достаточно познакомиться с несколькими, самыми распространенными и универсальными. Вам наверняка придется столкнуться со следующими форматами геоданных.
Векторные:
- ESRI Shape - формат созданный компанией ESRI в 90х годах. Благодаря открытости очень сильно распространившийся, поддерживается практически любым ПО ГИС. Формат бинарный, поэтому заглянуть внутрь файлов данных без специальных инструментов нельзя, зато позволяет хранить данные значительно более экономично чем текстовые форматы. Из-за старости, наследует некоторые проблемы с кодировками атрибутивных данных и ограничения на длины строк атрибутивных данных (максимум 255 символов).
- CSV - обычная таблица с разделителями, геометрии объектов прописаны в специальной форме в отдельном столбце. С данными в этом формате можно работать как в ПО ГИС, так и в простом табличном редакторе. Нет ограничений на длины строк. Очень удобный формат для небольших наборов данных. Для удобства работы в ГИС сопровождается специальными файлами VRT описывающими гео-составляющую.
- OSM XML
Растровые:
- GeoTIFF - универсальный стандарт де-факто для растровых данных, является расширением формата TIFF, в котором все специфичные для географии вещи прописываются в специальные теги. Обычно не используется в ситуациях, когда допустимо и требуется сжатие данных с потерями (хотя технически такое сжатие поддерживается), поэтому может быть не оптимален для хранения огромных массивов данных.
Слои
Данные в ГИС обычно разделяются на слои. Слои могут быть виртуальными и представлять собой просто выборки из общей базы данных, так и физически разделенными в разные базы данных. Разделение на слои позволяет легче управлять данными, улучшает "читаемость", но, пожалуй самое важное, разделение делает удобной визуализацию данных, позволяя временно отключать ненужные данные и включать нужные.
Данные могут делиться на слои по двум признакам:
- по типу геометрии - многие форматы геоданных просто не позволят вам хранить вместе точки и полигоны, заставляя вас создавать и работать с ними в разных слоях.
- семантически - по типу объектов. Понятно, что реки не стоит хранить в одном слое с дорогами, а границы субъектов федерации в одном слое со зданиями. А вот делить ли по разным слоям реки разных типов или границы административно-территориального деления по границам разного уровня - вопрос сложный и зависит от задачи.
Деление данных на слои может создать некоторые сложности:
- необходимо следить за порядком слоёв при визуализации. Полигональные слои могут "закрыть" точечные или линейные, лежащие под ними.
- объектам в разных слоях сложнее обеспечить необходимые пространственные отношения друг с другом.
- легко попасть ситуацию дублирования одних и тех же объектов.
Проект
Общепринятым способом организации слоёв является проект. Проект - специальный файл описывающий общее содержание вашей ГИС. В проекте может хранится информация, которая обычно хранится во внешних файлах, такая как, например, описание систем координат слоёв. Также в проекте настраивается вид картографического произведения, порядок слоёв относительно друг друга (какой слой рисуется первым, а какой последним), настройка условных обозначений, иногда подписей и дополнительной графики.
В рамках проекта часто разделяют собственно карту и макет картографического произведения. Последний является представлением карты подготовленным для печати для создания которого есть ряд специальных функций, которые для работы с самими геоданными не нужны.
Открытые геоданные
«Если вы не сделаете публично доступными карты, появятся люди на своих машинах с GPS, которые будут по всюду разъезжать со своими ноутбуками, отмечая каждую тропинку» Тим Бернерс Ли про Ordnance Survey, 2006
Основные источники открытых геоданных
На территорию России открытые геоданные можно найти в следующих источниках.
OpenStreetMap - карта мира создаваемая самими пользователями, в отличие от похожих проектов данные имеют открытую лицензию ODbL. Понемногу становится источником "по-умолчанию" для любой базовой топографии. Не хранит тематические данные и несколько сложно вытащить данные в привычные для ГИС-специалиста форматы.
GIS-Lab - коллекция статей, источников геоданных и, иногда, самих геоданных по множеству разных тем: рельеф, базовая топография, тематические геоданные. Предоставляет сервисы по автоматической ежедневной конвертации данных OSM в привычные форматы.
Региональные порталы данных - некоторое количество геоданных можно найти на региональных порталах, таких как, например Портал открытых данных г. Москвы или Геопортал Воронежской области. К сожалению, пока данные в виде именно геоданных распространяются довольно редко.
Основные инструменты
Что нужно делать, чтобы научиться эффективно работать с геоданными
Социализируйтесь
Вопросы для самопроверки
- ГИС нужно осваивать потому что:
- Это модно и современно
- Без специального ПО ГИС нельзя работать с данными
- Использование ГИС позволит эффективнее решить мои задачи связанные с геоданными.
- ГИС это очень мощный инструмент
- Какую форму представления лучше всего использовать для данных о рельефе?
- Растровую
- Векторную
- Зависит от задачи
- У вас географический объект и пара координат: 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.