Сводка
Обновляет значение параметра сетевого атрибута для слоя сетевого анализа. Инструмент следует использовать для обновления значения параметра атрибута слоя сетевого анализа перед расчетом с помощью инструмента Расчет. Это гарантирует, что в операции расчета будет использоваться указанное значение параметра атрибута для выдачи соответствующих результатов.
Использование
Параметризованные сетевые атрибуты используются для моделирования некоторого динамического аспекта значения атрибута. Например, туннель с ограничением высоты 12 футов может быть смоделирован с использованием параметра. В этом случае высоту транспорта в футах нужно указать как значение параметра. Ограничение будет считаться истинным, если высота транспорта превышает 12 футов. Аналогично у моста может быть параметр, указывающий ограничение по весу.
Этот инструмент следует использовать только со слоями сетевого анализа с заданными параметрами сетевых атрибутов.
Этот инструмент можно использовать, чтобы неоднократно изменять значения существующего параметра перед расчетом слоя сетевого анализа.
Новые параметры атрибутов можно создавать в диалоговом окне свойств набора сетевых данных в окне Каталог (Catalog) или в ArcCatalog.
Синтаксис
arcpy.na.UpdateAnalysisLayerAttributeParameter(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 | Параметр сетевого атрибута, который будет обновлен. С помощью этого инструмента нельзя обновить параметры типа Объект. | String |
attribute_parameter_value (Дополнительный) | Значение, которое будет задано для параметра атрибута. Это может быть строка, число, дата или логическое значение (True, False). Если значение не задано, значение параметра атрибута устанавливается NULL. Если у параметра атрибута есть тип ограничения, значение можно указать как ключевое слово или число. Ключевое слово или числовое значение определяет, будет ли атрибут ограничения запрещать, предотвращать или предпочитать сетевые элементы, с которыми он связан. Кроме того, при выборе ключевых слов HIGH, MEDIUM или LOW можно определить степень предотвращения или предпочтения сетевых элементов. Поддерживаются следующие ключевые слова:
Числовые значения, превышающее 1, могут привести к исключению ограниченных элементов. Чем больше число, тем больше элементов игнорируются. Числовые значения от 0 до 1 могут привести к предпочтительному выбору ограниченных элементов. Чем меньше число, тем больше ограниченных элементов выбирается. Отрицательные числа запрещают использование ограниченных элементов. | String |
Производные выходные данные
Имя | Объяснение | Тип данных |
output_layer | Обновленный слой сетевого анализа. | Слой Network Analyst |
Пример кода
UpdateAnalysisLayerAttributeParameter, пример 1 (окно Python)
Выполнение инструмента с использованием всех параметров.
arcpy.na.UpdateAnalysisLayerAttributeParameter("Route", "Height Restriction",
"Vehicle Height (feet)", 12.0)
UpdateAnalysisLayerAttributeParameter, пример 2 (рабочий процесс)
В следующем автономном скрипте Python показано, как можно использовать инструмент UpdateAnalysisLayerAttributeParameter для поиска лучшего маршрута грузовиков, избегающего низких эстакад или туннелей, платных дорог и выбирающего отдельные предпочитаемые маршруты.
# 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 occurred on line %i" % tb.tb_lineno
print str(e)
Параметры среды
Информация о лицензиях
- Basic: Да
- Standard: Да
- Advanced: Да