Слияние по атрибуту (Dissolve) (Покрытие)
Резюме
Создает новое покрытие посредством слияния соседних полигонов, линий или регионов, которые имеют одинаковое значение для заданного элемента.
Рисунок
Использование
-
Этот инструмент используется для создания упрощенного покрытия из более сложного. Несмотря на то, что входное покрытие может содержать информацию о многих атрибутах объектов, выходное покрытие содержит информацию только о поле для слияния.
-
Слияние полигонов с помощью этого инструмента является аналогом пересекающихся полигонов при наложениях. Слияние (Dissolve) устраняет границы.
-
Выходное покрытие уже не может существовать.
-
Слияние (Dissolve) сохраняет линейные данные, относящиеся к разным плановым графам (planar graphs) в одном и том же покрытии. Они могут включать дуги, представляющие вспомогательные кабели на различных уровнях, или дорогу, проходящую над ручьем. В случае если появились дуги, которые должны пересечься, но не пересеклись, узлы в том месте, где они должны пересечься, добавляться не будут. Совпадающие и коллинеарные отрезки линий сохраняются; могут быть добавлены дополнительные вершины. Две коллинеарные дуги, одна из которых представляет дорогу и следует за другой, представляющей ручей, будут сохранены как коллинеарные.
-
С опцией POLY инструмент Слияние (Dissolve) удалит висячие дуги и псевдо узлы. Выходное покрытие PAT с опцией POLY или выходное покрытие AAT с опцией LINE будет содержать только поле для слияния без каких-либо дополнительных атрибутов. Если в качестве поля для слияния используется #ALL, то определения и данные элемента входного покрытия будут сохранены в выходном покрытии, но пользовательские ID будут изменены.
-
Если атрибуты псевдо узла не нулевые и не пустые, то дуги не будут соединены для полигональных объектов.
-
Системы маршрутов копируются в выходное покрытие. Если задана опция NET, то примыкающие к удаленным дугам секции будут удалены, а ARCLINK# получит новый номер. Если будет указана опция LINE, то секции, находящиеся на сливающихся дугах, будут иметь такие значения F-POS и T-POS, что они будут занимать тот же набор местоположений, что и ранее.
-
Этот инструмент поддерживает все подклассы секций.
-
Подклассы регионов поддерживаются опциями POLY и NET. Регионы могут изменять форму, когда происходит слияние полигонов или дуг.
-
С опцией NET инструмент Слияние (Dissolve) не удалит висячие дуги или псевдо узлы. Выходное покрытие AAT будет иметь те же поля, что и входное покрытие; удалены будут только записи для сливающихся дуг.
-
С опцией NET дуги будут соединены, если значения всех полей одной дуги будут идентичны значениям всех полей другой дуги, по каждому полю в отдельности.
-
NAT будет поддерживаться для любых узлов со слившимися дугами.
-
Полигоны, полученные посредством инструмента Слияние (Dissolve) с опцией POLY, будут содержать и топологию, и атрибуты. Поля в PAT будут следующие: AREA, PERIMETER, COVER#, COVER-ID и поле для слияния.
-
Если всем атрибутам полигонов будет присвоено одинаковое значение кода, то инструмент Слияние (Dissolve) с POLY с помощью опции #ALL даст вам нулевой набор. Если вы хотите сохранить ограничивающий или внешний полигон, убедитесь, что этой области полигона присвоено кодовое значение, отличное от остального набора.
-
Поле для слияния может быть переопределяемым элементом. Если используется переопределяемое поле, то его начальный столбец должен быть начальным столбцом обычного поля, а его конечный столбец должен быть конечным столбцом обычного поля. Переопределяемое поле может охватывать несколько обычных полей. Все переопределяемые поля, целиком размещающиеся в своем диапазоне, будут перенесены в таблицу атрибутов выходных пространственных объектов.
-
Линии, полученные посредством инструмента Слияние (Dissolve) с опцией LINE будут содержать атрибуты. Поля в AAT будут следующие: FNODE#, TNODE#, LPOLY#, RPOLY#, LENGTH, COVER#, COVER-ID и поле для слияния. С опцией LINE сохраняются все переопределяемые поля. Слияние допускается на полях выравнивания, создающих поле, которое называется EQUATION (выравнивание).
-
Регионы, полученные посредством инструмента Слияние (Dissolve) с REGION.subclass будут содержать и топологию, и атрибуты. Поля в регионе PAT будут следующие: AREA, PERIMETER, SUBCLASS#, SUBCLASS-ID и поле для слияния. Если во входном покрытии имеются атрибуты полигонов и дуг, то они будут сохранены и в выходном покрытии.
-
Точность координат выходного покрытия определяется текущими настройками среды обработки. Настройкой точности по умолчанию для полученных покрытий является HIGHEST; Инструмент Слияние (Dissolve) создаст покрытие на выходе с той же точностью, что и на входе.
-
Файл проекции (PRJ) будет скопирован в выходное покрытие.
-
Максимальное количество соединенных с узлом дуг, которое может быть обработано в покрытии инструментом Слияние (Dissolve), равно 100.
-
Слияние (Dissolve) удаляет узлы или дуги между расположенными рядом линиями или полигонами, которые содержат одинаковые значения для поля слияния.
-
Когда используются опции POLY или NET и объединённые полигоны содержат точки меток, то одна из этих точек будет сохранена в выходном покрытии. Если задана опция POLY, удаляются любые по длине висячие дуги; псевдо узлы также удаляются, за исключением случаев, когда они являются единственным узлом в полигоне (например, в островных и кольцевых полигонах).
-
При установке опции LINE инструмент Слияние (Dissolve) удаляет узлы между смежными дугами, которые содержат одинаковые значения для поля слияния. Новое значение cover-ID объединенной дуги будет равно самому низкому значению cover-ID соединяемых дуг. Если полученная дуга достигнет лимита размера 500 вершин на дугу (500-vertex-per-arc), то будет добавлен псевдо узел и будет начата новая дуга.
-
Когда задана опция NET, дуги соединяются как единицы, и прежде чем будут соединены две дуги, общее число вершин сопоставляется с лимитом в 500 вершин. Если лимит превышен, соединения не происходит.
Синтаксис
Параметр | Объяснение | Тип данных |
in_cover |
Покрытие, содержащее объекты для слияния. | Coverage |
out_cover |
Создаваемое покрытие. Выходное покрытие уже не может существовать. | Coverage |
dissolve_item |
Поле в таблице атрибутов пространственных объектов in_cover, которое используется для слияния объектов.
| String |
feature_type (дополнительно) |
Классы пространственных объектов, которые будут сохранены в выходном покрытии:
| String |
Пример кода
Следующий автономный скрипт демонстрирует порядок слияния полигонов в более крупные секции.
# Name: Dissolve_Example.py
# Description: Dissolves polygons into larger sections
# Requirements: ArcInfo Workstation
# Import system modules
import arcpy
from arcpy import env
# Set environment settings
env.workspace = "C:/data"
# Set local variables
inCover = "tra_airport"
outCover = "C:/output/airport_sect"
dissolveItem = "section"
featureType = "POLY"
# Execute Dissolve
arcpy.Dissolve_arc(inCover, outCover, dissolveItem, featureType)