Fusion du réseau (ArcGIS 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 une version ultérieure ; elle doit être différente de celle contenant le jeu de données réseau en entrée. | Workspace |
Exemple de code
Exécutez l'outil avec tous les paramètres.
import arcpy
arcpy.env.workspace = "C:/ArcTutor/Network Analyst/Tutorial/SanFrancisco.gdb"
arcpy.na.DissolveNetwork("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. After dissolving,
# 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.management.CreateFileGDB(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.na.DissolveNetwork(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.na.BuildNetwork(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)