Вычислить положения (Calculate Locations) (Network Analyst)

Уровень лицензии:BasicStandardAdvanced

Резюме

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

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

Синтаксис

CalculateLocations_na (in_point_features, in_network_dataset, search_tolerance, search_criteria, {match_type}, {source_ID_field}, {source_OID_field}, {position_field}, {side_field}, {snap_X_field}, {snap_Y_field}, {distance_field}, {snap_Z_field}, {location_field}, {exclude_restricted_elements}, {search_query})
ПараметрОбъяснениеТип данных
in_point_features

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

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

Table View
in_network_dataset

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

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

Network Dataset Layer
search_tolerance

Допуск поиска для расположения входных объектов в сети. Объекты, находящиеся вне диапазона поиска, остаются неразмещенными. Параметр включает значение и единицы измерения допуска.

Этот параметр не используется при вычислении положений для линейных и полигональных объектов. В таких случаях используйте в качестве значения параметра "#".

Linear unit
search_criteria
[[Source, SnapType],...]

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

Значение параметра указывается в виде списка с вложенными списками. Вложенный список состоит из двух значений, указывающих на имя и тип замыкания для каждого источника сети. Тип замыкания указывается с использованием ключевых слов SHAPE, MIDDLE, END или NONE. Например, при поиске положений значение параметра [["Streets","SHAPE"],["Streets_ND_Junctions","NONE"]] указывает, что поиск может быть выполнен на форме источника Улицы (Streets), но не на источнике Streets_ND_Junctions.

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

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

При вычислении положений для линейного или полигонального объекта используется только тип замыкания Форма (Shape), даже в том случае, если указаны другие типы.

Value Table
match_type
(дополнительно)
  • MATCH_TO_CLOSESTСопоставляет новые сетевые положения с ближайшим источником сети среди всех источников, которые имели тип замыкания, указанный в критерии поиска. Это значение используется по умолчанию.
  • PRIORITYСопоставляет новые сетевые положения с первым источником сети, имеющим привязку, указанную в критерии поиска. Поиск источников выполняется в приоритетном порядке, поиск останавливается после нахождения положения в пределах допуска поиска.

Этот параметр не используется при вычислении положений для линейных и полигональных объектов. В таких случаях используйте в качестве значения параметра "#".

Boolean
source_ID_field
(дополнительно)

Имя поля, которое будет создаваться или обновляться с помощью идентификатора источника для вычисленного сетевого положения. Поле с названием SourceID создается или обновляется по умолчанию.

Этот параметр не используется при вычислении положений для линейных и полигональных объектов. В таких случаях используйте в качестве значения параметра "#".

Field
source_OID_field
(дополнительно)

Имя поля, которое будет создаваться или обновляться с помощью OID источника для вычисленного сетевого положения. Поле с названием SourceOID создается или обновляется по умолчанию.

Этот параметр не используется при вычислении положений для линейных и полигональных объектов. В таких случаях используйте в качестве значения параметра "#".

Field
position_field
(дополнительно)

Имя поля, которое будет создано или обновлено с использованием процента, вместе с вычисленным сетевым положением. Поле с названием PosAlong создается или обновляется по умолчанию.

Этот параметр не используется при вычислении положений для линейных и полигональных объектов. В таких случаях используйте в качестве значения параметра "#".

Field
side_field
(дополнительно)

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

Этот параметр не используется при вычислении положений для линейных и полигональных объектов. В таких случаях используйте в качестве значения параметра "#".

Field
snap_X_field
(дополнительно)

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

Этот параметр не используется при вычислении положений для линейных и полигональных объектов. В таких случаях используйте в качестве значения параметра "#".

Field
snap_Y_field
(дополнительно)

Имя поля, которое будет создаваться или обновляться с помощью координаты у вычисленного сетевого положения. Поле с названием SnapY создается или обновляется по умолчанию.

Этот параметр не используется при вычислении положений для линейных и полигональных объектов. В таких случаях используйте в качестве значения параметра "#".

Field
distance_field
(дополнительно)

Имя поля, которое будет создано или обновлено с учетом расстояния точечного объекта от вычисленного сетевого положения. Поле с названием Расстояние (Distance) создается или обновляется по умолчанию.

Этот параметр не используется при вычислении положений для линейных и полигональных объектов. В таких случаях используйте в качестве значения параметра "#".

Field
snap_Z_field
(дополнительно)

Имя поля, которое будет создаваться или обновляться с помощью координаты z вычисленного сетевого положения. Поле с названием SnapZ создается или обновляется по умолчанию.

Этот параметр не используется при вычислении положений для линейных и полигональных объектов. В таких случаях используйте в качестве значения параметра "#".

При вычислении положений для точечных объектов параметры используется только в случае поддержки набором сетевых данных связей на основе значений z-координат источников. В остальных случаях используйте в качестве значения параметра "#".

Field
location_field
(дополнительно)

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

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

