• Willkommen im Geoclub - dem größten deutschsprachigen Geocaching-Forum. Registriere dich kostenlos, um alle Inhalte zu sehen und neue Beiträge zu erstellen.

Geschwindigkeit ermitteln

le2064

Geocacher
Und wieder habe ich ein Problem :)

Ich brauche eine Funktion die mir eine Variable auf Ture setzt wenn ich eine bestimmte Geschwindigkeit fahre. Da ich aber nicht weiß in welche Richtung der Spieler fährt kann ich das nicht mit festen Zonen machen.

Also ich setzte mich ins Auto fahre unter 50 km/h variable ist noch auf False.
Fahre ich über 50 km wird die Variable auf True gesetzt.

Derzeit habe ich einen Timer der mir die Zonen je nach nähe zu ihnen einschaltet.
"http://www.das-wherigo-handbuch.de/index.php?title=Beispiele/Codeschnipsel_in_LUA#Automatische_Aktivierung_.2F_Deaktivierung_von_Zonen_.2F_Nicht_Lineare_Cartridges"
darauf habe ich aufgebaut.
Ist es möglich diese Funktion in den bestehenden Timer ein zu fügen?
 

timu

Geocacher
wie wärs mit mehreren runden Zonen um den Spieler herum, die mit einem timer gekoppelt sind. Aus Zonengrösse und Zeit sollte sich dann ja die Geschwindigkeit berechnen lassen....
Wird beim Verlassen der Zonen der Timer angehalten, so hat man über 50 km/h, läuft der timer ab, so sind es unter 50 km/h. Die Zonen müssten wie die Linien einer Zielscheibe um den Spieler angeordnet sein.

Vielleicht gibts da von den LUA-Freaks aber auch eine einfachere Lösung...
 

Charlenni

Geomaster
Geht wieder auf das Abstandsproblem zurück. In einem Timer immer wieder Abstand einer im letzten Tick gespeicherten Position mit der aktuellen Position berechnen und mit der seither vergangenen Zeit die Geschwinfigkeit berechnen. Timerintervall geeignet wählen (1, 2 oder 5 Sekunden).
 
OP
L

le2064

Geocacher
OK also dann erst Mal das Problem lösen ;)
http://forum.geoclub.de/viewtopic.php?f=74&t=71477
 

Charlenni

Geomaster
Yup, das ist richtig.

Ich persönlich würde warten, bis Jonny65 sich meldet. Dürfte in Deinen Fall das beste sein ;-). Scheint aber gerade im Urkaub zu sein. Sonst hätte er sich sicher schon gemeldet.
 

bodenseepingu

Geomaster
Gibts hier noch ein Problem, das zu lösen wäre? Der obige Code vom wherigo-handbuch ist von mir

Ansonsten ist es so wie Charlenni sagt: Die Geschwindigkeit kann man nur mittels Abstand und Zeit bestimmen. Dabei muss man sich im Klaren sein, daß die Zeitdauer zwischen Timer-Events variieren - also am besten über LUA auch die Zeit abfragen - und dass die Geschwindigkeit nur recht ungenau ermittelt werden kann. Also sollte man sich vorher Gedanken machen, wie träge die Geschwindigkeitsermittlung sein soll (je träger, desto genauer...).

Es gibt auch ein paar Fallstricke - wie z.B. schwankende GPS-Position - die sollte man nicht unbedingt zu der zurückgelegten Strecke hinzuaddieren, das gibt sonst eine recht große Ungenauigkeit...genauso daß eine Strecke nicht unbedingt geradlinig gelaufen wird...

Was sich meiner Meinung nach bewährt um sowas zu machen (und ja - ich habe alte Cartridges in denen ich es anders gemacht habe mit mässigem Erfolg...):
- Timer (z.b. jede Sekunde, alle 2 SEk. oder alle 5 Sek), der prüft, ob man sich seit der letzten Speicherung der Position um mehr als N (z.B. 8) Meter fortbewegt hat. Falls ja: Speichern der letzten Position und Aufsummierung der zurückgelegten Strecke...
- Nur bei jedem M. ten Aufruf des Timers (um einen zusätzlichen Timer zu vermeiden): Speicherung des Zeitpunktes und der insgesamt zurückgelegten Entfernung, Bestimmung der Geschwindigkeit (Delta S / Delta T)

Sollte es notwendig sein, bitte anschreiben, dann mach ich den LUA-Code.
 

jonny65

Geomaster
Charlenni schrieb:
Ich persönlich würde warten, bis Jonny65 sich meldet. Dürfte in Deinen Fall das beste sein ;-). Scheint aber gerade im Urkaub zu sein. Sonst hätte er sich sicher schon gemeldet.

Wieder da :( Aber Dirk, du verwechselst mich da wohl mit bodenseepingu oder krolock :/
Wobei ich das mit der Geschwindigkeit eher *öhäm* finde > Ressourcenfresser.
Timerzonen (Zone A >B in 2 Minuten) reichen imho. Doch evtl. kann man so eine Routine ja doch mal brauchen, z.b in einem Auto Wherigo ("du bist hier in der Stadt 72km/h gefahren, halte an und begib dich sofort ins Gefängnis, gehe nicht über Los ..." :D
 
Oben