Доступно с лицензией Advanced.
Сводка
Создает покрытие с корректной полигональной или линейно-узловой топологией. С этой целью инструмент Очистить (Clean) редактирует и корректирует ошибки координат геометрии, собирает дуги в полигоны и создает атрибутивную информацию для каждого полигона или для каждой дуги (т.е. создает таблицу PAT или AAT).
Иллюстрация
Использование
Во время выполнения инструмент Очистить (Clean):
- Находит пересечения дуг, объединяет дуги и записывает пересечения в качестве узлов (как конечные точки дуг).
- Сливает координаты в пределах допуска неразличимости. Из-за того что допуск неразличимости (fuzzy tolerance) фактически двигает вершины дуг, очень важно понимание его связи с разрешением покрытия.
- Создает список дуг, формирующих границу полигона, нумерует узлы и создает для каждой дуги идентификаторы "От-узла" (From-node) и "К-узлу" (To-node), а также номера полигонов "слева" и "справа" от каждой дуги.
- Удаляет висячие дуги, имеющие длину менее указанной в параметре длина висячей дуги (dangle length).
- Строит полигональную атрибутивную таблицу (PAT) или линейную атрибутивную таблицы (AAT) – в зависимости от выбранной опции. Подсчитывает площадь и периметр каждого полигона и сохраняет эту информацию вместе со внутренним номером полигона и User-ID в PAT. Если входное покрытие имеет PAT, исходный внутренний номер полигона используется, чтобы связывать любые дополнительные поля в PAT для PAT выходного покрытия.
Если входное покрытие имеет таблицу PAT или AAT, они будут автоматически обновлены в выходном покрытии при использовании опции POLY (ПОЛИГОН). При использовании опции LINE (ЛИНИЯ) будет обновлена лишь таблица AAT. Внутренний номер каждого объекта входного покрытия используется для связи атрибутивной информации таблицы объектов входного покрытия и выходного покрытия и позволяет убедиться в том, что атрибуты корректно присоединены к объектам выходных атрибутивных таблиц. Идентификаторы User-ID не должны быть обязательно уникальными для подтверждения того, что каждый входной объект хранит атрибуты в выходном покрытии.
Не запускайте инструмент Очистить (Clean) для географического покрытия. Географические покрытия имеют такие единицы измерения, как десятичные градусы, десятичные секунды, радианы и т.д. Единицы измерения разработаны для углов, они не меряют расстояния. Они отображают сферическую систему координат, которую не нужно путать с прямоугольной системой координат, для работы в которой и разработаны такие команды, как Очистить (Clean), Буфер (Buffer), Объединение (Union) и другие оверлейные процедуры. Прежде всего необходимо Проецировать географическое покрытие, используя подходящую проекцию, чтобы преобразовать значения углов широты и долготы в угловых единицах измерения в прямолинейную двухмерную декартову систему координат, использующую прямолинейные единицы измерения, такие как футы, метры, километры и т.д.
Команда Очистить (Clean) требует примерно в 13 раз больше свободного места на диске, чем объем входного покрытия, что связано с необходимостью создания временных файлов. Эти временные файлы создаются по умолчанию в текущей рабочей области. Вы можете изменить настройку по умолчанию и создавать временные файлы в другой директории, задав переменную ARCTMPDIR. Вам требуются права на запись данных в эту директорию.
Подробнее о создаваемых инструментами геообработки временных файлах
Точки меток полигонов для запуска команды Очистить (Clean) не требуются, но понадобятся, если вы хотите получить ненулевые идентификаторы User-ID для полигонов. Полигоны, не имеющие точек меток, получают нулевые User-ID при очистке.
Перед очисткой создайте для каждого полигона одну точку метки. Если полигон имеет несколько точек меток, одной из них будет случайным образом присвоен User-ID. Если даже одна точка метки выбрана для присвоения User-ID, остальные не будут удалены процедурой Очистить (Clean).
Запуск инструмента Очистить (Clean) с опцией POLY (ПОЛИГОН) создает дополнительный полигон, называемый фоновым или универсальным. Этому полигону всегда присваивается внутренний номер 1, а его площадь равна сумме площадей всех остальных полигонов покрытия. В таблице PAT эта площадь имеет знак "минус".
Параметры Длина висячей дуги (Dangle Length) и Допуск неразличимости (Fuzzy Tolerance) для выходного покрытия устанавливаются и проверяются процедурой Очистить (Clean).
Инструмент Очистить (Clean) использует допуск неразличимости. Это расстояние, в пределах которого данный инструмент может перемещать пространственные объекты, удалять дублирующиеся узлы, создавать узлы в точках пересечения линий и удалять дублирующиеся объекты. Допуск неразличимости измеряется в единицах покрытия. При использовании инструмента очистки очень важно назначить соответствующий допуск неразличимости, чтобы нужные объекты не были удалены по ошибке.
Опции POLY (ПОЛИГОН) и LINE (ЛИНИЯ) инструмента Очистить (Clean) обновят SEC и RAT, учитывая разбиение и перенумерацию дуг. Однако любые маршруты и секции, прикрепленные к дугам, слитые допуском неразличимости, будут удалены.
Системы маршрутов входного покрытия будут сохраняться в выходном покрытии до тех пор, пока у каждого маршрута есть свой уникальный User-ID.
Команда Очистить (Clean) не может быть запущена для регионального покрытия с незамкнутыми регионами. Процедура Очистить (Clean) прекратит работу при обнаружении незамкнутого региона.
Инструмент Очистить (Clean) с опцией LINE (ЛИНИЯ) не сохранит никакой информации подкласса регионов (ни топологию, ни атрибуты). Опция LINE (ЛИНИЯ) удалит файлы таблиц .PAT и .PATsubclass.
Инструмент Очистить (Clean) с опцией POLY (ПОЛИГОН) сохранит топологию регионов. Если существует временная топология регионов, инструмент Очистить (Clean) построит региональную топологию, создав .PAT и .PATsubclass.
Инструмент Очистить (Clean) копирует аннотации входного покрытия в выходное.
Ссылки не сохраняются после запуска инструмента Очистить (Clean).
Инструмент Очистить (Clean) обновит таблицу NAT в случае ее наличия во входном покрытии. Атрибуты новых узлов будут установлены на ноль.
Инструмент Очистить (Clean) обновит все таблицы SEC, имеющиеся во входном покрытии. Разбитые секции дуг также разбиваются, а измерения в этих дугах обновляются.
Не используйте инструмент Очистить (Clean) для покрытий COGO. Все разбитые инструментом Очистить (Clean) дуги не получат обновленных атрибутов COGO. Например, дуга со значением DISTANCE (РАССТОЯНИЯ), равным 100, разбитая операцией Очистить (Clean), превратится в две новых дуги со значениями DISTANCE (РАССТОЯНИЯ), равными 100. Воспользуйтесь инструментом Построить (Build) и затем разрешите проблему перекрывающихся дуг в среде редактирования COGO.
При копировании покрытия двойной точности в покрытие одинарной точности воспользуйтесь инструментом Очистить (Clean) для перестроения полигональной топологии выходного покрытия.
Для покрытий одинарной точности инструмент Очистить (Clean) рассчитывает минимальный допуск на основе математической точности покрытия (которая основывается на ширине BND и количестве десятичных знаков). Если вычисленный минимальный допуск оказывается большим допуска неразличимости, введенного в командную строку, будет использоваться вычисленный минимальный допуск.
Точность координат выходного покрытия определяется текущим правилом обработки, заданным в установках точности для Вычисляемых покрытий (Derived Coverages). Если в ходе текущего сеанса правило обработки не установлено, тогда оно будет иметь значение НАИВЫСШЕЕ (HIGHEST). Это значит, что инструмент Очистить (Clean) создаст выходное покрытие с той же точностью, что и входное.
Файл проекции (PRJ) будет скопирован в выходное покрытие.
Синтаксис
arcpy.arc.Clean(in_cover, {out_cover}, {dangle_length}, {fuzzy_tolerance}, {feature_type})
Параметр | Объяснение | Тип данных |
in_cover | Очищаемое покрытие. | Coverage |
out_cover (Дополнительный) | Покрытие, созданное инструментом Очистить (Clean). Если имена входного и выходного покрытий совпадают, входное покрытие будет замещено выходным. По умолчанию, входное покрытие замещается. | Coverage |
dangle_length (Дополнительный) | Минимальная допустимая длина висячей дуги в выходном покрытии. Висячая дуга – это дуга, которая имеет одинаковый внутренний номер полигона и по левую и по правую стороны от нее, а также оканчивается висячим узлом. Висячие дуги удаляются для опций POLY и LINE. Если не указано значение Длины висячей дуги (Dangle Length), оно будет взято из файла TOL покрытия в случае его наличия. Если же такого файла нет, значение длины висячей дуги будет равно нулю. | Double |
fuzzy_tolerance (Дополнительный) | Минимальное расстояние между координатами в каждом out_cover. Дополнительные сведения о вычислении нечеткого допуска по умолчанию (Learn more about how the default fuzzy tolerance is calculated) | Double |
feature_type (Дополнительный) | Определяет, будет ли создаваться полигональная топология с таблицей PAT или линейно-узловая и таблица AAT. Опцией по умолчанию является POLY (ПОЛИГОН). При использовании опции POLY (ПОЛИГОН) для покрытия с существующей таблицей AAT инструмент Очистить (Clean) автоматически перестроит AAT.
| String |
Пример кода
Пример инструмента Очистить (Clean) (автономный скрипт)
Следующий автономный скрипт демонстрирует очистку полигональной топологии покрытия.
# Name: Clean_Example.py
# Description: Cleans a coverage for polygon topology.
# Requirements: ArcInfo Workstation
# Import system modules
import arcpy
from arcpy import env
# Set environment settings
env.workspace = "C:/data"
# Set local variables
inCover = "zones"
outCover = "C:/output/zones"
fuzzyTolerance = 0.25
featureType = "POLY"
#Execute Clean
arcpy.Clean_arc(inCover, outCover, "", fuzzyTolerance, featureType)
Параметры среды
Информация о лицензиях
- Basic: Нет
- Standard: Нет
- Advanced: Требуется установленная ArcInfo Workstation