Краткая информация
Объект Landmark Source содержит информацию о конфигурации ориентиров, используемых при формировании маршрутов движения.
Свойства
Свойство | Объяснение | Тип данных |
featureClassName (только чтение) | Имя класса точечных пространственных объектов, связанного с источником ориентира. | String |
labelFieldName (только чтение) | Имя текстового поля класса объекта ориентира, описывающего ориентир. | String |
levelFieldName (только чтение) | Имя поля, использующегося для связывания ориентиров с определенным этажом здания. | String |
searchTolerance (только чтение) | Размер радиуса поиска. Как правило, при прохождении маршрута через ориентир в пределах радиуса поиска этот ориентир отображается в путевом листе. Единицы измерения для поля указаны в разделе searchToleranceUnits. | Double |
searchToleranceUnits (только чтение) | Значение единиц измерения searchTolerance. | String |
useSpatialSearch (только чтение) | Значение Boolean показывает, являются ли ориентиры пространственными (True) или непространственными (False). Непространственные ориентиры связаны с ObjectID определенного ребра, а местоположение пространственных ориентиров определяется геометрией. | Boolean |
Пример кода
Пример Landmark Source
# Name: NDSLandmarks_ex01.py
# Description: Print information about the directions landmarks associated
# with edge sources in the network dataset.
import arcpy
import sys
def printLandmarkInfo(landmarks):
for lm in landmarks:
print("\nLandmarks feature class name:", lm.featureClassName)
print("Label field name:", lm.labelFieldName)
print("Level field name:", lm.levelFieldName)
print("Search tolerance:", lm.searchTolerance)
print("Search tolerance units:", lm.searchToleranceUnits)
print("Landmarks are spatial:", lm.useSpatialSearch)
network = r"C:/Data/NetworkDatasetWithLandmarks.gdb/Transportation/Streets_ND"
# Create Describe object for the network dataset
desc = arcpy.Describe(network)
#If the directions are not set for the network dataset, exit
if not desc.supportsDirections:
print("No direction information")
sys.exit()
# Get all the edge sources
sources = desc.edgeSources
#If there are no edge sources in the network dataset, quit.
if not sources:
print("No edge sources")
sys.exit()
#Loop through all the edge sources
for source in sources:
print("\n--------------------")
print("Edge source name: " , source.name)
# Get the directions information specific to this edge source
sDir = source.sourceDirections
# Check if the edge source has turn and confirmation landmarks associated with it.
# If so, print some information about the landmarks.
if hasattr(sDir, "landmarkEventSources"):
landmarkEventSources = sDir.landmarkEventSources
print("\n--Confirmation landmark information--")
printLandmarkInfo(landmarkEventSources)
else:
print("Source does not have confirmation landmarks.")
if hasattr(sDir, "landmarkManeuverSources"):
landmarkManeuverSources = sDir.landmarkManeuverSources
print("\n--Turn landmark information--")
printLandmarkInfo(landmarkManeuverSources)
else:
print("Source does not have turn landmarks.")