Страница 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 в ней. 
 
			
					
				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. Похоже в статье ссылка не на тот скрипт?