Краткая информация
Идентифицирует не совпадающие части входных объектов относительно целевых объектов в пределах расстояния поиска и выравнивает их по указанным объектам.
Иллюстрация
Использование
Входные и целевые объекты могут быть как линейными, так и полигональными. Например, у вас может быть линейный или полигональный класс объектов границ округа, который частично не совпадает с линейным классом рек, в котором река должна проходить по границе между округами. Этот инструмент можно использовать для выравнивания несовпадающих границ по линиям рек, чтобы добиться совпадения.
Входные объекты, целиком или частично, становятся кандидатами на выравнивание, если они попадают в пределы указанного Радиуса поиска от целевых объектов. Геометрия кандидата должна быть похожа на геометрию целевого объекта; например, если входной и целевой объекты дорог идут параллельно, они более похожи, чем дороги, идущие под прямым углом друг к другу.
Если отмечено, опция Сопоставление полей используется для уточнения кандидата для выравнивания по отношению к целевому объекту. Например, если в пределах расстояния поиска от целевого объекта обнаружено два входных объекта, и оба они похожи по геометрии с целевым, и один из них совпадает с целевым также и по атрибутивному полю, для выравнивания будет выбран именно он.
Выравнивание сохраняет существующие топологические отношения между входными объектами. Например, если линия, конечные точки которой совпадают с другими линиями, перемещается в процессе выравнивания, конечные точки совпадающих линий перемещаются соответственно, так что линии остаются соединенными.
Новое поле, AF_CONF, добавляется к измененному входному объекту. В этом поле хранится значение, от 0 до 100, определяющее уровень достоверности для выравнивания по каждому объекту. Значение 100 показывает отсутствие разночтений для кандидата на выравнивание. Значение тем ниже, чем больше кандидатов на выравнивание находится, больше различий в геометрии или больше несовпадений атрибутов при отмеченной опции Сопоставление полей. Если входной объект не изменен – в поле будет значение -1. Так как входные и целевые объекты могут обладать сложной геометрией, есть вероятность неожиданного результата выравнивания; соответственно необходима последующая проверка, особенно если объектам присвоены низкие значения в AF_CONF.
Синтаксис
AlignFeatures(in_features, target_features, search_distance, {match_fields})
Параметр | Объяснение | Тип данных |
in_features | Входные линейные или полигональные объекты для сопоставления. | Feature Layer |
target_features | Входные линейные или полигональные целевые объекты. | Feature Layer |
search_distance | Расстояние, использованное при поиске кандидатов для сопоставления. Расстояние должно быть задано, и оно должно быть больше 0. Вы можете выбрать предпочитаемые единицы измерения; единицами измерения по умолчанию являются единицы измерения объекта. | Linear unit |
match_fields [[source_field, target_field],...] (Дополнительный) | Поля входных объектов и целевых объектов. Если указано, каждая пара полей проверяется на совпадения для нахождения правильного сопоставления. | Value Table |
Производные выходные данные
Имя | Объяснение | Тип данных |
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: Да