Создаём свою карту ДТП

Материал из GIS-Lab
(Различия между версиями)
Перейти к: навигация, поиск
(Создаём перекрестки)
Строка 20: Строка 20:
  
 
Находим все пересечения и считаем в каждом количество примыканий, определяем таким образом Х-образные пересечения (у них это значение >= 4). Но можете оставить и другие, если нужно.
 
Находим все пересечения и считаем в каждом количество примыканий, определяем таким образом Х-образные пересечения (у них это значение >= 4). Но можете оставить и другие, если нужно.
 +
 +
===Скрипт детектирования перекрёстков в данных Openstreetmap===
 +
В OSM нет тега для перекрёстка, но их можно получить, взяв те точки, в которых пересекается несколько веев (более двух). Для пробы этот скрипт написан на питоновских биндингах GDAL, и Москву он считает за ночь. Вероятно в PostGIS этот же алгоритм можно сделать более быстрым.
 +
 +
Клонируем скрипт
 +
 +
<syntaxhighlight lang="bash">
 +
git clone https://github.com/nextgis/data_processing_scripts.git
 +
cd data_processing_scripts/nextgis_extracts_detect_crossings
 +
</syntaxhighlight>
 +
 +
 +
 +
  
 
==Создаём перекрестки==
 
==Создаём перекрестки==

Версия 09:04, 4 апреля 2018

Содержание

Загружаем исходные данные

Источник данных: http://stat.gibdd.ru

Находим код региона.

Указываем диапазон дат.

Запускаем скрипт извлечения данных, по годам.

Результат: пачка XML с карточками ДТП.

Преобразовываем в табличный вид

С XML работать не удобно, поэтому используем следующий скрипт для преобразования XML в CSV.

Результат: CSV файл со всеми данными по ДТП.

Находим пересечения

Источник данных: http://data.nextgis.com Совсем свежие данные стоят 200-300р, старые можно скачать бесплатно. Так или иначе получаем свой регион. Нам нужен только один слой: highway-lines.shp (дорожная сеть).

Находим все пересечения и считаем в каждом количество примыканий, определяем таким образом Х-образные пересечения (у них это значение >= 4). Но можете оставить и другие, если нужно.

Скрипт детектирования перекрёстков в данных Openstreetmap

В OSM нет тега для перекрёстка, но их можно получить, взяв те точки, в которых пересекается несколько веев (более двух). Для пробы этот скрипт написан на питоновских биндингах GDAL, и Москву он считает за ночь. Вероятно в PostGIS этот же алгоритм можно сделать более быстрым.

Клонируем скрипт

git clone https://github.com/nextgis/data_processing_scripts.git
cd data_processing_scripts/nextgis_extracts_detect_crossings



Создаём перекрестки

Перекресток - зона определенного радиуса вокруг пересечения (буферная зона).

Перекрестки получаются путем построения буферных зон вокруг пересечений. Соединенные при этом зоны - объединяются в единый объект.

Считаем ДТП и смерти

Делаем веб-карту

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

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