... the user friendly GPS tool


Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Neu hier mit 2 Wünschen
#1
Hallo,

ich nutze RC schon eine ganze Weile für die Planung von Rad- und Wandertouren. Neuerdings auch noch für andere Spielchen wie Test von Tracking-
oder Routing-APPs und habe dazu 2 Anliegen.

Anliegen1:
Da ich gerne Tracks mit RC von Hand erzeuge oder importiere und mit diesen dann diverse Weiterverarbeitungen machen möchte, wünsche ich mir ein korrektes simples NMEA-Format beim Export. Momentan kommt bei selbstgesteckten Punkten im NMEA-Export sowas raus:

$GPGGA,,4828.9223,N,00954.4595,E,1,,,628.0,M,,M,,*77
$GPWPL,4828.9223,N,00954.4595,E,1 Wannenmacherstraße 2; 89160 Dornstadt; Baden-Württemberg; Deutschland*73
$GPRMC,,A,4828.9223,N,00954.4595,E,,,,,A*55

Also pro Position 3 Zeilen. Ohne Datums oder Uhrzeit. Eigentlich reicht mir bzw. den Testobjekten reines $GPRMC..... – also eine Zeile. Der Rest stört nur. Ich muss also jeden Output erst mal von Hand bzw. Makro ausmisten, damit nur die $GPRMC-Zeilen übrig bleiben. 

Aber ich habe lange diese Daten trotzdem nicht verwenden können. Bis mir durch Zufall beim Experimentieren aufgefallen ist, dass es an den fehlenden Datums- und Zeitangaben liegt, dass die Zielgeräte die Strings nicht akzeptieren.

Wenn ich von Hand bzw. Makro die fehlenden Angaben zwischen den Kommata durch passenden 0-Folgen ersetze klappt es.
Ist aber zu umständlich. Schön wäre es, wenn RC selbst beim NMEA-Export die "Nuller" einsetzen würde, wenn die zugehörigen Daten wie Datum und Zeit fehlen.

Anliegen 2:
Toll wäre es, wenn RC direkt aus der Karten-/Trackansicht heraus NMEA-Folgen per zu definierender seriellen Schnittstelle senden könnte. Nach vorheriger Aktivierung dieser Sonderfunktion mit OpenCom-Funktion. Und dann ein Klick oder mehrere nacheinander auf einen Punkt und ein passender NMEA-String pro Klick geht an der COM raus. Oder beim Scrollen/Bewegen in der Trackliste.

Damit möchte ich z.B. die Annäherung oder Abweichung zu/von einem GEO-Fence bei Trackern testen. Oder nach entsprechendem Start das langsame Senden einer ganzen Folge von markierten oder allen Positionen einer Trackliste.

Momentan helfe ich mir mit einem VBA-Script. Ich klicke die gewünschten Positionen in der RC-Trackliste an und ziehe die per CP in mein Programm. Das sendet dann per Bluetooth (COMn) die von mir automatisch passend konvertierten NMEA-Strings an den/die Empfänger. So als kämen sie von einer seriellen GPS-Maus o.ä.

Gerne kann ich da noch mehr Infos zu den Wünschen geben. Aber zuerst mal wäre zu klären, ob das machbar ist und Interesse dran besteht. Von Anwenderseite ist da ein großer Bedarf an einfachen "GPS-Simulatoren". Zumindest ergab das meine Googelei. Aber die einzigen brauchbaren Simulatoren kosten 3-stellige Beträge. Dafür können die natürlich auch unheimlich viel. Nur einfache Lösungen ohne Schnickschnack habe ich keine gefunden.
 
Viele Grüße
PK
Reply
#2
Moin!

Zu 1: RC schreibt die für die vollständige Abbildung des Positionslisteninhalts nötigen Datensätze, daß bei nicht vorhandenen Daten die entsprechenden Felder in den NMEA-Sätzen leer bleiben, ist spezifikationskonform. Wenn also in der Positionsliste keine Datumsstempel enthalten sind, werden auch keine exportiert. Wenn du welche haben möchtest, gib in der Positionsliste für die erste und letzte Position jeweils Datum und Uhrzeit vor, markiere dann alle Positionen, danach Rechtsklick -> vervollständigen -> Zeit.

Die Reduzierung einer NMEA-Datei auf RMC-Datensätze mache ich bei Bedarf auch mit einem Makro. Du kannst das auch mit GPS Babel machen, das eine entsprechende Filterung bietet.

Anliegen 2 wäre eine reine Spezialistenfunktion für eine sehr kleine Gruppe von Anwendern. Der Bedarf mag innerhalb dieser Gruppe groß sein, den allgemeinen GPS-im-Alltag-Anwender interessiert das nicht.
Grüße
Hans

Reply
#3
(27.05.2020, 21:22)PKlein Wrote: Also pro Position 3 Zeilen. Ohne Datums oder Uhrzeit. Eigentlich reicht mir bzw. den Testobjekten reines $GPRMC..... – also eine Zeile. Der Rest stört nur. Ich muss also jeden Output erst mal von Hand bzw. Makro ausmisten, damit nur die $GPRMC-Zeilen übrig bleiben. 

