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

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

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

Сообщение Эдуард Казаков »

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

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

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

Статья опубликована
Последний раз редактировалось Эдуард Казаков 06 авг 2017, 08:37, всего редактировалось 1 раз.
Александр Мурый
Гуру
Сообщения: 5173
Зарегистрирован: 26 сен 2009, 16:26
Репутация: 792
Ваше звание: званий не имею
Откуда: Москва

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

Сообщение Александр Мурый »

Небольшое замечание: лучше всё-таки "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".
Редактор материалов, модератор форума
Аватара пользователя
Эдуард Казаков
Гуру
Сообщения: 549
Зарегистрирован: 23 апр 2014, 17:11
Репутация: 535
Откуда: Planet Earth
Контактная информация:

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

Сообщение Эдуард Казаков »

Александр, спасибо!
Добавил раздел с работой с утилитами. А название статье в вики я кажется не могу редактировать?
Александр Мурый
Гуру
Сообщения: 5173
Зарегистрирован: 26 сен 2009, 16:26
Репутация: 792
Ваше звание: званий не имею
Откуда: Москва

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

Сообщение Александр Мурый »

Переименовал статью.
Редактор материалов, модератор форума
slimfedya
Новоприбывший
Сообщения: 8
Зарегистрирован: 02 сен 2017, 04:48
Репутация: 0
Откуда: Москва

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

Сообщение slimfedya »

Добрый день!
Столкнулся с такой проблемой: после выбора системы координат в GRASS и нажатия на продолжить, выкидывает ошибку (пустое окно "ошибка" без текста внутри), кнопка "завершить" не жмется. Повторяется при выборе любых СК.
Подскажите, пожалуйста, в чем тут загвоздка и как исправить.
Вложения
fail.jpg
fail.jpg (57.73 КБ) 58064 просмотра
Аватара пользователя
Xmypblu
Участник
Сообщения: 73
Зарегистрирован: 18 авг 2013, 05:36
Репутация: 17
Контактная информация:

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

Сообщение Xmypblu »

slimfedya писал(а): 02 сен 2017, 05:31Подскажите, пожалуйста, в чем тут загвоздка и как исправить.
кириллица в путях?
slimfedya
Новоприбывший
Сообщения: 8
Зарегистрирован: 02 сен 2017, 04:48
Репутация: 0
Откуда: Москва

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

Сообщение slimfedya »

Xmypblu писал(а): 02 сен 2017, 05:43кириллица в путях?
Нет, везде исключил, ошибка все еще выскакивает.
Аватара пользователя
Эдуард Казаков
Гуру
Сообщения: 549
Зарегистрирован: 23 апр 2014, 17:11
Репутация: 535
Откуда: Planet Earth
Контактная информация:

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

Сообщение Эдуард Казаков »

Добрый день! Поделитесь, пожалуйста, информацией об операционной системе и версии grass. Ставили отдельно?
slimfedya
Новоприбывший
Сообщения: 8
Зарегистрирован: 02 сен 2017, 04:48
Репутация: 0
Откуда: Москва

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

Сообщение slimfedya »

Эдуард Казаков писал(а): 02 сен 2017, 12:22Поделитесь, пожалуйста, информацией об операционной системе и версии grass. Ставили отдельно?
win 10 x64, Grass 7.2.1, поставлен вместе с QGIS
Александр Мурый
Гуру
Сообщения: 5173
Зарегистрирован: 26 сен 2009, 16:26
Репутация: 792
Ваше звание: званий не имею
Откуда: Москва

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

Сообщение Александр Мурый »

Это какой-то очередной глюк на винде. В архиве пустая локация в СК EPSG:32636. Попробуйте запустить GRASS в ней.
test_32636.zip
(2.74 КБ) 2132 скачивания
Редактор материалов, модератор форума
slimfedya
Новоприбывший
Сообщения: 8
Зарегистрирован: 02 сен 2017, 04:48
Репутация: 0
Откуда: Москва

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

Сообщение slimfedya »

Всем спасибо за ответы, хотя не помогло ничего).

Тем, кто столкнется с той же проблемой - с n-ого раза переустановка Грасса отдельно помогла.
Qwerty Neo
Интересующийся
Сообщения: 16
Зарегистрирован: 06 дек 2008, 22:17
Репутация: 2
Откуда: г. Севастополь

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

Сообщение Qwerty Neo »

Здравствуйте. Спасибо за интересный материал.
Немного непонятен "физический" смысл получившейся карты? У вас написано что изохроны это "линии равных затрат времени на преодоление пространства относительно заданных точек". В этом примере https://www.youtube.com/watch?v=thBKETlQbqY показан расчет изохрон относительно конкретного объекта. Относительно каких точек проходит этот расчет в Вашем примере?
Аватара пользователя
Эдуард Казаков
Гуру
Сообщения: 549
Зарегистрирован: 23 апр 2014, 17:11
Репутация: 535
Откуда: Planet Earth
Контактная информация:

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

Сообщение Эдуард Казаков »

Здравствуйте!
В статье указано: "Для демонстрации поставим точки отсчёта в центры населенных пунктов г. Тосно и г. Любань."
И картинка есть
Qwerty Neo
Интересующийся
Сообщения: 16
Зарегистрирован: 06 дек 2008, 22:17
Репутация: 2
Откуда: г. Севастополь

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

Сообщение Qwerty Neo »

Спасибо, не заметил :)
Аватара пользователя
t[0]p
Участник
Сообщения: 93
Зарегистрирован: 15 ноя 2014, 14:35
Репутация: 7
Откуда: Томск

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

Сообщение t[0]p »

Здравствуйте! Столкнулся с проблемой скрипта v.isochrones. Похоже в статье ссылка не на тот скрипт?
Ответить

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

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя