Как создать параллельную линию для линейных объектов?

Вопросы по нескольким пакетам сразу, или вопросы, которые непонятно к какой ГИС отнести
Ответить
Kapustka
Новоприбывший
Сообщения: 9
Зарегистрирован: 20 янв 2023, 12:30
Репутация: 1
Откуда: Белгород

Как создать параллельную линию для линейных объектов?

Сообщение Kapustka » 01 фев 2023, 16:58

Приветствую Вас! У меня следующая задача, есть слой содержащий изолинии с 0 отметкой уровня моря. Мне необходимо создать параллельную ей линиию на некотором небольшом расстоянии от нее. Я попробовал использовать инструмент буфер в ArcGIS и Global Mapper, а потом получившийся полигон преобразовал в линейный объект, но получились закольцованные линии(см. скрин) и так как объем данных у меня очень большой, то разрывать каждую линию и удалять лишнее мне будет крайне неудобно. Если в данных ГИС-софтах такой функционал который сможет просто построить параллельную линию для всех линейых объектов? Или каким способом даную задачу можно решить?
Вложения
Screenshot_7.png
Screenshot_7.png (7.34 КБ) 3228 просмотров

tikhpetr
Гуру
Сообщения: 1081
Зарегистрирован: 30 окт 2014, 16:33
Репутация: 153
Откуда: г. Жуковский МО

Re: Как создать параллельную линию для линейных объектов?

Сообщение tikhpetr » 01 фев 2023, 21:17

А в чем затык? Выделете нужную Вам линию и экспортируете ее в отдельный файл. После экспорта, не снимая выделения делаете исходной линии вот так:
1.png
1.png (154.15 КБ) 3213 просмотров
А потом открываете экспортированный файл. Все.

tikhpetr
Гуру
Сообщения: 1081
Зарегистрирован: 30 окт 2014, 16:33
Репутация: 153
Откуда: г. Жуковский МО

Re: Как создать параллельную линию для линейных объектов?

Сообщение tikhpetr » 01 фев 2023, 21:20

Это делается из меню: Move/Reshape Feature - Shift(OFFset) Line Feature.

gamm
Гуру
Сообщения: 4048
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1050
Ваше звание: программист
Откуда: Казань

Re: Как создать параллельную линию для линейных объектов?

Сообщение gamm » 02 фев 2023, 07:59

1) эквидистанта не есть результат переноса всех точек в одном напралении, в качестве примера можно рассмотреть почти замкнутую окружность.
2) автор правильно начал с буфера, ему нужно только создать замкнутую линию, для которой строится буфер - построив топологию, раз у него есть Арка. Будет два кольца, останется выбрать нужное.
3) если форма линии такова, что при построении буфера возникает много артефактов, то проще всего снести линию на растр подходящей детальности, сделать дистанционное преобразование, и построить изолинию на нужном расстоянии.

AlexRomantsov
Завсегдатай
Сообщения: 299
Зарегистрирован: 24 мар 2022, 05:54
Репутация: 136
Ваше звание: хм, сам не знал
Откуда: Томск

Re: Как создать параллельную линию для линейных объектов?

Сообщение AlexRomantsov » 02 фев 2023, 08:34

QGIS, добавте в карту ваш слой с берегоаыми, Анализ - Вектор - Геометрия - Параллельные линии.

tikhpetr
Гуру
Сообщения: 1081
Зарегистрирован: 30 окт 2014, 16:33
Репутация: 153
Откуда: г. Жуковский МО

Re: Как создать параллельную линию для линейных объектов?

Сообщение tikhpetr » 02 фев 2023, 09:43

gamm, Приветствую! А разве механизм(математика) построения буфера отличается от сдвига. По сути - это построение множества равноудаленных точек. Нес па? Или нет? Я говорю именно про GM.

gamm
Гуру
Сообщения: 4048
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1050
Ваше звание: программист
Откуда: Казань

Re: Как создать параллельную линию для линейных объектов?

Сообщение gamm » 02 фев 2023, 10:28

