Comment créer un fichier de données ?

Cette page décrit la structure d’un fichier de données topographiques.

Structure d’un fichier de données topographiques

Dans le cadre d’un fichier de données topographiques, nous allons utiliser les blocs de topographie et de séance topographique. Cela donnera par exemple :

survey <identifiant>
   Commandes du bloc survey
   centerline
          Commandes du bloc centerline (une séance topographique)
   endcenterline
   centerline
     Commandes du bloc centerline (une autre séance topographique)
   endcenterline 
endsurvey

Dans cet exemple, il y a deux points importants :

  1. le mot clef survey est suivi d’un nom. C’est l’identifiant de la topographie. Il est impérativement sans espaces. Il est important/fondamental parce que par la suite, nous nous réfèrerons à cette topograohie en l’appelant par son identifiant. C’est ainsi que nous allons pouvoir savoir avec quelle topographie le dessin que nous sommes en train de dessiner va s’ancrer.
  2. nous avons imbriqué un bloc centerline à l’intérieur du bloc survey. En fait, les blocs centerline ne peuvent pas être en dehors des blocs survey, ils sont forcément à l’intérieur. En conséquence, un bloc centerline ne peut pas dépendre de deux (ni plus) blocs survey différents. En revanche, un bloc survey peut contenir autant de bloc centerline que nécessaire !

Ce n’est pas obligatoire, mais une bonne chose est de marquer avec une indentation (quelques espaces ou une tabulation) ce qui est à l’intérieur d’un bloc. A chaque bloc imbriqué, nous augmentons alors d’une indentation.

Structure d’une séance topographique (centerline)

Chaque séance topographique (ou chaque série topographique si nous travaillons en séries) est définie par un bloc centerline. Nous le rappelons, ce bloc centerline doit obligatoirement être inclus dans un bloc survey.

Ce bloc centerline va être divisé en deux parties :

  • une première partie avec toutes les informations sur comment a été faite la topographie
  • une seconde partie qui correspond au tableau de données en lui même

Nous allons décortiquer chaque partie avant de donner un exemple simple.

centerline -title "Exemple"

C’est le début de la séance topographique d’exemple. Nous lui donnons un titre (facultatif) « Exemple »

Définition de comment a été levée la topographie

Il est obligatoire de définir ici les instruments que nous utilisons, leurs unités et leurs calibration :

  • dans le cas d’une topographie effectuée avec un disto, en mètres, et une mesure de la pente en degrés (lenght, c’est pour définir la longueur, compass, l’azimut et clino, la pente):
    • units lenght meters
      units compass degrees
      units clino degrees
  • dans le cas d’une topographie effectuée avec un disto, en mètres, et une mesure de la pente en grades :
    • units lenght meters
      units compass grad
      units clino grad
  • dans le cas d’une topographie effectuée avec une boite topo-Vulcain en grades :
    • units lenght meters
      units compass grad
      units clino grad
      calibrate counter 0 1.00
      calibrate clino 100
      units counter centimeters

La commande « calibrate » s’utilise ainsi :

calibrate <quantity list> <zero error> [<scale>]

où :

  • <quantity list> = qu’est-ce qu’on veut calibrer. Cela peut prendre les valeurs length (= longueur), tape (= ruban), bearing (= position), compass (= azimut), gradient, clino, counter (= compteur), depth (= profondeur), x, y, z, position, easting, dx, northing, dy, altitude, dz
  • <zero error> = quelle correction nous voulons apporter. Elle sera calculée ainsi : nouvelle valeur = valeur donnée – zero_error.
  • [<scale>] = quel facteur d’échelle vouons nous appliquer ? dans l’exemple ci-dessous, il est mis à 1 pour le compteut, ce qui veut dire que 1 tour de compteur est équivalent à 1 unité, soit 1 cm. Avec la dernière version de la boite topo Vulcain, ce facteur est de l’ordre de 0.5.

