Обновление (Update) (Анализ)
Резюме
Вычисляет геометрическое пересечение входных объектов с корректирующими объектами. Атрибуты и геометрия входных объектов заменяются атрибутами и геометрией корректирующих объектов.
Рисунок
Использование
-
Входные объекты должны быть полигонального типа.
-
Входной класс объектов не будет изменен в результате работы этого инструмента. Результаты инструмента будут записаны в новый класс пространственных объектов.
-
Корректирующие объекты должны быть полигональными.
-
Имена полей входного и корректирующего классов объектов должны совпадать.
-
Если в классе корректирующих объектов пропущено одно или несколько полей, которые присутствуют во входном классе объектов, значение соответствующего поля в выходном классе объектов будет пустым.
-
Если в диалоговом окне не отмечен параметр Границы (Borders) (или установлен на NO_BORDERS в скриптах), будут пропущены границы полигона вдоль внешнего ребра корректирующих объектов. Даже если пропущены внешние границы некоторых корректирующих полигонов, атрибуты корректирующих объектов, которые перекрывают входные объекты, будут присвоены полигонам выходного класса объектов.
-
Атрибутивные значения из входных классов пространственных объектов будут скопированы в выходной класс. Однако если входными данными является слой или слои, созданные инструментом Создать векторный слой (Make Feature Layer), и отмечена опция поля Использовать правило пропорции (Use Ratio Policy), то тогда вычисляется доля входного значения атрибута и сохраняется как выходное атрибутивное значение. Если включено Использовать правило пропорции (Use Ratio Policy), всякий раз при разбивке пространственного объекта в операции наложения, атрибутами результирующего пространственного объекта будет пропорция значения атрибутов входных объектов. Выходное значение вычисляется на основании пропорции, в соответствии с которой была разделена геометрия входных объектов. Например, если входная геометрия была разделена на две равные части, атрибутивное значение нового пространственного объекта будет равно половине атрибутивного значения соответствующего входного объекта. Использовать правило пропорции (Use Ratio Policy) применяется только к числовым типам полей.
Внимание:Инструменты геообработки не поддерживают правила разбиения (split policies) для полей или таблиц класса пространственных объектов базы геоданных.
-
Для обработки очень больших наборов данных при работе инструмента используется разбивка на листы, для повышения производительности и масштабируемости. Для получения более подробной информации см. Геообработка больших наборов данных.
-
Этот инструмент может создавать составные объекты в выходных данных, даже если все входные данные простые. Если вам не нужны составные объекты, используйте инструмент Составной в простые (Multipart to Singlepart) для выходного класса объектов.
Синтаксис
Параметр | Объяснение | Тип данных |
in_features |
Входной класс пространственных объектов или слой. Тип геометрии должен быть полигональным. | Feature Layer |
update_features |
Пространственные объекты, которые будут использоваться для обновления входных объектов. Тип геометрии должен быть полигональным. | Feature Layer |
out_feature_class |
Класс пространственных объектов, содержащий результаты. Не выбирайте здесь те же объекты, что и Входные объекты. | Feature Class |
keep_borders (дополнительно) |
Определяет, будет ли сохранена граница обновленных полигональных объектов.
| Boolean |
cluster_tolerance (дополнительно) |
Минимальное расстояние, в пределах которого координаты узлов и вершин объектов считаются различимыми, и на которое могут быть смещены координаты по X или Y (или и то и другое). | Linear unit |
Пример кода
Пример скрипта Python для выполнения функции Обновление (Update) с запуском из окна Python в ArcGIS.
import arcpy
from arcpy import env
env.workspace = "C:/data"
arcpy.Update_analysis ("city_lots.shp", "data.gdb/flood_levels", "data.gdb/low_lots",
"DROP_BORDER", 0.0003)
Ниже приводится пример скрипта Python для выполнения функции Обновление (Update) в автономном режиме.
# Name: UpdateZones.py
# Purpose: Update the "lots" feature class with features from "cutzones"
# Author: ESRI
# Import system modules
import arcpy
from arcpy import env
# Set the workspace
env.workspace = "c:/data/city.gdb"
# Set local parameters
inFeatures = "lots"
updateFeatures = "cutzones"
outFeatures = "futurecut"
#Process: Update
arcpy.Update_analysis(inFeatures, updateFeatures, outFeatures, "only_fid", 0.25)