Network Analyst-Layer-Eigenschaften

Zusammenfassung

Die Describe-Funktion gibt die folgenden Eigenschaften für Network Analyst-Layer zurück.

Für ein Network Analyst-Layer wird der dataType von "NALayer" zurückgegeben.

Ein Network Analyst-Layer enthält Informationen über die Eingaben und Parameter, die bei der Analyse eines Netzwerkproblems mithilfe der ArcGIS-Erweiterung Network Analyst verwendet werden.

Eigenschaften

EigenschaftErläuterungDatentyp
network
(Nur lesen)

Das Netzwerk-Dataset-Objekt.

Dieses Objekt kann zum Abrufen aller Eigenschaften, z. B. catalogPath, des zu Grunde liegenden Netzwerk-Datasets dienen, die vom Analyse-Layer verwendet werden.

Object
nameString
(Nur lesen)

Der Name des Network Analyst-Layers.

String
solverName
(Nur lesen)

Der Network Analyst-Solver, der vom Layer referenziert wird. Jeder Layer kann nur einen Solver referenzieren. Diese Eigenschaft gibt die folgenden Schlüsselwörter zurück:

  • Route Solver
  • Closest Facility Solver
  • Service Area Solver
  • OD Cost Matrix Solver
  • Vehicle Routing Problem Solver
  • Location-Allocation Solver

String
impedance
(Nur lesen)

Das bei der Analyse als Impedanz verwendete Netzwerk-Kostenattribut.

String
accumulators
(Nur lesen)

Eine durch Semikolons getrennte Liste der Netzwerk-Kostenattribute, die als Teil der Analyse akkumuliert werden.

String
restrictions
(Nur lesen)

Eine durch Semikolons getrennte Liste der Restriktionsattribute, die für die Analyse angewendet werden.

String
ignoreInvalidLocations
(Nur lesen)

Ein Boolescher Ausdruck zur Anzeige, wie der Solver ungültige Netzwerkstandorte in den Network Analyst-Klassen berücksichtigt.

Der Wert "True" gibt an, dass die ungültigen Standorte vom Solver ignoriert werden. "False" gibt an, dass die ungültigen Standorte vom Solver nicht ignoriert werden.

Boolean
uTurns
(Nur lesen)

Gibt an, wie der Solver Wenden an Kreuzungen, die beim Durchlaufen des Netzwerks zwischen Stopps auftreten können, verarbeitet. Diese Eigenschaft gibt die folgenden Schlüsselwörter zurück:

  • ALLOW_UTURNS
  • NO_UTURNS
  • ALLOW_DEAD_ENDS_ONLY
  • ALLOW_DEAD_ENDS_AND_INTERSECTIONS_ONLY

String
useHierarchy
(Nur lesen)

Gibt an, ob der Network Analyst-Layer die Hierarchie verwendet. Diese Eigenschaft gibt die folgenden Schlüsselwörter zurück:

  • USE_HIERARCHY
  • NO_HIERARCHY

String
hierarchyAttribute
(Nur lesen)

Der Name des Hierarchie-Attributs.

String
hierarchyLevelCount
(Nur lesen)

Die Anzahl der zur Definition des Hierarchie-Attributs verwendeten Hierarchiebereiche. Der Maximalwert lautet 3.

Integer
maxValueForHierarchyX
(Nur lesen)

Ein bestimmtes Hierarchie-Attribut kann über Werte zur Definition der Hierarchiebereiche verfügen. Die Maximalwerte für die einzelnen Bereiche können aus der maxValueForHierarchyX-Eigenschaft abgerufen werden, wobei X für die Hierarchieebene steht. Beispielsweise kann der Maximalwert für den ersten Hierarchiebereich (dient der Hauptstraßendefinition) aus der maxValueForHierarchy1-Eigenschaft abgerufen werden.

