Краткая информация
Заменяет области входного покрытия полигонами обновляющего покрытия с помощью операции вырезания-вставки.
Более подробно о том, как работает инструмент Обновить (Update)
Иллюстрация
Использование
Перед тем, как использовать UPDATE, необходимо выполнить следующие условия:
- Определения полей после идентификатора User-ID должны быть одинаковыми для входных и выходных покрытий. Это относится и к переопределенным полям.
- Подклассы аннотаций и определения их атрибутов должны быть идентичными. Пустые подклассы аннотаций игнорируются.
- Подклассы секций и определения их атрибутов должны быть идентичными.
- Подклассы регионов с одинаковым именем должны иметь одинаковые определения атрибутов.
Входное и обновляющее покрытия должны иметь полигональную топологию.
Определения полей после идентификатора User-ID в таблицах атрибутов объектов входного и обновляющего покрытий должны точно совпадать, в том числе и для переопределенных полей. Поля входного и обновляющего покрытий соединяются в таблице атрибутов выходного покрытия на основе внутреннего номера старого полигона как поля связи.
Новые положения точек меток создаются для полигонов выходного покрытия только при необходимости. Идентификатор User-ID для каждого полигона совпадает с идентификатором User-ID старого входного покрытия (идентификатором User-ID обновляющего покрытия для обновленных полигонов). Поэтому следует стараться сделать значения User-ID во входном покрытии отличающимися от значений User-ID в обновляющем покрытии, чтобы избежать повторяющихся User-ID в выходном покрытии.
UPDATE сохраняет все подклассы системы маршрутов. Если в каком-либо из покрытий присутствует подкласс Section (SEC), он должен присутствовать в обоих покрытиях и должен иметь идентичные определения полей. Системы маршрутов, присоединенные к дугам обновления, сохраняются. Системы маршрутов, присоединенные к дугам обновления, сохраняются, если остаются. UPDATE обрабатывает системы маршрутов таким же образом, как это делают последовательно выполняемые инструменты Стереть (Erase), Присоединить (Append) и Очистить (Clean).
Если используется опция DROP_BORDER, границы полигонов вдоль внешнего ребра обновляющего покрытия отбрасываются. Несмотря на удаление внешних границ некоторых обновляющих полигонов, значения полей обновляющих полигонов, которые перекрывают полигоны входного покрытия, будут присвоены полигонам выходного покрытия. Опцию DROP_BORDER не рекомендуется использовать для региональных покрытий, потому что некоторые выходные регионы могут не сохраниться.
Объекты-аннотации обновляются путем идентификации и удаления набора аннотаций входного покрытия, нижние левые начальные точки которых попадают внутрь полигона обновляющего покрытия. Затем ко всем подклассам аннотаций, присутствующим в выходном покрытии, присоединяются аннотации обновляющего покрытия. Оба покрытия должны иметь одинаковые наборы подклассов аннотаций, за исключением пустых классов аннотаций, которые могут присутствовать или отсутствовать. Если подклассы имеют атрибуты, они должны иметь одинаковые определения атрибутов.
Если обновляющее покрытие содержит на границе узлы, совпадающие с узлами во входном покрытии, узлы обновляющего покрытия сохраняются. Единственным исключением является случай, когда узел входного покрытия содержится в таблице NAT, а узел обновляющего покрытия нет.
Подклассы регионов обновляются с использованием любой из опций POLY и NET. Все регионы сохраняются только при использовании опции KEEP_BORDER. Опция DROP_BORDER не сохраняет всех регионов и поэтому не рекомендуется для обновления региональных покрытий.
Подклассы регионов входного и обновляющего покрытий могут быть одинаковыми или различаться. Если подклассы одинаковы, они должны иметь одинаковые определения полей.
Точность координат выходного покрытия определяется параметром среды Точность для вычисляемых покрытий (Precision for Derived Coverages).
Файлы проекций сравниваются на предмет подобия с использованием степени сравнения, заданной в параметре среды Сравнить проекции (Compare Projections).
Выходное покрытие наследует элементы таблицы точечных атрибутов, меток и содержимого модели данных файла проекции из входного покрытия.
Если входное покрытие содержит линейные данные, относящиеся к разным плановым графам (planar graphs), то эти данные будут сохраняться в выходном покрытии. Например, в случае с совпадающими или коллинеарными дугами, представляющими силовые кабели на различных уровнях или дорогу вдоль ручья, будут сохранены совпадающие и коллинеарные отрезки линий. Однако могут быть добавлены дополнительные вершины. В случае пересекающихся дуг, например - когда дорога проходит через реку, узлы в видимом месте пересечения добавляться не будут.
Синтаксис
Update_arc (in_cover, update_cover, out_cover, {feature_type}, {fuzzy_tolerance}, {keep_border})
Параметр | Объяснение | Тип данных |
in_cover | Покрытие, содержащее полигоны, которые будут обновлены. | Coverage |
update_cover | Покрытие, полигоны которого заменят области входного покрытия. | Coverage |
out_cover | Покрытие, которое будет создано. | Coverage |
feature_type (Дополнительный) | Набор классов пространственных объектов, который будет обновлен.
| String |
fuzzy_tolerance (Дополнительный) | Минимальное расстояние между координатами в выходном покрытии. По умолчанию используется минимальное значение допуска неразличимости из входного и стирающего покрытий. Более подробно о том, как рассчитывается допуск неразличимости по умолчанию | Double |
keep_border (Дополнительный) | Определяет, будет ли сохранена внешняя граница обновляющего покрытия после того, как оно будет вставлено во входное покрытие.
| Boolean |
Пример кода
Пример использования инструмента Обновить (автономный скрипт)
В следующем автономном скрипте показано, как использовать инструмент Обновить.
# Name: Update_Example.py
# Description: Updates a coverage
# Requirements: ArcInfo Workstation
# Import system modules
import arcpy
from arcpy import env
# Set environment settings
env.workspace = "C:/data"
# Set local variables
inCover = "c3zone4"
updateCover = "newsub"
outCover = "C:/output/newc3zone4"
featureType = "POLY"
# Execute Update
arcpy.Update_arc(inCover, updateCover, outCover, featureType, "", "")
Параметры среды
Информация о лицензиях
- ArcGIS Desktop Basic: Нет
- ArcGIS Desktop Standard: Нет
- ArcGIS Desktop Advanced: Требует установленная ArcInfo Workstation