Построить матрицу пространственных весов для сети (Пространственная статистика)

Краткая информация

Создает файл матрицы пространственных весов (.swm) с использованием набора сетевых данных, определяя пространственные отношения в соответствии с базовой структурой сети.

Подробнее о принципах работы инструмента Построить матрицу пространственных весов для сети

Иллюстрация

Иллюстрация инструмента Построить матрицу пространственных весов для сети

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

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

    • Набор сетевых данных, сохраненный на локальном диске или в сети. Если ваша организация сохраняет собственные сетевые наборы улиц, возможно, у вас уже есть доступ.
    • Сервисы логистики и маршрутизации, размещенные на ArcGIS Online или ArcGIS Enterprise. Если вы будете выполнять анализ с помощью ArcGIS Online, алгоритм решения будет использовать высококачественный набор данных всемирной сети, хранящийся в облаке ArcGIS Online, и расходовать кредиты ArcGIS Online.
    • Настроенные наборы сетевых данных, предоставленные ArcGIS StreetMap Premium. Эти сетевые наборы данных представлены в формате SDC и включают Северную Америку, Латинскую Америку, Европу, Ближний Восток, Африку, Японию, Австралию и Новую Зеландию.

  • Этот инструмент создает файл с матрицей пространственных весов (*.swm) в качестве выходных данных. Различные инструменты в наборах инструментов Пространственная статистика и Углубленный анализ пространственно-временных закономерностей включают параметр Определение пространственных взаимоотношений, который позволяет использовать этот файл для определения пространственных взаимоотношений объектов. Использование матрицы пространственных весов с сетевым источником данных позволяет определить пространственные взаимоотношения по их расстоянию, времени в пути и стоимости поездки.

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

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

  • Число соседей, связанных с каждым объектом, определяется параметром Максимальное число соседей и тремя параметрами предельного значения импеданса. Инструмент будет использовать как можно больше ближайших соседей к входному объекту без превышения максимального числа соседей или использования каких-либо объектов, импеданс которых превышает любое из предельных значений. Импеданс может быть определен расстоянием, временем в пути или стоимостью. Типы импеданса, которые могут быть использованы, зависят от свойств источника сетевых данных и значения параметра Режим передвижения.

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

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

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

  • Входной класс пространственных объектов должен содержать 32-битные значения в поле ObjectID. 64-битные значения не поддерживаются.

Параметры

ПодписьОписаниеТип данных
Входной класс объектов

Класс точечных объектов, представляющий местоположения в сети. Для каждого объекта вычисляются соседи и веса, которые хранятся в выходном файле матрицы пространственных весов.

Feature Class
Поле уникального ID

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

Field
Выходной файл матрицы пространственных весов

Выходной файл сетевой матрицы пространственных весов (.swm), в котором будут храниться соседи и веса для каждого входного объекта.

File
Входной источник сетевых данных

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

Network Data Source
Режим передвижения

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

String
Пороговое расстояние импеданса

Максимальное расстояние импеданса, допустимое для соседей объекта. Любой объект, расстояние до которого больше этого значения, не будет использоваться в качестве соседа. По умолчанию пороговое расстояние не используется.

Linear Unit
Пороговое время импеданса
(Дополнительный)

Максимальное время в пути для импеданса, допустимое для соседей объекта. Любой объект, время в пути до которого больше этого значения, не будет использоваться в качестве соседа. По умолчанию пороговое время не используется.

Time Unit
Пороговая стоимость импеданса
(Дополнительный)

Максимальная стоимость импеданса, допустимая для соседей объекта. Любой объект, стоимость перемещения до которого больше этого значения, не будет использоваться в качестве соседа. По умолчанию пороговая стоимость не используется.

Double
Максимальное число соседей
(Дополнительный)

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

Long
Время суток
(Дополнительный)

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

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

  • Сегодня-12/30/1899
  • Воскресенье-12/31/1899
  • Понедельник-1/1/1900
  • Вторник-1/2/1900
  • Среда-1/3/1900
  • Четверг-1/4/1900
  • Пятница-1/5/1900
  • Суббота-1/6/1900

Например, чтобы указать, что маршрут должен начинаться в 5:00 вечера во вторник, следует указать значение параметра, равное 02.01.1900 17:00.

Date
Часовой пояс
(Дополнительный)

Указывает часовой пояс для параметра Время суток.

  • Локальное время в местоположенияхБудет использоваться часовой пояс, в котором находится Входной класс пространственных объектов. Это значение по умолчанию
  • UTCБудет использоваться всемирное координированное время (UTC).
