Сводка
Помещает входные объекты в сеть и добавляет во входные объекты поля, описывающие эти сетевые местоположения. Инструмент используется для сохранения сведений о сетевом положении в виде атрибутов для быстрой загрузки объектов как входных объектов для сетевого анализа.
Использование
Это инструмент используется для вычисления полей положений, которые могут быть введены в инструмент Добавить положения. Это инструмент применяется в отношении объектов, которые используются в качестве входных в слое сетевого анализа более одного раза. После вычисления положения для быстрой загрузки объектов, как новых положений, можно использовать параметр Использовать поля сетевых положений вместо геометрии инструмента Добавить положения.
Это инструмент также можно использовать для пересчета сетевых положений, не расположенных в слое сетевого анализа при использовании другого набора параметров поиска. Например, если остановки на маршруте изначально были добавлены в слой сетевого анализа с допуском при поиске в 500 метров, и некоторые из них не были размещены с точными координатами, можно выбрать эти неразмещенные остановки, например, с помощью инструмента Выбрать в слое по атрибуту и выполнить операцию повторно, указав подслой остановок в качестве Входного объекта с повышенной точностью поиска.
Данный инструмент работает значительно быстрее, если классы пространственных объектов, используемые в качестве сетевых источников в наборе сетевых данных, имеют корректный и актуальный пространственный индекс.
Синтаксис
arcpy.na.CalculateLocations(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.
Для указания нескольких типов замыкания для отдельного источника сети, используйте сочетание ключевых слов для типа замыкания, разделенных знаком подчеркивания. Например, MIDDLE_END указывает, что положения могут быть замкнуты на среднюю или конечную точку источника сети. Для наборов сетевых данных базы геоданных типы замыкания могут быть указаны для каждого подтипа источника сети (["Streets : Local Streets","SHAPE"]). При вычислении положений для линейного или полигонального объекта используется только тип замыкания SHAPE, даже в том случае, если указаны другие типы. Любой не включенный в этот список сетевой источник будет использовать тип замыкания по умолчанию. Самый безопасный способ – включить все сетевые источники в ваш список и явно задать тип замыкания для каждого из них. | Value Table |
match_type (Дополнительный) |
Этот параметр не используется при вычислении положений для линейных и полигональных объектов. В таких случаях используйте в качестве значения параметра "#". | Boolean |
source_ID_field (Дополнительный) | Имя поля, которое будет создаваться или обновляться с помощью ID источника для вычисленного сетевого положения. Поле 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 (Дополнительный) | Определяет, будет ли исключаться части сети с ограничениями при размещении входных объектов. Параметр применяется только в том случае, если входные объекты принадлежат подслою слоя сетевого анализа и не являются объектами барьеров. В остальных случаях используйте в качестве значения параметра "#".
| Boolean |
search_query [[Source, Expression],...] (Дополнительный) | Определяет запрос на ограничение поиска поднабора объектов в классе исходных объектов. Эта опция полезна, если вы не хотите находить объекты, которые могут не подходить для сетевого положения. Например, если вы загружаете центроиды полигонов, и не хотите размещать их на дорогах местного значения, вы можете задать запрос, по которому будет выполняться поиск только для основных магистралей. Значение параметра указывается в виде списка с вложенными списками. Вложенный список состоит из двух значений, указывающих имя и выражение SQL для всех источников сети. Синтаксис выражения SQL несколько различается в зависимости от типа класса объектов источника сети. Например, если вы выполняете запрос к исходному классу объектов, хранящемуся в файловой или многопользовательской базе геоданных, шейп-файлам, SDC, то имена полей необходимо заключить в двойные кавычки: "CFCC". Если вы выполняете запрос к исходному классу объектов, хранящемуся в персональной базе геоданных, заключите поля в квадратные скобки: [CFCC]. Если запрос для конкретного источника указывать не нужно, используйте "#" в качестве значения для выражения SQL, или исключите имя источника и выражение SQL из значения параметра. Если запрос для всех источников сети указывать не нужно, используйте "#" в качестве значения параметра. Например, значение параметра [["Streets","\"CFCC\" = 'A15'"], ["Streets_ND_Junctions",""]] определяет выражение SQL для исходного класса объектов Streets и отсутствие выражения для исходного класса объектов Streets_ND_Junctions. Обратите внимание, что двойные кавычки, окружающие имя поля CFCC, можно проигнорировать, добавив символы обратной косой черты, что позволит избежать ошибки анализа в интерпретаторе Python. По умолчанию запрос не используется. | Value Table |
Производные выходные данные
Имя | Объяснение | Тип данных |
out_point_feature_class | Обновленные входные объекты. | Представление таблицы |
Пример кода
CalculateLocations, пример 1 (окно Python)
Использование параметра Вычислить положения для точечных объектов только с обязательными параметрами.
stores = "C:/Data/SanFrancisco.gdb/Analysis/Hospitals/Analysis/Stores"
network = "C:/Data/SanFrancisco.gdb/Transportation/Streets_ND"
arcpy.na.CalculateLocations(stores, network, "5000 Meters",
[["Streets", "SHAPE"],
["Streets_ND_Junctions", "NONE"]])
CalculateLocations, пример 2 (окно Python)
Вычислить положения для точечных объектов на объектах улиц, но не на других источниках сетевых данных.
warehouses = "C:/Data/Paris.gdb/Analysis/Warehouses"
network = "C:/Data/Paris.gdb/Transportation/ParisMultimodal_ND"
arcpy.na.CalculateLocations(warehouses, network, "5000 Meters",
[["Metro_Lines", "NONE"], ["Streets", "SHAPE"],
["Transfer_Stations", "NONE"], ["Metro_Entrances", "NONE"],
["Metro_Stations", "NONE"], ["ParisMultimodal_ND_Junctions", "NONE"]],
"MATCH_TO_CLOSEST", "SID", "SOID", "PA", "SOE", "SnapX", "SnapY",
"Distance")
CalculateLocations, пример 3 (окно Python)
Использование Вычислить положения для полигональных объектов.
parks = "C:/Data/SanFrancisco.gdb/Analysis/Hospitals/Basemap/Parks"
network = "C:/Data/SanFrancisco.gdb/Transportation/Streets_ND"
arcpy.na.CalculateLocations(parks, network, "", [["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."
Параметры среды
Информация о лицензиях
- Basic: Да
- Standard: Да
- Advanced: Да