ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • Aide
  • Sign Out
ArcGIS Desktop

ArcGIS Online

La plateforme cartographique de votre organisation

ArcGIS Desktop

Un SIG professionnel complet

ArcGIS Enterprise

SIG dans votre entreprise

ArcGIS Developers

Outils de création d'applications de localisation

ArcGIS Solutions

Modèles d'applications et de cartes gratuits pour votre secteur d'activité

ArcGIS Marketplace

Téléchargez des applications et des données pour votre organisation.

  • Documentation
  • Support
Esri
  • Se connecter
user
  • Mon profil
  • Déconnexion

ArcMap

  • Accueil
  • Commencer
  • Carte
  • Analyser
  • Gérer les données
  • Outils
  • Extensions

Mettre à jour le diagramme

  • Résumé
  • Utilisation
  • Syntaxe
  • Exemple de code
  • Environnements
  • Informations de licence

Résumé

Met à jour un diagramme schématique.

La mise à jour de diagrammes peut reposer sur des couches d'entités, des classes d'entités, des tables d'objets, une analyse de réseau résolue ou un fichier XML, selon le générateur schématique utilisé.

Utilisation

  • Le paramètre Données en entrée est obligatoire pour les diagrammes fonctionnant avec le générateur de jeu de données réseau et le générateur XML. Il est facultatif pour les diagrammes utilisés avec le générateur standard lorsqu'il est configuré en vue de fonctionner à partir d'un réseau géométrique ou d'un jeu de données réseau. Il ne doit pas être spécifié pour les diagrammes qui fonctionnent avec le générateur standard configuré en vue de gérer les requêtes personnalisées.

  • Lorsque vous exécutez l'outil Mettre à jour le diagramme sur des diagrammes implémentés par le générateur standard qui ont été générés à partir d'un parcours de réseau géométrique, la mise à jour s'effectue à partir du résultat du traçage mis à jour en fonction des paramètres de traçage qui ont été conservés dans le jeu de données schématique la première fois que le diagramme a été généré à partir d'un traçage en surbrillance.

  • Lorsque la mise à jour doit s'effectuer à partir des entités qui composent un réseau géométrique ou un jeu de données réseau, il n'est pas nécessaire de spécifier toutes les couches d'entités dans le paramètre Données en entrée. Si les propriétés du générateur standard sont définies par l'option Ajouter les nœuds connectés, seules les couches d'entités associées aux tronçons ou aux éléments de réseau de tronçon peuvent être spécifiées, même si toutes les couches d'entités associées au réseau géométrique ou au jeu de données réseau (jonctions et tronçons) seront utilisées dans le cadre d'une mise à jour.

  • Si une mise en page particulière a été enregistrée pour le diagramme schématique spécifié, les entités schématiques déjà contenues dans le diagramme avant la mise à jour sont affichées en conservant leur dernière position enregistrée, et les nouvelles entités schématiques introduites pendant la mise à jour sont placées sur leurs coordonnées géographiques.

Syntaxe

arcpy.schematics.UpdateDiagram(in_diagram, {in_data}, {builder_options})
ParamètreExplicationType de données
in_diagram

Couche de diagrammes schématiques à mettre à jour.

Schematic Layer
in_data
[in_data,...]
(Facultatif)

Données en entrée sur lesquelles sera basée la mise à jour du diagramme.

Le paramètre Données en entrée n'est pas obligatoire pour tous les générateurs prédéfinis :

  • Pour les modèles de diagrammes qui fonctionnent avec le générateur standard configuré en vue de gérer les requêtes personnalisées, aucune table en entrée n'est requise.
  • Pour les modèles de diagrammes qui fonctionnent avec le générateur XML, le paramètre Données en entrée doit faire référence à un fichier XML.
  • Pour les modèles de diagrammes qui fonctionnent avec le générateur de jeu de données réseau, vous devez spécifier les données en entrée. Elles doivent faire référence à une seule couche d'analyse du réseau. Le cas échéant, Schematics essaie d'exécuter l'analyse de réseau correspondante avant d'utiliser la couche d'analyse résolue en entrée.
  • Pour les modèles de diagrammes utilisés avec le générateur standard configuré pour fonctionner à partir d'un réseau géométrique ou d'un jeu de données réseau, lorsque le paramètre Données en entrée n'est pas spécifié, l'outil Mettre à jour le diagramme s'exécute : soit à partir du jeu initial d'entités/objets de réseau servant à générer le diagramme, soit à partir du résultat du parcours de réseau géométrique mis à jour en fonction des paramètres de traçage qui ont été conservés dans la base de données schématique si le diagramme a été généré à partir d'un traçage en surbrillance. Lorsqu'il est spécifié, le paramètre Données en entrée doit faire référence à au moins une couche d'entités, une classe d'entités ou une table d'objets pour que la mise à jour porte sur ces données conformément à la valeur Options du générateur.