Leider lassen sich über $GPRMC nicht alle Informationen speichern. Damit keine Daten verloren gehen, schreibt RouteConverter 
  • GGA für die Höhe und die Anzahl der Satelliten
  • WPL für die Description
  • ZDA falls ein Zeitstempel vorhanden ist
  • VTG falls Richtung oder Geschwindigkeit vorhanden sind
  • GSA falls die Accuracy vorhanden ist
Das Vorgehen, möglichst alle Daten zu erhalten, versuche ich bei allen Formaten umzusetzen. Sollte das nicht passen, kann man immer noch filtern. Wenn ich die Daten nicht schreiben lasse, sind sie für immer weg.

(27.05.2020, 21:22)PKlein Wrote: Ist aber zu umständlich. Schön wäre es, wenn RC selbst beim NMEA-Export die "Nuller" einsetzen würde, wenn die zugehörigen Daten wie Datum und Zeit fehlen.

Üblich bei NMEA ist es, nichts zu schreiben. Warum haben Deine Daten keinen Zeitstempel? 

(27.05.2020, 21:22)PKlein Wrote: Anliegen 2:
Toll wäre es, wenn RC direkt aus der Karten-/Trackansicht heraus NMEA-Folgen per zu definierender seriellen Schnittstelle senden könnte. Nach vorheriger Aktivierung dieser Sonderfunktion mit OpenCom-Funktion. Und dann ein Klick oder mehrere nacheinander auf einen Punkt und ein passender NMEA-String pro Klick geht an der COM raus. Oder beim Scrollen/Bewegen in der Trackliste.

Nicht unmöglich aber mit Java schwierig plattformunabhängig umzusetzen und schwierig zu testen ohne Erfahrung. Hast Du Erfahrung damit, das in Java umzusetzen?
--
Christian
Reply
#4
(28.05.2020, 06:08)routeconverter Wrote: Nicht unmöglich aber mit Java schwierig plattformunabhängig umzusetzen und schwierig zu testen ohne Erfahrung. Hast Du Erfahrung damit, das in Java umzusetzen?


Hallo,

Ok - das kann ich als Argument verstehen. Ich habe keinerlei Erfahrung mit Java. Werde mich auch garantiert nie damit befassen.

Ich werde die ganze Problematik nun eben wie bisher behandeln. D.h. per VBA. Mittlerer Weile bin ich soweit, daß ich die nötigen Daten für eine NMEA-Simulation per CP aus der Trackliste über die Zwischenablage in mein Simulationsprogramm hole. Also ohne Dateiexport/Import. Ich selektiere also eine oder mehrere Zeilen in der RC-Trackliste, STRG-C, Wechsel in mein Programm, Klick auf Start. dann werden die übernommenen Daten nach NMEA-Konvertiert und nachenander per Bluetooth gesendet. Das funktioniert perfekt.

Warum manche Empfänger mit leeren Datums- oder Zeitfeldern Probleme haben, weiß ich nicht. Ich fülle halt die leeren Plätze vor dem Senden mit passenden Nullenfolgen oder der PC-Zeit/Datum.

Die leeren Felder entstehen halt, wenn ich in RC Tracks selber erstelle und als NMEA exportiere. Aber egal - vergessen wird das.

Wenn ich die Tracklistendaten über die Zwischenablage verwende, habe ich ja nur 3 Einträge (LAT,LON und Beschreibung) und muss sowieso den ganzen NMEA-String aufbauen.

Dann bleibt als einziger Wunsch die Möglichkeit, dass RC bei z.B. Shift-Klick, Alt-Klick, Rechtsklick oder was auch immer die Koordinaten des angeklickten Kartenpunkts einfach nur in die Zwischenablage legt und ich nicht jeden Punkt mit Übernehmen in die Trackliste kopieren muss um ihn dann von dort zu kopieren. Das wäre im Prinzip keine neue Programmierung sondern nur eine Kopie und Abspeckung der Funktion "Neu" im Kontextmenü. Also statt den Punkt bzw. seine Werte in die Liste zu schreiben nur in die Zwischenablage legen.  Wobei mir hier LAT und LON reichen würde. Die Beschreibung wird bei solchen Sachen sowieso ignoriert.

Mein VBA kann die Änderungen in der Zwischenablage automatisch erkennen und dann jeweils passende NMEA-Strings senden. Ich könnte mich dann ohne weitere Maßnahmen direkt simuliert z.B. auf einer  Handy-App durch die Gegend bewegen. Z.B zum Test von GEO-Fences, Reaktionen von Navisoftware oder meinen positionsabhängen Handy-Profilmakros. Würde mir eine Menge Kilometer Testfahrten sparen und die Umwelt schonen.

Viele Grüße und schöne Pfingsten
PK
(bin dann mal kurz weg)
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)