Расчет длины линий в полигональном слое
-
- Новоприбывший
- Сообщения: 5
- Зарегистрирован: 26 мар 2018, 16:52
- Репутация: 0
- Откуда: Belarus
Расчет длины линий в полигональном слое
Добрый день, подскажите, пожалуйста, можно ли как-нибудь рассчитать длины линий в полигоне, не создавая линейный слой.
Задача такая: есть множество полигонов, регулярно добавляются новые и нужно подписывать как площадь полигона, так и его длины линий. На текущий момент это реализовал с помощью разбить полигон на линию, а потом через Анализ/Взорвать линию, но таким путем создается дополнительных слой, а не хотелось бы плодить лишнее и тем более изменяя полигон, линии в том слое автоматически не изменятся.
Устроит вариант с триггером на postgis либо через калькулятор полей, если это вообще возможно.
Задача такая: есть множество полигонов, регулярно добавляются новые и нужно подписывать как площадь полигона, так и его длины линий. На текущий момент это реализовал с помощью разбить полигон на линию, а потом через Анализ/Взорвать линию, но таким путем создается дополнительных слой, а не хотелось бы плодить лишнее и тем более изменяя полигон, линии в том слое автоматически не изменятся.
Устроит вариант с триггером на postgis либо через калькулятор полей, если это вообще возможно.
- t[0]p
- Участник
- Сообщения: 93
- Зарегистрирован: 15 ноя 2014, 14:35
- Репутация: 7
- Откуда: Томск
Re: Расчет длины линий в полигональном слое
-
- Гуру
- Сообщения: 1195
- Зарегистрирован: 23 апр 2011, 10:32
- Репутация: 205
- Откуда: Ульяновск
Re: Расчет длины линий в полигональном слое
Насколько я понял он хочет знать длину каждой отдельной линии, а не их сумму.
-
- Новоприбывший
- Сообщения: 5
- Зарегистрирован: 26 мар 2018, 16:52
- Репутация: 0
- Откуда: Belarus
Re: Расчет длины линий в полигональном слое
Все верно, каждой отдельной линии полигонаfreeExec писал(а): ↑27 мар 2018, 09:16Насколько я понял он хочет знать длину каждой отдельной линии, а не их сумму.
-
- Гуру
- Сообщения: 1195
- Зарегистрирован: 23 апр 2011, 10:32
- Репутация: 205
- Откуда: Ульяновск
Re: Расчет длины линий в полигональном слое
В калькуляторе в разделе геометрия можно получить координаты всех вершин. Из пары можно обратно собрать линию. По линии можно вычесть длину. Как вы собираетесь хранить этот результат я не знаю.
-
- Новоприбывший
- Сообщения: 5
- Зарегистрирован: 26 мар 2018, 16:52
- Репутация: 0
- Откуда: Belarus
Re: Расчет длины линий в полигональном слое
Была такая мысль, но количество вершин же разное, надо цикл писать или еще чего.. В общем ясно, спасибо, просто никак не реализуешь по ходу
- Prince660
- Активный участник
- Сообщения: 164
- Зарегистрирован: 25 мар 2011, 20:12
- Репутация: 15
- Ваше звание: Питоновод
- Откуда: г. Симферорполь
- Контактная информация:
Re: Расчет длины линий в полигональном слое
Для решения такой задачи я бы написал модуль на Python. Посчитать не проблема. Соглашусь с freeExec, не понятно как хранить значения длин всех граней в атрибутах одного полигона. Просто через запятую? Или нужно как-то различать какая грань имеет какую длину?
-
- Гуру
- Сообщения: 5292
- Зарегистрирован: 09 апр 2010, 19:30
- Репутация: 1015
- Ваше звание: просто мимо прохожу
- Откуда: Ё-бург
Re: Расчет длины линий в полигональном слое
можно создать представление
-
- Новоприбывший
- Сообщения: 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можно создать представление
-
- Новоприбывший
- Сообщения: 10
- Зарегистрирован: 26 апр 2011, 11:56
- Репутация: 0
Re: Расчет длины линий в полигональном слое
если это нужно для лабелов, то я бы создал отдельный точечный слой(таблицу в бд) с координатам местоположения и параметрами для отображения значения (значение длины линии, угол, отступ и тд) и тригер для создания этих точек на базе.
-
- Гуру
- Сообщения: 5292
- Зарегистрирован: 09 апр 2010, 19:30
- Репутация: 1015
- Ваше звание: просто мимо прохожу
- Откуда: Ё-бург
Re: Расчет длины линий в полигональном слое
CREATE VIEW
QGIS открывает VIEW как слой
QGIS открывает VIEW как слой
-
- Новоприбывший
- Сообщения: 5
- Зарегистрирован: 26 мар 2018, 16:52
- Репутация: 0
- Откуда: Belarus
Re: Расчет длины линий в полигональном слое
Всем спасибо, буду думать в этом направлении.
Кто сейчас на конференции
Сейчас этот форум просматривают: tikhpetr и 27 гостей