Optimisation du travail avec les Géodatabases ArcGis- 4 : Automatisation avec Model Builder

Les différentes méthodes d’optimisation abordées dans les articles précédents(Indexation, compression, compactage) peuvent être réalisées au coup par coup manuellement. Mais ce sont des tâches de routine, c’est à dire qu’on est amenés à les effectuer régulièrement.
Un des principes des logiciels SIG est de vous faire gagner du temps et de vous éviter de refaire ce que vous avez déjà fait. ArcGis possède un module tout à fait adapté pour ceci: le Model Builder.
Sans connaissances particulières de programmation il vous permet, avec une interface graphique, de créer des programmes de traitement.
Nous allons supposer, pour l’instant, que vous savez comment ouvrir Model Builder et stocker vos modèles. On reviendra sur les bases de Model Builder dans des prochains articles. Pour voir une introduction à Model Builder, vous pouvez visiter le site d’ESRI : Didacticiel – Création d’outils avec le Model Builder.
Vous avez aussi une présentation avec YouTube de Don Boyes (en anglais) : Model Builder Introduction.

Voici le modèle que nous allons créer, pour automatiser le compactage abordé dans l’article précédent et la sauvegarde d’une géodatabase ArcGis.

Nous allons mettre en place deux outils: un pour compacter la géodatabase, l’autre pour faire une copie de sauvegarde dans un autre dossier.
Par contre, pour le nom de la copie de sauvegarde nous avons besoin de récupérer la date actuelle et l’ajouter au nom. C’est la seule partie compliquée.

Première étape: Compacter la géodatabase.


– Ouvrez un nouveau document vierge dans ArcMap
– Ouvrez un nouveau modèle avec Model Builder
 » Cliquez-déplacez l’outil « Compacter » de la boîte à outils « Gestion de données » -> « Geodatabase fichier ».

Conseil: ne chargez pas la géodatabase dans ArcMap. Allez pointer avec le bouton « parcourir les fichiers » sur la géodatabase sur le disque. Comme cela vous êtes sûr que le modèle fonctionnera, même si quand vous le lancez, la géodatabase n’est pas chargée dans ArcMap.

Deuxième étape : Récupérer la date sous forme de texte

Pour concaténer la date au nom de fichier en sortie (sauvegarde) il faut ajouter l’outil « Calcul d’une valeur ». Cet outil n’est pas dans les toolbox, il est disponible dans le menu Insérer » de Model Builder

La fonction gettime récupère la date et heure système.

Le type de donnée en s tie (String) converti la date et heure système en chaîne de texte. Par contre, cette chaîne contient des espaces et des caractères spéciaux, et ceci est interdit dans les noms des géodatabases. Il faut donc les supprimer. C’est à cela que sert le bloc de code
def gettime():
import time
return time.ctime().replace(« : », » »).replace( » « , » »)

Il enlève les « : » et les espaces dans la chaîne en sortie.

Troisième étape: Sauvegarder la géodatabase

Cliquez-déplacez l’outil « Copier » de la boîte à outils « Gestion de données » -> « Général ».
Reliez, avec l’outil « connecter » de Model Builder, les données en sortie de Compacter avec la boîte « Copier » en sélectionnant « Données en entrée ».

Maintenant il faut connecter la valeur calculée avec la boîte Copier.
Par contre il n’y a pas de champ particulier pour cette valeur dans l’outil Copier. Au fait, on va l’utiliser comme variable, en ajoutant sa valeur entre « % » dans le nom du fichier en sortie. On pourrait le faire sans connecter d’aucune manière le calcul, mais il faut éviter des processus indépendants sans lien dans le même modèle, car l’ordre d’exécution n’est pas assuré. L’outil Copier peut être exécuté AVANT le calcul de la date.
Pour éviter ça, cliquez sur « Copier »->Propriétés.
Puis dans l’onglet « Préconditions » cochez le nom de votre calcul.

Ceci vous assure que le calcul sera réalisé AVANT l’exécution de « Copier ».
Finalement, vous allez définir la sortie de sauvegarde.

