Créer un jeu de données réseau à partir d'un modèle (Network Analyst)

Synthèse

Permet de créer un jeu de données réseau avec la structure figurant dans le fichier de modèle en entrée (.xml). Toutes les classes d'entités et tables en entrée nécessaires à la création du jeu de données réseau doivent déjà exister avant l'exécution de cet outil.

Utilisation

  • Il permet de créer un nouveau jeu de données réseau à l'aide de la structure du fichier de modèle. Utilisez l'outil Créer un modèle à partir d'un jeu de données réseau pour créer la structure du nouveau jeu de données réseau. Le nom du jeu de données réseau en sortie est spécifié dans le fichier de modèle en entrée.

  • Le jeu de données réseau récemment créé doit être généré via l'outil Construire un réseau.

Paramètres

ÉtiquetteExplicationType de données
Modèle du jeu de données réseau

Fichier de modèle (.xml) créé par l'outil Créer un modèle à partir d'un jeu de données réseau contenant la structure du jeu de données réseau en sortie à créer.

File
Jeu de classes d'entités en sortie

Jeu de données d'entité contenant les classes d'entités qui seront intégrées au jeu de données réseau qui est créé. Le réseau sera créé dans ce jeu de données à l'aide du nom spécifié dans le modèle du jeu de données réseau.

Feature Dataset

Sortie obtenue

ÉtiquetteExplicationType de données
Réseau en sortie

Nouveau jeu de données réseau avec la structure figurant dans le fichier de modèle.

Jeu de données réseau

arcpy.management.CreateNetworkDatasetFromTemplate(network_dataset_template, output_feature_dataset)
NomExplicationType de données
network_dataset_template

Fichier de modèle (.xml) créé par l'outil Créer un modèle à partir d'un jeu de données réseau contenant la structure du jeu de données réseau en sortie à créer.

File
output_feature_dataset

Jeu de données d'entité contenant les classes d'entités qui seront intégrées au jeu de données réseau qui est créé. Le réseau sera créé dans ce jeu de données à l'aide du nom spécifié dans le modèle du jeu de données réseau.

Feature Dataset

Sortie obtenue

NomExplicationType de données
output_network

Nouveau jeu de données réseau avec la structure figurant dans le fichier de modèle.

Jeu de données réseau

Exemple de code

Exemple 1 d'utilisation de l'outil CreateNetworkDatasetFromTemplate (fenêtre Python)

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

new_network_location = "C:/data/NewNetwork.gdb/Transportation"
xml_template = "C:/data/NDTemplate.xml"
arcpy.na.CreateNetworkDatasetFromTemplate(new_network_location, xml_template)
Exemple 2 d'utilisation de l'outil CreateNetworkDatasetFromTemplate (script autonome)

Le script Python autonome suivant explique comment l'outil CreateNetworkDatasetFromTemplate permet de créer un nouveau jeu de données réseau à partir d'un modèle existant.

# Name: NetworkDatasetTemplate_workflow.py
# Description: Create a new network dataset with the same schema as an existing
#               network dataset
# Requirements: Network Analyst Extension

#Import system modules
import arcpy
import os

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 local variables
    original_network = "C:/data/Region1.gdb/Transportation/Streets_ND"
    new_network_location = "C:/data/Region2.gdb/Transportation"
    xml_template = "C:/data/NDTemplate.xml"
    
    #Create an XML template from the original network dataset
    arcpy.na.CreateTemplateFromNetworkDataset(original_network, xml_template)

    #Create the new network dataset in the output location using the template.
    #The output location must already contain feature classes and tables with 
    #the same names and schema as the original network.
    arcpy.na.CreateNetworkDatasetFromTemplate(xml_template,
                                                new_network_location)
    
    #Build the new network dataset
    arcpy.na.BuildNetwork(os.path.join(new_network_location, "Streets_ND"))

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 occurred on line %i" % tb.tb_lineno))
    print((str(e)))