Field
exclude_restricted_elements
(дополнительно)

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

  • EXCLUDEУказывает, что сетевые положения размещаются только на проходимых участках сети. Это предотвратит размещение сетевых положений на элементах, которые нельзя достигнуть из-за ограничений или барьеров. Чтобы получить ожидаемые результаты, перед перемещением сетевых положений с использованием этого параметра, убедитесь в том, что в слой сетевого анализа уже добавлены все ограничивающие барьеры.
  • INCLUDEУказывает, что сетевые положения размещаются на всех элементах сети. Сетевые положения, перемещаемые с использованием этого параметра, могут быть недоступны в процессе решения, если они размещены на ограниченных элементах.
Boolean
search_query
[[Source, Expression],...]
(дополнительно)

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

Значение параметра указывается в виде списка с вложенными списками. Вложенный список состоит из двух значений, указывающих имя и выражение SQL для всех источников сети. Синтаксис выражения SQL несколько различается в зависимости от типа класса объектов источника сети. Например, если вы выполняете запрос к исходному классу объектов, хранящемуся в файле, или к базам геоданных ArcSDE, шейп-файлам, SDC, то имена полей необходимо заключить в двойные кавычки: "CFCC". Если вы выполняете запрос к исходному классу объектов, хранящемуся в персональной базе геоданных, заключите поля в квадратные скобки: [CFCC].

Если запрос для конкретного источника указывать не нужно, используйте "#" в качестве значения для выражения SQL, или исключите имя источника и выражение SQL из значения параметра. Если запрос для всех источников сети указывать не нужно, используйте "#" в качестве значения параметра.

Например, значение параметра [["Streets","\"CFCC\" = 'A15'"], ["Streets_ND_Junctions",""]] определяет выражение SQL для исходного класса объектов Улицы (Streets) и отсутствие выражения для исходного класса объектов Streets_ND_Junctions. Обратите внимание, что двойные кавычки, окружающие имя поля CFCC, можно проигнорировать, добавив символы обратной косой черты, что позволит избежать ошибки анализа в интерпретаторе Python.

Value Table

Пример кода

CalculateLocations. Пример 1 (окно Python)

Использование параметра Вычислить положения (Calculate Locations) для точечных объектов только с обязательными параметрами.

import arcpy
arcpy.env.workspace = "C:/ArcTutor/Network Analyst/Tutorial/SanFrancisco.gdb"
arcpy.na.CalculateLocations("Analysis/Stores","Transportation/Streets_ND",
                            "5000 Meters",[["Streets","SHAPE"],
                                           ["Streets_ND_Junctions","NONE"]])
CalculateLocations. Пример 2 (окно Python)

Использование параметра Вычислить положения (Calculate Locations) для точечных объектов в дочернем типе сетевого источника.

import arcpy
arcpy.env.workspace = "C:/ArcTutor/Network Analyst/Tutorial/Paris.gdb"
arcpy.na.CalculateLocations(
    "Analysis/Warehouses","Transportation/ParisNet","5000 Meters",
    [["Streets : Highways","NONE"],["Streets : Major Roads","NONE"],
     ["Streets : Local Streets","SHAPE"],["ParisNet_Junctions", "NONE"]],
    "MATCH_TO_CLOSEST","SID","SOID","PA","SOE","SnapX","SnapY","Distance",
    "","","","")
CalculateLocations. Пример 3 (окно Python)

Использование Вычислить положения (Calculate Locations) для полигональных объектов.

import arcpy
arcpy.env.workspace = "C:/ArcTutor/Network Analyst/Tutorial/SanFrancisco.gdb"
arcpy.na.CalculateLocations("Basemap/Parks","Transportation/Streets_ND","",
                            [["Streets","SHAPE"],
                             ["Streets_ND_Junctions","NONE"]],
                            location_field="Locations")
CalculateLocations. Пример 4 (автономный скрипт Python)

В следующем скрипте Python демонстрируется, как использовать инструмент CalculateLocations в автономном скрипте.

# Name: CalculateLocations_ex04.py
# Description: Calculate network locations for fire stations. Make sure that the 
#              fire stations are not located on the freeways.
# Requirements: Network Analyst Extension 

#Import system modules
import arcpy
from arcpy import env


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

#Set environment settings
env.workspace = "C:/data/SanFrancisco.gdb"

#Set local variables
inFeatures = "Analysis/FireStations"
inNetworkDataset = "Transportation/Streets_ND"
searchTolerance = "2000 Meters"
searchCriteria = [["Streets","SHAPE"],["Streets_ND_Junctions","NONE"]]
searchQuery = [["Streets",'"FREEWAY" = 0'],["Streets_ND_Junctions",""]]

#Calculate network locations and store them in defaut field names
arcpy.na.CalculateLocations(inFeatures,inNetworkDataset,searchTolerance,
                            searchCriteria,"MATCH_TO_CLOSEST", 
                            exclude_restricted_elements="EXCLUDE",
                            search_query=searchQuery)
print "Script completed successfully."

Параметры среды

Связанные темы

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

ArcGIS for Desktop Basic: Да
ArcGIS for Desktop Standard: Да
ArcGIS for Desktop Advanced: Да
9/11/2013