Hoi Lukas,
Ik zie de code in
assembla.com al vorderen !
Suggesties voor sturen locaties en omgaan met tijd:
- locaties: de mooiste tracks krijg je wanneer locaties gestuurd worden
op basis van afstand ipv tijd/locatie-verandering. Zo werken de meeste
GPS-loggers: de mobitracer stuurt bijv na elke 15 meter (wordt
instelbaar) een locatie naar de server. Dat is voldoende om een mooie
trace te maken en geeft bij skaten < 40 km/h (de meesten van ons :-))
weinig netwerk verkeer.
(Daarnaast zijn er nog factoren als nauwkeurigheid van het GPS signaal
of minder punten sturen wanneer je in rechte lijn gaat, maar dat kan later).
- als je in <trace-write-req/> in element <pt/> naast lat= lon= (en t=""
zie onder) het attribuuut "rr' (roadrating) met waarde 1-5 stuurt geef
je ook asfalt-kwaliteit aan (1=klune ... 5=zoeven) die als kleuren in
kaart komt dus bijv <pt rr="4"... is "goed", kleur geel)
- tijd: bij de meeste requests bijv <trace-write><pt t=""..., moet een
tijd zitten, dus parameter t="12304.." ("Unix tijd", i.e. ms sinds
1.1.1970).
De nauwkeurigheid van deze parameter is belangrijk voor allerlei zaken:
statistieken, geo-tagging van bijv. foto's etc. Omdat de server er niet
op kan rekenen dat mensen de goede tijd in hun telefoon hebben staan en
sommige telefoons ook tijd-bugs hebben, werkt de mobitracer als volgt:
* bij login/create session geeft de server de haar tijd t="" terug (deze
is via NTP)
* de client onthoudt het verschil met deze tijd (de "delta")
* de client stuurt de tijd (t="..") als System.currentTimeMillis() met
daarop een correctie van de "delta"
* de nauwkeurigheid is in ieder geval dan in seconden en voldoende
(Misschien dat daarom je punten in de server niet gelogd worden. Je doet
wel eerst een trace-resume-req toch?).
groet!
Just
PS Ja dit bovenstaande zou in een XML Schema moeten zitten, gaat er wel
van komen....