Propriétés de la couche Network Analyst

Récapitulatif

La fonction Describe renvoie les propriétés suivantes pour les couches Network Analyst.

Une couche Network Analyst renvoie un dataType de "NALayer".

Une couche Network Analyst renvoie des informations sur les entrées et les paramètres utilisés dans l'analyse d'un problème de réseau à l'aide de l'extension ArcGIS Network Analyst.

Propriétés

PropriétéExplicationType de données
network
(Lecture seule)

Objet Jeu de données réseau.

Cet objet permet d'obtenir toutes les propriétés, telles que catalogPath, du jeu de données réseau sous-jacent utilisé par la couche d'analyse.

Object
nameString
(Lecture seule)

Nom de la couche Network Analyst.

String
solverName
(Lecture seule)

Solveur Network Analyst en cours de référencement par la couche. Chaque couche peut référencer un solveur uniquement. Cette propriété renvoie les mots-clés suivants :

  • Solveur d'itinéraire
  • Solveur de proximité
  • Solveur de zone de desserte
  • Solveur de matrice de coût OD
  • Solveur des tournées de véhicules
  • Solveur d'emplacement-allocation

String
impedance
(Lecture seule)

Attribut de coût de réseau utilisé comme impédance pendant l'analyse.

String
accumulators
(Lecture seule)

Liste des attributs de coût de réseau, séparés par un point-virgule, rassemblés pour l'analyse.

String
restrictions
(Lecture seule)

Liste des attributs de restriction, séparés par un point-virgule, appliqués pour l'analyse.

String
ignoreInvalidLocations
(Lecture seule)

Expression booléenne indiquant la façon dont le solveur considère les emplacements réseau incorrects dans les classes Network Analyst.

Une valeur True indique que les emplacements incorrects sont ignorés par le solveur. Une valeur False indique que les emplacements incorrects ne sont pas ignorés par le solveur.

Boolean
uTurns
(Lecture seule)

Indique comment les demi-tours aux jonctions qui pourraient survenir lors de la traversée du réseau entre des arrêts sont gérés par le solveur. Cette propriété renvoie les mots-clés suivants :

  • ALLOW_UTURNS
  • NO_UTURNS
  • ALLOW_DEAD_ENDS_ONLY
  • ALLOW_DEAD_ENDS_AND_INTERSECTIONS_ONLY

String
useHierarchy
(Lecture seule)

Indique si la couche Network Analyst utilise une hiérarchie. Cette propriété renvoie les mots-clés suivants :

  • USE_HIERARCHY
  • NO_HIERARCHY

String
hierarchyAttribute
(Lecture seule)

Nom de l'attribut de hiérarchie.

String
hierarchyLevelCount
(Lecture seule)

Nombre de plages de hiérarchie utilisées pour définir l'attribut de hiérarchie. La valeur maximale est 3.

Integer
maxValueForHierarchyX
(Lecture seule)

Un attribut de hiérarchie donné peut avoir des valeurs qui définissent les plages de hiérarchie. Les valeurs maximales pour chaque plage peuvent être obtenues de la propriété maxValueForHierarchyX, X indiquant le niveau de la hiérarchie. Par exemple, la valeur maximale pour la première plage de hiérarchie (utilisée pour définir les routes nationales) peut être obtenue de la propriété maxValueForHierarchy1.

Utilisez la propriété hierarchyLevelCount pour déterminer le nombre possible de propriétés maxValueForHierarchy pour un attribut de hiérarchie donné. Par exemple, si la propriété hierarchyLevelCount renvoie 3, l'objet Describe prendra en charge les propriétés MaxValueForHierarchy1 et MaxValueForHierarchy2.

Integer
locatorCount
(Lecture seule)

Nombre total des classes utilisées dans lesquelles chercher pour déterminer l'emplacement d'un réseau.

Integer
locators
(Lecture seule)

Objet Localisateur Network Analyst. Cet objet permet d'obtenir les informations relatives au nom, au type de capture et à la requête de recherche pour les classes utilisées en vue de trouver des emplacements de réseau.

Object
findClosest
(Lecture seule)

Indique comment la recherche est effectuée dans les entités de sources de données du réseau pour localiser les objets d'analyse de réseau. Cette propriété renvoie les mots-clés suivants :

  • MATCH_TO_CLOSEST
  • PRIORITY

String
searchTolerance
(Lecture seule)

Chaîne, dans laquelle les éléments sont séparés par des espaces, indiquant la tolérance de recherche et les unités utilisées pour rechercher les emplacements du réseau.

String
excludeRestrictedElements
(Lecture seule)

Indique si les objets d'analyse de réseau peuvent être placés uniquement sur des parties traversables des sources de données du réseau. Cette propriété renvoie les mots-clés suivants :

  • INCLUDE
  • EXCLUDE

String
solverProperties
(Lecture seule)

Objet Solveur Network Analyst. Cet objet permet de déterminer les propriétés spécifiques du solveur dans une couche Network Analyst.

Object
children
(Lecture seule)

Renvoie un objet d'énumération qui, à son tour, fournit des classes Network Analyst individuelles (par exemple, arrêts et itinéraires) sous la forme de couches.

Utilisez les méthodes next et reset de l'objet énumération pour parcourir les classes Network Analyst.

Cette méthode ne peut pas être utilisée avec la couche Network Analyst stockée sur le disque en tant que fichier de couches.

Object
parameterCount
(Lecture seule)

Nombre total de paramètres d'attribut définis pour tous les attributs de réseau du jeu de données réseau sous-jacent utilisés par la couche Network Analyst.

Integer
parameters
(Lecture seule)

Objet Paramètre d'attribut de réseau. Cet objet permet de déterminer les paramètres d'attribut utilisés pour l'analyse du réseau.

Object

Exemple de code

Exemple de propriétés de la couche Network Analyst

Affiche les propriétés d'un fichier de couche Network Analyst spécifié.

# 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