Table View;Data Element;Layer
builder_options
(Facultatif)

Options de mise à jour du créateur schématique. Les options de mise à jour sont facultatives. Elles dépendent du générateur associé au modèle de diagramme qui implémente le diagramme schématique spécifié :

  • Diagrammes générés à partir de requêtes personnalisées (générateur standard) : KEEP_MANUAL_MODIF, NO_KEEP_MANUAL_MODIF ouREFRESH.
  • Diagrammes générés à partir de données XML (générateur XML) : KEEP_MANUAL_MODIF ou NO_KEEP_MANUAL_MODIF.
  • Diagrammes générés à partir des résultats du solveur sur des jeux de données réseau (générateur de jeu de données réseau) : NO_MERGE_NODES;KEEP_MANUAL_MODIF, NO_MERGE_NODES;NO_KEEP_MANUAL_MODIF, MERGE_NODES;KEEP_MANUAL_MODIF ou MERGE_NODES;NO_KEEP_MANUAL_MODIF.
  • Diagrammes générés à partir d'entités organisées sous forme de réseau géométrique ou de jeu de données réseau (générateur standard) :
    • lorsque le paramètre Données en entrée n'est pas spécifié - KEEP_MANUAL_MODIF, NO_KEEP_MANUAL_MODIF ou REFRESH
    • lorsque le paramètre Données en entrée est spécifié - REBUILD;KEEP_MANUAL_MODIF, REBUILD;NO_KEEP_MANUAL_MODIF, APPEND;KEEP_MANUAL_MODIF, APPEND;NO_KEEP_MANUAL_MODIF, APPEND_QUICK;KEEP_MANUAL_MODIF ou APPEND_QUICK;NO_KEEP_MANUAL_MODIF

  • KEEP_MANUAL_MODIF —Option par défaut pour le diagramme basé sur le générateur XML ou le générateur standard si aucune donnée en entrée n'est spécifiée. Cette option permet de synchroniser le contenu du diagramme en entrée avec la sélection/le traçage/la requête d'origine utilisés pour la génération initiale de ce diagramme (diagramme standard) ou à partir d'une version mise à jour des données en entrée XML ayant initialement servi à le générer (diagramme XML), tandis que les entités schématiques qui ont pu être manuellement supprimées/réduites/reconnectées sont conservées dans le diagramme mis à jour.
  • NO_KEEP_MANUAL_MODIF —Option disponible pour les diagrammes basés sur le générateur XML ou le générateur standard lorsque aucune donnée en entrée n'est spécifiée. Cette option permet de synchroniser le contenu du diagramme en entrée avec la sélection/le traçage/la requête d'origine utilisés pour la génération initiale de ce diagramme (diagramme standard) ou à partir d'une version mise à jour des données en entrée XML ayant initialement servi à le générer (diagramme XML), tandis que les entités schématiques qui ont pu être manuellement supprimées/réduites/reconnectées sont restaurées dans le diagramme mis à jour.
  • REFRESH —Option disponible pour les diagrammes basés sur le générateur standard lorsque aucune donnée en entrée n'est spécifiée. Utilisez-la simplement pour actualiser les attributs de toutes les entités schématiques du diagramme en entrée en fonction de l'état actuel des entités de réseau associées dans le réseau géométrique ou dans les classes d'entités de jeux de données réseau.
  • REBUILD;KEEP_MANUAL_MODIF —Option par défaut disponible pour les diagrammes basés sur le générateur standard lorsque des données en entrée sont spécifiées. Utilisez cette option pour entièrement reconstruire le diagramme en entrée en fonction des couches d'entités, classes d'entités ou tables d'objets en entrée spécifiées, tandis que les entités schématiques qui ont pu être manuellement supprimées/réduites/reconnectées sont conservées dans le diagramme mis à jour.
  • REBUILD;NO_KEEP_MANUAL_MODIF —Option disponible pour les diagrammes basés sur le générateur standard lorsque des données en entrée sont spécifiées. Utilisez cette option pour entièrement reconstruire le diagramme en entrée en fonction des couches d'entités, classes d'entités ou tables d'objets en entrée spécifiées, tandis que les entités schématiques qui ont pu être manuellement supprimées/réduites/reconnectées sont restaurées dans le diagramme mis à jour.
  • APPEND;KEEP_MANUAL_MODIF —Option disponible pour les diagrammes basés sur le générateur standard lorsque des données en entrée sont spécifiées. Utilisez cette option pour ajouter les entités schématiques associées aux couches d'entités, classes d'entités ou tables d'objets en entrée spécifiées avec une synchronisation complète du contenu du diagramme en entrée, tandis que les entités schématiques qui ont pu être manuellement supprimées/réduites/reconnectées sont conservées dans le diagramme mis à jour.
  • APPEND;NO_KEEP_MANUAL_MODIF —Option disponible pour les diagrammes basés sur le générateur standard lorsque des données en entrée sont spécifiées. Utilisez cette option pour ajouter les entités schématiques associées aux couches d'entités, classes d'entités ou tables d'objets en entrée spécifiées avec une synchronisation complète du contenu du diagramme en entrée, tandis que les entités schématiques qui ont pu être manuellement supprimées/réduites/reconnectées sont restaurées dans le diagramme mis à jour.
  • APPEND_QUICK;KEEP_MANUAL_MODIF —Option disponible pour les diagrammes basés sur le générateur standard lorsque des données en entrée sont spécifiées. Utilisez cette option pour ajouter les entités schématiques associées aux couches d'entités, classes d'entités ou tables d'objets en entrée spécifiées avec une synchronisation partielle du contenu du diagramme en entrée, tandis que les entités schématiques qui ont pu être manuellement supprimées/réduites/reconnectées sont conservées dans le diagramme mis à jour.
  • APPEND_QUICK;NO_KEEP_MANUAL_MODIF —Option disponible pour les diagrammes basés sur le générateur standard lorsque des données en entrée sont spécifiées. Utilisez cette option pour ajouter les entités schématiques associées aux couches d'entités, classes d'entités ou tables d'objets en entrée spécifiées avec une synchronisation partielle du contenu du diagramme en entrée, tandis que les entités schématiques qui ont pu être manuellement supprimées/réduites/reconnectées sont restaurées dans le diagramme mis à jour.
  • NO_MERGE_NODES;KEEP_MANUAL_MODIF —Option par défaut pour les diagrammes basés sur le générateur de jeu de données réseau. Utilisez cette option pour mettre à jour le diagramme en entrée à partir de la couche d'analyse de réseau résolue spécifiée sans fusionner les nœuds définis plusieurs fois dans cette couche, tandis que les entités schématiques qui ont pu être manuellement supprimées/réduites/reconnectées sont conservées dans le diagramme mis à jour.
  • NO_MERGE_NODES;NO_KEEP_MANUAL_MODIF —Option disponible pour les diagrammes basés sur le générateur de jeu de données réseau. Utilisez cette option pour mettre à jour le diagramme en entrée à partir de la couche d'analyse de réseau résolue spécifiée sans fusionner les nœuds définis plusieurs fois dans cette couche, tandis que les entités schématiques qui ont pu être manuellement supprimées/réduites/reconnectées sont restaurées dans le diagramme mis à jour.
  • MERGE_NODES;KEEP_MANUAL_MODIF —Option disponible pour les diagrammes basés sur le générateur de jeu de données réseau. Utilisez-la pour mettre à jour le diagramme en entrée à partir de la couche d'analyse de réseau résolue spécifiée et fusionner les nœuds définis plusieurs fois dans cette couche, tandis que les entités schématiques qui ont pu être manuellement supprimées/réduites/reconnectées sont conservées dans le diagramme mis à jour.
  • MERGE_NODES;NO_KEEP_MANUAL_MODIF —Option disponible pour les diagrammes basés sur le générateur de jeu de données réseau. Utilisez-la pour mettre à jour le diagramme en entrée à partir de la couche d'analyse de réseau résolue spécifiée et fusionner les nœuds définis plusieurs fois dans cette couche, tandis que les entités schématiques qui ont pu être manuellement supprimées/réduites/reconnectées sont restaurées dans le diagramme mis à jour.
