FR: OSM-Tracker-Funktionalität möglich?

  • Hallo Peter,


    ich zeichne mit Glopus oft Tracks auf, um diese in OSM weiterzuverarbeiten. Dies funktioniert auch wunderbar, stabil und akkuschonend.


    Zwischendurch hatte ich auch schon den OSM-Tracker ausprobiert.
    Sehr gut hat mir hierbei die Möglichkeit gefallen, auf "Knopfdruck" spezielle Wegpunkte (Geschwindigkeitsbeschränkungen, POIs...) in einer eigenen GPX-Datei zu speichern.
    Und besonders gerne habe ich die Funktion verwendet, einen Text über das PDA-eigene Mikrofon abzuspeichern, auch hierbei wird in dieser GPX-Datei ein Wegpunkt mit Link zu dieser Wave-Datei abgelegt.


    In JOSM können dann nach Einlesen dieser GPX-Datei alle Punkte in POIs gewandelt bzw. der eingesprochene Text (z.B. Straßennamen) durch Anklicken angehört werden.


    Ich habe den OSM-Tracker inzwischen wieder deinstalliert, da er doch leider einige Probleme mit sich gebracht hat:


    Vor allem lief er auf meinem Dell furchtbar unstabil, manchmal ist er beim Beenden abgestürzt, so dass ein Warmstart nötig war, manchmal ist er während des Betriebs "eingefroren"...


    Ausserdem hatte ich den Eindruck, dass der Akkuverbrauch wesentlich höher war als ich es von Glopus gewöhnt bin, so dass schon nach ein paar Stunden die Aufzeichnung beendet werden musst. Nichts für längere Fahrrad-Touren...


    Von daher wäre es schön, wenn solche Funktionalität in Glopus eingebaut werden könnte.
    Es gibt zwar schon eine Funktion "Position speichern", diese legt mir jedoch einen neuen Wegpunkt in der aktiven Zielliste an, und nicht in einer speziellen Datei. Ausserdem kann ich später wieder nur schwer unterscheiden, welche Wegpunkte neu aufgezeichnet wurden und welche bereits vorhanden waren, und um was für einen Wegpunkttyp es sich handelte. Sprachaufzeichnung ist auch nicht möglich...


    Meine erste Idee war, über eine benutzerdefinierte Schaltfläche ein Mortscript aufzurufen, das mir die aktuelle Position in eine Datei schreibt, zusammen mit den nötigen Informationen. Ich habe jedoch keinen Weg gefunden, dem Script aus Glopus heraus die aktuelle Position mitzugeben.


    Eine mögliche Implementierung in Glopus könnte ich mir über einen Hotkey-Befehl vorstellen, dem als Parameter ein Wegpunkttyp bzw. der Befehl zur Sprachaufzeichnung mitgegeben werden könnte.


    Wäre eine solche Funktionalität auch für andere wünschenswert oder stehe ich mit diesem Wunsch alleine da?


    OSM-Daten anzeigen kann Glopus inzwischen ja schon ganz gut, wenn es jetzt noch das Erweitern dieser Daten verstärkt unterstützen könnte, wäre das ja wohl eine faire Sache...

  • Auch wenn viele Teile für eine volle OSM-Tracker-Funktionalität schon in Glopus sind (GPS auswerten, XML schreiben sowieso, Sound kann schon gelesen werden. Der Code um Bilder mit einer eingebauten Kamera aufzunehmen ist auch ganz simpel.), würde das ganz schön Aufwand bedeuten und das werde ich so schnell nicht anfangen.


    Ich habe mal in den aktuellen Code geschaut. Mit den Hotkeys geht leider nichts (kann ich aber in 2 Zeilen für die nächste Version einbauen), mit "Benutzerdefinierten Buttons" sollte vieles realisierbar sein. Probiere mal


    Action = URL:meinscript.mrt %Long% %Lat%


    (Ich benutze Mortscript nicht und daher ist ".mrt" nur eine Vermutung.)
    Anstelle von %Long% %Lat% kannst Du natürlich alle Glopus Platzhalter einsetzten. "URL" deutet darauf hin, dass ich den Einsatz eigentlich für URL Aufrufe mir Parametern gedacht habe, aber das sollte genauso für Mortscript funtionieren. Wenn es nicht reicht nur das Script aufzurufen, musst Du mal versuchen das Programm mit in die Zeile aufzunehemen.

  • Danke für die schnelle Antwort...


    Ich hatte schon befürchtet, dass dies einen hohen Aufwand bedeutet.


    Aber das mit Action = URL:... werde ich auf jeden Fall mal ausprobieren. Falls das funktioniert, könnte damit eigentlich alles nötige nachgebaut werden.


    Jetzt muss ich aber erstmal nachschauen, ob MortScript überhaupt eine Parameter-Übergabe akzeptiert... Sonst muss ich halt selbst ein Programm schreiben, das dies durchführt.


  • Wenn Glopus die Syntax (siehe Unten) übergeben kann, dürfte der Werteübergabe nichts im Wege stehen.


    Pfad/Mortscript.mscr test="Dies ist ein Test"


    analog


    Pfad/Mortscript.mscr Long=%Long% Lat=%Lat%


    Im MortSript steht dann in der Variabele test der Text...


    Gruß
    Silver

    Regioausflug.de Wandertourenplaner für Odenwald, Rhön, Mittelrhein und Taunus!!!!


    Ein Stau ist nur hinten blöd - vorne gehts !!!!

    2 Mal editiert, zuletzt von Silver34 ()

  • Irgendwie will das mit der Parameterübergabe nicht... :(


    In der map.ini habe ich für eine Schaltfläche folgende Aktion eingetragen:


    Code
    Action = URL:"\Programme\Glopus\OSMTagger.mscr" var1=1


    Ein ganz einfaches Mortscript soll mir jetzt diese Variable anzeigen:


    Code
    MessageString = "Var1: " & var1
    Message(MessageString)


    Aber var1 wird als leere Variable angezeigt.


    Auch argc, das laut MortScript-Doku die Anzahl der übergebenen Parameter beinhaltet, ist 0


    Ich habe auch schon verschiedene Varianten des URL-Aufrufs durchprobiert, wenn ich besipielsweise die Anführungszeichen weglasse, scheint Glopus nicht zu erkennen, dass es sich um einen Programmaufruf mit Parametern handelt, sondern versucht den Gesamtausdruck inklusive der Parameter als Dateinamen zu interpretieren und findet natürlich kein Programm...


    Auch ohne Pfadangabe (das Script liegt im Glopus-Programmverzeichnis) wird das Script nicht gefunden/gestartet.


    Habe ich hier noch einen Denkfehler im Action-Befehl oder kann Glopus die Parameter nicht richtig übergeben?


  • Mir ist es auch nicht gelungen Variablen gefüllt an einm Script zu übergeben (auf dem PDA) egal ob von Glopus über URL, oder über eine INK-Datei oder durch ein anderes Script. Entweder ich Starte das Script ohne Variabele oder ich bekomme Fehlermeldungen.


    Vielleicht geht das nur in der PC-Version - was ja leider keine Alternative währe!!!!


    Am besten wird es wohl sein Mort in seinem Forum dahingehend anzusprechen....


    ODER


    Peter bastelt in Glopus was rein das z.B. bei jedem betätigen einer SoftKey, GlopusHotKey-Taste ... in die Registry die aktuelle Postion geschrieben wird analog von LastLat z.B. AkualLat....


    Dann währe es ein kleines über den Action-Befehl von Glopus ein Script zu starten dort kann man dann ja die Position aus der Reg auslesen und sich danach künstlerich verwirklichen ......


    Gruß
    Silver

    Regioausflug.de Wandertourenplaner für Odenwald, Rhön, Mittelrhein und Taunus!!!!


    Ein Stau ist nur hinten blöd - vorne gehts !!!!

  • Ich habe jetzt noch mal ein bisschen rumprobiert...


    Es gelingt mir nicht, von Glopus über den URL-Befehl Parameter an irgendein Programm zu übergeben. :-D)


    Zum Test habe ich mir extra ein kleines Programm geschrieben, das nichts anderes macht, als die CommandLine (über GetCommandLine() ) auszugeben.


    Rufe ich dieses Programm aus einem Link mit Parameter auf, dann klappt es (das Programm funktioniert also offensichtlich), aber aus Glopus heraus habe ich mit verschiedenen Syntaxen keinen Erfolg, z.B:


    Code
    Action = URL:"\Programme\Glopus\OSMTagger.exe" "var1=1 111"


    Die Anführungszeichen um den Programmpfad brauche ich, da sonst die Parameter mit als Teil des Programmnamens interpretiert werden und es somit eine Fehler gibt. Und weder mit noch ohne Anführungszeichen um die Parameter herum wird es besser.


    Gibt es noch irgendwelche Ideen hierzu?


    Die Idee mit den aktuellen Koordinaten in der Registry wäre natürlich auch eine mögliche Alternative, ich denke mal, es würde reichen, wenn man bei jedem Aufruf eines externen Programms die aktuellen Koordinaten schreibt...

    Einmal editiert, zuletzt von AndRo ()

  • Zitat

    Original von AndRo
    Die Idee mit den aktuellen Koordinaten in der Registry wäre natürlich auch eine mögliche Alternative, ich denke mal, es würde reichen, wenn man bei jedem Aufruf eines externen Programms die aktuellen Koordinaten schreibt...


    Noch eine Idee von mir die jetzt schon Funktionieren dürfte!!!!


    Einfach den letzten Logeintrag aus der Logdatei mit MortScript auslesen !!!!


    Gruß
    Silver

    Regioausflug.de Wandertourenplaner für Odenwald, Rhön, Mittelrhein und Taunus!!!!


    Ein Stau ist nur hinten blöd - vorne gehts !!!!