Verwenden Sie die hierarchyLevelCount-Eigenschaft, um die mögliche Anzahl der maxValueForHierarchy-Eigenschaften für ein bestimmtes Hierarchieattribut zu bestimmen. Wenn beispielsweise die hierarchyLevelCount-Eigenschaft den Wert 3 zurückgibt, unterstützt das Describe-Objekt die Eigenschaften MaxValueForHierarchy1 und MaxValueForHierarchy2.

Integer
locatorCount
(Nur lesen)

Die Gesamtzahl der Klassen, die zum Bestimmen des Netzwerkstandorts durchsucht werden.

Integer
locators
(Nur lesen)

Das Network Analyst-Locator-Objekt. Mit diesem Objekt können der Name, der Fangtyp und die Suchabfrageinformationen für die Klassen abgerufen werden, die zum Suchen nach Netzwerkstandorten verwendet werden.

Object
findClosest
(Nur lesen)

Gibt an, wie die Netzwerk-Quell-Features beim Suchen nach Netzwerkanalyse-Objekten durchsucht werden. Diese Eigenschaft gibt die folgenden Schlüsselwörter zurück:

  • MATCH_TO_CLOSEST
  • PRIORITY

String
searchTolerance
(Nur lesen)

Eine durch Leerzeichen getrennte Zeichenfolge zur Anzeige der Suchtoleranz und der bei der Suche nach Netzwerkstandorten verwendeten Einheiten.

String
excludeRestrictedElements
(Nur lesen)

Gibt an, ob sich das Netzwerkanalyse-Objekt nur auf passierbaren Teilen der Netzwerkquellen befinden kann. Diese Eigenschaft gibt die folgenden Schlüsselwörter zurück:

  • INCLUDE
  • EXCLUDE

String
solverProperties
(Nur lesen)

Das Network Analyst-Solver-Objekt. Dieses Objekt kann zum Bestimmen der Solver-spezifischen Eigenschaften in einem Network Analyst-Layer verwendet werden.

Object
children
(Nur lesen)

Gibt ein Enumerierungsobjekt zurück, das wiederum einzelne Network Analyst-Klassen (z. B. Haltepunkte und Routen) als Layer bereitstellt.

Verwenden Sie die Methoden next und reset des Enumerierungsobjekts, um sich durch die Network Analyst-Klassen zu bewegen.

Diese Methode kann nicht mit dem Network Analyst-Layer verwendet werden, der auf der Festplatte als Layer-Datei gespeichert ist.

Object
parameterCount
(Nur lesen)

Die Gesamtzahl der Attributparameter, die für alle Netzwerkattribute des zu Grunde liegenden Netzwerk-Datasets definiert sind, die von Network Analyst-Layer verwendet werden.

Integer
parameters
(Nur lesen)

Das Netzwerkattribut-Parameter-Objekt. Mit diesem Objekt können die für die Netzwerkanalyse verwendeten Attributparameter bestimmt werden.

Object

Codebeispiel

Network Analyst-Layer-Eigenschaften – Beispiele

Die Eigenschaften einer angegebenen Network Analyst-Layer-Datei werden angezeigt.

# Name: NALayerProperties_ex01.py
# Description: Lists all the properties that can be derived by describing a 
#              network analysis layer.

import arcpy

#Arguments..
#in_layer is the name of the Network Analysis layer file to be described.  
in_layer = "C:/Data/Route.lyr"  

#Get the description object using Describe. 
desc = arcpy.Describe(in_layer) 

arcpy.AddMessage(" ")
arcpy.AddMessage("== Description of network analysis layer " + in_layer + " ==")
arcpy.AddMessage(" ") 

#Print general infomation.
justify = 35 
nds = desc.network 
solvername = desc.solverName 
arcpy.AddMessage("---- General information:") 
arcpy.AddMessage(" %*s: %s" % (justify, "Network" , nds.catalogPath)) 
arcpy.AddMessage(" %*s: %s" % (justify, "SolverName" , desc.solverName)) 
arcpy.AddMessage(" %*s: %s" % (justify, "Impedance" , desc.impedance)) 
arcpy.AddMessage(" %*s: %s" % (justify, "Accumulators" , desc.accumulators)) 
arcpy.AddMessage(" %*s: %s" % (justify, "Restrictions" , desc.restrictions)) 
arcpy.AddMessage(" %*s: %s" % (justify, "Ignore invalid locations?" , 
                str(desc.ignoreInvalidLocations))) 
