|
|
The web map presented in this document is running on my development site.
You are welcome to freely use it both to share your real-time position
and to view/edit/save/export your tracks.
Anyway, if necessary, I reserve the right to clear all data at any time without notification,
so make sure you export your tracks as described below if you don't want to risk losing your data.
You can also freely download the site source code and run it on any other server
(see Install for details).
The default web map is hosted at:
http://lnx.utillyty.eu/puntogps
It shows the locations of online users as a blue dot (a lighter one is your position,
i.e. that of the device with the same IP of the browser used to view the map):
Hovering or clicking on a user position dot will pop up its user status, location
and last update time.
The map service can also be used to view/edit uploaded tracks by putting the suffix:
?track=<track-id>
to the service url, e.g.:
http://lnx.utillyty.eu/puntogps?track=1
|
Pan-zoom controls
|
|
The default map navigation is set to "mouse/touch", that is
you can move around dragging, and zoom with the mouse wheel
(or the usual corresponding gesture on touch devices).
You can stop this behaviour by clicking on the
button:
the button will turn into:
and the pan-zoom controls will show-up,
allowing you to pan and zoom by a single click on each button.
|
|
Pause
|
|
Users locations are updated issuing a query at a fixed configurable interval
(10 seconds in my server)
to the server (few tens of bytes per query).
You can pause it by clicking the pause button:
the button will turn into
which you can click to resume updates.
|
|
Online users
|
|
Shows the list of current online users with their status and
last hit time.
By clicking the blue dot on the right of the user status the map
will center on the user location.
You can also "chase" a user by checking the box on the right of its status:
the dot will turn red and the map will center at that user position
on each update.
To hide the list click the users-list button again.
|
|
Tile layers
|
|
Shows the list of available tile layers to change the map view.
the default is OpenCycleMap, you can change it by
checking the box on the right of the layer name:
|
|
Track edit tools
|
|
To load a track you must know its id and write it as a query argument
named "track" to the service url, e.g.:
http://lnx.utillyty.eu/puntogps?track=1
(the track must have been previously uploaded with the PuntoGPS app)
By clicking on the map edit tools buttons a few filters options are
shown to apply to your map:
|
-
Distance threshold:
"examines each point in a track, in order, and discards every trackpoint that is not
at least treshold (m) far from the last non-discarded point"
(this is my javascript implementation, I borrowed the idea from:
http://www.gpsvisualizer.com/tutorials/track_filters.html
)
-
Ramer Douglas:
javascript implementation of the wide spread
Ramer–Douglas–Peucker algorithm
(the kink (m) corresponds to the "ε" in the Wikipedia explanation).
-
Manual edit:
For fine tuning, you can manually drag each point.
You can delete a point by clicking the <del> button
or the "d" key on your keyboard while hovering the point with the mouse.
No point can be added to the track.
|
Default value for filters parameters are set optimally for a
bike travelling at 15/20 km/h.
You can make as many try as you like with different values,
and use the <Reset> button to restore the original track.
Once you're done you must use the <Save> button to store the new track:
a new track id will be assigned to the track
(a dialog will show it up) and you must use this new id
to later view/share it (this is by design as there is no user-account and anyone can edit the track).
You can use the export as GPX link to download your track as
a GPX file.
|
I boundled all you need to setup your own service in a tar.gz archive:
sourceforge.net/projects/puntogps/files/map/
(just pick up the last version).
All you need to do is:
- copy the archive content in your server;
- execute the mysql.sql script found in the archive to create the database tables;
- change the configuration parameters in config.php and config.js to match that of your choice.
The software is released under the terms of the
GNU General Public License version 3
|