<<
GeoXDraw (successeur
de Tikazu),
dessin de diagrammes géochimiques
Programme disponible auprès de J.MOUTTE,
Département Géochimie, Ecole des Mines de Saint
Etienne, disponible par téléchargement
sur notre site: soit sous forme compressée geoxdraw_.zip
(271 ko) soit compressée 'auto- extractable'
(geoxdraw_.exe).
Une description mieux à jour, en Anglais, en PDF, est disponible ici: ../ensoftwa/_geoxdraw.pdf.
Menu Selections : Choix des Séries / Labels / Symboles / Couleurs
Exemples de diagrammes produit par GeoXDraw/Tikazu
Le programme GeoXDraw reprend, dans l'environnement Windows 9x (95/98/2000...), les programmes développés depuis les années 80 sous MS-DOS pour le traitement des données géochimiques, en particulier le dessin de diagrammes.
Par rapport à des logiciels plus complets de traitement de données géochimiques sous Windows (ex: MINPET), le programme GeoXDraw présente les caractères suivants :
une interface plus directe avec les tableurs standard type Excel, Quattro, OpenOffice.Org (Calc) : notre programme travaille directement par copier/coller à partir de ces feuilles (ou, pour les fichiers >64 ko, sur des fichiers textes 'Tab-délimités' - produits par ces tableurs par l'instruction 'enregistrer sous' au format '.txt');
une grande compacité, puisque l'ensemble du programme tient dans 520 ko, sans appel à des fichiers extérieurs (.DLL ou autres) ;
une grande souplesse dans la "symbolique" des diagrammes, c'est à dire pour le nombre de champs qui permettent la sélection des symboles, couleurs, etc. Minpet, par exemple, accepte en standard, pour les fichiers de roches, un seul champ, qui désigne la roche, et les choix typologiques doivent se faire en général au cas par cas. Notre programme permet de jouer sur les valeurs de plusieurs champs (jusqu'à dix) pour la sélection 'automatique' de la 'symbolique'.
GeoXDraw travaille sur des fichiers texte de type Tab-délimité. De tels fichiers sont produits 'automatiquement' par le copier/coller d'une zone de données texte d'une feuille de calcul.
chaque enregistrement (i.e. une analyse de roche, ou un point de sonde) correspond à une ligne ;
dans un enregistrement, les différents champs sont séparés par des caractères de tabulation.
N.B.1 Dans l'état actuel du programme, un champ ne doit pas comporter de caractère espace, car ceux-ci sont également considérés comme séparateur de champ. On pourra utiliser le caractère '_' pour mettre plus d'un mot dans un champ.
N.B.2 Deux chaînes de caractères sont considérées comme différentes quand leurs 7 premiers caractères sont différents; noter également que le programme n'est pas sensible à la casse: on ne distingue pas les majuscules des minuscules.
La première ligne du fichier (ou la deuxième, si la première est une ligne de titre, cf. infra) contient les informations qui définissent la structure du fichier. Il faut en effet que le programme puisse reconnaître quoi est quoi ...
Une analyse comporte deux types de valeurs:
des valeurs alphanumériques qui décrivent l'échantillon (nom, lithologie, localisation, etc.),
des valeurs numériques qui donnent les compositions, etc.
Les champs du premier type seront systématiquement placés en tête de ligne (= dans les colonnes de gauche), et, pour signaler que ces champs correspondent à des valeurs alphanumériques, on devra placer le caractère '.' en premier caractère de chaque nom de champ (i.e. l'intitulé du champ, dans la ligne décrivant le format, et non le contenu pour une anlyse donnée). Ensuite viendront les noms des oxydes et éléments analysés (et autres données numériques telles que profondeur, cotes, etc.).
Un fichier de données se présente donc de la façon suivante :
Littlelon formation element concentrations in Shaw (1954) samples
.SAMP .CS .GRAD LOI SiO2 TiO2 AL2O3 FE2O3 MNO MGO
L01 GCF LOW 3.54 66.60 0.88 15.70 6.38 0.04 2.30
L02 GCF LOW 4.47 58.10 0.65 21.00 7.35 0.06 3.41
L03 GCF LOW 3.94 64.30 1.06 18.00 6.74 0.03 1.19
L05 LCF MEDIUM 1.70 74.40 0.46 13.70 2.70 0.03 0.51
L06 LCF MEDIUM 4.70 44.20 0.74 33.60 6.22 0.05 0.86
L07 LCF MEDIUM 1.08 85.30 0.41 5.80 3.44 0.10 0.55
L12 LCF MEDIUM 2.38 62.40 1.04 21.30 3.94 0.08 1.25
L13 LCF MEDIUM 1.59 69.20 0.89 14.40 5.79 0.08 1.87
Ici, la première ligne ne commence pas par un point, le programme considère donc qu'il s'agit d'un titre. La deuxième ligne, qui commence par un point, décrit la structure du fichier.
les 3 premiers champs sont ici des champs descriptifs; en conséquence, leurs intitulés comportent le caractère point ('.') comme première lettre;
les champs suivants, dont le nom ne comporte pas de point en début, seront les valeurs des teneurs en LoI, SiO2, TiO2, Al2O3, etc.
Comme le montre cet exemple, il est possible, mais facultatif, d'ajouter avant l'en-tête une ligne qui servira de titre du fichier : il suffit de placer ce titre en première ligne, avant la ligne des intitulés de champ, et de faire attention à ce que le premier caractère de cette ligne ne soit pas un point ou un espace souligné (caractère _ ), ce qui signalera au programme qu'il s'agit d'un titre et non de la liste des champs.
La 'distribution' de 'GeoXDraw' inclut deux fichiers de données, _xy.sav et _colsym.sav, qui sont destinés à effectuer des essais (ligne 'Test' du menu 'File') et qui permettent également de voir plus concrètement la structure des fichiers de données. Il s'agit ici de l'illustration d'un cas un peu plus complexe, avec deux fichiers d'entrée, l'un contenant seulement des champs descriptifs, l'autre les données analytiques. |
< Configuration requise
Le programme tourne sous Windows95 et ne nécessite pas une configuration particulièrement rapide. Par contre, du point de vue de l'affichage, il est recommandé de travailler au minimum en 800 par 600, car c'est sur cette configuration, assez 'moyenne', qu'a été dessinée l'interface. Dans l'état actuel du programme, on ne verra pas, sur un écran configuré en 640 par 480, l'ensemble de l'affichage qui permet de voir à la fois le graphique et les commandes.
En plus du fichier GeoXDraw.exe lui-même, le programme utilise les fichiers textes suivants, qui doivent se trouver sur le même répertoire que GeoXDraw:
_log.txt: contient le nom du dernier répertoire de données utilisé, ainsi que les noms des derniers fichiers d'entrée utilisés (utilisés par l'instruction File/Reload),
_symcol.sav et _xy.sav sont des fichiers de données 'de démonstration', utilisés par l'instruction Test de File,
_spiders.txt contient les formats (listes d'éléments) et les coefficients nécessaires à la réalisation de 'spidergrams' (instruction Diagrams/Spiderman)
_geoxdraw.ps est un fichier texte PostScript qui contient l'en-tête des fichiers postscript créés par l'instruction Save. Ce fichier contient entre autres les déclarations des fonctions postscript qui dessinent les différénts symboles utilisés. L'utilisateur qui a quelques notions de postscript peut, en modifiant ce fichier, personnaliser son jeu de symboles et couleurs.
Au lancement de Geoxdraw, le seul menu disponible est celui concernant le(s) fichiers d'entrée.
Si on travaille sur le(s) fichiers utilisés à la session précédente de Geoxdraw, il suffit d'uitiliser File/Reload. Pour travailler sur de nouvelles données, il faut que le fichier (tableur, ou éventuellement texte simple) qui les contient soit ouvert. On a, par exemple, un fichier de données ouvert sous OpenOffice, et on sélectionne la plage de données d'entrée, comme illustré ci-dessous.
File/Input Data
Provoque l'ouverture d'une fenêtre destinée à recevoir le contenu du presse-papier, qu'on aura rempli au préalable, étant sous Excel ou autre tableur, avec un bloc de données.
un seul fichier d'entrée,
ou deux fichiers distincts, l'un fournissant les données 'qualitatives' et celles utilisées en abscisse (et éventuellement en Z d'un diagramme triangle), l'autres celles utilisées en ordonnée (ou en Y),
ou deux fichiers distincts, l'un fournissant les données 'qualitatives', l'autre les données quantitaives.
Dans le cas d'une entrée sur deux fichiers, il faut bien sûr que le programme puisse mettre en relation les deux fichiers : pour cela il faut que, dans chaque fichier, un champ représente, si possible de manière univoque, le nom de l'échantillon, et que ce champ soit placé, dans chaque fichier, en première colonne.
File/Reload: recharge le(s) derniers fichier(s) utilisés. Reload en début de session rechargera les données utilisées à la session précédente; Reload à l'intérieur d'une session permet de remettre à jour les fichiers, après une modification en cours de session.
File/Test: charge les fichiers de démonstration _xy.sav et _colsym.sav.
< Principales fonctions graphiques
On propose les types de diagrammes suivants : diagrammes binaires, ternaires, diagrammes de 'profils', et arac'nogrammes. Chaque type de diagramme comporte différentes possibilités :
Diagramme binaire
Travailler sur les données brutes, en oxydes (ou ppm métal), ou après conversion en nombres d'atomes-grammes pour 1000 g de roche.
Entrer des fonctions du type (aX+bY+...)/(cM+dN+...). Les trois boutons Reset, Plus et Minus, combinés avec le choix Numérateur/ Dénominateur, permettent de composer ces expressions.
En l'état actuel du programme, seules les expressions simples peuvent être entrées, les coefficients a,b,c,... ne pouvant prendre que les valeurs 1 ou -1. [par exemple, pour entrer Al-2Ca, entrer Al-Ca-Ca, ... pour entrer Ca-5/3P, écrire l'image atomique du fichier (cf. infra) et calculer la colonne Ca-5/3P sur votre tableur....).
Echelles linéaires ou en log10: Pour le choix des bornes en mode Log, on demande la borne maximale et le nombre de modules, de 1 à 4.
Diagramme ternaire, différences par rapport aux diagrammes binaires :
Absence des échelles log (of course), ainsi que de la possibilité d'entrer des expressions du type A/B (intérêt de travailler sur des sommes de rapports entre éléments ?...) ;
Par contre, il est possible, dans le cas d'expressions simples (case 'Complex' non cochée), d'affecter des facteurs aux différents sommets (souvent nécessaire quand on mélange traces en ppm et oxydes en % sur le même diagramme) ;
Entrée des bornes pour afficher une partie du triangle : définir les bornes inf. (par défaut 0) et sup. (par défaut 100) de X (sommet droit), et la borne inférieure (0 par défaut) de Y (sommet supérieur).
L'option 'Rotate Triangle' permet d'opérer une rotation de 60 degrés par rapport à la représentation classique, de manière à faciliter la construction de diagrammes ternaires couplés.
Convention pour la désignation des sommets :
position normale: X à droite, Y en haut, Z à gauche.
position 'inverse': X en haut à droite, Y en haut à gauche, Z en bas.
Diagramme de profils
Ce type de diagramme permet de représenter, en fonction d'un élément choisi comme abscisse, les variations de plusieurs éléments en ordonnée. Du fait que le programme trie les analyses dans un ordre monotone des valeurs de l'abscisse, il est possible de dessiner des lignes reliant les différents points d'une série (case à cocher 'Profil'). D'autre part, pour mettre en évidence les variations relatives des éléments choisis en ordonnée, le programme propose de normer chaque série en affectant la valeur 100 à sa valeur maximale dans le profil (case à cocher 'Norm To 100'). Sinon, il conviendra de combiner sur un même profil des éléments présentant des variations d'ampleurs comparables.
Arachnogrammes
Les diagrammes de normalisation proposés par l'option Spidergram sont paramétrés par le fichier spiders.txt du répertoire de GeoXDraw. Ce fichier comprend un certain nombre de diagrammes prédéfinis (e.g. terres rares normalisées par rapport aux chondrites), mais il est possible de définir ses propres listes d'éléments et de coefficients de normalisation en modifiant ce fichier spiders.txt à l'aide d'un traitement de texte 'basique'.
Pour introduire une nouvelle normalisation, il suffit d'insérer trois lignes supplémentaires respectant un format comparable à l'en tête d'un fichier de données:
la première ligne contient le nom de la normalisation,
la deuxième contient un nom de champ (chaîne de caractère précédée d'un point), suivi de la liste des éléments (dans l'ordre de normalisation) séparés par des tabulations,
la troisième contient le nom du matériel normalisant (par exemple, CHD, Shale, MORB, ...), suivi des valeurs de normalisation (généralement en ppm).
Diagrammes multiples [implémentation en cours]
Cette option permettra de représenter les variations de plusieurs éléments en ordonnée (jusqu'à quatre) en fonction d'un même élément en abscisse. A la différence des diagrammes de profils, les éléments seront représentés dans des cadres superposés.
< Menu Selections : Choix des Séries / Labels / Symboles / Couleurs
Le menu Selections permet de choisir les différents paramètres des diagrammes. La sélection d'une ligne de ce menu active la liste des champs descriptifs disponibles.
Label
Sélectionne quel champ sera utilisé comme label. Si cette option n'est pas activée, c'est le premier champ de l'analyse (= la première colonne) qui est utilisé comme label du point ou de l'arac'nogramme.
Select Series
Permet de ne représenter sur un diagramme qu'une partie de la population totale du fichier, par exemple sur un fichier contenant différentes lithologies extraire un nombre plus restreint de ces lithologies. Dans ce cas, la ligne Series permet de choisir quel champ sera utilisé pour sélectionner les données d'entrée. La sélection d'un des champs entraîne l'affichage des valeurs disponibles pour ce champ. Les cases à cocher placées devant ces valeurs permettent de sélectionner ou désélectionner les différentes séries. Ce mode de sélection est également utilisé pour le dessin d'histogrammes : on aura autant d'histogrammes qu'il y a de valeurs différenttes du champ sélectionné. Les histogrammes seront affichés, de bas en haut, dans l'ordre dans lequel ces différentes valeurs apparaissent dans le fichier.
Symboles et couleurs
On dispose
de 8 couleurs codée chacune par une lettre, B = Noir (Black), R = Rouge, G = Vert (Green), Y = Jaune (Yellow), L = bLeu, V = Violet, T = Turquoise, O = Orange.
et de 30 symboles, codés par deux lettres, la première donnant, pour la plupart, la forme du symbole (S = Square, C= Circle, D = Diamond, H = Hexagon, P= Plus, X = Croix), et la deuxième le style: F = Plein (Filled, E = vide (Empty),C = avec un Cercle, P = avec un Plus, X = avec une Croix). Par exemple un Carré plein est codé SF (Square Filled), un cercle vide CE (Circle Empty), ... Pratiquement, l'écran d'accueil de GeoXDraw donne quels sont les symboles disponibles.
Choix des symboles et des couleurs
Symboles et couleurs des différents points sont définis par les valeurs de champ spécifiques qui sont lus dans des colonnes insérées à l'avance dans le fichier de données. Ce système de codage nécessite donc une préparation du fichier d'entrée (ou quelques allers - retours entre le programme GeoXDraw et un traitement de texte pour modifier le(s) fichier(s) d'entrée), mais cela permet un choix plus élaboré et plus stable des symboles et couleurs affectées aux différents échantillons. Ainsi, la symbolique d'un ensemble de données reste stable quelles que soient les modifications apportées au fichier de données au cours de son histoire (tris, insertions de nouvelles lignes, ...).
De plus, la 'symbolique' d'un ensemble d'échantillons peut être facilement copiée/collée dans un autre fichier qui contiendrait d'autres données analytiques des mêmes échantillons. Plus généralement, pour le traitement d'une base de données complexe, comportant par exemple différents types de données géochimiques (XRF, ICP, ...) sur différentes feuilles d'un classeur, il est commode d'insérer cette colonne des symboles et couleurs, ainsi que la colonne des légendes correspondantes, dans une feuille spécifique contenant uniquement la liste des échantillons et leurs caractéristiques (position, lithologie, etc.). Ces règles de travail relativement simples permettent de retrouver la même symbolique sur des diagrammes produits au cours de différentes sessions sur un sujet pétrologique donné.
* No Symbol/Color : tous les points sont représentés par des carrés noirs.
* Symbols: les champs servant à la définition des symboles doivent obéir au codage en deux lettres décrit ci-dessus. La colonne stuée immédiatement à droite de la colonne des symboles est censée contenir les légendes correspondantes.
* Colors : les champs servant à la définition des couleurs doivent obéir au codage en une lettre décrit ci-dessus. La colonne stuée immédiatement à droite de la colonne des couleurs est censée contenir les légendes correspondantes.
* Symbol/Color : une association Couleur - Symbole est codée par trois lettres, la premiére donnant la couleur, les deux autres le symbole. La colonne située immédiatement à droite est censée contenir les légendes correspondantes.
< Sauvegarde des diagrammes
L'instruction 'Save' entraîne la sauvegarde du diagramme sous deux formats :
* d'une part sous la forme d'un fichier bitmap : ce fichier a l'avantage d'être 'collable' tel quel dans d'autres applications Windows, mais il a deux inconvénients majeurs : il est assez volumineux (200 à 300 ko par diagramme ; on peut cependant le compacter sous format GIF ou JPEG en passant par un utilitaire ad hoc), et il est d'un seul bloc, c'est à dire qu'on ne peut le dissocier en différents objets;
* d'autre part sous la forme d'un fichier PostScript (langage de 'description de page', riche en possibilités graphiques, développé par Adobe pour la gestion des imprimantes laser), que l'on peut utiliser directement (en pages individuelles, ou à intégrer à un tetxte codé aussi en PostScript) ou importer dans différents logiciels. Il s'agit alors d'un dessin 'vectoriel', dont les différents éléments (textes des légendes, points, labels) peuvent être manipulés séparément.
Les fichiers PostScript sont sauvés, dans le répertoire C:\PS, sous des noms générés de la manière suivante : un numéro d'ordre (de 01 à 99) suivi des noms des éléments en X, Y (et Z) (par exemple, un diagramme TiO2-MgO aura le nom 01TIMG, etc., le numéro permet de le distinguer d'un autre diagramme Ti-Mg fait dans la même session).
De plus, le programme génère, en particulier dans le cas des diagrammes binaires, en plus du fichier image du diagramme proprement dit, sans les labels, un fichiers additionnel, nommé lab_*.plt (e.g. lab_01Timg.ps) contenant uniquement les labels.
Il suffira ensuite, dans le logiciel de dessin, d'importer les différents fichiers sur différentes couches différentes de la même page, des repères situés dans les coins bas-gauche et haut-droit permetttant de superposer exactement les diagrammes. Avoir les labels sur une couche distincte de celle contenant les symboles permettra par exemple, par copier-coller d'une couche sur l'autre, de sélectionner les points, ou groupes de points, dont on désire conserver les labels sur le diagramme définitif. De même, avoir la symbolique du diagramme sur une couche séparée permet plus de souplesse dans la gestion d'un ensemble de diagrammes sur un même sujet.
N.B. Les fichiers de sauvegarde de dessin créés par GeoXDraw étant refermés dès qu'ils sont écrits, il est a priori possible de travailler simultanément sur le programme GeoXDraw et sur le programme de dessin (par exemple Designer) qui permet de les mettre en page, enrichir, etc.
< Fonctions de conversion
Outre les fonctions purement graphiques, le programme permet de produire, à partir du fichier d'entrée, différents fichiers, qui sont écrits suivant le même format texte compatible Excel. En l'état actuel, les transformations simples suivantes ont disponibles:
conversion des valeurs ppm métal en % oxydes (conversion utile, entre autres, pour manipuler des analyses de minerais) ;
conversion inverse, des % oxydes en ppm métal ;
conversion des valeurs en poids %, ou ppm, en nombres d'atomes-grammes pour 1000 g de roche ;
ordonner les éléments d'un fichier suivant un ordre constant des éléments. Une telle procédure est utile quand il s'agit ensuite de mettre bout à bout des fichiers d'origine diverses.
<
Calcul de formules structurales
[...rédaction en cours ... voir version anglaise ...]
< Jacques
Moutte,
Géochimie, Ecole des Mines de Saint Etienne