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