Выровнять объекты (Редактирование)

Сводка

Идентифицирует не совпадающие части входных объектов относительно целевых объектов в пределах расстояния поиска и выравнивает их по указанным объектам.

Иллюстрация

Иллюстрация инструмента Выровнять объекты

Использование

    Внимание:

    Этот инструмент изменяет входные значения. Более подробно о стратегиях предотвращения нежелательных изменений данных см. в разделе Инструменты, которые изменяют или обновляют входные данные.

    Примечание:

    Все входные данные должны быть в одной системе координат.

  • Входные и целевые объекты могут быть как линейными, так и полигональными. Например, у вас может быть линейный или полигональный класс объектов границ округа, который частично не совпадает с линейным классом рек, в котором река должна проходить по границе между округами. Этот инструмент можно использовать для выравнивания несовпадающих границ по линиям рек, чтобы добиться совпадения.

  • Входные объекты, целиком или частично, становятся кандидатами на выравнивание, если они попадают в пределы указанного Радиуса поиска от целевых объектов. Геометрия кандидата должна быть похожа на геометрию целевого объекта; например, если входной и целевой объекты дорог идут параллельно, они более похожи, чем дороги, идущие под прямым углом друг к другу.

  • Если отмечено, опция Сопоставление полей используется для уточнения кандидата для выравнивания по отношению к целевому объекту. Например, если в пределах расстояния поиска от целевого объекта обнаружено два входных объекта, и оба они похожи по геометрии с целевым, и один из них совпадает с целевым также и по атрибутивному полю, для выравнивания будет выбран именно он.

  • Выравнивание сохраняет существующие топологические отношения между входными объектами. Например, если линия, конечные точки которой совпадают с другими линиями, перемещается в процессе выравнивания, конечные точки совпадающих линий перемещаются соответственно, так что линии остаются соединенными.

  • Новое поле, AF_CONF, добавляется к измененному входному объекту. В этом поле хранится значение, от 0 до 100, определяющее уровень достоверности для выравнивания по каждому объекту. Значение 100 показывает отсутствие разночтений для кандидата на выравнивание. Значение тем ниже, чем больше кандидатов на выравнивание находится, больше различий в геометрии или больше несовпадений атрибутов при отмеченной опции Сопоставление полей. Если входной объект не изменен – в поле будет значение -1. Так как входные и целевые объекты могут обладать сложной геометрией, есть вероятность неожиданного результата выравнивания; соответственно необходима последующая проверка, особенно если объектам присвоены низкие значения в AF_CONF.

Синтаксис

arcpy.edit.AlignFeatures(in_features, target_features, search_distance, {match_fields})
ParameterОбъяснениеТип данных
in_features

Входные линейные или полигональные объекты для сопоставления.

Feature Layer
target_features

Входные линейные или полигональные целевые объекты.

Feature Layer
search_distance

Расстояние, использованное при поиске кандидатов для сопоставления. Расстояние должно быть задано, и оно должно быть больше 0. Вы можете выбрать предпочитаемые единицы измерения; единицами измерения по умолчанию являются единицы измерения объекта.

Linear Unit
match_fields
[[source_field, target_field],...]
(Дополнительный)

Поля входных объектов и целевых объектов. Если указано, каждая пара полей проверяется на совпадения для нахождения правильного сопоставления.

Value Table

Производные выходные данные

NameОбъяснениеТип данных
out_feature_class

Обновленные входные объекты

Векторный слой

Пример кода

AlignFeatures, пример 1 (окно Python)

Пример скрипта окна Python для использования функции AlignFeatures в режиме прямого запуска.

import arcpy
arcpy.env.workspace = "C:/data/Countries.gdb"
arcpy.AlignFeatures_edit("countryA_border", "target_border", "25 Feet")
AlignFeatures, пример 2 (автономный скрипт)

Пример скрипта Python для выполнения функции AlignFeatures в автономном режиме.

import arcpy
import os

# all input data are in country.gdb and output will also go to this gdb
arcpy.env.workspace = os.path.join(os.getcwd(), "country.gdb")

try:
    in_features_orig = "common_border"
    in_features_copy = "common_border1"
    
    # Make a copy of the original data 
    arcpy.CopyFeatures_management(in_features_orig, in_features_copy)
    
    # Features to which input will be aligned
    target_features = "country1_border"
    
    search_dist = "100 Meters"
    match_fields = "A_field B_field"
    
    arcpy.AlignFeatures_edit(in_features_copy, target_features, search_dist, match_fields)
    
except arcpy.ExecuteError as aex:
    print(arcpy.GetMessages(2))
    
except Exception as ex:
    print(ex.args[0])

Информация о лицензиях

  • Basic: Нет
  • Standard: Нет
  • Advanced: Да