Fusion du réseau (Network Analyst)
Récapitulatif
Crée un jeu de données réseau qui réduit le nombre d'entités linéaires requis pour modéliser correctement le jeu de données réseau en entrée. Le jeu de données réseau en sortie le plus efficace réduit le temps nécessaire pour résoudre des analyses, dessiner des résultats et générer des trajets. Cet outil génère un nouveau jeu de données réseau et une nouvelle classes d'entités source ; le jeu de données réseau en entrée et ses entités source restent inchangés.
Pour en savoir plus sur le fonctionnement de l'outil Fusion du réseauIllustration
Utilisation
-
Cet outil ne crée pas de réseau construit. L'outil Construire le réseau permet de construire le jeu de données réseau récemment créé avant d'effectuer une analyse dessus.
-
Les classes d'entités et jeu de données réseau créés dans l'espace de travail de géodatabase en sortie ont les mêmes nom de jeu de données d'entité, nom de jeu de données réseau et nom de classe d'entités en tant que jeu de données réseau en entrée. L'outil ne peut pas s'exécuter si un jeu de données portant ces noms existe déjà dans l'espace de travail de géodatabase en sortie.
-
Seuls les champs provenant de la classe d'entités source utilisés par le jeu de données réseau sont transférés à la classe d'entités linéaires en sortie. Ces champs peuvent être les suivants :
- Champs de niveau
- Champs utilisés dans les évaluateurs d'attribut de réseau (longueur, temps, restrictions unilatérales, hiérarchie, etc.)
- Champs utilisés pour la génération de trajets (noms de rue, panneau d'identification, etc.)
Syntaxe
Paramètre | Explication | Type de données |
in_network_dataset |
Jeu de données réseau à fusionner. Le jeu de données réseau en entrée doit être un jeu de données réseau de géodatabase fichier ou personnelle avec exactement un tronçon en entrée. N'importe quel nombre de jonctions en entrée et de tournants en entrée est autorisé. Le tronçon en entrée doit avoir :
Le jeu de données réseau en entrée doit être créé pour pouvoir être utilisé dans cet outil. | Network Dataset Layer |
out_workspace_location |
Espace de travail de géodatabase dans lequel créer le jeu de données réseau fusionné. L'espace de travail doit être une géodatabase ArcGIS 10 ou version ultérieure. | Workspace |
Exemple de code
Exécute l'outil avec tous les paramètres
import arcpy arcpy.env.workspace = "C:/ArcTutor/Network Analyst/Tutorial/SanFrancisco.gdb" arcpy.DissolveNetwork_na("Transportation/Streets_ND","C:/Data/DissolvedNet.gdb")
Le script Python autonome suivant illustre l'utilisation de l'outil Fusion du réseau pour créer un jeu de données réseau avec un nombre réduit d'entités linéaires.
# Name: DissolveNetwork_Workflow.py # Description: Creates a new network dataset with reduced number of line # features in a new file geodatabase workspace. The network dataset # is also built so that it can be used to perform network analyses. # Requirements: Network Analyst Extension #Import system modules import arcpy from arcpy import env try: #Check out the Network Analyst extension license arcpy.CheckOutExtension("Network") #Set environment settings env.workspace = "C:/data/SanFrancisco.gdb" env.overwriteOutput = True #Set local variables inNetworkDataset = "Transportation/Streets_ND" outFolder = "C:/data/output" outputGDBName = "SanFranciscoDissolved" #Create a new file geodatabase that will contain the dissolved network result = arcpy.CreateFileGDB_management(outFolder, outputGDBName) #Get the path to the newly created file gdb from the result object. outputGDB = result.getOutput(0) #Dissolve the network dataset result = arcpy.DissolveNetwork_na(inNetworkDataset, outputGDB) #Get the path to the dissolved network dataset from the result object dissolvedNetworkDataset = result.getOutput(0) #The dissolved network dataset is unbuilt. So build the network dataset arcpy.BuildNetwork_na(dissolvedNetworkDataset) print "Script completed successfully" except Exception as e: # If an error occurred, print line number and error message import traceback, sys tb = sys.exc_info()[2] print "An error occured on line %i" % tb.tb_lineno print str(e)