Удаление (Eliminate) (Покрытие)
Резюме
Соединяет выбранные полигоны с соседними полигонами, если они имеют большую протяженность общей границы или большую площадь.
Удаление (Eliminate) часто используется для удаления небольших осколочных полигонов, созданных в ходе операций наложения или буферизации. Когда включена опция LINE, инструмент Удаление (Eliminate) соединяет выбранные дуги, которые разделены псевдо узлами на отдельные дуги.
Более подробно о том, как работает инструмент Удаление (Eliminate)
Рисунок
![]() |
Использование
-
Будет удален только выбранный набор полигонов или линий. Когда задана опция KEEP_EDGE, не будут удаляться полигоны, граничащие с фоновыми (background) полигонами.
-
Когда установлена опция POLY, дуга с негативным User-ID никогда не будет удалена, даже если она является самой длинной дугой выбранного полигона. Когда это происходит, удаляется следующая самая длинная дуга, если только она не вдоль границы покрытия при выбранной опции Сохранить границу полигона (Keep polygon boundary), или Сохранить ребро (KEEP_EDGE).
-
Возможно удалить осколочный полигон, существующий как соседний фоновому полигону, если не подключать опцию Сохранить границу полигона (Keep polygon boundary), или Не сохранять ребро (NO_KEEP_EDGE), и при этом сохранить внешние границы полигона. Постройте (Build) покрытие с помощью опции LINE, затем Повторно выберите (Reselect) на cover.AAT, используя следующее логическое выражение:
LPOLY# = 1 OR RPOLY# = 1 Calculate the cover-id equal to -1. Eliminate will not eliminate an arc with a negative User-ID.
-
Когда для типа пространственных объектов установлена опция POLY, системы маршрутов, привязанные к удаленным дугам, будут удалены, и ARCLINK# получит новый номер. Когда для типа пространственных объектов установлена опция LINE, системы маршрутов, относящиеся к удаленным дугам (в т.ч. удаленным инструментом Удаление (Eliminate), будут удалены. Те же системы маршрутов, которые относятся к дугам, которые стали длиннее за счет поглощенных дуг, получат измененные F-POS и T-POS и таким образом будут занимать тот же набор местоположений, что и ранее.
-
При включенной опции LINE все дуги должны быть разбиты на части там, где они пересекают другие дуги. Выполнение будет прервано инструментом Удаление (Eliminate), если будут обнаружены перекрывающиеся дуги. Для того, чтобы разбить дуги, можно использовать инструмент Очистить (Clean) с опцией LINE.
-
Если во входном покрытии имеется NAT (node attribute table - таблица атрибутов узлов), то она будет поддерживаться и в выходном покрытии.
-
Использование индексированных полей может ускорить логическую выборку объектов в инструменте Удаление (Eliminate). Более подробно см. Индексация поля (Index Item).
-
Аннотация входного покрытия копируется в выходное покрытие.
-
Файл проекции (PRJ) будет скопирован в выходное покрытие.
-
Если входное покрытие имеет регионы, то они будут поддерживаться в выходном покрытии с соответствующими полигонами, удаленными из подклассов регионов.
-
Синтаксис
Параметр | Объяснение | Тип данных |
in_cover |
Покрытие, выбранные полигоны или дуги которого будут присоединены к соседним пространственным объектам. | Coverage |
out_cover |
Новое покрытие со всеми выбранными осколочными полигонами, объединенными в более крупные пространственные объекты. Здесь количество полигонов должно быть меньше, чем их имеется во входном покрытии. | Coverage |
info_express [info_express,...] |
Запрос INFO, содержащий одно или более логических выражений для выбора объектов из входного покрытия.
| INFO Expression |
polygon_boundary (дополнительно) |
Обеспечивает неизменность полигонов вдоль границы покрытия.
| Boolean |
feature_type (дополнительно) |
Классы пространственных объектов, которые будут удалены в выходном покрытии. Этот параметр используется только для полигональных покрытий.
| String |
selection_file (дополнительно) |
Файл выборки является предсуществующим, распознающим объекты, которые будут использоваться. | File |
polygon_option (дополнительно) |
Указывает, какой метод будет использован для удаления полигонов. Этот параметр используется только для полигональных покрытий.
| Boolean |
Пример кода
В следующем автономном скрипте показано, как удаляются из покрытия осколочные полигоны.
# Name: Eliminate_Example.py
# Description: Removes sliver polygons from an input coverage
# Requirements: ArcInfo Workstation
# Import system modules
import arcpy
from arcpy import env
# Set environment settings
env.workspace = "C:/data"
# Set local variables
inCover = "txlnd"
outCover = "C:/output/texout"
infoExpress = "reselect AREA LE 68000"
polygonBoundary = "KEEP_EDGE"
featureType = "POLY"
polygonOption = "AREA"
# Execute Eliminate
arcpy.Eliminate_arc(inCover, outCover, infoExpress, polygonBoundary,
featureType, "", polygonOption)