Mettre à jour les diagrammes (Schematics)
Récapitulatif
Met à jour les diagrammes schématiques stockés dans un jeu de données schématique ou un dossier schématique.
Tous les diagrammes ou un sous-ensemble seulement (par exemple, les diagrammes relatifs à un modèle de diagramme particulier ou ceux qui n'ont pas été mis à jour pendant un certain nombre de jours) peuvent être mis à jour.
Seuls les diagrammes basés sur le générateur standard, à savoir les diagrammes créés à partir d'entités organisées dans un réseau géométrique ou un jeu de données réseau et les diagrammes schématiques créés à partir de requêtes personnalisées, peuvent être mis à jour à l'aide de l'outil de géotraitement. Les diagrammes basés sur le générateur de jeu de données réseau et le générateur XML qui requièrent des données en entrée spécifiques ne peuvent pas être mis à jour avec cet outil.
Si un diagramme basé sur le générateur XML ou de jeu de données réseau est détecté à l'exécution, une erreur s'affiche, et le processus s'arrête.
Utilisation
-
Cet outil sert principalement à mettre à jour les diagrammes par lots. Mais si des données utilisateur ont été supprimées puis rechargées depuis la génération des diagrammes, cet outil permet également de resynchroniser les entités schématiques avec leurs entités/objets en fonction de leur GUID.
-
Si le paramètre Modèle de diagramme est spécifié, seuls les diagrammes reposant sur ce modèle sont mis à jour.
-
Si le paramètre Nombre de jours sans mise à jour est spécifié, seuls les diagrammes dont la dernière date de mise à jour répond au critère indiqué sont mis à jour.
-
Par défaut, lorsque la valeur de Conteneur de schématique en entrée est un dossier schématique, le processus de mise à jour est récursif dans tous les diagrammes contenus dans ce dossier schématique et ses sous-dossiers. Si vous ne voulez pas mettre à jour les diagrammes contenus dans les sous-dossiers, définissez le paramètre de récursivité sur 0.
Syntaxe
Paramètre | Explication | Type de données |
in_container |
Jeu de données schématique ou dossier schématique dans lequel sont stockés les diagrammes. Ce conteneur doit déjà exister au préalable. | Schematic Dataset; Schematic Folder |
builder_options (Facultatif) |
Options de mise à jour du créateur schématique. Elles sont facultatives.
| String |
recursive (Facultatif) |
| Boolean |
diagram_type [diagram_type,...] (Facultatif) |
Modèle du diagramme schématique à mettre à jour. | String |
last_update_criteria (Facultatif) |
Nombre de jours et d'heures entre les mises à jour du diagramme. La valeur par défaut 0 signifie que tous les diagrammes sont mis à jour quotidiennement. | Long |
Exemple de code
Cette option permet de mettre à jour les diagrammes schématiques contenus dans un dossier schématique spécifique, qui ont été créés à partir d'un modèle de diagramme donné ou qui n'ont pas été mis à jour pendant un certain nombre de jours.
Procédure d'exécution de cet exemple de script Python :
- Démarrez ArcCatalog ou ArcMap avec une carte vierge.
- Copiez et collez le script suivant dans la fenêtre Python.
- Appuyez sur Entrée.
# Name: UpdateDiagrams.py
# Description: Update schematic diagrams
# 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 Schematics general settings
dataLocation="C:/ArcGIS/ArcTutor/Schematics/Schematics_In_ArcMap"
gdbName="ElecDemo.gdb"
in_schDataset="ElecDemo"
in_schFolder1="Feeders"
in_schFolder2="Inside Plants"
in_diagTempName="GeoSchematic"
recOption1="RECURSIVE"
recOption2="NO_RECURSIVE"
nbDays="7"
# Sets environnement settings
arcpy.env.overwriteOutput = True
arcpy.env.workspace = dataLocation + "/" + gdbName
# Updates diagrams stored on a specified schematic folder;
arcpy.UpdateDiagrams_schematics(in_schDataset + "/" + in_schFolder1)
# Updates diagrams based on a specified diagram template.
arcpy.UpdateDiagrams_schematics(in_schDataset, "#", recOption1, in_diagTempName)
# Updates diagrams stored on a specified schematic folder that have not been updated for N days.
arcpy.UpdateDiagrams_schematics(in_schDataset + "/" + in_schFolder2, "#", recOption1, "#", nbDays)
# 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)