Dans le nom du fichier en sortie, une fois créé comme d’habitude en parcourant les fichiers et en lui donnant un nom classique, ajoutez dans le nom de la fenêtre « Copier » la sortie de « Calculer » entre des « % ». Au moment de l’exécution du modèle, Arcgis remplace cette chaîne par la chaîne en sortie de Calculer. Sauvegardez le modèle dans votre Boîte à outils. Maintenant il suffit de double cliquer sur ce modèle pour que tout le processus se déroule automatiquement.

Optimisation du travail avec les Géodatabases ArcGis : 3- Compactage

La plupart des utilisateurs sont satisfaits avec le passage de fichiers shape à la géodatabase ArcGis. Cependant, ils sont amenés à remarquer des baisses de performances après des sessions d’édition intenses. Leur question est de savoir comment corrigé ce problème.Nous allons voir dans cet article le concept de compactage d’une géodatabase. Comme la compression (voir Optimisation du travail avec les Geodatabases ArcGis 2-Compression), le compactage permet de réduire la taille de la géodatabase ArcGis et d’accélérer les requêtes. Toutefois, le compactage fonctionne différemment par rapport à la compression.
Sauf dans la compression avec perte, la compression en général n’efface aucun octet de données de la géodatabase. Il les regroupe en fonction de la redondance de l’information: si vous avez dix lignes avec la valeur « 8 », la compression gardera 10(8) au lieu de 8 8 8 8 8 8 8 8 8 8.
Lors du compactage, le processus supprime physiquement et purge les enregistrements orphelins inutiles.
Nous allons montrer comment procéder au compactage, mais nous devons, d’abord, comprendre ce qui se passe lors des modifications (édition) de la géodatabase.

Quand vous effacez un enregistrement, logiquement, vous pouvez penser que ces enregistrements sont définitivement supprimés, et que la suite d’enregistrements de la table remontent d’un cran pour combler le trou. Cependant, ce n’est pas exactement ce qui se passe; ces enregistrements sont simplement marqués comme étant supprimés dans la géodatabase. S’il fallait remettre en place tous les enregistrements à chaque mise à jour d’un seul enregistrement, le travail d’édition prendrait trop de temps. C’est pourquoi le logiciel ne fait que marquer les enregistrements comme supprimés et ignore ces enregistrements dans toutes les requêtes futures. Donc, qu’est ce qui arrive quand vous essayez de localiser un enregistrement? Le programme doit parcourir tous les enregistrements, si l’enregistrement et marqué comme effacé il passe au suivant, si non il voit s’il correspond à la requête.
Bien qu’ils soient supprimés, ils sont, en quelque sorte, la raison du ralentissement de la requête.

Alors qu’est-ce le compactage fait exactement? Comme vous l’aurez deviné, le compactage supprime définitivement ces enregistrements et tous les autres enregistrements orphelins qui ne sont pas utilisés ou référencés par d’autres objets. C’est pourquoi le compactage accélère les requêtes des géodatabases fichier et personnelles(Access).

C’est facile de compacter une géodatabase fichier ou Access. Il est recommandé de compacter une géodatabase après une session d’édition lourde.
Pour compacter une géodatabase fichier ou Access, effectuez les étapes suivantes:
1. Ouvrez ArcCatalog et sélectionnez la géodatabase à compacter.
2. Faites un clic droit pour ouvrir le menu contextuel, sélectionnez Administration, puis cliquez sur Compacter la Géodatabase

Il n’y a pas de contrindications pour le compactage. C’est un peu comme la défragmentation du disque dur: ça n’accélérè pas si elle n’était pas nécessaire mais ça ne ralentit pas les traitements.
Pour avoir plus d’informations, rendez-vous sur l’aide Online d’ArcGIs (ESRI)

Suite et fin de l’optimisation du travail avec les géodatabases dans l’article suivant où vous verrez comment compacter et sauvegarder votre géodatabase avec un seul clic de souris en mettant en place un modèle de traitement avec Model Builder.