Присоединить атрибуты из полигона (Анализ преступности и безопасности)

Сводка

Присоединяет атрибуты из входных полигональных объектов к входным точечным объектам.

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

  • Инструмент передает атрибуты от Входных полигональных объектов к Целевым точечным объектам, когда точечный объект полностью находится внутри полигонального объекта.

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

  • Если объект Целевых точечных объектов содержится в нескольких Входных полигональных объектах, то точка получит атрибут из полигона с наибольшим значением идентификатора объекта 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

Обновленные точечные объекты.

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

Пример кода

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

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

import arcpy
arcpy.env.workspace = r"C:\data\city_pd.gdb"
arcpy.ca.JoinAttributesFromPolygon("Arrests", "Precincts")
JoinAttributesFromPolygon, пример 2 (автономный скрипт)

В следующем скрипте 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))

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

  • Basic: Да
  • Standard: Да
  • Advanced: Да

Связанные разделы