String

Exemple de code

Exemple 1 d'utilisation de l'outil UpdateDiagram et du générateur standard fonctionnant à partir de requêtes personnalisées (script Python autonome)

Met à jour un exemple de diagramme schématique généré intégralement à partir de requêtes personnalisées. Dans ce cas, seul le paramètre de nom de diagramme est requis.Procédure d'exécution de cet exemple de script Python :

  1. Démarrez ArcCatalog ou ArcMap avec une carte vierge.
  2. Copiez et collez le script suivant dans la fenêtre Python.
  3. Appuyez sur Entrée.

# Name: UpdateDiagramCustomQuery.py
# Description: Update a schematic diagram entirely built from custom queries
# Requirement: ArcGIS Schematics extension
# import system modules
import arcpy
msgNoLicenseAvailable = "ArcGIS Schematics extension license required"
try:
    # Checks out the ArcGIS Schematics extension license
    if arcpy.CheckExtension("Schematics") == "Available":
        arcpy.CheckOutExtension("Schematics")
    else:
        raise Exception(msgNoLicenseAvailable)
    # Sets Schematics general settings
    dataLocation="C:/ArcGIS/ArcTutor/Schematics/Schematics_In_ArcMap"
    gdbName="ElecDemo.gdb"
    in_schDataset="ElecDemo"
    in_schFolder="Inside Plants"
    in_diagName="Substation 08"
    builder_option1="REFRESH"
    # Sets environment settings
    arcpy.env.overwriteOutput = True
    arcpy.env.workspace = dataLocation + "/" + gdbName
    # UpdateDiagram by only refreshing attributes on the input diagram's schematic features 
    arcpy.UpdateDiagram_schematics(in_schDataset + "/" + in_schFolder + "/" + in_diagName, "#", builder_option1)
    # UpdateDiagram by fully synchronizing the input custom queries-based diagram (no parameters required)
    arcpy.UpdateDiagram_schematics(in_schDataset + "/" + in_schFolder + "/" + in_diagName)
    # Returns the ArcGIS Schematics extension license
    arcpy.CheckInExtension("Schematics")
    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 occurred on line %i" % tb.tb_lineno
    print str(e)