arcpy.AddMessage(" %*s: %s" % (justify, "UTurn policy" , desc.UTurns)) 
arcpy.AddMessage(" %*s: %s" % (justify, "Using hierarchy?" , desc.useHierarchy))
arcpy.AddMessage(" %*s: %s" % (justify, "Exclude Restricted Elements?" ,
                               desc.excludeRestrictedElements))
arcpy.AddMessage(" ") 

#A note about the dynamic properties (indicated by X in the help system)
#In order to access the dynamic properties use Python's built in getattr()
#function. In order to find out if a dynamic property is supported by the 
#describe object, use Python's built in hasattr() function. 

# Print attribute parameter information
arcpy.AddMessage(" ---- Attribute Parameter information ----") 
count = desc.parameterCount 
if count == 0: 
    arcpy.AddMessage(" ---- No Attribute Parameters defined ----") 
else: 
    parameters = desc.parameters 
    for i in range(0, count): 
        attributeName = getattr(parameters,"attributeName" + str(i)) 
        parameterName = getattr(parameters, "parameterName" + str(i)) 
        parameterValue = getattr(parameters, "parameterValue" + str(i)) 
        arcpy.AddMessage(" %*s: %s: %s" % (justify, attributeName, 
                                           parameterName, parameterValue))   

# Print hierarchy information
if desc.useHierarchy.lower() == "use_hierarchy": 
    arcpy.AddMessage(" ---- Hierarchy information ----")
    arcpy.AddMessage(" %*s: %s" % (justify, "Hierarchy Attribute Name",
                                   desc.hierarchyAttribute)) 
    count = desc.hierarchyLevelCount
    arcpy.AddMessage(" %*s: %d" % (justify, "Hierarchy Level Count" , count)) 
    
    for i in range(0, count ): 
        levelRange = "" 
        if i == 0:      
            levelUB = getattr(desc,"maxValueForHierarchy" + str(i+1))            
            levelRange = "up to %s" % levelUB 
        elif i == (count - 1): 
            prevLevelUB = getattr(desc, "maxValueForHierarchy" + str(i)) 
            levelRange = "%s and higher" % (prevLevelUB + 1)
        else: 
            prevLevelUB =  getattr(desc, "maxValueForHierarchy" + str(i)) 
            levelUB = getattr(desc,"maxValueForHierarchy" + str(i + 1)) 
            levelRange = "%s - %s" % ((prevLevelUB + 1), levelUB)
        
        arcpy.AddMessage(" %*s %d range: %s" % (justify, "level", (i + 1), 
                                                levelRange))

    arcpy.AddMessage(" ") 

# Print locator information. 
arcpy.AddMessage("---- Locator information:") 
count = desc.locatorCount 
arcpy.AddMessage(" %*s: %d" % (justify, "Count" , count)) 
arcpy.AddMessage(" %*s: %s" % (justify, "Find Closest?" , desc.findClosest)) 
arcpy.AddMessage(" %*s: %s" % (justify, "Search Tolerance", 
                               desc.searchTolerance))
arcpy.AddMessage(" %*s: %s" % (justify, "Exclude Restricted Elements",
                               desc.excludeRestrictedElements))
locators = desc.locators 
for i in range(0, count): 
    sourceName = getattr(locators, "source" + str(i)) 
    sourceType = getattr(locators, "snapType" + str(i))
    searchQuery = getattr(locators, "searchQuery" + str(i))
    arcpy.AddMessage(" %*s: %s" %(justify, sourceName, sourceType))
    arcpy.AddMessage(" %*s: %s" %(justify, sourceName, searchQuery))

7/10/2012