Сводка
Присоединяет атрибуты из входных полигональных объектов к входным точечным объектам.
Использование
Инструмент передает атрибуты от Входных полигональных объектов к Целевым точечным объектам, когда точечный объект полностью находится внутри полигонального объекта.
По умолчанию атрибуты Входных полигональных объектов не добавляются к атрибутам Целевых точечных объектов. Вы можете определить, какие атрибуты будут добавлены к Целевым точечным объектам, указав их в параметре Присоединяемые поля.
Если объект Целевых точечных объектов содержится в нескольких Входных полигональных объектах, то точка получит атрибут из полигона с наибольшим значением идентификатора объекта Object ID.
Синтаксис
JoinAttributesFromPolygon(target_features, in_features, fields)
Parameter | Объяснение | Тип данных |
target_features | Точечные объекты, которые будут обновлены атрибутами из in_features. | Feature Layer |
in_features | Входные полигональные объекты. | Feature Layer |
fields [fields,...] | Поля Входных полигональных объектов, которые будут добавлены к Целевым точечным объектам. | Field |
Производные выходные данные
Name | Объяснение | Тип данных |
out_features | Обновленные точечные объекты. | Векторный слой |
Пример кода
Пример скрипта окна Python для использования функции JoinAttributesFromPolygon в режиме прямого запуска.
import arcpy
arcpy.env.workspace = r"C:\data\city_pd.gdb"
arcpy.ca.JoinAttributesFromPolygon("Arrests", "Precincts")
В следующем скрипте Python показано, как использовать функцию JoinAttributesFromPolygon в автономном скрипте.
# Name: JoinAttributesFromPolygon.py
# Description: Adding police precinct id and name to arrests, then printing the number of arrests by precinct.
# import system modules
import arcpy
# Set environment settings
arcpy.env.workspace = r"C:\data\city_pd.gdb"
# Set local variables
target_features = "Arrests"
in_features = "Precincts"
join_fields = ['districtid', 'name'] # Police Precinct ID and Name
# Execute JoinAttributesFromPolygon
arcpy.ca.JoinAttributesFromPolygon(target_features, in_features, join_fields)
#Print count of arrest by precinct
count_dict = {}
with arcpy.da.SearchCursor(target_features, 'name') as cursor:
for row in cursor:
try:
count_dict[row[0]] += 1
except:
count_dict[row[0]] = 1
for precinct, count in count_dict.items():
print("Name: " + precinct + " Arrests: " + str(count))
Environments
Информация о лицензиях
- Basic: Да
- Standard: Да
- Advanced: Да