Работа с OSM и Открытыми Данными в web-ГИС GeoMixer


Геопространственные данные это ключ к анализу окружающего пространства. Эти данные по масштабу могут быть глобальными, региональными или локальными, состоять из десятков, тысяч, миллионов переменных. Объединяет их наличие пространственной привязки, которое может быть выраженно адресом, координатами, реестровой записью и т.д. Такие данные могут быть легко визуализированы на карте и проанализированы в специальных геоинформационных средах, в том числе бесплатных, доступных онлайн, например, Kosmosnimki, ArcGIS online, CartoDB и другие. 

Геоинформационные методы исследований активно используются для территориальной аналитики в интересах бизнеса, госуправления, науки и образования. Круг людей, интересующихся этими технологиями с каждым годом растёт, не все из них являются профессионалами в области геоинформатики. Наиболее часто возникающий вопрос — где взять данные и как их визуализировать на карте.

Основные источники официальных данных для общероссийского масштаба предоставляет Росстат, различные министерства и ведомства (таможня, МинФин, казначейство, суды и т.д.). Локальный уровень данных обеспечивают муниципальные образования. Предоставление таких данных регулируется законом «Об обеспечении доступа к информации о деятельности государственных органов и органов местного самоуправления». Большое количество данных собирается некомерческими организациями и сообществами, например, НП "Информационная культура" и GIS-Lab.

Основными форматами официальных данных являются таблицы, тексты и html-страницы.


Пример данных Росстата (XLS)


Пример локальных данных Портала Открытых Данных Москвы (XLS)

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

В редких случая, открытые официальные данные геокодированы. Ниже приведен пример, в котором каждая больница Москвы имеет координаты и может быть отображена на карте в виде точечного объекта.


Геокодированные больницы Москвы (CSV)

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

На примере административных районов Москвы мы разберем простой способ отображения демографических данных на карте. В качестве браузерной ГИС мы будем использовать бесплатную систему GeoMixer, которая служит платформой для проекта Kosmosnimki.

Итак, у нас есть система, у нас есть табличные данные, как нам их перенести на карту, если таблица содержит только названия районов, чего не достаточно в нашем случае для отображения данных на карте. Задача номер один — раздобыть данные о границах районов города Москва в самом популярном геопространственном формате, называемом «шэйп» (.SHP). Этот формат данных описывает векторные объекты (точки, линии, полигоны) и позволяет отображать их в любой геоинформационной системе. Этот формат состоит из нескольких файлов (4 или 6), среди которых есть таблица (.DBF) и файлы пространственного описания:

Где взять такой файл с границами районов Москвы? Давайте обратимся к Порталу Открытых Данных г. Москва, который предлагает нам скачать набор данных под названием Границы районов города Москва. Какова же внутренняя структура этих фалов:


Границы районов города Москва

Попытки описать пространственную структуру районов имеются, но этого недостаточно. Воспользуемся помощью сообщества OpenStreetMap. Проект OpenStreetMap — это совместное создание и свободное распространение детальных карт всего мира. Люди с разных концов Земли вместе рисуют самую подробную карту планеты! Российское сообщество OSM одно из самых активных. Данные OSM используются коммерческими и государственными структурами, а также тысячами исследователей. OSM это не просто карты, это глобальная база данных.

Удобный доступ и описание данных OSM представлены на сайте сообщества GIS-Lab. Границы Административно-территориального деления России представлены по ссылке. Скачав нужные данные вы получите zip-архив, содержащий шэйп-файлы, среди которых есть электронная таблица (.DBF). 

Составная часть шейп файла - таблица

Структура описания границ далека от совершенства, поэтому придётся поработать руками, чтобы удалить ненужные столбцы. Запомните, нельзя удалять столбец ID! Основной атрибут, который связывает пространственное положение с названием это параметр ID. Формат хранения пространственных данных - «шэйп-файл» это такая база данных, где все файлы связаны между собой и эта связь обеспечивается по параметру ID. Если удалить этот столбец, сделать сортировку районов по алфавиту (а в OSM они идут в произвольном порядке) и загрузить файл в любую ГИС, то районы будут перепутаны.

Если у вас оказались данные без ID (такое встречается), то нельзя менять последовательность строк и записей в них. Можно просто добавить столбец с цифрами и сделать сортировку по алфавиту, при сохранении файла надо вернуть сортировку в изначальное состояние.

Исходная сортировка OSM

Сортировка с использованием дополнительного столбца с нумерацией ячеек

Теперь достаточно удобно соединить две таблицы: одну, описывающую границы из OSM, а другую со статистическими данными, полученными на Портале открытых данных. Внимательно проверьте что получилось, небольшие правки руками всё равно потребуются, но уже не надо набирать десятки значений вручную. 

Результат объединения двух таблиц

Для загрузки полученного результата в GeoMixer (или любую другую ГИС), создайте zip-архив, состоящий из всех шейп-файлов и следуйте инструкции создания нового слоя и стилей.  Должна получится карта с границами районов.

Границы районов Москвы

На следующем этапе мы используем статистическую информацию, которую мы добавляли в файл базы данных .DBF.

Статистические данные

Все данные представлены в табличной форме и могут быть использованы для создания стилей с помощью простого инструмента sql-запросов. 

Создание стилей с помощью sql-запросов

Благодаря тому, что данные хранятся в удобной табличной форме, они доступны для дальнейшей обработки. Например, на основе известной статистики можно самостоятельно вычислить процентное соотношение детей до 18 лет к общему количеству населения районов Москвы.

Таким образом, используя доступные программные продукты и официальные статистические данные, любой заинтересованный пользователь может строить наглядные карты и проводить элементарный геопространственный анализ.

/А. Пирогов, 2014 г./

SmartLoc: 4 причины, почему мы на рынке.

Азат Имангалин. Интервью проекту GISGeo.

Читать »

Интерактивная карта геопорталов. Федеральные, региональные, муниципальные, инвестиционные.

Подробнее »