Заметка про построение изохрон в GRASS/QGIS на основе OSM

Обсуждение материалов сайта: вопросы, замечания, предложения
Ответить
Аватара пользователя
Эдуард Казаков
Завсегдатай
Сообщения: 293
Зарегистрирован: 23 апр 2014, 17:11
Статьи: 3
Репутация: 251
Откуда: Санкт-Петербург
Контактная информация:

Заметка про построение изохрон в GRASS/QGIS на основе OSM

Сообщение Эдуард Казаков » 14 июл 2017, 14:26

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

Добрый день! Не видел материалов про ценный и простой модуль v.isochrones для GRASS на русском языке, написал небольшую статью про подготовку данных и построение изохрон на основе OSM. Замечания приветствуются.

=============

Статья опубликована
Последний раз редактировалось Эдуард Казаков 06 авг 2017, 08:37, всего редактировалось 1 раз.

Александр Мурый
Гуру
Сообщения: 4953
Зарегистрирован: 26 сен 2009, 16:26
Статьи: 3
Проекты: 5/1
Репутация: 682
Ваше звание: званий не имею
Откуда: Москва

Re: Заметка про построение изохрон в GRASS/QGIS на основе OS

Сообщение Александр Мурый » 30 июл 2017, 10:05

Небольшое замечание: лучше всё-таки "GRASS GIS", а не "GRASS GIS 7", т.е. без версии. Уже давно текущая актуальная версия - 7.*

Для раздела "Получение и подготовка данных" я бы предложил альтернативное решение с использованием только командной строки:

Код: Выделить всё

ogr2ogr -skipfailures -t_srs "EPSG:32636" Tosnensky_roads_utm.shp  highway-line.shp -clipsrc boundary-polygon.shp -clipsrcwhere "NAME = 'Тосненский район'" -nlt "LINESTRING" -sql "SELECT * FROM \"highway-line\" WHERE OGR_GEOMETRY='LINESTRING'" -sql "SELECT * FROM \"highway-line\" WHERE HIGHWAY NOT IN ('path','steps','footway','construction','proposed','pedestrian','bridleway')" -lco ENCODING=UTF-8

ogr2ogr -explodecollections -f "SQLite" -dsco SPATIALITE=YES Tosnensky_roads_utm.sqlite Tosnensky_roads_utm.shp

ogrinfo  Tosnensky_roads_utm.sqlite -sql "ALTER TABLE tosnensky_roads_utm ADD COLUMN SPEED integer"
ogrinfo  Tosnensky_roads_utm.sqlite -sql "ALTER TABLE tosnensky_roads_utm ADD COLUMN LEGTH real"
ogrinfo  Tosnensky_roads_utm.sqlite -sql "ALTER TABLE tosnensky_roads_utm ADD COLUMN TIME real"

ogrinfo  Tosnensky_roads_utm.sqlite -sql "UPDATE tosnensky_roads_utm SET SPEED = CASE WHEN  "highway" = 'trunk' THEN 90 WHEN  "highway" = 'primary' THEN 90 WHEN  "highway" = 'secondary' THEN 60 WHEN  "highway" = 'tertiary' THEN 60 WHEN  "highway" = 'living_street' THEN 15 WHEN  "highway" = 'residential' THEN 40 WHEN  "highway" = 'service' THEN 30 WHEN  "highway" = 'road' THEN 60 WHEN  "highway" = 'track' THEN 30 WHEN  "highway" = 'raceway' THEN 90 WHEN  "highway" = 'tertiary_link' THEN 40 WHEN  "highway" = 'secondary_link' THEN 40 WHEN  "highway" = 'primary_link' THEN 40 WHEN  "highway" = 'trunk_link' THEN 40 WHEN  "highway" = 'unclassified' THEN 40 END"

ogrinfo  Tosnensky_roads_utm.sqlite -sql "UPDATE tosnensky_roads_utm SET LEGTH = ST_length(GEOMETRY)/1000"

ogrinfo  Tosnensky_roads_utm.sqlite -sql "UPDATE tosnensky_roads_utm SET TIME = LEGTH/SPEED*60"
Соответственно, импортировать в GRASS надо файл "Tosnensky_roads_utm.sqlite".
Редактор материалов, модератор форума

Аватара пользователя
Эдуард Казаков
Завсегдатай
Сообщения: 293
Зарегистрирован: 23 апр 2014, 17:11
Статьи: 3
Репутация: 251
Откуда: Санкт-Петербург
Контактная информация:

Re: Заметка про построение изохрон в GRASS/QGIS на основе OS

Сообщение Эдуард Казаков » 31 июл 2017, 11:07

Александр, спасибо!
Добавил раздел с работой с утилитами. А название статье в вики я кажется не могу редактировать?

Александр Мурый
Гуру
Сообщения: 4953
Зарегистрирован: 26 сен 2009, 16:26
Статьи: 3
Проекты: 5/1
Репутация: 682
Ваше звание: званий не имею
Откуда: Москва

Re: Заметка про построение изохрон в GRASS/QGIS на основе OS

Сообщение Александр Мурый » 31 июл 2017, 12:35

Переименовал статью.
Редактор материалов, модератор форума

Ответить

Вернуться в «Материалы сайта»