Расчет длины линий в полигональном слое
- 
				butcherius
 - Новоприбывший
 - Сообщения: 5
 - Зарегистрирован: 26 мар 2018, 16:52
 - Репутация: 0
 - Откуда: Belarus
 
Расчет длины линий в полигональном слое
Добрый день, подскажите, пожалуйста, можно ли как-нибудь рассчитать длины линий в полигоне, не создавая линейный слой.
Задача такая: есть множество полигонов, регулярно добавляются новые и нужно подписывать как площадь полигона, так и его длины линий. На текущий момент это реализовал с помощью разбить полигон на линию, а потом через Анализ/Взорвать линию, но таким путем создается дополнительных слой, а не хотелось бы плодить лишнее и тем более изменяя полигон, линии в том слое автоматически не изменятся.
Устроит вариант с триггером на postgis либо через калькулятор полей, если это вообще возможно.
			
			
									
						
										
						Задача такая: есть множество полигонов, регулярно добавляются новые и нужно подписывать как площадь полигона, так и его длины линий. На текущий момент это реализовал с помощью разбить полигон на линию, а потом через Анализ/Взорвать линию, но таким путем создается дополнительных слой, а не хотелось бы плодить лишнее и тем более изменяя полигон, линии в том слое автоматически не изменятся.
Устроит вариант с триггером на postgis либо через калькулятор полей, если это вообще возможно.
- t[0]p
 - Участник
 - Сообщения: 93
 - Зарегистрирован: 15 ноя 2014, 14:35
 - Репутация: 7
 - Откуда: Томск
 
Re: Расчет длины линий в полигональном слое
- 
				freeExec
 - Гуру
 - Сообщения: 1195
 - Зарегистрирован: 23 апр 2011, 10:32
 - Репутация: 205
 - Откуда: Ульяновск
 
Re: Расчет длины линий в полигональном слое
Насколько я понял он хочет знать длину каждой отдельной линии, а не их сумму.
			
			
									
						
										
						- 
				butcherius
 - Новоприбывший
 - Сообщения: 5
 - Зарегистрирован: 26 мар 2018, 16:52
 - Репутация: 0
 - Откуда: Belarus
 
Re: Расчет длины линий в полигональном слое
Все верно, каждой отдельной линии полигонаfreeExec писал(а): ↑27 мар 2018, 09:16Насколько я понял он хочет знать длину каждой отдельной линии, а не их сумму.
- 
				freeExec
 - Гуру
 - Сообщения: 1195
 - Зарегистрирован: 23 апр 2011, 10:32
 - Репутация: 205
 - Откуда: Ульяновск
 
Re: Расчет длины линий в полигональном слое
В калькуляторе в разделе геометрия можно получить координаты всех вершин. Из пары можно обратно собрать линию. По линии можно вычесть длину. Как вы собираетесь хранить этот результат я не знаю.
			
			
									
						
										
						- 
				butcherius
 - Новоприбывший
 - Сообщения: 5
 - Зарегистрирован: 26 мар 2018, 16:52
 - Репутация: 0
 - Откуда: Belarus
 
Re: Расчет длины линий в полигональном слое
Была такая мысль, но количество вершин же разное, надо цикл писать или еще чего.. В общем ясно, спасибо, просто никак не реализуешь по ходу
- Prince660
 - Активный участник
 - Сообщения: 164
 - Зарегистрирован: 25 мар 2011, 20:12
 - Репутация: 15
 - Ваше звание: Питоновод
 - Откуда: г. Симферорполь
 - Контактная информация:
 
Re: Расчет длины линий в полигональном слое
Для решения такой задачи я бы написал модуль на Python. Посчитать не проблема. Соглашусь с freeExec, не понятно как хранить значения длин всех граней в атрибутах одного полигона. Просто через запятую? Или нужно как-то различать какая грань имеет какую длину?
			
			
									
						
										
						- 
				trir
 - Гуру
 - Сообщения: 5362
 - Зарегистрирован: 09 апр 2010, 19:30
 - Репутация: 1021
 - Ваше звание: просто мимо прохожу
 - Откуда: Ё-бург
 
Re: Расчет длины линий в полигональном слое
можно создать представление
			
			
									
						
										
						- 
				butcherius
 - Новоприбывший
 - Сообщения: 5
 - Зарегистрирован: 26 мар 2018, 16:52
 - Репутация: 0
 - Откуда: Belarus
 
Re: Расчет длины линий в полигональном слое
Не стоит задачи хранить это в атрибутах, это может быть виртуальный параметр. Цель такая: при масштабе 1:100 до 1:1 подписывать значения длин на карте, там полигоны маленькие, в среднем около 3-4 м2.Prince660 писал(а): ↑28 мар 2018, 10:18Для решения такой задачи я бы написал модуль на Python. Посчитать не проблема. Соглашусь с freeExec, не понятно как хранить значения длин всех граней в атрибутах одного полигона. Просто через запятую? Или нужно как-то различать какая грань имеет какую длину?
Это вы про postgre так понимаю, а подробнее чуть можно?trir писал(а): ↑28 мар 2018, 11:50можно создать представление
- 
				givchik
 - Новоприбывший
 - Сообщения: 10
 - Зарегистрирован: 26 апр 2011, 11:56
 - Репутация: 0
 
Re: Расчет длины линий в полигональном слое
если это нужно для лабелов, то я бы создал отдельный точечный слой(таблицу в бд) с координатам местоположения и параметрами  для отображения значения (значение длины линии, угол, отступ и тд) и тригер для создания этих точек на базе.
			
			
									
						
										
						- 
				trir
 - Гуру
 - Сообщения: 5362
 - Зарегистрирован: 09 апр 2010, 19:30
 - Репутация: 1021
 - Ваше звание: просто мимо прохожу
 - Откуда: Ё-бург
 
Re: Расчет длины линий в полигональном слое
CREATE VIEW
QGIS открывает VIEW как слой
			
			
									
						
										
						QGIS открывает VIEW как слой
- 
				butcherius
 - Новоприбывший
 - Сообщения: 5
 - Зарегистрирован: 26 мар 2018, 16:52
 - Репутация: 0
 - Откуда: Belarus
 
Re: Расчет длины линий в полигональном слое
Всем спасибо, буду думать в этом направлении.
			
			
									
						
										
						Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 11 гостей