Crée un diagramme (Schematics)

Niveau de licence :De baseStandardAvancé

Récapitulatif

Crée un diagramme schématique.

La création de diagrammes peut reposer sur des couches d'entités, des classes d'entités, des tables d'objets, une couche d'analyse de réseau ou des données XML, selon le générateur schématique utilisé.

Utilisation

Syntaxe

CreateDiagram_schematics (out_location, out_name, diagram_type, {in_data}, {builder_options})
ParamètreExplicationType de données
out_location

Jeu de données schématique ou dossier schématique dans lequel le diagramme sera créé.

AttentionAttention :

Ce conteneur doit déjà exister au préalable.

Schematic Dataset;Schematic Folder
out_name

Nom du diagramme schématique à créer.

String
diagram_type
[diagram_type,...]

Modèle de diagramme schématique du diagramme schématique à créer.

String
in_data
[in_data,...]
(Facultatif)

Données en entrée permettant de générer le diagramme.

Le paramètre Données en entrée indique les éléments sur lesquels repose la création des diagrammes. Vous devez le définir pour la plupart des générateurs schématiques prédéfinis :

  • Pour les modèles de diagrammes qui fonctionnent avec le générateur standard configuré en vue d'être utilisé à partir d'un réseau géométrique ou d'un jeu de données réseau, le paramètre Données en entrée doit au moins faire référence à une couche d'entités, une classe d'entités ou une table d'objets.
  • Pour les modèles de diagrammes qui fonctionnent avec le générateur de jeu de données réseau, le paramètre Données en entrée doit faire référence à une couche d'analyse de réseau unique. 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 associés au générateur XML, le paramètre Données en entrée est facultatif lorsque les données permettant de générer le diagramme sont fournies par un composant externe. Mais si aucun composant externe n'est défini pour les propriétés du générateur, le paramètre Données en entrée doit faire référence à un fichier XML. Dans les deux cas, les données XML en entrée doivent être générées conformément au fichier de structure XML XMLBuilderDiagram.
  • Aucune donnée en entrée n'est requise 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.
AttentionAttention :

Pour les modèles de diagrammes qui fonctionnent avec le générateur XML, le générateur de jeu de données réseau, ainsi que le générateur standard configuré en vue d'être utilisé à partir d'un réseau géométrique ou d'un jeu de données réseau, le diagramme ne peut pas être généré si aucune donnée en entrée n'est spécifiée.

Table View;Data Element;Layer
builder_options
(Facultatif)

Paramètres de création du générateur schématique. Ces paramètres sont obligatoires uniquement pour les diagrammes basés sur le générateur de jeu de données réseau. Ils indiquent si les nœuds seront fusionnés.

  • MERGE_NODESSpécifie les jonctions d'élément du réseau qui sont traversées plusieurs fois sur l'itinéraire résultant d'une analyse d'itinéraires, afin de les représenter par un nœud d'entité schématique unique dans le diagramme schématique généré. Ce paramètre permet également de fusionner des éléments midspanjunction qui occupent le même emplacement dans une analyse de zone de desserte.
  • NO_MERGE_NODESIndique qu'aucun nœud d'entité schématique ne sera fusionné (valeur par défaut).
String

Exemple de code

Exemple 1 d'utilisation de l'outil CreateDiagram et du générateur standard basé sur des données du réseau géométrique (script Python autonome)

Créez des exemples de diagrammes schématiques à l'aide d'entités SIG 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: CreateDiagramStd.py
# Description: Create schematic diagrams sample from GIS features organized into a geometric network
# Requirement: Extension ArcGIS Schematics

# import system modules
import arcpy
msgNoLicenseAvailable = "Extension ArcGIS Schematics license required"

try:
    # Checks out the Extension ArcGIS Schematics license
    if arcpy.CheckExtension("Schematics") == "Available":
        arcpy.CheckOutExtension("Schematics")
    else:
        raise Exception(msgNoLicenseAvailable)

    # Sets environment settings
    arcpy.env.overwriteOutput = True
    arcpy.env.workspace = "C:\ArcGIS\ArcTutor\Schematics\Schematics_In_ArcMap\ElecDemo.gdb"

    # CreateDiagram from a feature class, Feeder
    arcpy.CreateDiagram_schematics("ElecDemo", "FeederDiagram", "GeoSchematic", "ElectricNetwork\Feeder")

    # CreateDiagram from a feature layer
    # 1) Creates a layer with the selection
    InputLayer = arcpy.MakeFeatureLayer_management("ElectricNetwork\PrimaryLine","PrimaryLineLayer", "PHASECODE =135")
    # 2) Uses the layer as input of CreateDiagram
    arcpy.CreateDiagram_schematics("ElecDemo", "ElectricMainNetworkDiagram", "GeoSchematic", InputLayer)

    # Returns the Extension ArcGIS Schematics 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 2 d'utilisation de l'outil CreateDiagram et du générateur de jeu de données réseau (script Python autonome)

Créez des exemples de diagrammes schématiques à partir d'une couche d'analyse de réseau résolue.

Procédure d'exécution 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.
  6. Appuyez sur Entrée.

# Name : CreateDiagramNDS.py
# Description : Create a schematic diagram from the network dataset builder
# Requirement: Extension ArcGIS Schematics,Extension ArcGIS Network Analyst 