Exemple 2 d'utilisation de l'outil UpdateDiagram et du générateur standard basé sur des données du réseau géométrique (script Python autonome)

Met à jour des exemples de diagrammes schématiques générés à partir d'entités organisées dans un réseau géométrique.Procédure d'exécution de cet exemple de script Python :

  1. Démarrez ArcCatalog ou ArcMap avec une carte vierge.
  2. Copiez et collez le script suivant dans la fenêtre Python.
  3. Appuyez sur Entrée.

# Name: UpdateDiagramStd.py
# Description: Update schematic diagrams built from features organized into a geometric network
# Requirement: ArcGIS Schematics extension
# import system modules
import arcpy
msgNoLicenseAvailable = "ArcGIS Schematics extension license required"
try:
    # Checks out the ArcGIS Schematics extension license
    if arcpy.CheckExtension("Schematics") == "Available":
        arcpy.CheckOutExtension("Schematics")
    else:
        raise Exception(msgNoLicenseAvailable)
    # Sets Schematics general settings
    dataLocation="C:/ArcGIS/ArcTutor/Schematics/Schematics_In_ArcMap"
    gdbName="ElecDemo.gdb"
    in_schDataset="ElecDemo"
    in_schFolder="Feeders"
    in_diagTempName="GeoSchematic"
    # Sets variables used for the A/ UpdateDiagram sample
    in_diagAName="Feeder 0801-Rice Creek"
    # Sets variables used for the B/ UpdateDiagram sample
    in_diagBName="Feeder 0802-Goldmine"
    # Sets variables used for the C/ UpdateDiagram sample
    in_diagCName="WholeElectricNetworkDiagram"
    input_ForCDiag="ElectricNetwork/PrimaryLine;ElectricNetwork/SecondaryLine"    
    input_FC1="ElectricNetwork/PrimaryLine"
    # Sets variables used for the D/ UpdateDiagram sample
    in_diagDName="FeederDiagram"
    input_ForDDiag="ElectricNetwork/Feeder"
    input_FC2="ElectricNetwork/Substation"
    # Sets variables used for the E/ UpdateDiagram sample
    in_diagEName="FeederDiagramBIS"
    input_ForEDiag="ElectricNetwork/Feeder"
    input_FC3="ElectricNetwork/ServiceLocation"
    # Sets variables used for the F/ UpdateDiagram sample
    input_LayerName="PrimaryLineLayer"
    input_Filter="PHASECODE=135"    
    in_diagFName="PrimaryLinesDiagram"
    # Sets  builder_options variables for diagram Update
    # - For simply refreshing the diagram's attributes only
    U_option1="REFRESH"
    # - For rebuilding the diagram from a different input
    U_option2="REBUILD;KEEP_MANUAL_MODIF"
    U_option2BIS="REBUILD;NO_KEEP_MANUAL_MODIF"
    # - For appending new features to the diagram with a partial synchronization of its content
    U_option3="APPEND_QUICK;KEEP_MANUAL_MODIF"
    U_option3BIS="APPEND_QUICK;NO_KEEP_MANUAL_MODIF"
    # - For appending new features to the diagram with a full synchronization of its content
    U_option4="APPEND;KEEP_MANUAL_MODIF"
    U_option4BIS="APPEND;NO_KEEP_MANUAL_MODIF"
    # Sets environment settings
    arcpy.env.overwriteOutput = True
    arcpy.env.workspace = dataLocation + "/" + gdbName
    # Creates some new diagrams that will be used to exemplify the C/, D/, E/ and F/ UpdateDiagram samples
    arcpy.CreateDiagram_schematics(in_schDataset, in_diagCName, in_diagTempName, input_ForCDiag)
    arcpy.CreateDiagram_schematics(in_schDataset, in_diagDName, in_diagTempName, input_ForDDiag)
    arcpy.CreateDiagram_schematics(in_schDataset, in_diagEName, in_diagTempName, input_ForEDiag)
    InputLayer = arcpy.MakeFeatureLayer_management(input_FC1, input_LayerName, input_Filter)
    arcpy.CreateDiagram_schematics(in_schDataset, in_diagFName, in_diagTempName, InputLayer)
    # A/ UpdateDiagram by fully synchronizing the diagram content; no udpate parameters required
    arcpy.UpdateDiagram_schematics(in_schDataset + "/" + in_schFolder + "/" + in_diagAName)
    # B/ UpdateDiagram by only refreshing attributes on the input diagram's schematic features
    arcpy.UpdateDiagram_schematics(in_schDataset + "/" + in_schFolder + "/" + in_diagBName, "#", U_option1)
    # C/ UpdateDiagram by rebuilding the input diagram from a feature class
    arcpy.UpdateDiagram_schematics(in_schDataset + "/" + in_diagCName, input_FC1, U_option2)
    # D/ UpdateDiagram by appending new features to the input diagram with a partial synchronization
    arcpy.UpdateDiagram_schematics(in_schDataset + "/" + in_diagDName, input_FC2, U_option3)
    # E/ UpdateDiagram by appending new features to the input diagram with a full synchronization
    arcpy.UpdateDiagram_schematics(in_schDataset + "/" + in_diagEName, input_FC3, U_option4)
    # F/ UpdateDiagram by rebuilding the input diagram from an input layer
    arcpy.UpdateDiagram_schematics(in_schDataset + "/" + in_diagFName, InputLayer, U_option2)
    # Returns the ArcGIS Schematics extension license
    arcpy.CheckInExtension("Schematics")
    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 occurred on line %i" % tb.tb_lineno
    print str(e)
