Страница 1 из 3

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

Добавлено: 14 июл 2017, 14:26
Эдуард Казаков
Базовая оценка транспортной доступности средствами GRASS GIS и QGIS

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

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

Статья опубликована

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".

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

Добавлено: 31 июл 2017, 11:07
Эдуард Казаков
Александр, спасибо!
Добавил раздел с работой с утилитами. А название статье в вики я кажется не могу редактировать?

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

Добавлено: 31 июл 2017, 12:35
Александр Мурый
Переименовал статью.

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

Добавлено: 02 сен 2017, 05:31
slimfedya
Добрый день!
Столкнулся с такой проблемой: после выбора системы координат в GRASS и нажатия на продолжить, выкидывает ошибку (пустое окно "ошибка" без текста внутри), кнопка "завершить" не жмется. Повторяется при выборе любых СК.
Подскажите, пожалуйста, в чем тут загвоздка и как исправить.

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

Добавлено: 02 сен 2017, 05:43
Xmypblu
slimfedya писал(а):
02 сен 2017, 05:31
Подскажите, пожалуйста, в чем тут загвоздка и как исправить.
кириллица в путях?

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

Добавлено: 02 сен 2017, 05:49
slimfedya
Xmypblu писал(а):
02 сен 2017, 05:43
кириллица в путях?
Нет, везде исключил, ошибка все еще выскакивает.

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

Добавлено: 02 сен 2017, 12:22
Эдуард Казаков
Добрый день! Поделитесь, пожалуйста, информацией об операционной системе и версии grass. Ставили отдельно?

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

Добавлено: 02 сен 2017, 17:09
slimfedya
Эдуард Казаков писал(а):
02 сен 2017, 12:22
Поделитесь, пожалуйста, информацией об операционной системе и версии grass. Ставили отдельно?
win 10 x64, Grass 7.2.1, поставлен вместе с QGIS

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

Добавлено: 02 сен 2017, 18:25
Александр Мурый
Это какой-то очередной глюк на винде. В архиве пустая локация в СК EPSG:32636. Попробуйте запустить GRASS в ней.
test_32636.zip
(2.74 КБ) 945 скачиваний

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

Добавлено: 04 сен 2017, 03:03
slimfedya
Всем спасибо за ответы, хотя не помогло ничего).

Тем, кто столкнется с той же проблемой - с n-ого раза переустановка Грасса отдельно помогла.

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

Добавлено: 04 сен 2017, 10:09
Qwerty Neo
Здравствуйте. Спасибо за интересный материал.
Немного непонятен "физический" смысл получившейся карты? У вас написано что изохроны это "линии равных затрат времени на преодоление пространства относительно заданных точек". В этом примере https://www.youtube.com/watch?v=thBKETlQbqY показан расчет изохрон относительно конкретного объекта. Относительно каких точек проходит этот расчет в Вашем примере?

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

Добавлено: 04 сен 2017, 15:12
Эдуард Казаков
Здравствуйте!
В статье указано: "Для демонстрации поставим точки отсчёта в центры населенных пунктов г. Тосно и г. Любань."
И картинка есть

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

Добавлено: 05 сен 2017, 09:14
Qwerty Neo
Спасибо, не заметил :)

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

Добавлено: 06 мар 2018, 06:45
t[0]p
Здравствуйте! Столкнулся с проблемой скрипта v.isochrones. Похоже в статье ссылка не на тот скрипт?