Стирание (Erase) (Анализ)
Краткая информация
Создает класс пространственных объектов путем наложения входных объектов на полигоны стирающих объектов. В выходной класс объектов копируются только те части входных объектов, которые выходят за пределы границ стирающих полигонов.
Рисунок
Использование
-
Части входных объектов, которые совпадают со стирающими объектами, будут удалены.
-
Стирающие объекты могут быть точечными, линейными или полигональными в том случае, если входные объекты - той же геометрии, или меньшего порядка. Полигональный стирающий объект может использоваться для стирания полигонов, линий или точек из входных объектов; линейный стирающий объект может использоваться для стирания линий или точек из входных объектов; точечный стирающий объект может использоваться для стирания точек из входных объектов.
-
Атрибутивные значения из входных классов пространственных объектов будут скопированы в выходной класс. Однако если входными данными является слой или слои, созданные инструментом Создать векторный слой (Make Feature Layer), и отмечена опция поля Использовать правило пропорции (Use Ratio Policy), то тогда вычисляется доля входного значения атрибута и сохраняется как выходное атрибутивное значение. Если включено Использовать правило пропорции (Use Ratio Policy), всякий раз при разбивке пространственного объекта в операции наложения, атрибутами результирующего пространственного объекта будет пропорция значения атрибутов входных объектов. Выходное значение вычисляется на основании пропорции, в соответствии с которой была разделена геометрия входных объектов. Например, если входная геометрия была разделена на две равные части, атрибутивное значение нового пространственного объекта будет равно половине атрибутивного значения соответствующего входного объекта. Использовать правило пропорции (Use Ratio Policy) применяется только к числовым типам полей.
Внимание:Инструменты геообработки не поддерживают правила разбиения (split policies) для полей или таблиц класса пространственных объектов базы геоданных.
-
Для обработки очень больших наборов данных при работе инструмента используется разбивка на листы, для повышения производительности и масштабируемости. Для получения более подробной информации см. Геообработка больших наборов данных.
-
Этот инструмент может создавать составные объекты в выходных данных, даже если все входные данные простые. Если вам не нужны составные объекты, используйте инструмент Составной в простые (Multipart to Singlepart) для выходного класса объектов.
Синтаксис
Параметр | Объяснение | Тип данных |
in_features |
Входной класс пространственных объектов или слой. | Feature Layer |
erase_features |
Пространственные объекты, которые будут использоваться для стирания совпадающих пространственных объектов в наборах входных данных. | Feature Layer |
out_feature_class |
Класс пространственных объектов, который будет содержать только те входные объекты, которые не совпадают со стирающими объектами. | Feature Class |
cluster_tolerance (дополнительно) |
Минимальное расстояние, в пределах которого координаты узлов и вершин объектов считаются различимыми и на которое могут быть смещены координаты по X или Y (или и то, и другое). | Linear unit |
Пример кода
Пример скрипта Python для выполнения функции Стирание (Erase), с запуском из окна Python в ArcGIS.
import arcpy
from arcpy import env
env.workspace = "C:/data/data/gdb"
arcpy.Erase_analysis(r'redlands.gdb\rdlswells\well',r'redlands.gdb\rdlsfloodzones\flood',r'redlands.gdb\wellsoutside_flood','#')
Поиск областей с соответствующим типом растительности с исключением областей, расположенных вблизи от основных магистралей.
# Name: Erase.py
# Description: Find areas of suitable vegetation which exclude areas heavily impacted by major roads
# Author: ESRI
# import system modules
import arcpy
from arcpy import env
# Set environment settings
env.workspace = "C:/data/Habitat_Analysis.gdb"
# Select suitable vegetation patches from all vegetation
veg = "vegtype"
suitableVeg = "C:/output/Output.gdb/suitable_vegetation"
whereClause = "HABITAT = 1"
arcpy.Select_analysis(veg, suitableVeg, whereClause)
# Buffer areas of impact around major roads
roads = "majorrds"
roadsBuffer = "C:/output/Output.gdb/buffer_output"
distanceField = "Distance"
dissolveField = "Distance"
arcpy.Buffer_analysis(roads, roadsBuffer, distanceField, "FULL", "ROUND", "LIST", dissolveField)
# Erase areas of impact around major roads from the suitable vegetation patches
eraseOutput = "C:/output/Output.gdb/suitable_vegetation_minus_roads"
xyTol = "1 Meters"
arcpy.Erase_analysis(suitableVeg, roadsBuffer, eraseOutput, xyTol)