Exemple 3 d'utilisation de l'outil UpdateDiagram et du générateur XML (script Python autonome)

Met à jour un exemple de diagramme schématique basé sur le générateur XML.Procédure d'exécution de cet exemple de script Python :

  1. Lancez ArcCatalog.
  2. Créez et configurez le jeu de données schématique utilisé dans l'exemple de script :
    • Accédez au dossier C:\ArcGIS\ArcTutor\Schematics\Schematics_Configuration\XML_Data dans l'arborescence du catalogue.
    • Cliquez avec le bouton droit de la souris sur la géodatabase GISDatabaseForXML, pointez sur Nouveau, puis cliquez sur Jeu de données schématique.
    • Nommez le nouveau jeu de données schématique "XMLDataset", puis appuyez sur Entrée.
    • Cliquez avec le bouton droit sur le jeu de données schématique XMLDataset, puis sélectionnez Modifier.
    • Dans l'arborescence de l'éditeur de jeu de données, cliquez avec le bouton droit sur l'entrée XMLDataset et sélectionnez Nouveau modèle de diagramme schématique.
    • Tapez XMLDiagrams dans la zone de texte Nom.
    • Sélectionnez Générateur XML dans la section Générateur schématique.
    • Cliquez sur Propriétés du créateur schématique et cochez la case Création automatique de la classe d'entités schématiques.
    • Fermez la boîte de dialogue Propriétés du créateur.
    • Cliquez sur OK.
    • Dans la barre d'outils Editeur de jeu de données schématique, cliquez sur Enregistrer, puis fermez l'éditeur de jeu de données schématique.
  3. Copiez et collez le script suivant dans la fenêtre Python d'ArcCatalog ou d'ArcMap.
  4. Appuyez sur Entrée.

