Создать связи Источник-Назначение (Анализ)

Сводка

Создает соединительные линии от объектов источников к объектам назначений. Это часто называют диаграммой взаимосвязей.

Иллюстрация

Создание связей Источник – Назначение

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

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

  • Выходные объекты будут включать следующие поля атрибутов:

    • ORIG_FID – поле ObjectID объекта источника.
    • ORIG_X – x-координата объекта источника (или центроида).
    • ORIG_Y – y-координата объекта источника (или центроида).
    • DEST_FID – поле ObjectID объекта назначения.
    • DEST_X – x-координата объекта назначения (или центроида).
    • DEST_Y – y-координата объекта назначения (или центроида).
    • LINK_DIST – длина выходной связи, измеренная в указанных единицах измерения расстояний.
    • GROUP_ID – значения полей группы, которые являются общими для связанных пар исходных и конечных объектов. Это поле будет добавлено только в том случае, если указаны групповые поля источника и назначения.
    • COLOR_ID – числовое значение, которое используется для обозначения источников или групп, состоящих не более чем из восьми уникальных цветных связей. Эти значения представляют собой случайные числа от 1 до 8.
    • LINK_COUNT – число перекрывающихся связей. Это значение добавляется, когда вы указываете агрегировать перекрывающиеся связи.
    • Все поля статистики, указанные при агрегировании перекрывающихся связей, также будут добавлены в выходной класс пространственных объектов.

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

  • Этот инструмент можно использовать как для отношений "один к одному", так и для отношений "один ко многим". Например, вы можете построить связи между местами угона и нахождения угнанных автомобилей (один-к-одному), или выполнить анализ близости и понимания расстояний от центрального офиса к местоположениям нескольких региональных отделений (один-ко-многим).

  • Слой выходных связей будет содержать следующие диаграммы, которые помогут вам визуализировать результат анализа:

    • Линейчатая диаграмма с количеством для каждого ID группы, если вы указали поля группы.
    • Линейчатая диаграмма для суммы длин связей каждого ID источника или ID группы (если вы указали поля группы). Это применяется, чтобы увидеть, имеют ли некоторые источники или группы большие или малые общие расстояния до пунктов назначения.
    • Линейчатая диаграмма средних длин связей для каждого идентификатора источника или идентификатора группы (если вы указали поля группы). Это применяется для просмотра среднего расстояния между объектами источников или группами и их связанными местами назначения.
    • Ящичковая диаграмма для распределения длин связей каждого ID источника или ID группы (если вы указали поля группы). Она применяется для того, чтобы увидеть, имеют ли большинство связей для источника или группы небольшие или большие расстояния до их назначений, а также суммарные данные о диапазоне и распределении этих длин связей. Если ID объекта или ID источника имеет короткий ящичек, это означает, что расстояния от этого источника ко всем связанным назначениям были схожи. Если исходный идентификатор или идентификатор группы содержит ящичек, расположенный высоко на оси y, то большинство связей имеют большую длину.

Синтаксис

arcpy.analysis.GenerateOriginDestinationLinks(origin_features, destination_features, out_feature_class, {origin_group_field}, {destination_group_field}, {line_type}, {num_nearest}, {search_distance}, distance_unit, {aggregate_links}, {sum_fields})
ParameterОбъяснениеТип данных
origin_features

Входные объекты, от которых создаются связи.

Feature Layer
destination_features

Объекты назначений, к которым идут связи.

Feature Layer
out_feature_class

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

Feature Class
origin_group_field
(Дополнительный)

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

Field
destination_group_field
(Дополнительный)

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

Field
line_type
(Дополнительный)

Указывает, будет ли использоваться кратчайший путь на сфероиде (геодезический) или в декартовой проекции земли (планарный) при создании выходных связей. Геодезические линии будут иметь небольшую кривизну, когда их длина превысит приблизительно 50 километров, так как кривизна Земли заставляет кратчайшее расстояние между двумя точками выглядеть искривленным при просмотре на 2D-карте.

Рекомендуется использовать тип линии Геодезический, если данные хранятся в координатной системе, не подходящей для измерения расстояний (такой как Web Mercator и все географические системы координат), или если набор данных охватывает большую географическую область.

  • PLANARМежду объектами будет использоваться плоскостное расстояние. Это значение по умолчанию.
  • GEODESICМежду объектами будут использоваться геодезические расстояния. Этот тип линии учитывает кривизну сфероида и корректно обрабатывает данные вблизи линии перемены дат и полюсов.
