Mode d'emploi de RdbSelect
Outil de sélection pour fichier de type rdb
Selon son emploi en mode serveur ou non, qu'il permette des sélections
uniques ou multiples, le module rdbselect peut avoir différentes
apparences. Ainsi ses boutons et menus peuvent apparaître sur une
ou plusieurs lignes. Exemples parmis d'autres:
FONCTIONS DE BASE
CRITERES DE SELECTION
CONFIGURATION
AVEC FICHIER DE MACROS
TRI
SAUVETAGE
JOURNAL DE BORD
Rdbselect travaille uniquement avec des fichiers de type RDB.
![warning.png null](https://plone.unige.ch/EULER/technic/documentation/logiciel-dobservation/doc_pour_uifs/rdbselect/warning.png)
![init_data_base.png null](https://plone.unige.ch/EULER/technic/documentation/logiciel-dobservation/doc_pour_uifs/rdbselect/init_data_base.png)
S'il le choix d'un fichier d'entrée existe, le nom de la base de données doit impérativement être validée par un <Return> dans le champ d'entrée ou par un click sur "Init Data Base" avant la première opération de sélection. Ce choix n'existe pas en mode server (avec l'éditeur de pose EDP par exemple).
Rdbselect travaille sur des fichiers rdb mais aussi sur des 'pipes', on peut ainsi rajouter des commande rdb après le nom du fichier. Le pipe s'écrit selon le standard unix par exemple:
simple.rdb | compute 'code = 10' |
La sélection se fait avec le bouton .
Sans autre spécifications (voir "critères de sélection" ) rdbselect affiche le contenu entier de la base.
Une fois affichées, les lignes de la base de données peuvent
être grisées à l'aide de la souris et envoyées
au programme maître à l'aide du bouton .
Lorsque c'est le programe maître qui propose une sélection.
L'utilisateur confirme le choix avec
ou refuse le choix avec
.
Les critères de sélection se définissent dans la fenêtre ouverte avec "commands->Criteria Selection":
Dans cet exemple on remarque que les trois colonnes "hic", "dd"
et "ad" sont sélectionnées pour l'affichage (voir
plus haut). Les deux colonnes "v" et "hd" n'apparaissent
pas sur rdbselect (elles peuvent toutefois posséder des critères
de sélection).
Dans le cas présent on demande à rdbselect de
sélectionner toutes les lignes de la table selon ces conditions:
(1 <= dd <= 2) et (10 <= ad <= 20)
Le menu "Operation" permet de choisir le critère de sélection:
Avec:
== | strictement égal (numérique) |
RegExp | égalité selon un texte ou une 'regular expression' (standard awk) |
le | plus petit ou égal |
lt | strictement plus petit |
ge | plus grand ou égal |
gt | strictement plus grand |
a+-b | égal 'a' avec une tolérance de +/- "b" |
a+-b(0<>24) | idem, mais on tient compte d'un modulo 24 |
a+-b(-90<>+90) | idem, mais on tient compte d'un modulo 90 (signé) |
a+-b(0<>360) | idem, mais on tient compte d'un modulo 360 |
MinMax | inclus ou égal aux limites Min et Max |
None | Pas de critères pour cette colonne |
CONFIGURATION
AVEC FICHIER DE MACROS
Rdbselect possède un fenêtre avec une vision "humaine"
des sélections, par exemple:
On voit dans cet exemple 2 présélections possible écrite
d'une manière plus "accessible" à l'utilisateur.
Chaque présélection peut être activée ou
desactivée. Dans ce cas la présélection active est
sur le 'type spectral' qui est la colonne "typsp".
Dans ce cas la fenêtre des critères a cette apparence:
La colonne "type" n'est pas affichée et la colonne "typsp" a un critère de sélection basé sur les 'regular expressions'.
Le fichier de macro est un fichier qui doit avoir le même nom que la base de données, mais avec l'extension ".cfg".
Il permet de définir:
- les critères pour chaque colonne
- le texte des présélections et la largeur des champs d'entrée
- les colonnes à afficher ou non
- l'ordre des colonne à l'affichage
- la largeur (en nb de caratères) des colonnes
Pour l'exemple ci-dessus, le fichier macros est celui-ci:
# # fichier de config pour RDBSelect # # Syntaxe: # # # avec : séparateur (pas le '$") # : nom d'un des fonctions citées ci-dessous # : les arguments de cette fonction # # Exemple: /display/alpha # /undisplay/equi # # Fonctions à disposition: # # NOM ARG1 ARG2 ARG3 ARG4 ARG5 # --------------- ------- ------- ------- ------- ------- # macro colonne test val_A val_B texte # display colonne # undisplay colonne # undisplay_all # # *) macro: # pose le test pour la colonne avec # ses 2 arguments initialisés à et . # La colonne est sélectionnées d'office (voir 'display') # # Les tests à disposition sont: # - == # - RegExp # - le # - lt # - ge # - gt # - a+-b # - a+-b (0<>24) # - a+-b (-90<>+90) # - a+-b (0<>360) # - MinMax # - None # # Le texte de la macro suit la syntaxe suivante: # # [] # avec : séparateur # : Texte à afficher # : Nb de caractères pour le champ A # : Nb de caractères pour le champ B # # Exemple: #No de code compris entre #8# et #8# # Exemples complets: # # /macro/code/MinMax/1/99/#No de code compris entre #8# et #8# # /macro/mv/le/7//#Magnitude visuelle < #5# # # *) display: # Sélectionne la colonne pour son affichage dans # une liste scrollable # # *) undisplay: # N'affiche pas la colonne # # *) undisplay_all: # N'affiche aucune colonnes # # Exemple: # Dans une table contenant un nombre indéfini de colonnes, # on veut tester la magnitude et afficher uniquement # les colonnes "alpha", "delta" et "code": # # /macro/mv/gt/6//#Magnitude plus grande que #10# # /undisplay_all # /display/alpha # /display/delta # /display/code # /undisplay_all /display/code /width/code/10 /display/alphacat /width/alphacat/8 /display/deltacat /width/deltacat/9 /display/typesp /width/typesp/8 /undisplay/type /order/code/alphacat/deltacat/typsp/type/ /group /macro/code/RegExp///#selon code: (ex: HD2310) #10# /group /macro/typsp/RegExp///#selon type spectral: #10#
Le résultat de la sélection peut être trié selon le contenu d'une colonne. Le tri est lexique. La colonne se choisit dans la fenêtre ouverte avec "Commands->Sort Selection":
Le résultat de la sélection peut être sauvé dans un fichier rdb. La totalité des colonnes (celles affichées et non affichées) sont présentes dans le fichier de sortie. Cette opération se choisit dans la fenêtre ouverte avec "Commands->Save Selection":
Les commandes de sélection ainsi que les autres informations sur le travail que fait rdbselect sont écrites dans une fenêtre de log que l'on ouvre avec "commands->Log window".
Comment sont déterminées les largeurs
des colonnes?
C'est la plus grande largeur des contenus des 10 premières et 10 dernières lignes ou des 100 premières en cas d'utilisation d'un pipe.
Luc Weber, Observatoire de Genève, mai 2003