GHTopo et GHCaveDraw

GHTopo et GHCaveDraw

GHCaveDraw: Spécifications techniques à l'usage des auteurs de logiciels de topographie

Le format GCP

Cet article est à l'usage des auteurs de logiciels topo tiers qui désirent développer une passerelle vers GHCaveDraw.

La section basepoints

Un fichier GCP comporte les éléments suivants

  • Une description, facultative, dont chaque ligne débute par un #. Elle comporte typiquement le nom du logiciel utilisé pour la génération, le nom du réseau et la date/heure de création
  • Une ligne contenant le mot-clé basepoints
  • Une ligne, facultative, contenant la description des champs
  • Une ligne de données par visée
  • Une ligne contenant le mot-clé endbasepoints

Séparateurs de champs et commentaires

Le séparateur de champs est la tabulation (#9, \t).

 

Un commentaire peut être inséré. Il commence par un # en début de ligne

 

 

Signification des champs à exporter

Une ligne par visée

 

IDStation: (texte)

Nom de la station, eg: A630

Le nom de la station peut contenir des espaces (déconseillé), des tirets (sauf le premier caractère s'il s'agit d'un point topo), des underscores ( _ ), des apostrophes  et des caractères alphanumériques.
Les espaces sont convertis en underscores

S'il s'agit d'une visée radiante, le faire précéder d'un tiret ( - ), eg: -A630

 

IDTerrain: (texte)

Classiquement le texte inscrit sur une étiquette. Ce champ peut être laissé vide

 

TypeStation: (nombre entier)

Mettre ce champ à 0 s'il s'agit d'une galerie, 7 s'il s'agit d'une topo de surface

 

Couleur: (nombre entier)

Ce champ est un entier dont la valeur est le résultat de la fonction RGBToColor.
TColor est un entier 32bits signé

// En Delphi / Pascal

function RGBToColor(R, G, B: Byte): TColor;
begin
  Result := (B shl 16) or (G shl 8) or R;
end;

 

// En C/C++

int RGBToColor(const unsigned short R, G, B)
{
  return (B << 16) | (G << 8) | R;
}

// En Basic

FUNCTION RGBToColor(R as Byte, G As Byte, B As Byte) As Long
  RGBToColor = (B * 65536) + (G * 256) + R

END FUNCTION

 

PosExtr0: (coordonnées X, Y, Z)

Coordonnées XYZ de l'extrémité de départ de la visée

 

PosStation: (coordonnées X, Y, Z)

Coordonnées XYZ de l'extrémité d'arrivée de la visée ( = position du point topo)

 

PosPG: (coordonnées X, Y, Z)

Coordonnées XYZ d'une extrémité de la section transversale. Calculée avec les LRUD

La coordonnée Z est celle du point topo

 

PosPD:

Coordonnées XYZ de l'autre extrémité de la section transversale. Calculée avec les LRUD.

La coordonnée Z est celle du point topo

 

Pour une visée radiante, PosStation, PosPG et PosPD sont identiques. 

 

Déclarations de type en Delphi / Free Pascal

type TIDBaseStation = type string; 

 

type TPoint3Df = record
  X: double;
  Y: double;
  Z: double;
end;  


type TBaseStation = record
  IDStation      : TIDBaseStation;
  //IDGroupePoints : TIDGroupePoints;
  IDTerrain      : string; // étiquette de terrain
  TypeStation    : TTypeStation;
  Couleur        : TColor;
  PosExtr0       : TPoint3Df; // départ visée
  PosStation     : TPoint3Df; // coordonnées de référence
  PosPG          : TPoint3Df; //
  PosPD          : TPoint3Df;
  Enabled        : boolean; // activé par le MétaFiltre
end;

 

Déclarations de type en C / C++

 /* ID de la station, ici du texte, pas forcément de l'Unicode d'ailleurs */

typedef TIDBaseStation char*;

/* Déclarations pour un point 3D */
typedef struct { double X;

double Y;
double Z; } TPoint3Df;

 

 

/* Déclaration de la structure pour un basepoint */

typedef struct
 {
TIDBaseStation IDStation;
short TypeStation; // Doit être mis à 0

char*
IDTerrain;
long Couleur;
TPoint3Df     
PosExtr0;
    TPoint3Df         PosStation;
    TPoint3Df         PosPG; 
    TPoint3Df         PosPD;
byte Enabled; // Doit être mis à 1

 } TBaseStation; 

Exemple de section basepoints

basepoints
  # Parameters: IDStation; Caption; GHTopo TypeStation; integer Colour; Start shot, End shot, Left and Right coordinates
   -100010        10    0    439997.00    3075916.00    663.00    439997.19    3075913.10    663.40    439997.19    3075913.10    663.00    439997.19    3075913.10    663.00    
   -100010        10    0    439997.00    3075916.00    663.00    439994.75    3075915.15    663.79    439994.75    3075915.15    663.00    439994.75    3075915.15    663.00    
   -100010        10    0    439997.00    3075916.00    663.00    439996.25    3075916.08    663.13    439996.25    3075916.08    663.00    439996.25    3075916.08    663.00    
   -100010        10    0    439997.00    3075916.00    663.00    439995.99    3075916.39    663.39    439995.99    3075916.39    663.00    439995.99    3075916.39    663.00    
   -100010        10    0    439997.00    3075916.00    663.00    439996.03    3075916.05    663.66    439996.03    3075916.05    663.00    439996.03    3075916.05    663.00    
   -100010        10    0    439997.00    3075916.00    663.00    439995.17    3075913.53    663.64    439995.17    3075913.53    663.00    439995.17    3075913.53    663.00    
   -A67        10    0    439992.42    3075906.20    662.41    439994.25    3075906.64    662.32    439994.25    3075906.64    662.41    439994.25    3075906.64    662.41    
   -A67        10    0    439992.42    3075906.20    662.41    439993.99    3075905.97    662.31    439993.99    3075905.97    662.41    439993.99    3075905.97    662.41    
   -A67        10    0    439992.42    3075906.20    662.41    439991.57    3075906.18    662.37    439991.57    3075906.18    662.41    439991.57    3075906.18    662.41    
   -A67        10    0    439992.42    3075906.20    662.41    439991.32    3075907.50    662.38    439991.32    3075907.50    662.41    439991.32    3075907.50    662.41    
   -A67        10    0    439992.42    3075906.20    662.41    439991.54    3075906.18    662.35    439991.54    3075906.18    662.41    439991.54    3075906.18    662.41    
   -A67        10    0    439992.42    3075906.20    662.41    439991.70    3075905.95    662.33    439991.70    3075905.95    662.41    439991.70    3075905.95    662.41    
   51    3075896.87    664.45    
   -LLANFAIRPWLL        10    0    439960.36    3075896.74    664.45    439961.65    3075895.55    663.24    439961.65    3075895.55    664.45    439961.65    3075895.55    664.45    
   -LLANFAIRPWLL        10    0    439960.36    3075896.74    664.45    439962.58    3075896.34    663.26    439962.58    3075896.34    664.45    439962.58    3075896.34    664.45    
   -LLANFAIRPWLL        10    0    439960.36    3075896.74    664.45    439962.65    3075899.30    664.71    439962.65    3075899.30    664.45    439962.65    3075899.30    664.45    
   -LLANFAIRPWLL        10    0    439960.36    3075896.74    664.45    439958.86    3075896.13    664.79    439958.86    3075896.13    664.45    439958.86    3075896.13    664.45    
   -LLANFAIRPWLL        10    0    439960.36    3075896.74    664.45    439961.91    3075899.52    664.82    439961.91    3075899.52    664.45    439961.91    3075899.52    664.45    
   100010    1.1    0    0    439997.00    3075916.00    663.00    439996.83    3075915.84    663.01    439998.31    3075914.84    663.00    439995.96    3075916.44    664.00    1.1
   100060    1.6    0    0    439992.42    3075906.20    662.41    439990.10    3075903.77    661.43    439990.38    3075903.00    662.41    439989.52    3075905.38    662.41    1.6
   100070    1.7    0    0    439990.10    3075903.77    661.43    439988.27    3075903.98    662.26    439989.63    3075901.98    661.43    439987.03    3075905.82    661.98    1.7
   100080    1.8    0    0    439988.27    3075903.98    662.26    439987.48    3075901.09    662.22    439988.41    3075900.09    662.26    439985.70    3075903.01    664.29    1.8
   # ....
   100480    1.48    0    0    439935.14    3075957.87    666.76    439934.85    3075959.13    665.97    439934.11    3075958.96    666.14    439935.05    3075959.17    667.96    1.48
   200010    2.1    0    0    439956.82    3075888.04    661.65    439953.03    3075892.73    663.78    439953.03    3075892.73    661.65    439953.03    3075892.73    661.65    2.1
   300010    3.1    0    0    439950.56    3075896.21    666.62    439950.59    3075896.58    665.15    439950.59    3075896.58    666.62    439950.59    3075896.58    666.62    3.1
   300020    3.2    0    0    439950.59    3075896.58    665.15    439948.78    3075901.34    657.09    439948.78    3075901.34    665.15    439948.78    3075901.34    665.15    3.2
   400010    4.1    0    0    439954.17    3075889.36    664.88    439953.17    3075888.35    665.34    439953.68    3075887.89    664.88    439952.79    3075888.70    665.37    4.1
   400020    4.2    0    0    439953.17    3075888.35    665.34    439951.98    3075886.94    667.37    439951.98    3075886.94    665.34    439951.98    3075886.94    665.83    4.2
   A64    1.2    0    0    439996.83    3075915.84    663.01    439995.67    3075912.83    662.79    439996.06    3075912.39    663.01    439994.55    3075914.12    664.01    1.2
   A65    1.3    0    0    439995.67    3075912.83    662.79    439993.20    3075912.25    663.18    439994.13    3075911.35    662.79    439992.76    3075912.68    663.87    1.3
   A66    1.4    0    0    439993.20    3075912.25    663.18    439992.52    3075908.96    663.31    439993.85    3075908.79    663.18    439990.71    3075909.17    664.72    1.4
   A67    1.5    0    0    439992.52    3075908.96    663.31    439992.42    3075906.20    662.41    439993.80    3075905.62    663.15    439990.94    3075906.82    664.43    1.5
   LLANFAIRPWLL    1.21    0    0    439962.85    3075897.13    664.30    439960.36    3075896.74    664.45    439961.52    3075895.43    662.99    439957.86    3075899.55    664.30    1.21
endbasepoints




12/06/2020
0 Poster un commentaire

A découvrir aussi


Inscrivez-vous au blog

Soyez prévenu par email des prochaines mises à jour

Rejoignez les 30 autres membres