Conversion carnet de trafic
radio-amateur en Adif
Pourquoi ce projet ?
Depuis plusieurs années je fais de nombreux QSO en FT8 et FT4, programmes Wsjtx ou Jtdx, pour évaluer la propagation (qui j’ai entendu ou qui m’a entendu et comment) l’application Psk-Reporter est excellente. Voir Psk-Reporter
Il
y a quelque temps, j’ai installé sous Windows10, l’application GridTracker.

Pour éviter le passage d’une fenêtre à l’autre ou de visualiser des petites fenêtres (sur un même PC) puisque GridTracker et Wsjtx le permettent : L’appli réside sur un PC , sur un autre PC (proche) Wsjtx est actif, chaque message reçu est envoyé sous forme d’un flux UPD vers GridTracker.
Questions : que peut-on obtenir en plus par rapport au contexte actuel ?
La partie intéressante (ludique) lorsque l’on peut disposer de 2 écrans côte à côte est le positionnement immédiat sur une carte de la station appelée ou appelante (CQ) ainsi que son propre trafic.
Voir ci-dessous

L’accès à un carnet de trafic permet de
visualiser les stations déjà contactées, en obtenir
tous les renseignements sur les derniers Qso effectués sur la bande et dans le mode.
Un grand nombre de carnets de trafic sont supportés
par l’appli, le mien (développement personnel) n’est pas supporté, par contre
Il est possible de mettre en ligne un fichier Adif comme Logbook.
C’est
donc l’objectif du projet qui suit.
Procédure pour convertir les données extraites de la
DB (carnet de trafic informatique)
puis les intégrer à la place du fichier Adif de Wsjtx
ou Jtdx ou GridTracker.
Pour obtenir le résultat 4 phases sont nécessaires, l’idée a
été d’automatiser le plus possible ces opérations, mais aussi d’en garder
trace, il est si facile de perdre une macro VBA.
Phase 1
Extraction depuis le carnet de trafic vers une feuille Excel.
Note Ce genre d’extraction est possible sur
toute Data Base supportant les requêtes en SQL
(j’utilise Microsoft Access).
C’est valable aussi avec MySql ,
Sqlite, MariaDB, Oracle et d’autres certainement.
Voir sur ce même site QSO FT8
vers DB
Ci-dessous la requête générée à partir de MS Access ,
bien entendu cette requête est effectuée par menu, de plus elle peut être sauvegardée
et réutilisée ultérieurement.
SELECT Carnet_Log_FT8.Call_c,
Carnet_Log_FT8.Gridsquare, Carnet_Log_FT8.Mode, Carnet_Log_FT8.[Band],
Carnet_Log_FT8.Qso_Date, Carnet_Log_FT8.Time_on, Carnet_Log_FT8.Country
FROM Carnet_Log_FT8
WHERE (((Carnet_Log_FT8.Mode) Like
"FT8" Or (Carnet_Log_FT8.Mode) Like "FT4") AND
((Carnet_Log_FT8.Qso_Date) Like "2022-*")) OR (((Carnet_Log_FT8.Mode)
Like "ft8" Or (Carnet_Log_FT8.Mode) Like "ft4") AND ((Carnet_Log_FT8.Qso_Date)
Like "2022-*"))
ORDER
BY
Carnet_Log_FT8.Qso_Date, Carnet_Log_FT8.Time_on;
Explications : la DB est nommée Carnet_Log_FT8 , les champs extraits sont : Call_c , Gridsquare, Mode, Qso_Date, Time_on, Country.
Lorsque les Qso FT4 ou
FT8 sont effectués dans l’année 2022.
Classé par Date et Heure du
début du Qso
Le fichier Excel obtenu est composé des colonnes :
Call_c
Gridsquare
Mode
Band
Qso_Date (format aaaa-mm-jj)
Time_on (format 1900-01-00
hh:mm:ss)
Country
Ce classeur est nommé « Vers_adif.xlsx »
Phase 2
Mise en forme de la feuille Excel pour obtenir un fichier Adif compatible avec GridTracker
et bien entendu Wsjtx et Jtdx.
Une
seule macro VBA « Log_Vers_Adif »
suffit à réaliser les 4 fonctions qui suivent.
Etape
01
Convertir Qso_Date sous la
forme aaaammjj
Convertir Time_on sous la
forme hhmmss
Copier cette feuille modifiée dans un nouveau classeur de
format « .csv »
Comment :
Ouvre le fichier « Vers_adif.xlsx » issu de la
requête d’extraction sur la DB.
Le champ « Qso_Date » colonne E est mis sous la forme yyyymmjj
.
Le champ « Time_on » colonne F est mis sous la forme hhmmss
.
Une nouvelle feuille est créée et enregistrée sous le nom
« Vers_adif.csv » c’est du texte, chaque champ est séparé par un
« point virgule ».
Ferme la feuille.
Etape
02
Comment
Importe le fichier « Vers_adif.csv » il est chargé
dans une nouvelle feuille de calcul.
(Onglet Données extérieures puis Données externes puis
texte)
Tous les champs sont importés et sauvés en texte
ou numérique.
Sauvegarde sous « Classeur1.xlxs »
Etape
03
Comment :
Ouvre le classeur « Classeur1.xlsx »
Prend l’en-tête de chaque colonne (nom du champ) ligne 1 du
tableau.
Attribue au contenu de chaque cellule :
Un nom de champ et sa longueur, délimité par les balises <
> , le contenu du champ.
Termine chaque ligne correspondante à un Qso
par un EOR (end of record)
Le fichier est sauvegardé en
« .csv » (c’est du texte).
Un nom de fichier est attribué
automatiquement (Log_au_aaaa-mm-jj.csv) .
Ferme la feuille.
Etape
04
Correction du fichier.
La mise sur 6 caractères de l’heure se fait par la fonction
remplacer d’Excel.
Pour les valeurs « Time_on » avant 12h, remplacer la chaine de
caractères : Time_on :5> par Time_on :6>0
Les champs contenant « Call_c »
remplacé par « Call » ainsi que « Mode » par « Submode »
Ainsi que le rename du fichier
« .csv » en « .adi »
A noter une macro « Conv_en_adif »
avait été développée il y a quelques années pour alimenter et mettre à jour
avec le même contenu, les fichiers adif des différents PC où j’utilise
indifféremment Wsjtx ou Jtdx.
En réalité pour simplifier la
procédure ces 4 étapes sont regroupées dans une seule et unique macro
« Log_to_Adif » ,
Il suffit d’exécuter la macro , quelques messages
permettent au cours du déroulement d’en suivre la progression.
La source de cette macro en
format texte (pdf) et commentée,
dispo au cas où…
Phase 3
Ce fichier « .adi » peut alors remplacer celui de chaque appli (après avoir fourni de nom du fichier
attendu par l’appli).
« wsjtx_log.adi »
et GridTracker_qso.adif
Bien entendu si l’on utilise toujours Wsjtx ou toujours Jtdx sur un seul et
unique ordinateur, ces rechargements ne sont pas nécessaires.
Si l'on était tenté d'utiliser GridTracker comme Logbook, celà nécessite que celui-ci soit disponible avant chaque
QSO. C'est à dire toujours démarré avant Jtdx ou Wsjtx.
Pierre Schuster
F5BQV
28/08/2022 et 18/03/2026
Retour à l’accueil http://f5bqv.fr