String
Барьеры
(Дополнительный)

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

Feature Layer
Допуск поиска
(Дополнительный)

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

Linear Unit
Определение пространственных взаимоотношений
(Дополнительный)

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

  • ОбратныйОбъекты, расположенные дальше по расстоянию, времени или стоимости, будут иметь меньший вес, чем более близко расположенные объекты. Веса уменьшаются на величину, обратно пропорциональную экспоненте.
  • ФиксированныйВсем соседям будет дан равный вес. Это значение по умолчанию
String
Порядок
(Дополнительный)

Показатель степени, используемый, когда задана опция Обратное для параметра Концептуализации пространственных отношений. Веса, назначенные каждому соседу, вычисляются путем взятия обратного расстояния, времени или стоимости к степени экспоненты. Значение по умолчанию – 1, и оно должно быть в диапазоне от 0,01 до 4. Веса падают быстрее по мере увеличения экспоненты.

Double
Стандартизация строк
(Дополнительный)

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

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

arcpy.stats.GenerateNetworkSWM(Input_Feature_Class, Unique_ID_Field, Output_Spatial_Weights_Matrix_File, Input_Network_Data_Source, Travel_Mode, Impedance_Distance_Cutoff, {Impedance_Temporal_Cutoff}, {Impedance_Cost_Cutoff}, {Maximum_Number_of_Neighbors}, {Time_of_Day}, {Time_Zone}, {Barriers}, {Search_Tolerance}, {Conceptualization_of_Spatial_Relationships}, {Exponent}, {Row_Standardization})
ИмяОписаниеТип данных
Input_Feature_Class

Класс точечных объектов, представляющий местоположения в сети. Для каждого объекта вычисляются соседи и веса, которые хранятся в выходном файле матрицы пространственных весов.

Feature Class
Unique_ID_Field

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

Field
Output_Spatial_Weights_Matrix_File

Выходной файл сетевой матрицы пространственных весов (.swm), в котором будут храниться соседи и веса для каждого входного объекта.

File
Input_Network_Data_Source

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

Network Data Source
Travel_Mode

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

Объект arcpy.na.TravelMode и строка, содержащая действительное представление JSON режима перемещения, также могут использоваться как ввод для параметра.

String
Impedance_Distance_Cutoff

Максимальное расстояние импеданса, допустимое для соседей объекта. Любой объект, расстояние до которого больше этого значения, не будет использоваться в качестве соседа. По умолчанию пороговое расстояние не используется.

Linear Unit
Impedance_Temporal_Cutoff
(Дополнительный)

Максимальное время в пути для импеданса, допустимое для соседей объекта. Любой объект, время в пути до которого больше этого значения, не будет использоваться в качестве соседа. По умолчанию пороговое время не используется.

Time Unit
Impedance_Cost_Cutoff
(Дополнительный)

Максимальная стоимость импеданса, допустимая для соседей объекта. Любой объект, стоимость перемещения до которого больше этого значения, не будет использоваться в качестве соседа. По умолчанию пороговая стоимость не используется.

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

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

Long
Time_of_Day
(Дополнительный)

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

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

  • Сегодня-12/30/1899
  • Воскресенье-12/31/1899
  • Понедельник-1/1/1900
  • Вторник-1/2/1900
  • Среда-1/3/1900
  • Четверг-1/4/1900
  • Пятница-1/5/1900
  • Суббота-1/6/1900

Например, чтобы указать, что маршрут должен начинаться в 5:00 вечера во вторник, следует указать значение параметра, равное 02.01.1900 17:00.

Date
Time_Zone
(Дополнительный)

Указывает часовой пояс параметра Time_of_Day.

  • LOCAL_TIME_AT_LOCATIONSБудет использоваться часовой пояс, в котором расположен Input_Feature_Class. Это значение по умолчанию
  • UTCБудет использоваться всемирное координированное время (UTC).
String
Barriers
(Дополнительный)

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

Feature Layer
Search_Tolerance
(Дополнительный)

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

Linear Unit
Conceptualization_of_Spatial_Relationships
(Дополнительный)

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

  • INVERSEОбъекты, расположенные дальше по расстоянию, времени или стоимости, будут иметь меньший вес, чем более близко расположенные объекты. Веса уменьшаются на величину, обратно пропорциональную экспоненте.
  • FIXEDВсем соседям будет дан равный вес. Это значение по умолчанию
