Landmark Source

Сводка

Объект Landmark Source содержит информацию о конфигурации ориентиров, используемых при формировании маршрутов движения.

Свойства

ВладениеОбъяснениеТип данных
featureClassName
(только чтение)

Имя класса точечных пространственных объектов, связанного с источником ориентиров.

String
labelFieldName
(только чтение)

Имя текстового поля класса объекта ориентира, описывающего ориентир.

String
levelFieldName
(только чтение)

Имя поля, использующегося для связывания ориентиров с определенным этажом здания.

String
searchTolerance
(только чтение)

Размер радиуса поиска. Как правило, при прохождении маршрута через ориентир в пределах радиуса поиска этот ориентир отображается в путевом листе. Единицы измерения для поля указаны в разделе searchToleranceUnits.

Double
searchToleranceUnits
(только чтение)

Значение единиц измерения searchTolerance.

String
useSpatialSearch
(только чтение)

Значение Boolean показывает, являются ли ориентиры пространственными (True) или непространственными (False).

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.")