Fusionner un réseau (Network Analyst)

Synthèse

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éseau

Illustration

Illustration de l'outil Fusion du réseau

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.)
  • Si le jeu de données réseau en cours de fusion ne contient pas de fonctionnalité 10.1, un jeu de données réseau 10.0 est créé.

Paramètres

ÉtiquetteExplicationType de données
Jeu de données réseau en entrée

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 :

  • une règle de connectivité Point de fin,
  • une règle d'altitude égale à Aucun ou Champs de niveau

Le jeu de données réseau en entrée doit être créé pour pouvoir être utilisé dans cet outil.

Network Dataset Layer
Espace de travail Géodatabase en sortie

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

Sortie obtenue

ÉtiquetteExplicationType de données
Jeu de données réseau fusionné en sortie

Jeu de données réseau avec moins d’entités linéaires, impliquant des analyses de réseau plus rapides.

Jeu de données réseau

arcpy.management.DissolveNetwork(in_network_dataset, out_workspace_location)
NomExplicationType 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 :

  • une règle de connectivité Point de fin,
  • une règle d'altitude égale à Aucun ou Champs de niveau

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

Sortie obtenue

NomExplicationType de données
out_network_dataset

Jeu de données réseau avec moins d’entités linéaires, impliquant des analyses de réseau plus rapides.

Jeu de données réseau

Exemple de code

Exemple 1 d'utilisation de l'outil Fusion du réseau (fenêtre Python)

Exécutez l’outil avec tous les paramètres.

network = "C:/Data/SanFrancisco.gdb/Transportation/Streets_ND"
out_gdb = "C:/Data/DissolvedNetwork.gdb"
arcpy.na.DissolveNetwork(network, out_gdb)
Exemple 2 d'utilisation de l'outil Fusion du réseau (workflow)

Le script Python autonome suivant illustre l'utilisation de l'outil DissolveNetworkpour 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

try:
    #Check out Network Analyst license if available. Fail if the Network Analyst license is not available.
    if arcpy.CheckExtension("network") == "Available":
        arcpy.CheckOutExtension("network")
    else:
        raise arcpy.ExecuteError("Network Analyst Extension license is not available.")
    
    #Set environment settings
    arcpy.env.workspace = "C:/data/SanFrancisco.gdb"
    arcpy.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:
    print(e)