String
Exponent
(Дополнительный)

Показатель степени, используемый, когда задано INVERSE для параметра Conceptualization_of_Spatial_Relationships. Веса, назначенные каждому соседу, вычисляются путем взятия обратного расстояния, времени или стоимости к степени экспоненты. Значение по умолчанию – 1, и оно должно быть в диапазоне от 0,01 до 4. Веса падают быстрее по мере увеличения экспоненты.

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

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

  • ROW_STANDARDIZATIONПространственные веса будут нормализованы по ряду. Каждый вес делится на сумму его ряда. Это значение по умолчанию
  • NO_STANDARDIZATIONНормализация ряда пространственных весов не будет применяться.
Boolean

Пример кода

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

Следующий скрипт Python демонстрирует, как использовать функцию GenerateNetworkSWM.

import arcpy

arcpy.env.workspace = "c:\Data"

# Use a network data source hosted on ArcGIS Online.
arcpy.stats.GenerateNetworkSWM(r"Data.gdb\Hospital", "MyID", 
                               "Hospital.swm", "https://www.arcgis.com/",
                               "Driving Time", None, None, None, None, None, 
                               "LOCAL_TIME_AT_LOCATIONS", None, "5000 Meters",
                               "FIXED", 1, "ROW_STANDARDIZATION")

# Use a network data source stored on a local drive.
arcpy.stats.GenerateNetworkSWM(r"Data.gdb\Hospital", "MyID", "Hospital.swm", 
                               r"Data.gdb\transportation\streets_ND",
                               "Driving Time", None, None, None, None, None, 
                               "LOCAL_TIME_AT_LOCATIONS", None, "5000 Meters", 
                               "FIXED", 1, "ROW_STANDARDIZATION")
GenerateNetworkSWM, пример 2 (автономный скрипт)

Следующий скрипт Python демонстрирует работу инструмента GenerateNetworkSWM.

# Create a Spatial Weights Matrix based on Network Data

# Import system modules
import arcpy

# Set the environment property to overwrite existing output
arcpy.env.overwriteOutput = True

# Check out the ArcGIS Network Analyst extension 
arcpy.CheckOutExtension("Network")

# Local variables...
workspace = r"c:\Data"

try:
    # Set the current workspace (to avoid having to specify the full path to
    # the feature classes each time)
    arcpy.env.workspace = workspace

    # Create Spatial Weights Matrix based on Network Data
    # Process: Generate Network Spatial Weights...
    arcpy.stats.GenerateNetworkSWM(r"Data.gdb\Hospital","MyID", 
        "Hospital.swm", r"Data.gdb\Transportation\Streets_ND",
        "Driving Time", None, None, None, None, None, 
        "LOCAL_TIME_AT_LOCATIONS", None, "5000 Meters", "FIXED", 
        1,"ROW_STANDARDIZATION")

    # Create Spatial Weights Matrix based on Euclidean Distance
    # Process: Generate Spatial Weights Matrix...

    arcpy.stats.GenerateSpatialWeightsMatrix(
        r"Data.gdb\Hospital", "MyID", r"Euclidean6Neighs.swm", 
        "K_NEAREST_NEIGHBORS", "EUCLIDEAN", 1, None, 6, 
        "ROW_STANDARDIZATION", None, None, '', None, None)


    # Calculate Moran's Index of Spatial Autocorrelation for
    # average hospital visit times using Network Spatial Weights
    # Process: Spatial Autocorrelation (Morans I)...

    moransINet = arcpy.stats.SpatialAutocorrelation("Data.gdb\Hospital", 
                     "VisitTime", "NO_REPORT", "GET_SPATIAL_WEIGHTS_FROM_FILE",
                     "EUCLIDEAN_DISTANCE", "ROW", None, "Hospital.swm", None)

    # Calculate Moran's Index of Spatial Autocorrelation for
    # average hospital visit times using Euclidean Spatial Weights
    # Process: Spatial Autocorrelation (Morans I)...
    moransIEuc = arcpy.stats.SpatialAutocorrelation("Data.gdb\Hospital", 
                     "VisitTime", "NO_REPORT", "GET_SPATIAL_WEIGHTS_FROM_FILE",
                     "EUCLIDEAN_DISTANCE", "ROW", None, r"Euclidean6Neighs.swm", 
                     None)

except arcpy.ExecuteError:
    # If an error occurred when running the tool, print out the error message.
    print(arcpy.GetMessages())