Как склеить полигоны с общей границей (не ручной способ)

ArcGIS 8.x,9.x,10.x (Arcview, ArcEditor, Arcinfo).
Ответить
Аватара пользователя
Natalia Novoselova
Гуру
Сообщения: 3020
Зарегистрирован: 15 янв 2013, 20:14
Репутация: 69
Ваше звание: Лиса
Откуда: **
Контактная информация:

Как склеить полигоны с общей границей (не ручной способ)

Сообщение Natalia Novoselova » 19 окт 2022, 20:35

Каким инструментом или скриптом можно выполнить автоматическую операцию сращивания полигонов, имеющих общую границу?

Имеется в виду не ручной способ (Так, в ArcGIS руками для каждого случая отдельно это можно сделать инструментом Merge, который открывается при включении режима Edit).

Дано:
Есть множество полигонов. Внутри которых - есть множество случаев того, что некоторое число полигонов имеют общую границу. И все такие надо склеить друг с другом и превратить в единые объекты (Но только те, что имеют общую границу, а не все вообще полигоны в слое склеить друг с другом, понятно..). То есть на выходе должен быть шейп, состоящий из полигонов, в которых все прежде разделенные границами полигоны - являются цельными.


При этом надо еще чтобы одно текстовое поле производного слоя отобразило одну характеристику срощенных объектов (тип). Они имеют 3 типа категорий- Type1, Type2, Type3. Например, если срощенный полигон включил в себя полигоны типа 1 и 2, то в каком-то поле атрибутивной таблицы производного слоя это должно быть отражено (Type1, Type2). Если включил все три типа - то "Type1, Type2,Type3)". Можно и иным способом, но чтобы было понятно, какие категории включены в каждый срощенный полигон.


Есть ли такое решение в ArcGIS или QGIS?

Ivor
Завсегдатай
Сообщения: 345
Зарегистрирован: 11 дек 2006, 09:46
Репутация: 102
Откуда: Иркутск

Re: Как склеить полигоны с общей границей (не ручной способ)

Сообщение Ivor » 20 окт 2022, 03:55

Самый дубовый способ: сконвертить полигоны в точки -> объединить все полигоны в один -> разбить мультипарт -> пространственным объединением занести в полигоны атрибуты точек - там есть настройка объединения полей. Получится примерно требуемое

Аватара пользователя
Natalia Novoselova
Гуру
Сообщения: 3020
Зарегистрирован: 15 янв 2013, 20:14
Репутация: 69
Ваше звание: Лиса
Откуда: **
Контактная информация:

Re: Как склеить полигоны с общей границей (не ручной способ)

Сообщение Natalia Novoselova » 20 окт 2022, 19:18

Ivor писал(а):
20 окт 2022, 03:55
Самый дубовый способ: сконвертить полигоны в точки -> объединить все полигоны в один -> разбить мультипарт -> пространственным объединением занести в полигоны атрибуты точек - там есть настройка объединения полей. Получится примерно требуемое
Вот я нашла еще одно неплохое решение в ArcGIS Pro. Зафиксирую.

1. Сращиванию фрагментов, имеющих общие границы (Dissolve Baundaries Tool\ Geoprocessing)
При этом не сращиваются полигоны, которые имеют только 1 общую точку (мне так оказалось лучше).

2.Для каждой созданной срощенной шейп полигональной темы провести операцию Spatial Join для присоединения атрибутов шейп слоя до сращивания.

Кликнуть на срощенный слой – Join and Relates – Spatial Join. В Match Option: Boundary touches, Join one to one.
Для текстового поля (у меня называется Legenda) выбрать Join – В производном шейпе текстовые описания будут складываться из всех вошедших типов! С числовыми полями сложить не получилось, так что выход - складывать текстовые. При этом этим сложением он еще и показывает, сколько всего вошло полигонов. Может быть не удобно, если их много.

При этом полигоны, соприкасающиеся по одной точке и которые остались НЕсрощенными, приобретают ID одного из них. Чтобы вернуть им их собственный ID я провела повторную операцию Spatial Join с исходным несрощенным слоем (Match Option=Within).

Ivor
Завсегдатай
Сообщения: 345
Зарегистрирован: 11 дек 2006, 09:46
Репутация: 102
Откуда: Иркутск

Re: Как склеить полигоны с общей границей (не ручной способ)

Сообщение Ivor » 21 окт 2022, 03:11

Natalia Novoselova, у меня прошки нет, а в обычном arcgis этих инструментов нет. То, что указал я, по сути то же самое, но работает везде

Ответить

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

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

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