String
num_nearest
(Дополнительный)

Максимальное число связей, которое будет создано для одного объекта источника к ближайшим объектам назначений. Если число не указано, инструмент создаст связи между всеми объектами источников и назначений.

Например, при значении 1 создадутся связи между каждым объектом источников и ближайшим к нему объектом назначений.

Double
search_distance
(Дополнительный)

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

Double
distance_unit

Задает единицы измерения, используемые для измерения длин связей. Расстояние для каждой связи будет отображаться в поле LINK_DIST. Если единицы измерения расстояний не заданы, используются единицы измерения системы координат объектов источников.

  • KILOMETERSРасстояние между источником и назначением будет вычисляться в километрах.
  • METERSРасстояние между источником и назначением будет вычисляться в метрах.
  • MILESРасстояние между источником и назначением будет вычисляться в милях.
  • NAUTICALMILESРасстояние между источником и назначением будет вычисляться в морских милях.
  • YARDSРасстояние между источником и назначением будет вычисляться в ярдах.
  • FEETРасстояние между источником и назначением будет вычисляться в футах.
String
aggregate_links
(Дополнительный)

Указывает, будут ли агрегированы перекрывающиеся связи.

  • AGGREGATE_OVERLAPPINGПерекрывающиеся связи будут агрегированы, если координаты начальной точки совпадают.
  • NO_AGGREGATEПерекрывающиеся связи не будут агрегированы. Это значение по умолчанию.
Boolean
sum_fields
[sum_fields,...]
(Дополнительный)

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

Доступны следующие типы статистики:

  • SUM – вычисляет суммарное значение атрибута в заданном поле.
  • MEAN – вычисляет среднее арифметическое для указанного поля.
  • MIN – находит наименьшее значение для всех записей заданного поля.
  • MAX – находит максимальное среди всех значений данного поля.
  • RANGE – вычисляет диапазон значений (от максимального до минимального) для конкретного поля.
  • STD – вычисляет значение среднеквадратичного отклонения для значений данного поля.
  • COUNT – определяет количество значений, участвующих в статистических вычислениях. Пересчитываются все значения, исключая пустые значения. Чтобы определить количество нулевых значений в поле, создайте счетчик для рассматриваемого поля, создайте счетчик для другого поля, которое не содержит нулевых значений (например, OID, если оно присутствует), и вычитайте поле с нулевыми значениями из поля без нулевых значений.
  • FIRST – определяет первую запись входного поля и записывает это значение.
  • LAST – определяет последнюю запись входного поля и записывает это значение.
  • MEDIAN – вычисляет медиану всех записей указанного поля.
  • VARIANCE – вычисляет дисперсию по значениям указанного поля.
  • UNIQUE – рассчитывает число уникальных в указанном поле.
Value Table

Пример кода

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

Ниже показано, как использовать функцию GenerateOriginDestinationLinks в окне Python.

import arcpy
arcpy.env.workspace = "C:/data/input/genODLinks.gdb"

arcpy.GenerateOriginDestinationLinks_analysis(
    "Station_100", "City_FireResponses", "Station_100_OD_Links")
GenerateOriginDestinationLinks, пример 2 (автономный скрипт)

В следующем скрипте Python показано, как используется функцию GenerateOriginDestinationLinks в автономном скрипте:

# Name: GenerateODLinks.py
# Description: Finds 10 nearest links within 25 miles from the origin fire
#              stations to the destination response points.

# import system modules
import arcpy

# set workspace environment
arcpy.env.workspace = "C:/data/input/genODLinks.gdb"

# set required parameters 
origin_features = "Station_100"
destination_features = "City_FireResponses"
out_feature_class = "Station_100_OD_Links"

# optional parameters
origin_group_field = 'STA_NUM'
destination_group_field = 'District'
line_type = 'PLANAR'
num_nearest = 10
search_distance = 25
distance_unit = 'MILES'
aggregate_links='AGGREGATE_OVERLAPPING'
sum_fields = 'TimeSpentOnCall SUM'

# make links between fire stations and call response points
arcpy.GenerateOriginDestinationLinks_analysis(
    origin_features, destination_features, out_feature_class,
    origin_group_field, destination_group_field, line_type, num_nearest,
    search_distance, distance_unit, aggregate_links, sum_fields)

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

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

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