Ce chapitre décrit des caractéristiques complémentaires de xtherion
:
Il est possible d’ouvrir plusieurs fichiers topo en même temps. La liste des fichiers ouverts est affichée dans la zone “Files” (fichiers) du panneau de contrôle.
move (button)
Les “Objects” du panneau de contrôle dans l’éditeur de carte contient deux boutons, “Move up” (déplace vers le haut) et “Move down” (déplace vers le bas), ceci déplace les objets sélectionnés respectivement vers le haut ou le bas, dans la liste des objets. Ce déplacement entraîne essentiellement un déplacement des lignes de commande dans le fichier “.th2”. La commande “Move to” permet de spécifier le numéro de la ligne ou l’objet doit être placé. Ces déplacements permettent de réorganiser les objets graphiques en les déplaçant de scraps, mais également d’affiner le rendu du dessin en fixant l’ordre dans lequel ils sont dessinés (lors des superpositions d’objets).
station names
Ces commandes de configuration ajoute les noms des stations dans la carte finale générée:
export map -layout-debug station-names
Pour changer la taille du texte (nom des stations), il faut ajouter des commandes MetaPost, en utilisant la commande code metapost
. Ceci est présenté dans la section 5.4.
split (line)
Pour découper une ligne en deux sur un de ses points intermédiaires, vous devez sélectionner le point, puis dans le panneau de contrôle de “Line”, sélectionnez l’action “Edit line | Split line” (découper la ligne). Si vous avez besoin de découper une ligne la ou il n’y a pas de point, vous devez d’abord insérer un point sur la ligne (action “Edit line | Insert point” du panneau de contrôle “Line”).
Quand vous découpez une ligne en deux, xtherion
remplace cette ligne de commande par deux lignes de commandes. Quand vous découpez une ligne qui fait partie du contour d’une surface, xtherion
ne met pas à jour automatiquement la liste des lignes de contours (cad, il ne remplace pas la ligne découpée par les deux nouvelles lignes), mais maintient la référence à l’ancienne ligne. C’est pourquoi la compilation donne une erreur (qu’il faudra corriger à la main).
Pour résoudre ce problème, sélectionnez la surface. La compilation vous indique l’erreur en route (fenêtre de compilation), cliquez dessus et xtherion
vous affiche la fenêtre de l’éditeur de carte avec la surface qui a causée l’erreur. Cette surface est sélectionnée. Vérifiez quelle est la ligne qui manque. Vous pouvez trouver l’identifiant de la ligne dans la liste du contrôle “Areas” (surfaces), et chaque identifiant de ligne est affiché dans la ligne de statut en bas de la fenêtre lorsque vous positionnez la souris au dessus de la ligne correspondante (la ligne est surlignée en bleu claire). Quand vous avez trouvé la ligne manquante, sélectionnez la dans le contrôle “Areas”, et cliquez sur l’action “Insert” du même panneau. Maintenant vous pouvez insérer les nouvelles lignes dans la liste des bordures de la surface. Cliquez sur ces lignes (dans l’ordre) pour les insérer. Retournez dans le mode de sélection en pressant sur la touche “ESC”. Enfin, supprimez la vieille ligne de la liste (action “Delete” du panneau “Areas”).
join (.th command)
Les join
s sont aussi affectes par le découpage des lignes. Comme l’identifiant de la ligne est perdu lors de son découpage, la commande “join” qui se réfère a cet identifiant devient invalide. therion
donne une erreur quand vous compilez le projet. Vous devez donner un id à un (ou les deux) des nouvelles lignes (suite au découpage) et mettre ces id dans la commande “join”.
pillar
Les piliers sont des morceaux de rocher au milieu de la topographie. Par exemple, la portion de rocher au milieu d’une boucle. Ces surfaces n’appartiennent pas à la grotte, et ne doivent pas être coloriés, mais doivent être considérés “outside” (extérieur) aux surfaces définissant les passages des galeries.
Pour indiquer à therion
que ces murs appartiennent à des contours de piliers, au milieu d’une grotte, ajoutez l’option “-outline in” sur ces lignes. Cette option indique que le rocher est “inside” (à l’intérieur) des lignes de bordure (la situation normale serait que le rocher soit à l’extérieur des lignes de bordure).
Pour la visualisation 3D vous avez besoin de tom
(et OpenGL). Sous Linux, vous devez aller dans le sous-répertoire “thtom” et lancer “make”. Copiez alors le contenu du répertoire “Tom0.2” dans le répertoire de votre distribution Tcl/Tk.
Le visualisateur 3D affiche le modèle dans le format natif, cad “.xvi”. Cependant (S. Mudrak, 2006-04):
Mais nous ne développerons plus le visualisateur xtherion. Les images sur le web proviennent du nouveau visualisateur 3D, Que nous souhaiterions distribuer en Août de cette année.
Remarque : depuis la version 0.5, le visualisateur 3D est un programme distinct de xtherion.
Pour créer un modèle 3D, ajouter la commande export model
au fichier de configuration (ouvert par xtherion). Par exemple, “export model -fmt therion”. Le format natif de therion
est celui utilisé par le visualisateur (dans xtherion
). Vous pouvez également exporter le modèle 3Ddans d’autres formats:
Après la compilation, vous aurez un fichier avec l’extension “.thm”. Si vous ne spécifiez pas l’option “-output”, le nom par défaut sera “cave.thm”. Ce fichier peut être ouvert avec xtherion
.
Quand vous exportez en format DXF (fichier par défaut “cave.dxf”), le modèle est très simple. Il contient uniquement trois objets graphiques : le cheminement topo (CENTERLINE), une triangularisation des murs (WALLS), et les bornes du parallélogramme contenant la topo (BBOX). Tous les symboles et les textes qui composent le dessin ne sont pas exportés.
passage_height (point type)
dimension (point type)
Le modèle est généré à partir du contour de la topo, cad, les lignes extérieurs (outlines) des scraps. La hauteur des passages est calculée en tenant compte les points de type “passage_height” (hauteur de galerie) et des points de type “dimension”, qui indiquent les dimensions de la galerie dans la direction perpendiculaire du dessin [thbook 36, thwiki 2]. Par Exemple “point dimension -value 4.0 2.0 m” indique un point ou le plafond est situé 4 mètres au dessus de la visée topo et le sol est deux mètres en dessous [thbook 21]. L’unité de mesure est optionnelle.
Pour voir le modèle avec xtherion
lancer le binaire Loch situé dans le répertoire d’installation de Therion (ou dans le menu d’installation de xtherion). La fenêtre apparait sur fond noir avec des arrêtes rouge d’un cube. Cette fenêtre a deux contrôles,
Une barre d’outils au sommet de l’écran permet d’afficher ou non certains éléments du dessin. Pour déplacer l’angle de vue de la camera, vous pouvez, soit :
Les mouvements de la souris (gauche-droite et haut-bas) sont associés avec tous les mouvements (rotations, déplacement latérale, zoom) possible avec la camera. Pour cela, cliquez sur un bouton de la souris et déplacez la en gardant le bouton appuyé. Essayez successivement avec les 3 boutons pour effectuer les différents mouvements. L’usage est assez intuitif.
station (type)
visibility (option)
join (.th command)
therion
peut importer des topos de grottes pour lesquelles vous n’avez pas de données topographiques [thwiki 6]. Pour cela, vous avez besoin de:
Cet exemple utilise des données fictives. Nous supposons avoir un fichier image, nodata.gif. Créez un nouveau fichier topo, nodata.th2, pour créer un scrap sans données topo.
Dans le fichier de donnée nodata.th définir la “topo” nodata avec l’unique station virtuelle “1”, et utilisez la commande “equate” pour établir l’équivalence avec une vrai station topo de la grotte. Vous n’avez pas à définir de bloc centerline.
survey nodata input nodata.th2 endsurvey equate 1@nodata 4@s1 join linea_sx@nodata:0 s1_sxf@s1:end join linea_dx@nodata:end s1_dxf@s1:0
Dans le fichier nodata.th2 importez l’image nodata.gif comme image de fond. Créez un nouveau scrap (id “scrap_nodata”), indiquez sa projection (“plan”) dans le panneau “Scraps”, et utilisez les petits carrés rouge pour indiquer l’échelle et l’orientation du scrap.
Ajoutez un point de type “station” pour la station virtuelle “1”. Dessinez les lignes du crap et tous les autres symboles et textes. Enfin, connectez ce scrap aux autres avec la commande “join” comme indiqué dans le code ci-dessus.
Ce graphique présente le scraps et le résultat final.
search
L’éditeur de texte et l’éditeur de carte de xtherion
ont un outil pour rechercher du texte dans un fichier de données ouvert.
L’outil “Recherche & Remplace”, dans l’éditeur de texte, permet de rechercher un mot ou une phrase dans le fichier qui est affiché [thwiki 4]. Une case à cocher permet d’indiquer si la recherche doit différentier les majuscules/minuscules ou non. La recherche peut être limitée à une option de fichier, en sélectionnant la zone de recherche, puis en cliquant sur la case “search selection only” (recherche uniquement la selection).
Ecrivez le mot (ou la phrase) que vous voulez rechercher dans le champ situé sous le label “search” (rechercher) puis cliquez sur le bouton “First” (premier) pour obtenir la première instance du mot surlignée en rouge dans le fichier. Avec le bouton “Next” (suivant) vous vous déplacez sur l’instance suivante, qui est elle aussi surlignée en rouge. Quand vous avez termine la recherche et qu’il n’y a plus d’instances nouvelles dans le fichier, xtherion
fait un bip.
Avec le bouton “All” (toutes) toutes les instances du mot recherche sont surlignées en rouge. Avec le bouton “Clear” (efface) elles redeviennent en vert.
Si la case à cocher “replace” est cochée, le texte situé dans la zone sous la case est substitué au résultat de la recherche. Le texte remplacé est surligné en rouge dans le fichier.
Les expressions régulières sont autorisées dans le texte de recherche, mais la case à cocher “regular expressions” doit être cochée.
Les fichiers de données peuvent faire l’objet de recherche (de texte) avec n’importe quel éditeur de texte car ils sont de simples fichiers textes. Mais il est généralement plus simple d’utiliser l’éditeur de carte de therion. Celui-ci a le panneau “Search & Select” (recherche et sélectionne) qui permet de rechercher du texte dans le fichier ouvert et de surligner le résultat dans le graphique.
Le panneau a un champ permettant d’écrire une expression de recherche. Celle-ci peut être sensible aux majuscules/minuscules ou non, mais également être une expression régulière. Il y a 4 boutons: “Find first” (cherche le premier), “Find next” (cherche le suivant), “Show all” (montre tous) et “Clear all” (masque tout). Ils fonctionnent comme ceux de l’éditeur de texte dans son panneau de recherche (voir chapitre précédent).
Par exemple, si vous cherchez le mot “station” (station topo) vous aurez tous les points de type “station” affichés en rouge sur la fenêtre graphique.
Pour créer et exporter des cartes topographiques, therion
collecte toutes les information des commandes contenues dans les fichiers de données et des fichiers de configuration (mise en page de la topo) puis réalise le dessin des différents niveaux. Ce procédé est expliqué dans le “Therion Book” [thbook 36-37].
context (option)
Les éléments graphiques sont des points (symboles et textes), des lignes et des surfaces. Chaque élément peut être :
-visibility
). Seul les éléments visibles sont exportés dans la carte (map). -clip
); -context
);
visibility (option)
4.5.1.1 Visibilité
Un élément graphique est visible (cad, il apparaît sur la sortie) si :
-visibility
n’est pas “off” (elle est “on” par défaut pour chaque élément); symbol-hide
);
symbol-hide (layout option)
Lors de la configuration (définition du layout), il est possible de cacher des éléments graphiques suivant leur type. Par exemple, vous pouvez utiliser l’option de layout “symbol-hide line wall” (masque les lignes de mur) pour masquer le dessin des parois des murs de la cavité sur la topo. Les autre exemples, sont “symbol-hide point cave-station” (masque le symbole point topo) et “symbol-hide point surface-station” (masque symbole points de topos de surface), pour masquer les stations topo de la cavité et respectivement les stations topo faites en surface
group
Le type “group” définit des symboles de groupe [thbook 41],
L’option “symbol-hide group all” masque tous les éléments de la carte, sauf ceux explicitement marques avec l’option “symbol-show”. Par exemple, vous pouvez utiliser l’option “symbol-show line survey” pour dessiner uniquement les stations après avoir masqué tous les autres éléments.
clip (option)
4.5.1.2 Masque
Certains symboles sont masques par défaut et visible uniquement à l’intérieur des bords des galeries.
-outline
(ligne extérieur), sauf section
, arrow
(flèche), label
(libelle), gradient
(gradient) et water-flow
(cours d’eau).
Certains éléments graphiques qui sont normalement masques (hors des galeries), peuvent etre étendue en dehors des limites en utilisant l’option -clip off
.
groups
layer
place (option)
4.5.1.3 Ordre de dessin
Chaque élément graphique appartient à un layer (une couche de dessin) ou un groupe. Les éléments graphiques sont ajoutés dans la topographie en suivant l’ordre des layer (niveau de dessin). Il y a 5 niveaux :
-place bottom
. ceiling-step
(marches de plafond) et les chimney
cheminées par défaut. -place top
. Le niveau default contient tous les éléments qui n’appartiennent pas à un autre niveau. L’ordre des éléments graphiques dans un même niveau suit les commandes dans le fichier de donnée. Les éléments graphiques sont dessinés en commençant par le dernier (jusqu’au premier). C’est pourquoi, un élément est dessiné par-dessus ceux qui sont situés en dessous de lui dans le fichier. Donc pour dessiner l’objet A par-dessus l’objet B, positionnez l’objet A avant l’objet B dans le fichier de dessin .th2.
La topographie de la grotte est construite par étapes :
color map-bg
). surface
et une option de layout (positionnement de la couche) surface bottom
, l’image de la surface est dessinée. grid bottom
la grille rectangulaire est dessinée (avec la dimension spécifiée). preview below
(visualisation dessous), alors elle est dessinée. map
, en commençant par le dernier niveau (le plus bas): color map-fg
. wall-altitude
(hauteur de mur)) sont ajoutés. preview above
(pré-visu dessus), celle-ci est dessinée avec la couleur spécifiée par color preview-above
. surface top
(surface en haut), l’image de la surface est dessinée. grid top
.
map-header (layout option)
Le contenu et la position du header du cartouche de la topographie sont configurable. L’option “map-comment” permet d’insérer un commentaire dans le cartouche, par exemple map-comment “Echelle 1:500”
.
L’option “map-header-bg” a pour argument “on” ou “off” (par défaut). S’il est “on” le cartouche est écrit en arrière plan, ce qui peut masquer une partie de la topo.
La position du cartouche est indiqué via l’option de layout “map-header”. Celle-ci a trois arguments : la valeur de X, la valeur de Y et un texte qui indique la position. Il peut être “n” (nord), “ne” (nord-est), “e” (est), …, “nw” (nord-ouest), “center” (centré), “off”. Si la valeur est “off” le cartouche n’est pas affiché. Les autres valeurs indiquent la position du coin inférieur gauche du dessin en fonction de la position du cartouche. Une valeur positive de X indique le décalage vers la droite (en mètres). Une valeur positive de Y indique le décalage vers le bas.
statistics (layout option)
L’option “statistics” ajoute, ou non, dans le cartouche les informations de statistiques sur la topographie. Elle a un argument qui peut être un nombre, ou “off” ou “all”. Le nombre indique combien de données doivent être écrites. Par exemple “statistics topo 3” signifie qu’il faut écrire seulement des noms des 3 premiers topographes. La valeur “off” indique de ne rien écrire, et “all” d’écrire toutes les données. Les statistiques sont :
author
copyright
Les auteurs sont définis par l’option “author” dans les scraps. Par exemple -author 2005 “marco corvi”
. Les “copyright” sont définit de façon similaires (pour chaque scrap). Les noms des auteurs apparaissent en bas du cartouche. “Drawn by:” (dessine par), les noms du copyright apparaissent après le symbole de copyright “©”.
La commande “export” a quelques options concernant le document PDF [thbook 44]:
Par exemple, Vous pouvez définir un layout (style) avec ces option et l’inclure dans la commande “export” (en utilisant l’option “-layout xpdf”),
layout xpdf doc-author "your name" doc-keywords "cave, system" doc-subject "plan map of cave" doc-title "cave - plan" endlayout
Si vous ouvrez le document PDF de la topographie avec acroread
, dans le menu “Fichier | Propriétés du document ”, vous pouvez voir les propriétés comme indiquées dans la figure ci-dessous.
atlas (layout option)
Un atlas est une topographie de grotte, subdivisée en pages. C’est utile quand vous voulez imprimer la topographie dans une dimension supérieure à la taille du papier de l’imprimante. Dans ce cas, vous imprimez la topo pages par pages, et collez les pièces entre elles pour composer la topo globale.
Pour faire un atlas, vous indiquez l’option “atlas” au lieu de “map” dans la commande “export”,
export atlas ...
Chaque page de l’atlas a les coordonnées de la page et son numéro entre parenthèses. Il y a aussi le nombre de page vers le nord, l’est, le sud et l’ouest, ainsi que vers le niveau supérieur ou inférieur. Le nombre de pages est omis si vous indiquez l’option de layout “page-numbers off”.
select (thconfig command)
Si l’option “title-pages on” est indiquée, les titres de page sont inclus pour chaque chapitre de l’atlas. Il y a des chapitres quand le fichier de configuration a plusieurs commandes “select”. Par exemple, les lignes suivantes du fichier de configuration produisent deux chapitres de l’atlas, le premier avec le titre map7 et le second avec le titre map1,
select map7@test7 select map1@s1.test7
origin (atlas option)
L’option (dans le layout) “origin X Y Z m” indique la position de l’origine de la grille. Par exemple, en positionnant les coordonnées géographiques de l’entrée de la grotte par la commande “fix 1 1529802.9 5089076.7 2214.6” dans la le fichier de données topo, et si vous mettez “origin 1529802.9 5089076.7 2214.6 m” (dans le fichier layout), le coin inférieur gauche du carré central du quadrillage coïncidera avec l’entrée. L’option “origin-label” indique les indices sur le quadrillage. Par exemple, “origin-label K 2” assigne l’indice (K,2) au carré central en utilisant des lettres pour les lignes et des nombres pour les colonnes, comme indiqué dans la figure ci-dessous (réalisée en utilisant l’option “origin-label K 2”).
Les pages de l’atlas contiennent également une grille de navigation 5×5 avec la carte de la topographie en petit. Le carré central de la grille correspond à la carte du centre de la page. La taille de cette grille de navigation peut être définie avec l’option de layout “nav-size”. Par exemple “nav-size 1 2” Indique de mettre 3 cellules horizontales et 5 verticales.
overlap
Le bord de la page consiste en une zone de recouvrement avec les pages voisines. Il y a également des liens qui permettent de naviguer dans l’atlas vers les pages voisines (en cliquant sur les bords de la topo). La largeur de ces bordures peut être définit avec l’option “overlap”. La valeur par défaut est 1 cm.
legend (layout option)
L’option du layout “legend on” ajoute une dernière page avec la légende de la carte.
Les autres options de l’atlas concernent les dimensions des pages:
topographic map
surface (.th command)
La commande surface
du fichier de données est utilisée pour positionner la topographie de la grotte sur une carte topographique [thbook 26]. Cette commande prend en argument le nom de fichier d’une image (dans un format supporte par therion
, tel que PNG), ou une grille de données 3D.
Dans le premier cas la syntaxe est
surface bitmap filename calibration endsurface
Ici “filename” est le nom du fichier avec la carte de surface, et “calibration” est un ensemble de 8 valeurs qui indiquent les correspondances de coordonnées de deux points de l’image (en unité de pixel) et deux point sur le terrain (coordonnées géographiques, les unités sont en mètres par défaut). Vous avez besoin de 2 points pour positionner les l’image cartographique en respectant la topographie de la grotte. En fait, l’image est pivotée, mise à l’échelle et translatée (pas de cisaillement). Par exemple :
surface bitmap grigna.png [0 1176 1529079.8 5089914.6 854 186 1529802.9 5089076.7] endsurface
Dans cet exemple, l’image a la dimension 1900×1176, les coordonnées de l’entrée sur l’image sont (854,990) [pixels]: X est la distance horizontale de la gauche vers la droite, Y la distance verticale du bas vers le haut. Dans la calibration, l’axe Y est considéré vers le haut, c’est pourquoi au lieu de 990, il y a 186=1176-990. De même, le coin supérieur gauche de l’image a pour coordonnées (0,1176). La dimension du pixel est de 0.847 dans chaque direction, c’est pour cela que ce coin a pour coordonnées en mètres 1529802.9 - 854*0.847 = 1528949.7 et 5089076.7 + 990*.847 = 5089914.6.
Dans le second cas, la syntaxe est
surface grid-units units grid x y dx dy nx ny grid-flip flip data endsurface
Ici les “units” sont les unités de la grille de donnée. Par défaut, elles sont en mètres. L’origine de la grille est positionnée au point de coordonnées(x,y). La grille a un pas de mesure (dx,dy) et nx nœuds horizontaux, et ny verticaux. La grille de donnée “data” est placée après. C’est une suite d’altitudes (au-dessus du niveau de la mer), démarrant à l’origine et suivant les lignes de la grille de l’ouest vers l’est et du sud vers le nord. La commande “grid-flip” est optionnelle. Elle est utilisée quand la grille de données est donnée dans un autre ordre. Elle peut prendre les valeurs “none” (aucun), “vertical” ou “horizontal”.
Il est possible d’indiquer en même temps l’image et la grille d’altitude. (S. Mudrak 2005-11-30),
# surface command for entering surface surface # grid to specify position of surface # grid X-start Y-start X-step Y-step C-columns R-rows grid 400080 5419750 10 10 190 68 # calibrated surface texture - not yet supported in 3D viewer bitmap <filename> [calibration-parameters] # followed by CxR altitudes matrix 1520 1530 ... ... 1680 1690 ... endsurface
Comme exemple chargez l’image de surface “sovra.png” dans la carte d’exemple “gm-therion”. Ajoutez les commandes suivantes dans le fichier de donnée
surface bitmap sovra.png [114 107 0 0 88 56 -33 -64] endsurface
Les valeurs pour la calibration sont trouvées à partir de la position de l’entrée de la grotte (0,0 dans la topo) sur l’image de surface du terrain, et à partir de l’échelle et de la résolution de l’image.
Dans le fichier de configuration vous avez besoin d’ajouter les options de layout pour inclure la surface
-layout-transparency on \ -layout-surface bottom \ -layout-surface-opacity 80
La première option active la transparence de la topo (la valeur par défaut de l’option “opacity” est 70). La seconde option positionne la surface sur le niveau le plus bas du dessin (le niveau “bottom”).
Le résultat est présenté dans la figure ci-dessous : l’a grotte d’exemple est plutôt petite, et elle disparaît un peut dans la carte topographique.
Avec therion
vous pouvez exporter les données topographiques dans un script avec lequel vous pouvez créer et remplir une base de données [thbook 49].
La commande dans le fichier de configuration est
export database -output "fichier.sql"
Le résultat est un fichier avec des commandes SQL pour créer les tables de base de données et des commandes pour remplir ces tables avec les données topo.
En particulier, les tables suivantes sont crées:
La structure de la base de données est assez simple et peut être vue dans la figure ci-dessus. Néanmoins, il est possible de créer des requêtes intéressantes. Par exemple, la longueur topographiée a une certaine période:
select sum(LENGTH) from SHOT S, CENTRELINE C where S.CENTRELINE_ID = C.ID and C.TOPO_DATE between '2004-01-01 and '2004-12-31';
Pour cet exemple, nous utilisons “sqlite” http://www.sqlite.org. La commande pour créer la base de données est
sqlite3 filename.db \lt filename.sql
Maintenant vous pouvez ouvrir une session sur la base de donnée que vous venez de créer (commande “sqlite3 filename.db”) et sur le prompte “sqlite3” vous pouvez écrire la requête et voir le résultat:
$ sqlite3 filename.db sqlite> select sum(LENGTH) from SHOT S, CENTRELINE C ... ; 215.22 sqlite>.quit
Il y a un problème si vous voulez importer les données d’une topo dans une base de données existante (crée avec des données d’autres topos). Cela arrive quand vous avez besoin d’ajouter une série de topo dans une grotte ou un grand réseau.
Dans ce cas, la commande “export database” n’a pas d’éléments pour annuler la génération du code SQL créant les tables. C’est pourquoi vous devez éditer le fichier sql et supprimer les premières lignes, c'est-à-dire celles commençant par le mot “CREATE”. Les lignes suivantes remplissent la base de données avec les données topographiques. Ensuite vous pouvez exécuter le fichier sql comme précédemment : “sqlite3 filename.db < filename.sql”.
Faites attention de ne pas remplir deux fois la base de donnée avec le même fichier SQL, sinon les données seront insérées deux fois et comptabilisées en double. En d’autres mots, la base de données ne contrôle pas que les enregistrements sont en double.
Cette méthode de contournement du problème (contrôler les doublons par la base de données) ne serait pas une solution. Il pourrait y avoir des conflits de noms entre les données des scripts sql et les données stockées dans la base de donnée. Du coup, la base de données arrêterait ses mises à jour et elle resterait dans un état instable, ce qui n’est surement pas ce que vous souhaiteriez.
Therion peut importer des séries de visées topo, produites par d’autres programmes et les utiliser pour la génération des cartes.
therion
ne peut pas utiliser les données topographiques écrites dans le format survex. Le format des données topo de Therion est légèrement différent de survex et vous ne pouvez pas importer les lignes de données de survex. Vous pouvez cependant importer les fichiers ”.3d“ générés par survex
.
import (.th command)
La commande pour cet “import” prend comme argument le nom du fichier à importer et a les options suivantes:
L’effet de l’option ”-surveys“ dépend du niveau ou la commande “import” est positionné dans la hiérarchie. Avec ”-surveys use“ therion utilise les topographies (et sous topos) à ce niveau. Par exemple, regardons l’importation d’un fichier 3d avec des noms de stations “top.middle.sub.1”,
survey top import file.3d -surveys use -filter top. survey middle survey bottom ... endsurvey bottom ... endsurvey middle endsurvey top
therion
va d’abord filtrer le préfixe top, le nom devient alors “middle.sub.1”. Ensuite therion
va essayer d’utiliser la topo middle, et comme il y a une topo de ce nom au niveau “import”, il change les noms en “sub.1@middle”. Ensuite, il va essayer de faire de même pour la sous-topo middle de nom sub, mais il ne la trouve pas, alors les noms restent ainsi (tel que définit précédemment). S’il l’avait trouvé, les noms seraient devenus “1@sub.middle”.
Avec la valeur “create”, les noms des fichiers topo sont crées et insérés dans la hiérarchie therion afin de coller au nom des stations topo. Par exemple, avec les noms de station “top.1” therion
crée une topo top et fait référence à la station “1@top”.
Avec “ignore” les fichiers topo (.th) ne sont pas crées.
La commande “scrap” a une option pour les préfixes et les suffixes des noms, ”-station-names prefix suffix“. Par exemple ”-station-names top. []“ indique de préfixer tous les noms dans le scrap avec “top.” Et de les suffixer avec une chaine vide (pas de suffixe). Dans ce cas, le point avec l’option ”-name 1“ est interprété comme si son nom était “top.1”.
Il est également possible d’ajouter des suffixes. Par exemple avec ”-station-names [] @top“ le point ayant l’option ”-name 1“ aura le nom “1@top”.
Quelques remarques.
therion
ne donne aucune erreur. Si ce n’était pas le cas, vous ne pourriez pas travailler avec des fichiers .3d locaux et globaux sans modifier les données des fichiers (cad, mettre en commentaire les commandes “import” sur le niveau local lorsqu’un “import” de niveau global est présent). L’exemple suivant a une partie de la topo (visées topo) dans un fichier survex, et une autres dans un fichier therion. Le fichier de configuration a la commande “source global.th”, et le fichier global.th organise les données. Tout est contenu dans la topo middle. C’est pourquoi, les noms des stations dans le fichier .3d de survex sont filtrés par le préfixe top, et que la hiérarchie des topos est utilisée. La topo middle a une sous topo bottom et incluse un fichier scrap middle.th2. Il y a une commande equate pour marquer l’équivalence de deux stations topo, sub.2@middle du fichier 3d de survex et 1@sub.bottom.middle du fichier de données de therion. Enfin, il y a les commandes “join” pour les lignes de mur.
survey global import global.3d -filter top. -surveys use survey middle survey bottom input bottom.th endsurvey bottom input middle.th2 endsurvey middle centerline equate 1@sub.bottom.middle sub.2@middle endcenterline join m1_sx@middle:0 b2_sx@bottom.middle:end join m1_dx@middle:end b2_dx@bottom.middle:0 endsurvey global
Le fichier source de survex, a partir duquel le fichier 3d est généré:
*begin top.middle.sub * export 2 ... *end top.middle.sub
Notez que la station “2” de ce centerline (bloc de visées topo) doit être référencée au niveau global, comme sub.2@middle car le préfixe top. a été supprime et middle a été utilisé dans la hiérarchie des topos.
Le fichier de données topo de therion bottom.th est
survey sub centerline ... endcenterline endsurvey input global_bottom.th2
Notez que le scrap est inséré au niveau {bottom.middle.global} de la hiérarchie des topo. C’est pourquoi la commande “join” fait référence aux lignes de mur avec le suffixe @bottom.middle (les commandes sont positionnées au niveau global ). De même, la station “1” dans ce centerline (bloc de données topo) est correctement référencées, au niveau global, avec 1@sub.bottom.middle.
Le fichier de scrap bottom.th2 a le contenu suivant
scrap scrap1 -projection plan -station-names [] @sub -scale [...] ... point 419.0 610.0 station -name 1 endscrap
L’option ”-station-names“ indique que le point écrit avec ”-name 1“ a le nom 1@sub. Comme le fichier est inclus au niveau bottom.middle.global, le niveau global fait référence au point en indiquant 1@sub.bottom.middle.
Le fichier de scrap middle.th2 contiend
scrap scrap1 -projection plan -station-names sub. [] -scale [...] ... point 622.0 440.0 station -name 2 endscrap
Dans ce cas, le point écrit avec ”-name 2“ a le nom sub.2. Comme le fichier est inclus au niveau middle.global, le niveau global fait référence a ce point en indiquant sub.2@middle.
Les données dans la légende des carte peut devenir incorrect car le fichier ”.3d“ fait référence a la totalité de la cavité. Wookey a demande comment surcharger la valeur de “cavelength” (développement topo) le 2006.09.20. S. Mudrak a répondu
Ajoute simplement des lignes dans le bloc layout:
> code tex-map > \topoteam{Ton nom.} > \cavelength{1000\thinspace{}ft} > \cavedepth{300\thinspace{}m} > endcode >
cavelength = développement topo ; cavedepth = profondeur
Si vous calculez votre topo avec Compass 12 vous pouvez également transformer vos fichier .dat en fichiers .th de therion avec un simple script, ou vous pouvez importer les fichiers .plt dans therion.
Par exemple supposons que nous avons le fichier “example.dat” suivant (ou le fichier “example.plt” correspondant)
SURVEY NAME: first.dat SURVEY DATE: 7 24 2006 COMMENT: SURVEY TEAM: ... ... FROM TO LENGTH BEARING INC LEFT UP DOWN RIGHT FLAGS COMMENTS 1 2 10.00 90.00 0.00 1.00 2.00 0.00 1.00 2 3 10.00 180.00 0.00 1.00 2.00 0.00 1.00 3 4 10.00 90.00 0.00 1.00 2.00 0.00 1.00 4 5 10.00 180.00 0.00 1.00 2.00 0.00 1.00 ...
Vous pouvez écrire un fichier .th qui importe le fichier .plt (et intégrer les cartes .th2),
survey example import example.plt input example.th2 endsurvey
Les commandes des stations topo du fichier “example.th2” peuvent faire référence aux noms des stations dans le fichier .plt, par exemple, “point 593.0 241.0 station -name 4”.
atlas (layout option)
Cette annexe décrit comment therion
crée les fichiers PDF pour les atlas. therion
définit plusieurs macros TeX, et a la fin, appelle la commande ” \dopage “ de TeX
pour générer le fichier de sortie.
Les variables utilisées pour écrire la page sont
Les autres variables globales sont:
Enfin therion
utilise les macros
Les autres variables gérées par therion
et qui peuvent être utilisées sont celles qui sont positionnées a travers des options de layout:
A ce point, nous pouvons analyser la définition de \dopage contenu dans les fichiers therion
nommés “tex/therion.tex”. La structure commentée ici est présentée dans le graphique ci-dessous. Les vboxes sont bleu et les hboxes sont en rouge.
<code> \def\dopage{% \vbox{% +-- global vbox \centerline{\framed{\mapbox}} +-- center mapbox \bigskip +-- a space \line{% +-- "navigation" line \vbox to \ht\navbox{ +-- vbox high as the "navbox" \hbox{\size[20]\the\pagelabel +-- label \ifpagenumbering\space(\the\pagenum)\fi +-- number \space\size[16]\the\pagename} +-- name \ifpagenumbering \medskip +-- spaec \hbox{\qquad\qquad +-- pointers hbox \vtop{% \hbox to 0pt{\hss\showpointer\pointerN\hss} \hbox to 0pt{\llap{\showpointer\pointerW\hskip0.7em}% \raise1pt\hbox to 0pt{\hss$\updownarrow$\hss}% \raise1pt\hbox to 0pt{\hss$\leftrightarrow$\hss}% \rlap{\hskip0.7em\showpointer\pointerE}} \hbox to 0pt{\hss\showpointer\pointerS\hss} }\qquad\qquad \vtop{ \def\arr{$\uparrow$} \showpointerlist\pointerU \def\arr{$\downarrow$} \showpointerlist\pointerD } } \fi \vss +-- vertical space \ifscalebar\scalebar\fi +-- scael-bar }\hss +-- horizontal space \box\navbox +-- navbox } } } </code>