Article en cours de rédaction /!\ v2.1 du 24/06/21
Fred m’a lancé un défit pour savoir s’il était possible de positionner des stations APRS dans QGIS. L’idée est de mettre un ordinateur autonome, sans connexion APRS dans un PCM. Le but ici n’est pas d’aborder l’installation ni l’utilisation de Qgis.
Après avoir effectué des recherches, je me suis basé sur l’article de dragons8mycat.
Préparatifs autour de Qgis : Direwolf
Dans un premiers temps, nous allons voir comment recevoir la trame et la stoker dans un fichier type .CSV
Direwolf est un logiciel très efficace, fonctionnant avec peu de ressource et multiplateformes. Il permet de gérer énormément de fonctions. Dans notre cas il vas nous servir à décoder les trames reçues à partir d’une clé SDR. Biensûr vous pourrez adapter à votre besoin.
Dans un premier temps vous allez créer un répertoire dans lequel vous y poserez tous les éléments nécessaires. Par ex: C:\APRS_GIS
Dans ce dossier vous allez déposer le programme RTL_FM.exe de la distribution RTL-SDR.
Dans ce même dossier vous y poserez le logiciel DIREWOLF comme décodeur APRS et de stockage dans un fichier CSV.
Les 2 programmes sont dans le même répertoire. Pour lancer les 2 programmes, utilisez la ligne de commande suivante :
Sous windows, vous aurez un fichier aprs.log unique
rtl_fm -f 144.800M -o 4 -s 48000 | direwolf -r 48000 -L aprs.log -B 1200 –
sous windows et linux , vous aurez un fichier par jour dans le répertoire courant
rtl_fm -f 144.800M -o 4 -s 48000 | direwolf -r 48000 -l . -B 1200 –
Cette ligne de commande lance la clé RTL-SDR sur la fréquence 144.800. Le flux audio est retransmis à dirwolf qui se charge du décodage puis de stocker la donnée dans un fichier aprs.log au format CSV. N’oubliez pas le « – » à la fin de la ligne de commande.
Notez que vous pouvez mettre cette ligne dans un fichier.bat
A partir de ce point, vous devriez avoir un fichier aprs.log contenant les stations décodées.
Mise en place dans Qgis
Nous allons maintenant nous occuper de Qgis.
Dans un premier temps téléchargez les icônes sur le github et décompressez les dans le répertoire créé précédemment C:/APRS_GIS
Dans ce dossier vous allez y déposer le fichier symbols.csv
Lors du premier démarrage de Qgis, vous allez créer un nouveau projet. Nommez le Géoloc-Qgis.
Créez une première couche de texte délimité. Le format de fichier est CSV et dans la définition cochez « pas de géométrie (juste la table)
Nous pouvons maintenant ajouter une « nouvelle couche de texte délimité ». Vous choisissez le fichier aprs.log créé dans le répertoire c:/APRS_GIS puis la virgule comme délimiteur personnalisé. Pour les champs X = longitude et Y = latitude. Sélectionnez les s’ils ne sont pas reconnus. Le système src à utiliser est le EPSG:4326. Vous pouvez alors ajouter la couche.
Maintenant vous pouvez cliquer droit sur la couche pour aller dans ses propriétés. respectez l’ordre des opérations ci-dessous
Dans la partie Jointure
Vous allez créer une nouvelle jointure à l »aide du symbole +.
Dans « joindre la couche » vous sélectionnez symbols
Dans « Champ de jointure sélectionnez CODE
Dans « champ dans la couche cible » sélectionnez symbol
Cochez « mettre la couche jointe dans la mémoire virtuelle
Enfin dans « champs joints » cochez DSTCALL
Dans la partie symbologie :
Commencez par sélectionner « catégorisé »
Dans valeur choisissez « symbol »
Cliquez sur symbole puis sélectionnez « symbole image raster ».
Sur la première ligne, au lieu de choisir le fichier vous cliquez sur le dernier bouton de droite. Dans la liste vous cliquez sur « éditer » puis vous collez
file_path( ‘C:/APRS_GIS/by two letter//’) || « symbols_DSTCALL » ||’.png’
puis vous validez
Dans la partie Taille vous valiser largeur et hauteur à 22 Pixels
Le décalage doit être à 0
Réglez le point d’ancrage sur « centre vertical » et « centre horizontal »
Enfin vous validez
Lorsque vous aurez reçu des stations mobile, vous pourrez revenir dans cfe menu et sélectionner le symbole />
puis vous configurez un nouveau symbole à l’aide du bouton +.
vous choisissez un type de symbole de champ vectoriel et un type de champ polaire.
Vous pourrez alors choisir comme attribut de longueur « speed » et l’attribut d’angle « course »
Dans la partie étiquette
Sélectionnez « étiquettes simples »
Dans le champ valeur choisissez name
Dans position, cochez décalage par rapport au point et entrez les valeurs 5 et 1
Dans la partie Affichage
Dans le champ « afficher le nom, sélectionnez name
puis vous collez ce texte dans infobulle HTML
[% »isotime » %]
[% CASE WHEN « speed » > 0 THEN « speed »||’ Km/h ‘|| »course »||’ ° ‘|| »altitude »||’ m’ END %]
[% « comment » %]
[% « system »|| ‘ : ‘|| »status » %]
Dans la partie Rendu
Cochez « Rafraîchir la couche lors de la notification toutes les 10 secondes
et puis sélectionnez « symbole simple », sa couleur, sa taille et la forme en bas.
Dans étiquette, choisissez « étiquette simple » puis la dans valeur « name », la couleur et la taille.
Dans la partie rendu, sélectionnez « rafraîchir la couche toutes les (secondes) » et indiquez 10
Ajouter le plug-in TimeManager
Vous pourrez ajouter le plug-in « TimeManager » si vous souhaitez remonter le temps.
Voilà, le but était de donner des pistes. Vous pourrez bien sûr améliorer les choses en customisant les icônes et les associer en fonction des code icône dans la trame.
Vous pourrez ainsi utiliser les fond de carte que vous souhaitez.
Bon amusement
73