Расчет длины линий в полигональном слое

Вопросы по свободной ГИС QGIS. Сообщения об ошибках, предложения по улучшению, локализация.
Ответить
butcherius
Новоприбывший
Сообщения: 5
Зарегистрирован: 26 мар 2018, 16:52
Репутация: 0
Откуда: Belarus

Расчет длины линий в полигональном слое

Сообщение butcherius »

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

Задача такая: есть множество полигонов, регулярно добавляются новые и нужно подписывать как площадь полигона, так и его длины линий. На текущий момент это реализовал с помощью разбить полигон на линию, а потом через Анализ/Взорвать линию, но таким путем создается дополнительных слой, а не хотелось бы плодить лишнее и тем более изменяя полигон, линии в том слое автоматически не изменятся.

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

Re: Расчет длины линий в полигональном слое

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

а разве
butcherius писал(а): 26 мар 2018, 16:59длины линий в полигоне
это не периметр?
в калькуляторе полей например есть функция $perimeter
freeExec
Гуру
Сообщения: 1195
Зарегистрирован: 23 апр 2011, 10:32
Репутация: 205
Откуда: Ульяновск

Re: Расчет длины линий в полигональном слое

Сообщение freeExec »

Насколько я понял он хочет знать длину каждой отдельной линии, а не их сумму.
butcherius
Новоприбывший
Сообщения: 5
Зарегистрирован: 26 мар 2018, 16:52
Репутация: 0
Откуда: Belarus

Re: Расчет длины линий в полигональном слое

Сообщение butcherius »

freeExec писал(а): 27 мар 2018, 09:16Насколько я понял он хочет знать длину каждой отдельной линии, а не их сумму.
Все верно, каждой отдельной линии полигона
freeExec
Гуру
Сообщения: 1195
Зарегистрирован: 23 апр 2011, 10:32
Репутация: 205
Откуда: Ульяновск

Re: Расчет длины линий в полигональном слое

Сообщение freeExec »

В калькуляторе в разделе геометрия можно получить координаты всех вершин. Из пары можно обратно собрать линию. По линии можно вычесть длину. Как вы собираетесь хранить этот результат я не знаю.
butcherius
Новоприбывший
Сообщения: 5
Зарегистрирован: 26 мар 2018, 16:52
Репутация: 0
Откуда: Belarus

Re: Расчет длины линий в полигональном слое

Сообщение butcherius »

freeExec писал(а): 27 мар 2018, 16:54В калькуляторе в разделе геометрия можно получить координаты всех вершин. Из пары можно обратно собрать линию. По линии можно вычесть длину. Как вы собираетесь хранить этот результат я не знаю.
Была такая мысль, но количество вершин же разное, надо цикл писать или еще чего.. В общем ясно, спасибо, просто никак не реализуешь по ходу
Аватара пользователя
Prince660
Активный участник
Сообщения: 164
Зарегистрирован: 25 мар 2011, 20:12
Репутация: 15
Ваше звание: Питоновод
Откуда: г. Симферорполь
Контактная информация:

Re: Расчет длины линий в полигональном слое

Сообщение Prince660 »

Для решения такой задачи я бы написал модуль на Python. Посчитать не проблема. Соглашусь с freeExec, не понятно как хранить значения длин всех граней в атрибутах одного полигона. Просто через запятую? Или нужно как-то различать какая грань имеет какую длину?
trir
Гуру
Сообщения: 5362
Зарегистрирован: 09 апр 2010, 19:30
Репутация: 1021
Ваше звание: просто мимо прохожу
Откуда: Ё-бург

Re: Расчет длины линий в полигональном слое

Сообщение trir »

можно создать представление
butcherius
Новоприбывший
Сообщения: 5
Зарегистрирован: 26 мар 2018, 16:52
Репутация: 0
Откуда: Belarus

Re: Расчет длины линий в полигональном слое

Сообщение butcherius »

Prince660 писал(а): 28 мар 2018, 10:18Для решения такой задачи я бы написал модуль на Python. Посчитать не проблема. Соглашусь с freeExec, не понятно как хранить значения длин всех граней в атрибутах одного полигона. Просто через запятую? Или нужно как-то различать какая грань имеет какую длину?
Не стоит задачи хранить это в атрибутах, это может быть виртуальный параметр. Цель такая: при масштабе 1:100 до 1:1 подписывать значения длин на карте, там полигоны маленькие, в среднем около 3-4 м2.
trir писал(а): 28 мар 2018, 11:50можно создать представление
Это вы про postgre так понимаю, а подробнее чуть можно?
givchik
Новоприбывший
Сообщения: 10
Зарегистрирован: 26 апр 2011, 11:56
Репутация: 0

Re: Расчет длины линий в полигональном слое

Сообщение givchik »

если это нужно для лабелов, то я бы создал отдельный точечный слой(таблицу в бд) с координатам местоположения и параметрами для отображения значения (значение длины линии, угол, отступ и тд) и тригер для создания этих точек на базе.
trir
Гуру
Сообщения: 5362
Зарегистрирован: 09 апр 2010, 19:30
Репутация: 1021
Ваше звание: просто мимо прохожу
Откуда: Ё-бург

Re: Расчет длины линий в полигональном слое

Сообщение trir »

CREATE VIEW
QGIS открывает VIEW как слой
butcherius
Новоприбывший
Сообщения: 5
Зарегистрирован: 26 мар 2018, 16:52
Репутация: 0
Откуда: Belarus

Re: Расчет длины линий в полигональном слое

Сообщение butcherius »

Всем спасибо, буду думать в этом направлении.
Ответить

Вернуться в «QGIS»

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

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