Страница 1 из 1

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

Добавлено: 01 фев 2023, 16:58
Kapustka
Приветствую Вас! У меня следующая задача, есть слой содержащий изолинии с 0 отметкой уровня моря. Мне необходимо создать параллельную ей линиию на некотором небольшом расстоянии от нее. Я попробовал использовать инструмент буфер в ArcGIS и Global Mapper, а потом получившийся полигон преобразовал в линейный объект, но получились закольцованные линии(см. скрин) и так как объем данных у меня очень большой, то разрывать каждую линию и удалять лишнее мне будет крайне неудобно. Если в данных ГИС-софтах такой функционал который сможет просто построить параллельную линию для всех линейых объектов? Или каким способом даную задачу можно решить?

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

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

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

Добавлено: 01 фев 2023, 21:20
tikhpetr
Это делается из меню: Move/Reshape Feature - Shift(OFFset) Line Feature.

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

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

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

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

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

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

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

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

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

Добавлено: 02 фев 2023, 15:27
tikhpetr
Так, это я понял, но как мне кажется, учитывая смежную ветку, ТС хочет именно сдвинуть, а не создать "параллельную" изобату.

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

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

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

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

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

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

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

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

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

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

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

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

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

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