Краткая информация
Обеспечивает доступ на чтение и запись к свойствам путевого листа, позволяя настраивать выходные данные путевого листа из слоев сетевого анализа. Свойства StreetDirectionsProperties могут быть считаны из и установлены для объекта SolverProperties, полученного через функцию GetSolverProperties.
Обсуждение
Объект StreetDirectionsProperties обеспечивает доступ для чтения и записи свойств путевого листа, позволяя настраивать выходные данные путевого листа из слоев сетевого анализа.
Свойства, которые могут быть считаны и установлены, включают: language, lengthUnits, styleName, timeAttribute, outputSpatialReference.
Объект StreetDirectionsProperties доступен только в слоях сетевого анализа Маршрут, Ближайший пункт обслуживания и Выбор маршрута транспорта. Другие типы слоев сетевого анализа не поддерживают выходные путевые листы. Кроме того, объект StreetDirectionsProperties не доступен в слоях сетевого анализа, построенных на базе наборов сетевых данных, не поддерживающих путевые листы. Если слой не поддерживается, возвращается объект Python none.
После изменения свойств объекта StreetDirectionsProperties, соответствующий слой можно немедленно использовать с другими функциями и инструментами геообработки. Обновлять слой для внесения изменения не требуется.
Свойства
Свойство | Описание | Тип данных |
enabled (чтение и запись) | Указывает, будет ли при решении слоя создаваться путевой лист. Если путевой лист не нужен, установите этот параметр на False для улучшения скорости выполнения решения. | Boolean |
language (чтение и запись) | Язык, на котором записываются выходной текстовый путевой лист. Входным для этого параметра должен быть двух- или пятизначный код языка, представляющий один из доступных языков для построения путевого листа. Список доступных кодов языков можно получить при помощи функции ListDirectionsLanguages. | String |
lengthUnits (чтение и запись) | Указывает единицы измерения расстояния, используемые для измерения длин в выходном текстовом путевом листе. Единицы измерения должны быть одним из следующих строчных значений:
| String |
styleName (чтение и запись) | Стиль выходного текстового путевого листа. Для различного применения, например, печати, использования на навигационных устройствах или маршрутов для пешеходов, доступны различные стили. Список доступных стилей зависит от установленных на вашем компьютере, и может быть проверен с помощью функции ListDirectionsStyleNames. | String |
timeAttribute (чтение и запись) | Набор сетевых данных с функциями времени, который используется для вычисления времени пути в выходном путевом листе. Доступные значения timeAttribute являются свойством набора сетевых данных. Вы можете получить список атрибутов стоимости в наборе сетевых данных, используя объект describe набора сетевых данных. | String |
outputSpatialReference (чтение и запись) | Пространственная привязка, которая будет применяться к выходному классу направлений. Входными данными для этого атрибута должен быть объект SpatialReference. | SpatialReference |
Пример кода
Считывает слой маршрута, задает километры в качестве единиц измерения и генерирует объекты-направления.
# Name: StreetDirectionsProperties.py
# Description: Read a route layer from a layer file on disk, change the
# directions properties, and generate directions features
# Requirements: Network Analyst Extension
#Import system modules
import arcpy
try:
#Get the route layer object from a layer file on disk
layer_object = arcpy.mp.LayerFile(r'C:\Data\Route.lyrx').listLayers()[0]
#Get the solver properties of the layer.
solver_props = arcpy.na.GetSolverProperties(layer_object)
#Get the street directions properties
directions_props = solver_props.streetDirectionsProperties
#Set the lengthUnits to Kilometers
directions_props.lengthUnits = "Kilometers"
#Set the outputSpatialReference to web mercator
sr = arcpy.SpatialReference(3785)
directions_props.outputSpatialReference = sr
#Generate directions features and save them to disk.
arcpy.na.GenerateDirectionsFeatures(layer_object,
r'C:\Data\Output.gdb\RouteDirections')
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))