# Name: UpdateDiagramXML.py
# Description: Update schematic diagrams based on the XML builder
# Requirement: ArcGIS Schematics extension
# import system modules
import arcpy
msgNoLicenseAvailable = "ArcGIS Schematics extension license required"
try:
    # Checks out the ArcGIS Schematics extension license
    if arcpy.CheckExtension("Schematics") == "Available":
        arcpy.CheckOutExtension("Schematics")
    else:
        raise Exception(msgNoLicenseAvailable)
    # Sets Schematics general settings
    dataLocation="C:/ArcGIS/ArcTutor/Schematics/Schematics_Configuration/XML_Data"
    gdbName="GISDatabaseForXML.gdb"
    in_schDataset="XMLDataset"
    in_diagName="XMLDiagramFeeder1"
    in_diagTempName="XMLDiagrams"
    input_XmlFile1="SampleNetworkFeeder1.xml"
    input_XmlFile2="SampleNetworkUpdatedFeeder1.xml"
    # Sets environment settings
    arcpy.env.overwriteOutput = True
    arcpy.env.workspace = dataLocation + "/" + gdbName
    # CreateDiagram from a XML file, SampleNetworkFeeder1.xml
    arcpy.CreateDiagram_schematics(in_schDataset, in_diagName, in_diagTempName, dataLocation + "/" + input_XmlFile1)
    # Updates the XMLDiagramFeeder1 diagram from another XML file, SampleNetworkUpdatedFeeder1.xml
    arcpy.UpdateDiagram_schematics(in_schDataset + "/" + in_diagName, dataLocation + "/" + input_XmlFile2)
    # Returns the ArcGIS Schematics extension license
    arcpy.CheckInExtension("Schematics")
    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)
Exemple 4 d'utilisation de l'outil UpdateDiagram et du générateur de jeu de données réseau (script Python autonome)

Met à jour des diagrammes schématiques basés sur le générateur de jeu de données réseau.Procédure d'utilisation de cet exemple de script Python :

  1. Démarrez ArcMap.
  2. Ouvrez le fichier ParisTours.mxd enregistré dans le répertoire C:\ArcGIS\ArcTutor\Schematics\Schematics_Configuration\Network_Dataset.
  3. Cliquez sur Géotraitement > Options de géotraitement.
  4. Désactivez l'option Activer dans la section Traitement en arrière-plan, puis cliquez sur OK.
  5. Copiez et collez le script suivant dans la fenêtre Python.