# import system modules
import arcpy
msgNoLicenseSchematicsAvailable = "Extension ArcGIS Schematics license required"
msgNoLicenseNetworkAnalystAvailable = "Extension ArcGIS Network Analyst license required"


try:
    # Checks out the Extension ArcGIS Schematics licence
    if arcpy.CheckExtension("Schematics") == "Available":
       arcpy.CheckOutExtension("Schematics")
    else:
       raise Exception(msgNoLicenseSchematicsAvailable)

    # Checks out the Extension ArcGIS Network Analyst licence
    if arcpy.CheckExtension("Network") == "Available":
       arcpy.CheckOutExtension("Network")
    else:
       raise Exception(msgNoLicenseNetworkAnalystAvailable)
 
    # Sets environnement settings
    arcpy.env.overwriteOutput = True
    arcpy.env.workspace = "C:\ArcGIS\ArcTutor\Schematics\Schematics_Configuration\Network_Dataset\NetworkAnalyst_Schematics.gdb"
    
    # CreateDiagram from a solved route network analysis layer
    # 1) Solves the route network analysis layer, Tour1
    arcpy.Solve_na("Routes\Tour1")
    # 2) Creates diagrams from this solved route network analysis layer
    # a - DiagramTour_MERGED diagram, where a single schematic feature node is created to represent a network junction which is crossed N times along the resultant route (MERGE_NODES option)
    arcpy.CreateDiagram_schematics("NA_SchematicDataset", "DiagramTour_MERGED", "NADiagrams", "Routes\Tour1", "MERGE_NODES")
    # b - DiagramTour_NOTMERGED diagram, where N schematic nodes are created to represent a network junction which is crossed N times along the resultant route (NOT_MERGE_NODES option)
    arcpy.CreateDiagram_schematics("NA_SchematicDataset", "DiagramTour_NOTMERGED", "NADiagrams", "Routes\Tour1", "NO_MERGE_NODES")


    # 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 occured on line %i" % tb.tb_lineno
    print str(e)
Exemple 3 d'utilisation de l'outil CreateDiagram et du générateur XML (script Python autonome)

Créez 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: CreateDiagramXML.py
# Description: Create a sample schematic diagram based on the XML builder
# Requirement: Extension ArcGIS Schematics

# import system modules
import arcpy
msgNoLicenseAvailable = "Extension ArcGIS Schematics license required"

try:
    # Checks out the Extension ArcGIS Schematics license
    if arcpy.CheckExtension("Schematics") == "Available":
        arcpy.CheckOutExtension("Schematics")
    else:
        raise Exception(msgNoLicenseAvailable)

    # Sets environment settings
    arcpy.env.overwriteOutput = True
    arcpy.env.workspace = "C:\ArcGIS\ArcTutor\Schematics\Schematics_Configuration\XML_Data\GISDatabaseForXML.gdb"

    # CreateDiagram from a XML file, SampleNetworkData.xml file
    arcpy.CreateDiagram_schematics("XMLDataset", "XMLDiagramSample", "XMLDiagrams", "C:\ArcGIS\ArcTutor\Schematics\Schematics_Configuration\XML_Data\SampleNetworkData.xml")

    # Returns the Extension ArcGIS Schematics 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 CreateDiagram et du générateur standard fonctionnant à partir de requêtes personnalisées (script Python autonome)

Créez un exemple de diagramme schématique à partir de requêtes personnalisées.

Procédure d'utilisation de cet exemple de script Python :

  1. Lancez ArcCatalog.
  2. Ce script est exécuté sur une copie de la géodatabase de démonstration ElecDemo pour éviter d'écraser le diagramme Inside Plant d'origine :
    • Accédez au dossier C:\ArcGIS\ArcTutor\Schematics\Schematics_In_ArcMap dans l'arborescence du catalogue.
    • Copiez et collez la géodatabase ElecDemo. L'exemple de script va être exécuté sur cette nouvelle géodatabase ElecDemo_1.
  3. Copiez et collez le script suivant dans la fenêtre Python d'ArcCatalog ou d'ArcMap.
  4. Appuyez sur Entrée.

# Name: CreateDiagramCustomQuery.py
# Description: Create a schematic diagram from custom queries
# Requirement: Extension ArcGIS Schematics

# import system modules
import arcpy
msgNoLicenseAvailable = "Extension ArcGIS Schematics  license required"

try:
    # Checks out the Extension ArcGIS Schematics license
    if arcpy.CheckExtension("Schematics") == "Available":
        arcpy.CheckOutExtension("Schematics")
    else:
        raise Exception(msgNoLicenseAvailable)
	
    # Sets environment settings
    arcpy.env.overwriteOutput = True
    arcpy.env.workspace = "C:\ArcGIS\ArcTutor\Schematics\Schematics_In_ArcMap\ElecDemo_1.gdb"

    # CreateDiagram from a diagram template, InsidePlants, which is configured to generate diagrams from custom queries
    arcpy.CreateDiagram_schematics("ElecDemo\Inside Plants", "Substation 08", "InsidePlants")

    # Returns the Extension ArcGIS Schematics 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)

Environnements

Thèmes connexes

Informations de licence

ArcGIS for Desktop Basic : Requis Schematics
ArcGIS for Desktop Standard : Requis Schematics
ArcGIS for Desktop Advanced : Requis Schematics
9/12/2013