Guide d’utilisation de la librairie Tcl observations
Plusieurs applications exemples sont fournies sous dans le répertoire Démos de la librairie, qui utilise une partie des fonctionnalités. Il y a aussi d'autres exemples reliés a la librairie libTkViewport-*.*. Ces exemples utilisent les fonctionnalités d'affichage des fichiers standards et plus. La librairie utilise le package ezscint pour tout ce qui est relatif aux grilles et aux interpolations horizontale et ezvrint pour les interpolations verticales.
Parametres d'utilisations
La première étape consiste a inclure la librairie dans le script Tcl que vous desirez utiliser: #!/bin/sh # the next line restarts using tclsh \ exec $SPI_PATH/tclsh "$0" "$@" package require TclData
Fichiers observations: Ouverture d'un fichier:
Pour accéder aux observations, il faut d'abord ouvrir un fichier. observation load "path" path: Chemin du fichier observation retour: Liste des identificateurs d'observations
Ecriture d'un fichier:
Pour écrire des observations dans un fichier, il faut s'assurer qu'elles ont le même nombre de localisations. observation write "path" "obs" "titre" path : Chemin du fichier observation obs : liste des identificateurs d'observation a écrire titre: Titre des données
Création d'une nouvelle observation (Non recommande pour le moment)
Pour créer une nouvelle observation a partir de rien, il faut d'abord allouer l'espace mémoire pour la contenir avec la fonction suivante. observation create "id" id: Identificateur de l'observation
Libération d'une observation
Pour libérer les ressources associes a une observation. observation destroy "id" id : Identificateur de l'observation
Intersection d'une liste d'observation
Permet d'obtenir les positions d'observations communes a toute une liste d'observation observation intersection list [token] list : Liste d'identificateur d'observation token: Item d'entête sur lequel faire l'intersection (defaut ID)
Au retour chaque observation ne contiendra que les positions communes à toutes celles de la liste
Union d'une liste d'observation
Permet d'obtenir les positions d'observations existantes dans toute une liste d'observation observation union list [token] list : Liste d'identificateur d'observation token: Item d'entete sur lequel faire l'union (défaut ID) Au retour chaque observation contiendra les positions existantes dans toutes celles de la liste
Copie d'une observation
Copie d'une observation "idfrom" dans "idto". Au départ, "idto" n'est qu'un identificateur quelconque (Pas besoin de le créer avec "observation create", la fonction se charge de faire l'allocation et l'initialisation si nécessaire). observation copy "idto" "idfrom" idto : Identificateur de l'observation (existant ou non) idfrom : Identificateur de l'observation
Interpolation des valeurs d'un champ
L'interpolation s'effectue en spécifiant un champ d'entrée et une observation de sortie (Interpole) dans laquelle seront inscrites les valeurs du champ aux positions de l'observation. Il va de soit que si l'observation de sortie contenait déjà des données, elles seront écrasées. Le dégrée d'interpolation est déterminé a partir du paramètre de configuration du champs "-interpdegree" observation extract "obsid" "fieldid" obsid : Observations ou interpoler fieldid : Champs a etre interpole
Tri d'observations
Permet de trier les valeurs dans les listes d'observations par valeurs aux stations, par stations afin de permettre une sélection percentile. Les valeurs des listes sont remplacées par celles triées. Par exemple observation sort { t1 t2 t3 } permet d’obtenir dan t1 les valeurs les plus grandes par stations, dans t3 les valeurs les plus petites et t2 les valeurs centres. observation sort "list" list : Liste d'identificateur d'observations
Existence d'une observation:
Pour vérifier si un descripteur Tcl correspond a une observation existante ou vérifier si une observation a été libérée. observation is "id" id : Identificateur d'observation
Paramètres d'affichage d'une observation
Il y a certains paramètres que vous pouvez modifier. La majorité de ceux-ci sont en relation avec l'affichage dans les projections. Il est donc inutile de les modifies si les observations sont pas destine a l'affichage. observation configure "id" {item} "valeur" id : Identificateur d'observation)
item : -rendertexture : Affichage des données en dégradé de couleur (0,1)
-renderlabel : Affichage de la description -rendercoord : Affichage des coordonnées -rendercontour : Affichage des contours (0-n: Dimension des contours) -rendervector : Affichage vectoriel du champ (0,1,2,3) -rendervalue : Affichage de la valeur -rendervolume : Affichage en 3D ou la valeur représente la hauteur (-1=valeur absolue,1=valeur) -min : Limite inferieure des valeurs à afficher -max : Limite supérieure des valeurs a afficher -intervals : Liste des intervalles de contour entre les données -val2map : Retourne la couleur pour une certaine valeur selon la palette associée -map2val : Retourne la valeur pour un certain index dans la palette -factor : Facteur de conversion (Appliquée aux valeurs et étiquettes des contours) -font : Police pour l'affichage des labels et textes associes -icon : Icone a utilisée (Liste des coordonnées XY unitaire) -colormap : Palette de couleur associe au champ -color : Couleur pour l'affichage des segments -stipple : Type de ligne des segments ([0 8]) -value : Format des valeurs en 2 partie, le type (AUTO,INTEGER,FLOAT,EXPONENTIAL) et la mantisse (0 a n) (Defaut AUTO 0) -tag : Informations -unit : Unité du champ -desc : Description du champ valeur : Valeur a assigner au paramètre "item" ** Si vous ne donnez pas de "valeur" a la commande, elle vous retournera la valeur courante du paramètre.
Données d'une observation
Afin de permettre la création et la modification des informations, une fonctionnalité du même type que configure a été créé pour les paramètres de l'observation. observation define "id" {item} "valeur" id : Identificateur d'observation) : Liste des informations disponibles : Liste de la valeur de l'information "info" pour toutes les : Valeur de l'information "info" pour la localisation "n" : Assigner "val" comme valeur de l'information "info" pour la
item : -INFO -INFO "info" localisations -INFO "info" "n" -INFO "info" "n" "val" localisation "n"
-COORD : Liste des coordonnées de toutes les sources { lat lon elev } -COORD "n" : Coordonnées de la localisation "n" { lat lon elev } -COORD "n" "lat" "lon" ["elev"] : Assigner les coordonnées de la localisation "n" -ID -ID "n" -ID "n" "val" localisation "n" -DATA -DATA "n" -DATA "n" "val0" ["val1"] present) -IDX "id" -NB -DATE : Retourne l'index "n" de l'identificateur de localisation "id" : Retourne le nombre de localisation : Retourne la date de l'observation : Liste des identificateurs de localisation : Valeur de l'identificateur de la localisation "n" : Assigner la "val" comme valeur de l'identificateur pour la : Liste des données de toutes les localisations : Donnée de la localisation "n" : Assigner la valeur al la donnée "n" (vectoriel si val1
Données informatives
Certaines informations peuvent etre extraites des observations. observation stats "id" {item}
id item: -max -min
: Identificateur d'observation) : Valeur retour : Valeur retour maximale de l'observation et sa localisation (latlon) : { value lat lon elev } minimale de l'observation et sa localisation (latlon) : { value lat lon elev }