буфер это всегда эквидистанта, там сдвиг не всех в одну сторону, а по нормали в каждой точке. Грубо говоря, сдвигаются все сегменты параллельно себе, потом ищутся пересечения продолженных копий, и строится топология, при этом меняется длина копий сегментов (в вогнутых областях сокращается, в выпуклых увеличивается, так что это никак не перенос). Я же сказал, посмотрите на буфер для окружности (или почти замкнутой в окружность линии)

tikhpetr
Гуру
Сообщения: 1081
Зарегистрирован: 30 окт 2014, 16:33
Репутация: 153
Откуда: г. Жуковский МО

Re: Как создать параллельную линию для линейных объектов?

Сообщение tikhpetr » 02 фев 2023, 15:27

Так, это я понял, но как мне кажется, учитывая смежную ветку, ТС хочет именно сдвинуть, а не создать "параллельную" изобату.

gamm
Гуру
Сообщения: 4048
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1050
Ваше звание: программист
Откуда: Казань

Re: Как создать параллельную линию для линейных объектов?

Сообщение gamm » 02 фев 2023, 15:53

Kapustka писал(а):
01 фев 2023, 16:58
Мне необходимо создать параллельную ей линиию на некотором небольшом расстоянии от нее.
изобаты замкнутые.

Kapustka
Новоприбывший
Сообщения: 9
Зарегистрирован: 20 янв 2023, 12:30
Репутация: 1
Откуда: Белгород

Re: Как создать параллельную линию для линейных объектов?

Сообщение Kapustka » 02 фев 2023, 16:04

Да, действительно, SHIFT не подходит для моей задачи, а функция буфера строит не 2 линии, а полигон, подскаажите способ как сей полигон преобразовать в 2 отдельных линии?

Kapustka
Новоприбывший
Сообщения: 9
Зарегистрирован: 20 янв 2023, 12:30
Репутация: 1
Откуда: Белгород

Re: Как создать параллельную линию для линейных объектов?

Сообщение Kapustka » 02 фев 2023, 16:10

tikhpetr писал(а):
02 фев 2023, 15:27
Так, это я понял, но как мне кажется, учитывая смежную ветку, ТС хочет именно сдвинуть, а не создать "параллельную" изобату.
Как раз таки именно не сдвинуть, а построить параллельную, чтобы оно на изгибах удлиннялось или сокращалось, чтобы вокруг острова создалась еще одна изолиния, которой я мог бы задать отрицательное значение и исключить тем самым территорию морского дна при интерполяции для создания модели рельефа.
Последний раз редактировалось Kapustka 02 фев 2023, 16:11, всего редактировалось 1 раз.

gamm
Гуру
Сообщения: 4048
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1050
Ваше звание: программист
Откуда: Казань

Re: Как создать параллельную линию для линейных объектов?

Сообщение gamm » 02 фев 2023, 16:11

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

Kapustka
Новоприбывший
Сообщения: 9
Зарегистрирован: 20 янв 2023, 12:30
Репутация: 1
Откуда: Белгород

Re: Как создать параллельную линию для линейных объектов?

Сообщение Kapustka » 02 фев 2023, 16:31

gamm писал(а):
02 фев 2023, 16:11
я же сказал, делать буфер для замкнутой линии, потом развалить его на части, и выбрать нужную.
А можно пожалуйста поподробнее о том как её собственно развалить в global mapper и желательно так чтобы это было именно 2 линии не одна закольцованная?

gamm
Гуру
Сообщения: 4048
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1050
Ваше звание: программист
Откуда: Казань

Re: Как создать параллельную линию для линейных объектов?

Сообщение gamm » 02 фев 2023, 17:21

если строить буфер для замкнутой линии, то будет два кольца. И про кнопки - у меня нет ни GM, ни Арки, я программист. Я все это сам пишу ...

Kapustka
Новоприбывший
Сообщения: 9
Зарегистрирован: 20 янв 2023, 12:30
Репутация: 1
Откуда: Белгород

Re: Как создать параллельную линию для линейных объектов?

Сообщение Kapustka » 02 фев 2023, 17:32

AlexRomantsov писал(а):
02 фев 2023, 08:34
QGIS, добавте в карту ваш слой с берегоаыми, Анализ - Вектор - Геометрия - Параллельные линии.
Данный метод оказался оптимальным для решения моей задачи, благодарю!

Ответить

Вернуться в «Общий - ПО»

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

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