# Name: UpdateDiagramNDS.py
# Description: Update sample schematic diagrams based on the Network Dataset builder
# Requirement: ArcGIS Schematics extension,ArcGIS Network Analyst extension 
# import system modules
import arcpy
msgNoLicenseSchematicsAvailable = "ArcGIS Schematics extension license required"
msgNoLicenseNetworkAnalystAvailable = "ArcGIS Network Analyst extension license required"
try:
    # Checks out the ArcGIS Schematics extension licence
    if arcpy.CheckExtension("Schematics") == "Available":
        arcpy.CheckOutExtension("Schematics")
    else:
        raise Exception(msgNoLicenseSchematicsAvailable)
    # Checks out the ArcGIS Network Analyst extension licence
    if arcpy.CheckExtension("Network") == "Available":
        arcpy.CheckOutExtension("Network")
    else:
        raise Exception(msgNoLicenseNetworkAnalystAvailable)
    # Sets general settings
    dataLocation="C:/ArcGIS/ArcTutor/Schematics/Schematics_Configuration/Network_Dataset"
    gdbName="NetworkAnalyst_Schematics.gdb"
    in_schDataset="NA_SchematicDataset"
    in_diagAName="DiagramTour2_A"
    in_diagBName="DiagramTour2_B"
    in_diagTempName="NADiagrams"
    in_NALayerName="Routes/Tour2"
    # builder_options variables for diagram Generation and Update
    G_option1="MERGE_NODES"
    G_option2="NO_MERGE_NODES"
    U_option1="NO_MERGE_NODES;KEEP_MANUAL_MODIF"
    U_option2="MERGE_NODES;KEEP_MANUAL_MODIF"
    # Sets environment settings
    arcpy.env.overwriteOutput = True
    arcpy.env.workspace = dataLocation + "/" + gdbName
    # UpdateDiagram from a solved route network analysis layer
    # 1) Solves the route network analysis layer, 
    arcpy.Solve_na(in_NALayerName)
    # 2) Creates diagrams from this solved route network analysis layer
    # a - A diagram where a single node is created to represent a GIS point crossed N times along this route (G_option1)
    arcpy.CreateDiagram_schematics(in_schDataset, in_diagAName, in_diagTempName, in_NALayerName, G_option1)
    # b - A diagram where N nodes are created to represent a GIS point crossed N times along this route (G_option2)
    arcpy.CreateDiagram_schematics(in_schDataset, in_diagBName, in_diagTempName, in_NALayerName, G_option2)
    # 3) Updates those diagrams from the same solved route network analysis layer by changing the merge nodes option
    arcpy.UpdateDiagram_schematics(in_schDataset + "/" + in_diagAName, in_NALayerName, U_option1)
    arcpy.UpdateDiagram_schematics(in_schDataset + "/" + in_diagBName, in_NALayerName, U_option2)
    # Returns the licences
    arcpy.CheckInExtension("Schematics")
    arcpy.CheckInExtension("Network")
    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 occurred on line %i" % tb.tb_lineno
    print str(e)

Environnements

Cet outil n'utilise pas d’environnement de géotraitement.

Informations de licence

  • Basic: Requiert Schematics
  • Standard: Requiert Schematics
  • Advanced: Requiert Schematics

Rubriques connexes

  • Vue d'ensemble de la boîte à outils Schematics
  • Crée un diagramme
  • Mettre à jour les diagrammes
  • Outil Créer le dossier schématique
  • Convertir un diagramme en entités

ArcGIS Desktop

  • Accueil
  • Documentation
  • Support

ArcGIS

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS
  • ArcGIS Developer
  • ArcGIS Solutions
  • ArcGIS Marketplace

A propos d'Esri

  • A propos de la société
  • Carrières
  • Blog d’Esri
  • Conférence des utilisateurs
  • Sommet des développeurs
Esri
Donnez-nous votre avis.
Copyright © 2021 Esri. | Confidentialité | Légal