Базовая оценка транспортной доступности средствами GRASS GIS и QGIS

Материал из GIS-Lab
Перейти к: навигация, поиск
Эта страница является черновиком статьи.


Построение карт транспортной доступности на основе данных OpenStreetMap средствами открытых геоинформационных систем GRASS GIS 7 и QGIS

Картографирование транспортной доступности на основе данных о дорожной сети - одна из классических задач ГИС. Наиболее распространенным способом моделирования транспортной доступности является построение изохрон - линий равных затрат времени на преодоление пространства относительно заданных точек. В представленной статье обсуждается алгоритм построения изохрон по данным OpenStreetMap с использоваем открытых ГИС GRASS GIS 7 и QGIS. В QGIS будет осуществляться подготовка данных и картографическое представление результатов, а в GRASS собственно моделирование. Всю работу можно выполнить целиком в GRASS, но, по мнению автора, общие манипуляции геоданными и представление картографических материалов удачнее и удобнее реализованы в QGIS.

Описываемые в статье действия выполнялись в средах Ubuntu 14.04 LTS и Windows 8.1 (x64), версия GRASS 7.2, версия QGIS 2.14.

Содержание

Получение и подготовка данных

Для осуществления расчётов нам потребуется набор векторных линейных геоданных, содержащий информацию о дорожно-транспортной сети исследуемой территории. Заполучить подобную информацию можно различными способами: приобрести у специализированных поставщиков, найти в одном из источников открытых данных, оцифровать атлас автомобильных дорог, нарисовать по космическому снимку и так далее (не забывайте про лицензии данных!). В данном случае мы воспользуемся данными OSM как достаточно качественными и подробными, и, что важно, доступными бесплатно и легально. Начать знакомство с OSM вы можете с этой страницы. Этап подготовки данных являются ключевым: помимо технических этапов здесь нам предстоит определить транспортные характеристики, которые будут использованы для моделирования.

Для демонстрации принципов базового транспортного моделирования рассмотрим Тосненский район Ленинградской области. Транспорт: автомобиль.

Загрузка данных OSM

Для загрузки данных OSM существует множество возможностей. Одним из наиболее простых способов является загрузка уже подготовленных в формате ESRI Shapefile наборов данных по слоям. Популярные сервисы в сети: Geofabrik, где вы можете найти комплекты данных на весь мир, и NextGIS, где вы найдёте вместе с данными оформленные QGIS-проекты по субъектам РФ и странам СНГ. Также удобный способ быстро получить данные OSM - воспользоваться одним из соответствующих плагинов для QGIS, например OSMDownloader. При его установке в интерфейс QGIS добавится кнопка выделения прямоугольной области, для которой и будут загружены данные в указанное вами расположение. Для демонстрации в этой статье используется набор данных OSM от NextGIS на территорию Ленинградской области от 13 ноября 2016 года, доступный бесплатно (загрузить).

Для нашей задачи понадобятся только данные о дорожной сети (в случае работы с выгрузками NextGIS - слой highway-line из директории data; в случае работы с OSMDownloader - все загруженные объекты линейного типа, у которых в атрибуте Highway содержится какое-либо значение). Для оформительских задач также может быть использован набор геоданных с границами АТД (например, для обрезки изохрон по гранцам района).

Первичная подготовка данных

Для начала подготовим данные по дорожной сети: обрежем их по границам района интереса, спроецируем куда нужно, отфильтруем лишнее. Распаковываем архив RU-LEN в удобное расположение, лучше без кириллицы и пробелов. Затем запускаем QGIS и добавляем два векторных слоя из папки .../RU-LEN/data/:

  • highway-line
  • boundary-polygon

Нужно проявить осторожность с кодировками, и добавлять слои с кодировкой UTF-8 (кодировку можно выбрать в меню выбора векторного слоя при его добавлении). Выглядит это как-то так (цвета могут быть произвольными):


<картинка с границами и дорогами>

В первую очередь, избавимся от всего лишнего. Найдём полигон Тосненского района и сохраним его в отдельный слой. Для этого в таблице атрибутов слоя boundary-polygon (доступно через контекстное меню слоя) найдём объект с соответствующим содержанием поля NAME. Для этого можно воспользоваться поиском по запросу, либо просто отсортировать колонку и выделить нужную строку. Затем через контекстное меню слоя выбираем "Сохранить как", определяя новое расположение для файла с границами Тосненского района (в моём случае Tosnensky_boundary.shp), и не забываем активировать флаг "Сохранить только выделенные объекты".


<картинка с табличкой с Тосно и табличкой сохранения>

Затем необходимо обрезать набор геоданных по дорожной сети по этим границам. Для этого воспользуемся инструментом обрезки (Вектор - Инструменты геообработки - Обрезка). В качестве исходного слоя выбираем highway-line, в качестве слоя обрезки Tosnensky_bondary, результат сохраняем в удобное новое расположение (в моём случае Tosnensky_roads.shp).

<картинка с Clip>

Теперь, чтобы избежать возможных проблем с расчётом длин участков дорог (и некоторых других) в будущем, перепроецируем результирующий слой Tosnensky_roads в подходящуюю систему координат. Для расчётных задач рекомендуется использовать поперечную цилиндрическую проекцию (UTM или ГК) для вашей зоны. В моём случае используем WGS 84 / UTM zone 36N (EPSG:32636), для этого через меню "Сохранить как" создаем копию слоя Tosnensky_roads, в выпадающем списке "Система координат" выбирая UTM zone 36N и задавая удобное расположение для нового файла (Tosnensku_roads_utm).

<картинка с перепроецированием дорог>

Аналогичным образом перепроецируем и слой с границами Тосненского района, на всякий случай (получаем дополнительно Tosnensky_boundary_utm). Данные почти готовы! Теперь нужно отфильтровать геоданные по дорогам с учётом требований к моделированию. Это первый тематический шаг подготовки: отбор только тех объектов дорожной сети, которые могут быть использованы для перемещения преполагаемыми транспортными средствами. Здесь вы должны решить, по объектам каких типов будет разрешено перемещаться, например, для моделирования пешеходного движения можно оставить все типы дорог; для легковых автомобилей исключить пешеходные дорожки, тропы, просеки; для грузовых автомобилей исключить дороги с соответствующими ограничениями на массу и так далее. Шаг этот очень ответственный. При этом подход к фильтрации сильно зависит от качества исходных данных и их детализации. Вспоминаем, что имеем дело с OSM, где различия между объектами существуют на уровне тегов, которые записаны в таблице атрибутов в поле HIGHWAY. Посмотрим на список уникальных значений для нашего набора данных:

path steps footway residential primary service unclassified secondary road track construction tertiary raceway tertiary_link trunk secondary_link proposed pedestrian bridleway primary_link living_street trunk_link


Определение транспортных характеристик данных о дорожной сети

Моделирование транспортной доступности

Подготовка проекта и данных в GRASS

Создание изохрон

Представление результатов в QGIS

Персональные инструменты
Пространства имён

Варианты
Действия
Статьи
Спецпроекты
Инструменты