Длина сегмента (линии) у Полигона

Не знаете, где задать вопрос? Задавайте здесь.
Ответить
MrArhitector
Интересующийся
Сообщения: 27
Зарегистрирован: 27 апр 2017, 20:32
Репутация: 0

Длина сегмента (линии) у Полигона

Сообщение MrArhitector » 16 фев 2019, 13:59

Возможно ли как то вычислить длину линии (сегмента) полигона по узлам? Например, построил полигон в виде треугольника. Он состоит из 3-х линий и у него в таблице параметров или около каждой линии показана его длина в метрах.

trir
Гуру
Сообщения: 5287
Зарегистрирован: 09 апр 2010, 19:30
Репутация: 1015
Ваше звание: просто мимо прохожу
Откуда: Ё-бург

Re: Длина сегмента (линии) у Полигона

Сообщение trir » 16 фев 2019, 14:18

SQL

MrArhitector
Интересующийся
Сообщения: 27
Зарегистрирован: 27 апр 2017, 20:32
Репутация: 0

Re: Длина сегмента (линии) у Полигона

Сообщение MrArhitector » 16 фев 2019, 20:10

trir писал(а):
16 фев 2019, 14:18
SQL
Правильно я понял, что нужно воспользоваться инструментом "Менеджер Базы данных" - выбрать там нужный слой и включить запрос SQL?

trir
Гуру
Сообщения: 5287
Зарегистрирован: 09 апр 2010, 19:30
Репутация: 1015
Ваше звание: просто мимо прохожу
Откуда: Ё-бург

Re: Длина сегмента (линии) у Полигона

Сообщение trir » 16 фев 2019, 20:59

нет, загрузить данные в нормальную БД и написать в ней функцию которая будет возвращать требуемое значение

хотя можно обойтись и одним запросом

Код: Выделить всё

g.STPointN(i).STDistance(g.STPointN(i+1)) 

MrArhitector
Интересующийся
Сообщения: 27
Зарегистрирован: 27 апр 2017, 20:32
Репутация: 0

Re: Длина сегмента (линии) у Полигона

Сообщение MrArhitector » 18 фев 2019, 16:42

trir писал(а):
16 фев 2019, 20:59
в нормальную БД
Буду признателен, если покажете как это делать. Как создать нормальную БД?

voltusya
Участник
Сообщения: 78
Зарегистрирован: 04 ноя 2014, 18:40
Репутация: 48
Откуда: Санкт-Петербург

Re: Длина сегмента (линии) у Полигона

Сообщение voltusya » 18 фев 2019, 16:50

Для одноразовой задачи можно обойтись и без БД. Самый простой способ перевести ваши полигоны в линии (polygon to lines), потом explode lines и посчитать их длины через калькулятор атрибутов командой $length (проверьте, что у вас метрическая система координат). А потом можете настроить нужное отображение.

trir
Гуру
Сообщения: 5287
Зарегистрирован: 09 апр 2010, 19:30
Репутация: 1015
Ваше звание: просто мимо прохожу
Откуда: Ё-бург

Re: Длина сегмента (линии) у Полигона

Сообщение trir » 19 фев 2019, 07:12

0. Выбрать ядро БД : SQLite, PostGIS, MS SQL Server, MySQL
1. Установить ядро и утилиты. Если выбрать SQLite то ядро уже есть, но понанодобятся инструменты администрирования. Лично мне нравится MS SQL Server, для него понадобится установить сервер БД и GUI
2. Импорт данных в БД - для этого есть OGR, ogr2gui и куча других инструментов
3. Запускаем инструмент администрирования и шпарим запросы
Изображение

Ответить

Вернуться в «Я новичок!»

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

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