Accessoirement, nous pouvons aussi définir

  • la date de la topographie (année.mois.jour) ; elle est utilisée pour calculer automatiquement la déclinaison magnétique ; si nous ne la fournissons pas, il faut définir la déclinaison
    • date 2020.04.12
  • la déclinaison magnétique (dans le cas ou la date de la topographie n’est pas donnée) ; ne pas oublier l’unité :
    • declinaison 0.5 degrees
  • l’équipe qui a fait la topographie (autant de lignes que de personnes ; notez l’utilisation du « / » pour délimiter prénom / nom)
    • team "Monsieur Vulcain"
      team "Monsieur/de Vulcain"
  • la date de l’exploration
    • explo-date 2020.04.12
  • l’équipe qui a fait l’exploration
    • explo-team "Monsieur Vulcain"
      explo-team "Monsieur/de Vulcain"
  • la station qui correspond à(aux) l’entrée(s) (ici 0.0 ; une ligne par entrée
    • station 0.0 "Entrée principale" entrance
      
  • le système de coordonnées qu’on va utiliser pour définir les coordonnées de l’entrée (cs = coordinates system, soit système de coordonnées). L’argument de la commande cs peut être
      • le système de coordonnées géographiques lat-long ou long-lat ; en ce cas, le système de référence est WGS84.
      • quasiment tous les systèmes de projections existant, que nous pouvons appeler
        • par leur nom (ex : UTM32N)
        • par leur code EPSG (EPSG:<numéro_EPSG>)
        • par leur code ESRI (ESRI:<numéro_ESRI>)
        • et quelques autres très spécifiques
    • cs lat-long
  • les coordonnées de l’entrée (fix station lat long alt [erreur_lat erreur_long erreur_alt])
    • fix 0.0 4.2345 46.9876 1200

Déclaration du tableau de données topographiques

Avant d’insérer le tableau de données topographique, il faut définir la structure du tableau de données, c’est à dire à quoi correspondent les différentes colonnes. Cela se fait grâce à la commande data suivie du style de données puis de ce que représente chaque colonne, dans l’ordre que nous allons utiliser. Voici quelques exemples de définition de tableaux de données :

Nous voulons entrer un tableau de données normales/classiques qui contient :

  • la station de départ (mot clef = from)
  • le station d’arrivée (mot clef  = to)
  • la longueur entre les deux stations (mot clef = length)
  • l’azimuth (en direct ; mot clef compass),
  • la pente (en direct ; mot clef clino),
  • puis les dimensions gauche droite haut bas (respectivement left, right, up, down)

La comande sera :

data normal from to length compass clino left right up down

Si finalement, l’azimut et le clino ne sont pas en directs, mais en inverses, il suffit de modifier la ligne en :

data normal from to length backcompass backclino left right up down

Noter le « back » (= arrière)  ajouté avant compass et clino pour indiquer que leur mesure est en inverse.

Si nous voulons entrer des données issues d’une boite topo Vulcain, nous pouvons déclarer le tableau de données ainsi :

data topofil from to fromcount tocount compass clino left right up down

où « fromcount » et « tocount » correspondent respectivement au compteur au point de départ et au compteur au point d’arrivée.

Lors de l’utilisation d’une boite topo Vulcain, le clino se lit de 0 à 180° (ou 0-200 grades). En ce cas, la déclaration de tableau ci-dessus renverra une erreur sur le clino, comme quoi les valeurs ne sont pas comprises entre -90° et +90° (ou -100/+100 en grades). Une façon de corriger cela est, avant cette ligne « data », d’utiliser la commande calibrate ainsi :

calibrate clino -90 # si unités du clino en degrées
calibrate clino -100 # si unités du clino en grades

De manière générale, la commande « data » s’écrit :

data <style> <readings order>

Ici, <style> peut prendre un des arguments suivant (c’est ici de la syntaxe survex) :

  • normal : c’est ce que nous utilisons lors d’une topographie avec un distoX
  • topofil : cette fois, c’est ce que nous utilisons lors d’une topographie avec une boite Topo Vulcain
  • diving : pour la plongée
  • cartesian : si nous donnons des coordonnées de points de type (x,y,z), dans un référentiel carthésien
  • cylpolar : La même chose, mais dans un référentiel polaire
  • dimensions : si nous voulons donner uniquement des dimensions à un point donné
  • nosurvey : s’il n’y a pas de données topogrpahique

<readings orders> va décrire les différentes colonnes du tableau avec potentiellement ces termes :

  • station
  • from
  • to
  • tape/length
  • [back]compass/[back]bearing
  • [back]clino/[back]gradient
  • depth
  • fromdepth
  • todepth
  • depthchange
  • counter
  • fromcount
  • tocount
  • northing
  • easting
  • altitude
  • up/ceiling
  • down/floor
  • left
  • right
  • ignore
  • ignoreall

Le tableau de données topographiques

Ensuite, il nous faut entrer le tableau données. C’est du format texte, ce qui fait que pour matérialiser les colonnes, il y a plusieurs possibilités très simples. La séparation des colonnes peut-être :

  • un simple espace
  • une tabulation

L’avantage d’utiliser une tabulation, c’est que ça permet de visualiser le tableau sous forme de colonnes. C’est la solution que nous préconisons, mais ce n’est pas obligatoire de la suivre.

Par exemple, dans le cas de données issue d’une topographie effectuée avec un disto (X), chaque ligne de données ressemblera à quelque chose comme :

2018-JR-22 2018-JR-23 2.5 39 -42 0.6 1.5 8 1.2 # Base du P12

  • 2018-JR-22 est la station de départ,
  • 2018-JR-23 est la station d’arrivée
  • 2.5 est la distance entre les deux stations
  • 39, l’azimut
  • -42, la pente
  • et 0.6 1.5 8 1.2 les dimensions gauche droite haut bas
  • # Base du P12 est un commentaire facultatif lié à la station d’arrivée

Pour les habitués, dans Visual Topo, il faut systématiquement commencer chaque tableau  de données par une ligne « vide » 0 0 0 0. Avec Therion, ça ne fonctionne pas ainsi. Il ne peut pas y avoir de visé d’une station à cette même station. Par exemple :

0 0 2.5 39 -42 0.6 1.5 8 1.2

va générer une erreur lors de la compilation.

En revanche, si nous modifions une des stations 0 en 0.0, 0.1, junk,… tout se passe très bien :

0 0.1 2.5 39 -42 0.6 1.5 8 1.2 # OK
# ou
0 junk 2.5 39 -42 0.6 1.5 8 1.2 # OK

Si l’une des stations est nommée par « – » ou « . », alors, cette ligne va être interprétée comme visée d’habillage, et non visée de cheminement topographique.

Comment entrer les données ?

Entrer les données peut-être très fastidieux. Evidemment, il faut les entrer dans le même ordre que ce qui a été défini par la ligne « data ».

Si vous avez l’habitude d’écrire et d’utiliser la tabulation, alors, vous pouvez les entrer directement à la main dans l’éditeur de texte. Ainsi, nous devons les entrer ligne à ligne.

Si au contraire, vous êtes habitués à les entrer colonne par colonne, alors, utiliser un tableur de type Excel qui facilite grandement cette façon d’entrer les données. Ensuite, faites un copier-coller dans le fichier de données Therion. Automatiquement, la séparation des colonnes sera une tabulation. Attention, dans ce cas, prenez garde aux séparateurs de décimales….

Vous pouvez aussi noter que pour que vos donnez soient lisibles (par exemple si vous voulez visuellement isoler quelques visées correspondant à la topographie d’un affluent), vous pouvez sauter des lignes et les laisser blanches, cela ne pose aucun problème.

endcenterline

Voilà, c’est la fin d’un bloc de séance topographique d’un fichier de données.

Dans le cas d’une topographie effectuée « à l’ancienne » à la main, il faut se taper tout ce processus. Pour cela, il peut être bon de faire un copier-coller d’un précédent fichier de données, et de l’adapter au nouveau jeu de données, ce qui n’oblige pas à retenir tous les mots clefs, ni à les réécrire à chaque fois ! C’est même très rapide !

Dans le cas d’une prise de note électronique (comme avec Topodroid par exemple), ce fichier est automatiquement construit. Il suffit de l’éditer pour modifier les options non essentielles que nous voulons définir/modifier.

Un fichier d'exemple

Voici un fichier de données exemple d’une topographie contenant deux séances topographiques. [Lien à faire]