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

Сводка

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

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

Иллюстрация

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

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

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

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

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

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

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

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

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

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

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

Синтаксис

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})
ParameterОбъяснениеТип данных
Input_Feature_Class

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

Feature Class
Unique_ID_Field

Целое поле, содержащее уникальное значение для каждого объекта во входном классе объектов. Если у вас нет поля с уникальными значениями ID, вы можете создать его путем добавления нового целого поля в вашу таблицу классов объектов и вычислив значения полей, которые были бы равны полю 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())

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

  • Basic: Требуется Network Analyst
  • Standard: Требуется Network Analyst
  • Advanced: Требуется Network Analyst

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