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
| Eigenschaft | Erläuterung | Datentyp |
| 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:
| 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:
| String |
| useHierarchy (Nur lesen) |
Gibt an, ob der Network Analyst-Layer die Hierarchie verwendet. Diese Eigenschaft gibt die folgenden Schlüsselwörter zurück:
| 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:
| 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:
| 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
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))