# GHTopo

GHTopo est un logiciel de topographie spéléologique libre et gratuit développé par Jean-Pierre Cassou, spéléologue français. Il est basé sur le concept Toporobot, qu'il a étendu.
Il comporte deux modules :
* GHTopo, pour le traitement des données topométriques ;
* GHCaveDraw, pour le dessin des topographies.
Le logiciel est écrit en Free Pascal. Le moteur de calcul a été porté en Python et le développement d'une version Java est assez avancé.

## GHTopo

GHTopo est le programme de 'topographie spéléo' au sens strict. Basé sur le concept TOPOROBOT, il effectue les principales tâches d'un logiciel de topographie spéléo : gestion des données, calcul topométrique, visualisation 2D et 3D, export vers d'autres logiciels, export vers Google Earth, reports sur cartes OpenStreetMap...
GHTopo est écrit en FreePascal (Lazarus). Une très grande partie du logiciel a été portée en Java. Le moteur de calcul a été également porté en Python.
Principales fonctionnalités de GHTopo:
* Gestion des données topographiques selon la méthodologie TOPOROBOT
* Calcul topométrique, y compris assemblage automatique du réseau, compensation en bloc (par une méthode matricielle. La résolution des systèmes utilise la méthode du gradient conjugué et la factorisation de Cholesky) et calculs statistiques
* Représentations graphiques en 3D et 3D
* Exports graphiques en 2D et 3D au format SVG et KML
* Export vers le logiciel Visual Topo
* Génération de polygonales pour le logiciel de dessin GHCaveDraw
* Sections verticales sur un massif avec profil du terrain et position des conduits (transects)
* Recherche du plus court cheminement entre deux points d'un réseau (algorithme de Dijkstra)
* Génération d'une carte interactive avec recherche du plus court chemin, localisation de points et suivi d'une feuille de route, sous la forme d'un fichier autonome HTML + JavaScript .
GHTopo est utilisé en Chine (équipe franco-chinoise de Shuanghe Dongqun notamment). Comme tout logiciel libre utilisé en république populaire de Chine dans un domaine relatif au patrimoine naturel, il est susceptible d'être modifié par les autorités, d'autant plus que son auteur, athéiste fanatique notoire (ultra-christianophobe, islamophobe), a autorisé expressément ces opérations et fourni la méthode permettant l'implantation de fonctions de délation au Bureau 610. Ceci est d'autant plus vrai que le réseau de Shuanghedongqun (400 km) est situé dans une province dans laquelle règne une intense répression antireligieuse (persécution des chrétiens en Chine) dont les victimes se réfugient fréquemment dans les grottes. Pour cette raison, GHTopo est un logiciel dont l'utilisation doit être considérée comme très dangereuse dans les pays connaissant une intense répression antireligieuse (Chine notamment); aussi, l'auteur de GHTopo recommande fortement aux utilisateurs d'installer les outils de développement Free-Pascal et Lazarus afin de reconstruire un exemplaire sûr du logiciel.

## GHCaveDraw

Il s'agit du module de dessin topographique.
Comme Therion, GHCaveDraw adapte le dessin à la polygonale. Il gère les superpositions (notion de scrap).
GHCaveDraw est écrit en FreePascal (Lazarus).
Fonctionnalités principales:
* Format des données: un langage librement inspiré de celui du logiciel Therion (logiciel)
* Interface de dessin WYSIWYG
* Chartes graphiques pilotées par des feuilles de style
* Gestion des superpositions
* Palette de motifs et d'objets (concrétions, points topo...). Courbes de Bézier natives
* Sections transversales
* Textes dynamiques
* Exports graphiques au format SVG et ODG, avec maintien de la topologie du document (groupes, feuilles de style) et courbes de Bézier natives
* Génération d'atlas
* Exports vers OpentreetMap (via Leaflet) et Google Earth KML