RadiaCode Tracks --> kml

Begonnen von Na-22, 29. Mai 2021, 20:11

⏪ vorheriges - nächstes ⏩

Na-22

Ich habe ein Python-Skript geschrieben, dass die mit der RadioCode-App aufgezeichneten Tracks in kml-Dateien konvertiert.
Mit dem GPS Visualizer habe ich es nicht geschafft, die Messwerte der einzelnen Tracksegmenten anzeigen zu lassen. Das ist mit dem Skript jetzt realisiert.

Zum Anpassen der Legende stehen die Variablen

DoseRate_max  = 0.30
DoseRate_min  = 0.05
DoseRate_step = 0.05
hue_max = 0
hue_min = 240 

zur Verfügung.

Wenn die Erweiterung der Track-Datei(en) von rctrk abweicht, kann dies ebenfalls über eine Variable angepasst werden.

DG0MG

#1


Sehr schön!  :yahoo:

Vielleicht noch ein Hinweis zur Benutzung:
Man installiert Python: https://www.python.org/downloads/

Die Datei rctrk2kml.py und die Tracks aus der RadiaCode-App (*.rctrk) kommen ins gleiche Verzeichnis.

Mittels "Drag&Drop" kann man mit der Maus die RCTRK-Datei auf das Python-Skript ziehen und loslassen. Einfach das Python-Script anklicken und schon werden alle im gleichen Verzeichnis liegenden rctrk-Dateien in zugehörige *.KML konvertiert.

"Bling!": Irgendjemand Egales hat irgendetwas Egales getan! Schnell hingucken!

DL3HRT

Danke für das Script! Track&Drop funktioniert bei mir nicht. Was muss man da in Windows einstellen?

Na-22

Für Drag'n'Drop ist das Skript nicht programmiert. Doppelklick auf das Skript sollte funktionieren, wenn .py Datei mit Python verknüpft sind. Das Skript konvertiert dann alle RCTRK Dateien im Verzeichnis auf einmal.

DL3HRT

Auch Doppelclick klappt nicht. Ich musst die Datei im Kommandofenster explizit aufrufen.
Man sieht nach dem Doppelclick, dass ein Kommandofenster geöffnet wird aber es passiert nichts.

Na-22

Ich hab bei meiner Python-Installation den py-launcher mit installiert.

Funktioniert das Konvertieren bei explizitem Ausführen im Kommandofenster?
rctrk-Datei(en) und Skript müssen sich im selben Verzeichnis befinden.

DG0MG

Ich hatte Python 3.8 von irgendwelchen älteren Experimenten auf dem Rechner.

Wahrscheinlich reicht es auch, einmal den Windows-Dialog "Öffnen mit .." durch Rechtsklick auf die *.py-Datei aufzurufen und dort dann die Python.exe auszuwählen. Um das dauerhaft zu machen, den Haken "Immer" setzen.
"Bling!": Irgendjemand Egales hat irgendetwas Egales getan! Schnell hingucken!

DL3HRT

#7
Der Script ist mit Python verknüpft und man sieht, dass er ein Kommandofenster öffnet, welches sich aber sofort wieder schließt. Wenn ich ein Kommandofenster manuell öffne, ins passende Verzeichnis gehe und das Script aufrufe, so funktioniert es. Das hat bestimmt mit irgendwelchen Umgebungsvariablen zu tun...

Na-22

Zitat von: DL3HRT am 30. Mai 2021, 21:59
Der Script ist mit Python verknüpft und man sieht, dass er ein Kommandofenster öffnet, welches sich aber sofort wieder schließt. Wenn ich ein Kommandofenster manuell öffne, ins passende Verzeichnis gehe und das Script aufrufe, so funktioniert es. Das hat bestimmt mit irgendwelchen Unmgebungsvariablen zu tun...

Danke für die Rückmeldung. Ich habe das Skript bisher immer direkt von der Kommandozeile aus benutzt. Dann Fall mit Doppelklick auf das Skript werde ich bei Gelegenheit mal ausprobieren. Vielleicht finde ich das Problem.

DG0MG

Zitat von: DL3HRT am 30. Mai 2021, 21:59
Der Script ist mit Python verknüpft und man sieht, dass er ein Kommandofenster öffnet, welches sich aber sofort wieder schließt. Wenn ich ein Kommandofenster manuell öffne, ins passende Verzeichnis gehe und das Script aufrufe, so funktioniert es. Das hat bestimmt mit irgendwelchen Umgebungsvariablen zu tun...

Du könntest mal folgende Modifikation des Skriptes probieren, die den aktuellen Arbeitspfad ausgibt und dann erstmal 2 Sekunden wartet:


import os
from colorsys import hls_to_rgb
from time import sleep

print("Arbeitsverzeichnis:", os.getcwd())
print("Dateiname:", __file__)
sleep (2)


for file in os.listdir("."):




Bei Dir wird dann evtl. nicht der Pfad als Arbeitspfad anzeigt, in dem deine *.rctrk-Dateien liegen.
"Bling!": Irgendjemand Egales hat irgendetwas Egales getan! Schnell hingucken!

DL3HRT

ZitatBei Dir wird dann evtl. nicht der Pfad als Arbeitspfad anzeigt, in dem deine *.rctrk-Dateien liegen.
Genauso ist es. Er sucht in "C:\Windows\system32". Jetzt weiß ich, wo ich ansetzen muss. Danke für den Tipp!


Na-22

Ich habe zwischenzeitlich noch ein bisschen am Skript rumprogrammiert.
Man kann jetzt Dateien auf das Skript ziehen (Drag'n'Drop). Bei dieser Variante der Nutzung ist die Erweiterung der Dateien nicht wichtig.
Wird das Skript ohne weitere Argumente ausgeführt, so werden alle RCTRK Dateien im Skriptverzeichnis konvertiert. Das Skript gibt jetzt auch ein paar Informationen aus. Am Ende wird auf einen Tastendruck gewartet, so dass man ein Blick auf die Ausgaben des Skripts werfen kann. Getestet habe ich das Ganze nur unter Windows 10.

Na-22

Ich habe das Skript jetzt mit einer Benutzeroberfläche ausgestattet. Man muss also nichts mehr im Quellcode editieren.
Das Skript besteht jetzt aus zwei Dateien: rctrk2kml_cml.py und rctrk2kml_gui.py
Beide müssen sich im gleichen Verzeichnis befinden.
Das Skript wird jetzt über die Datei rctrk2kml_gui.py gestartet

Es wird jetzt das Paket PySimpleGUI benötigt.
Hierzu bitte einmalig
pip install PySimpleGUI
in der Kommandozeile ausführen.

Nupupa

Aktuell scheint das Script nicht mehr zu funktionieren.
Die Dosisraten-Werte werden aktuell (RadiaCode-App-Version 1.00.21) beim Export in der rctrk-Datei als Werte in Röntgen, also mit Faktor 100 gespeichert.
Wahrscheinlich ist das der Workaround / die schnelle Lösung der Entwickler für das vorher bestehende Problem
https://www.geigerzaehlerforum.de/index.php/topic,647.msg7961.html#msg7961
:unknw:


Na-22

Vielen Dank für den Hinweis.
Ich habe das Skript an die neuen Gegebenheiten angepasst. Die Dosisrate in der Trackdatei wird jetzt als µR/h interpretiert.