Nous l’avons vu dans la page précédente, un fichier de compilation peut rapidement avoir un nombre de lignes important. Il devient alors un peu fastidieux de chercher ce que nous voulons y modifier. Pour remédier à ce problème, plusieurs solutions sont possibles.
Diviser les thconfig en fonction de leur caractéristiques
Si notre thconfig est gros parce qu’il permet de gérer la production d’un plan, production d’un atlas, d’une coupe développée et qu’il définit aussi de nouveaux symboles, alors, une première chose qui peut être faite, c’est de faire un fichier thconfig spécifique pour le plan, un autre pour la coupe développée, et enfin un dernier pour l’atlas. Dans chacun, nous ne gardons que les blocs layout nécessaire.
Sur les gros projets, ça peut être une première étape qui facile le travail.
Créer un(des) fichier(s) de configuration global(aux) au projet
Ce point est en fait fondamental si nous travaillons sur de gros projets où nous avons plusieurs thconfig qui ont des commandes identiques dans les blocs layout.
Ce que nous pouvons faire, c’est créer un fichier de configuration maître à la racine du projet (c’est à dire dans le dossier le plus haut). Dans ce fichier là, nous allons définir des layouts globaux que nous appellerons dans les layouts des thconfigs.
Nous pourrions donner à ce fichier l’extension .thconfig, mais pour le différentier des fichiers de compilation, nous pouvons l’appeler par exemple config.thc (en fait, le nom des extensions, ce n’est pas si important que ça, du moment que nous savons ce qu’il y a dedans…).
Prenons un exemple. Nous avons un dossier qui correspond à un système karstique avec plusieurs grottes non connectées. Appelons ce dossier « Systeme ». Les données topographiques, les fichiers de compilation et les dessins de chaque grotte sont dans un dossier spécifique pour chaque grotte, et à l’intérieur du dossier « Systeme ». Dans ce dossier système, nous allons avoir par exemple un dossier « grotte1″ qui contient grotte1.th, grotte1.th2 et grotte1.thconfig. Chaque grotte a ainsi son dossier.
Pour générer les plans, tous les layouts plan » des thconfig de chaque grotte ont par exemple ces instructions identiques, par exemple pour le fichier grotte1.thconfig :
source grotte1-global.th # contient les données topo et le dessin layout planG language fr cs utm32N doc-author "Vulcain" scale 1/1000 base-scale 100 m ... endlayout export map -proj plan -layout planG -o Grotte1.pdf
Nous pouvons alors copier les instructions qui sont identiques dans un nouveau fichier config.thc qui sera dans le dossier « Système » (donc au dessus de tout le reste). Ce fichier config.thc aura donc la structure :
layout planglobal language fr cs utm32N doc-author "Vulcain" scale 1/1000 base-scale 100 m endlayout
Dans chacun des thconfig des grottes, nous effaçons (ou commentons dans un premier temps si vous voulez sécuriser le transfert en cas où). Le fichier grotte1.thconfig deviendra (il est commenté pour expliquer comment nous faisons) :
# Appel des données source grotte1-global.th # contient les données topo et le dessin # importation du fichier de configuration input ../config.thc # ../ signifie que le fichier config.thc est dnas le dossier juste au dessus. S'il fallait remonter de 2 dossiers, nous aurions écrit ../../ layout planG # importer les choix globaux. Ils sont dans le layout planglobal du fichier config.thc importé au dessus copy planglobal #language fr # Commenté !!! #cs utm32N # Commenté !!! #doc-author "Vulcain" # commenté #scale 1/1000 # commenté #base-scale 100 m # commenté ... endlayout export map -proj plan -layout planG -o Grotte1.pdf
Il suffit de faire ça une fois pour chaque fichier thconfig pour chaque grotte. Comme ça, pour tous les changements ou ajouts globaux qui vont s’appliquer à tout le monde, il suffit de modifier uniquement le config.thc.
Créer un config.thc peut vraiment être complexe. Nous avons mis à disposition (sous licence CCby-nc-sa) un tel fichier sur le template exemple.