NL:Potlatch/Development overview/GPS tracks
Potlatch gaat op twee verschillende manieren met GPS tracks om. Er zijn de GPS track voor het huidige scherm, geladen door op de GPS knop te klikken in de client; en er is de mogelijkheid een track vooraf te laden, dit doe je door de 'edit' link naast een GPS track te klikken op de hoofd site.
Tracks voor het huidige gebied
Source code: http://trac.openstreetmap.org/browser/sites/rails_port/app/controllers/swf_controller.rb
Deze GPS tracks worden dynamisch aangemaakt, aan de server kant.
swf_controller.rb stuurt een query naar de database. Het maakt dan handmatig een SWF aan waarin de resulterende lijnen staan. Deze wordt in Potlatch ingeladen als een genest movieclip. Wanneer een nieuwe track start, of wanneer een ruimte van meer dan een paar minuten tussen punten zit, breekt Potlatch de lijn.
De SWF-genererende code is een beetje listig maar het zou niet nodig zijn dit aan te passen.
Voorgeladen tracks
Source code: http://trac.openstreetmap.org/browser/applications/editors/potlatch/gps.as
Je kunt ook een compleet GPS bestand in Potlatch laden. In dit geval zal Potlatch de XML in de client verwerken, en tekent dan de lijn daarna (hoewel het dezelfde visuele stijl behoud). Het is om deze reden dat je dit niet kunt doen met tracks die op een of andere manier gecomprimeerd zijn.
Er is ook code om de tracklog te vereenvoudigen (gebruik makend van het Douglas-Peucker algoritme) en ze in gelockte ways om te zetten.