Доступно с лицензией Network Analyst.
Краткая информация
Обновляет значение параметра сетевого атрибута для слоя сетевого анализа. Инструмент следует использовать для обновления значения параметра атрибута слоя сетевого анализа перед расчетом с помощью инструмента Расчет (Solve). Это гарантирует, что в операции расчета будет использоваться указанное значение параметра атрибута для выдачи соответствующих результатов.
Использование
Параметризованные сетевые атрибуты используются для моделирования некоторого динамического аспекта значения атрибута. Например, туннель с ограничением высоты 12 футов может быть смоделирован с использованием параметра. В данном случае в качестве значения параметра следует указать высоту транспортного средства в футах. Это ограничение затем выдаст при вычислении значение true, если транспортное средство выше 12 футов. Подобным образом у моста может быть параметр, указывающий ограничение по весу.
Этот инструмент следует использовать только со слоями сетевого анализа, имеющими сетевые атрибуты, в которых определены параметры.
Этот инструмент может использоваться для повторяющегося изменения значения существующего параметра перед расчетом слоя сетевого анализа.
Новые параметры атрибутов можно создавать в диалоговом окне свойств набора сетевых данных в окне Каталог (Catalog) или в ArcCatalog.
Синтаксис
UpdateAnalysisLayerAttributeParameter_na (in_network_analysis_layer, parameterized_attribute, attribute_parameter_name, {attribute_parameter_value})
Параметр | Объяснение | Тип данных |
in_network_analysis_layer | Слой сетевого анализа, для которого будет обновлено значение параметра атрибута. | Network Analyst Layer |
parameterized_attribute | Сетевой атрибут, параметр которого будет обновлен. | String |
attribute_parameter_name | Параметр сетевого атрибута, который будет обновлен. Параметры типа Object нельзя обновить с помощью данного инструмента. | String |
attribute_parameter_value (дополнительно) | Значение, которое будет задано для параметра атрибута. Этим значение может быть строка, число, дата или булево выражение (True, False). Если значение не указано, для параметра атрибута устанавливается значение Null. Если параметр атрибута имеет тип применения ограничения, значение можно указать в качестве строкового ключевого слова или числового значения. Ключевое слово или числовое значение определяет, будет ли атрибут ограничения запрещать, предотвращать или предпочитать сетевые элементы, с которыми он связан. Более того, степень, в которой избегаются или предпочитаются сетевые элементы, можно определить, выбрав ключевые слова HIGH (высокая), MEDIUM (средняя) или LOW (низкая). Поддерживаются следующие ключевые слова:
Числовые значения, превышающее 1, могут привести к исключению ограниченных элементов. Чем больше число, тем больше элементов игнорируются. Числовые значения от 0 до 1 могут привести к предпочтительному выбору ограниченных элементов. Чем меньше число, тем больше ограниченных элементов выбирается. Отрицательные числа запрещают использование ограниченных элементов. | String |
Пример кода
UpdateAnalysisLayerAttributeParameter, пример 1 (окно Python)
Выполнение инструмента с использованием всех параметров.
arcpy.na.UpdateAnalysisLayerAttributeParameter("Route", "Height Restriction",
"Vehicle Height (feet)", 12.0)
UpdateAnalysisLayerAttributeParameter, пример 2 (рабочий процесс)
В следующем автономном скрипте Python показано, как можно использовать инструмент Обновить параметр атрибута слоя анализа (Update Analysis Layer Attribute Parameter) для поиска лучшего маршрута грузовиков, избегающего низких эстакад или туннелей, платных дорог и выбирающего отдельные предпочитаемые маршруты.
# Name: UpdateAnalysisLayerAttributeParameter_Workflow.py
# Description: Use the network dataset's length and height restriction attribute
# parameters to find a route suitable for transporting a large
# wind turbine blade. The results are saved to a layer file.
# Requirements: Network Analyst Extension
#Import system modules
import arcpy
from arcpy import env
import os
try:
#Check out the Network Analyst extension license
arcpy.CheckOutExtension("Network")
#Set environment settings
env.workspace = "C:/Data/SanDiego.gdb"
env.overwriteOutput = True
#Set local variables
network = "Transportation/Streets_ND"
layer_name = "WindTurbineRoute"
impedance = "Meters"
restrictions = ["Driving a Truck", "Height Restriction", "Oneway",
"Length Restriction", "National STAA and Locally Preferred Routes"]
seaport = "Analysis/Port"
wind_farm = "Analysis/WindFarm"
output_layer_file = os.path.join(r"C:/Data", layer_name + ".lyr")
#Make a new route layer. Use restriction attributes relevant to trucking
#oversize loads
result_object = arcpy.na.MakeRouteLayer(network, layer_name, impedance,
restriction_attribute_name=restrictions)
#Get the layer object from the result object. The route layer can
#now be referenced using the layer object.
layer_object = result_object.getOutput(0)
#Set the vehicle height and length attribute parameters to the dimensions of
#the wind turbine transport truck. If these dimensions exceed the limits
#associated with a street feature, that street will be restricted, and the
#resulting route will avoid it.
arcpy.na.UpdateAnalysisLayerAttributeParameter(layer_object,
"Height Restriction", "Vehicle Height (feet)", 13.25)
arcpy.na.UpdateAnalysisLayerAttributeParameter(layer_object,
"Length Restriction", "Vehicle Length (feet)", 80)
#Load the origin and destination points as Stops in the Route
sublayer_names = arcpy.na.GetNAClassNames(layer_object)
stops_layer_name = sublayer_names["Stops"]
arcpy.na.AddLocations(layer_object, stops_layer_name, seaport, "", "")
arcpy.na.AddLocations(layer_object, stops_layer_name, wind_farm, "", "",
append="APPEND")
#Solve the route layer
arcpy.na.Solve(layer_object)
#Save the solved route layer as a layer file on disk
arcpy.management.SaveToLayerFile(layer_object, output_layer_file,
"RELATIVE")
print "Script completed successfully"
except Exception as e:
# If an error occurred, print line number and error message
import traceback, sys
tb = sys.exc_info()[2]
print "An error occured on line %i" % tb.tb_lineno
print str(e)
Параметры среды
Информация о лицензировании
- ArcGIS for Desktop Basic: Да
- ArcGIS for Desktop Standard: Да
- ArcGIS for Desktop Advanced: Да