Skip to content

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Sign in
F
fwatch
  • Project
    • Project
    • Details
    • Activity
    • Cycle Analytics
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Charts
  • Issues 8
    • Issues 8
    • List
    • Board
    • Labels
    • Milestones
  • Merge Requests 0
    • Merge Requests 0
  • Wiki
    • Wiki
  • image/svg+xml
    Discourse
    • Discourse
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Charts
  • Create a new issue
  • Commits
  • Issue Boards
  • Projects
  • fwatch
  • Wiki
  • Hostside

Hostside

Last edited by Andrzej Dworak Jun 27, 2014
Page history

Host side

GPS file format

From wikipedia and OpenStreetMap wikis, it seems to have 2 widely used GPS file format non-proprietary:

- GPX
- KML (orignally google earth format, now international standard)

After investigation, it appears that KML is more used for describing maps and GPX is more used for describing traces.
GPX seems to be supported by a big bunch of software, including OpenStreetMaps, GPSbabel (cross-plateform tool) and a lot professional apps like GRASS GIS (using itself gpsbabel)
So I propose to use GPX as in seems to be a de-facto standard.

GPX - format

GPX is a simple format to put down what our GPS received, or to store info on routes that could by used by a navigation tool to navigate us. The format can be extend at almost any XML field, so along co-ordinates from the GPS we could also store data coming from other sensors (e.g. pressure).

GPX consists of two main parts:

a) GPX tracks (where I've been)

<code class="xml">
<gpx>
  <trk>
    <name>My track #1</name>
    <trkseg>
      <trkpt lat="47.644548" lon="-122.326897"> <!-- where I've been -->
        <ele>400.54</ele> <!-- additional info on elevation -->
        <time>2014-06-27T18:37:26Z</time> <!-- additional info on time -->
      </trkpt>
      <trkpt lat="47.648898" lon="-122.327534"> <!-- where I've been later -->
        <ele>405.88</ele> <!-- additional info on elevation -->
        <time>2014-06-27T18:39:26Z</time> <!-- additional info on time -->
      </trkpt>
    </trkseg>
  </trk>
</gpx>
</code>

To consider when implementing:
- remove unnecessary (duplicating) points.

b) GPX routes (route me there)

<code class="xml">
<gpx>
 <rte>
  <name>To visit my grandma</name>
  <src>Google Maps</src>
  <type>bike route</type>
  <rtept lat="47.644548" lon="-122.326897"> <!-- Where to go next -->
    <name>Crossing of routes X and Y</name> <!-- Some additional info e.g. street name -->
  </rtept>
  <rtept lat="47.644548" lon="-122.346897"> <!-- Where to go next -->
    <name>Crossing of routes X and Z</name> <!-- Some additional info e.g. street name -->
  </rtept>
  <rtept lat="47.674548" lon="-122.346897"> <!-- Where to go next -->
    <name>Destination point</name> <!-- Some additional info e.g. street name -->
  </rtept>
 </rte>
</gpx>
</code>

To consider when implementing:

- A route should be easily loadable from Google Maps.
- Use the following points to calculate direction where the user should turn when they are following the route, so we could navigate them (tell when and where they should turn).

Softwares

Command line:

- GPSBabel , a cross-platform tool (GPL) used to convert from and to GPX file format and to read/write to gps devices (manage several devices via usb, including brands garmin and magelan)
- Garmin communicator plugin : an example of GPL soft communicating with garmin devices and extract/transfer data from/to proprietary format. It uses: tinyxml, garmintools, libusb, gcrypt, zlib

GUI:

- GeBabbel : simple GUI for GPSbabel

- GPSman : display one's traces on maps, create traces, save into gpx/kml format. Big disadvantage : it doesn't contain any map, they have to be scanned or downloaded manually

- Viking : a GPL app. Display traces on maps, edit traces, save into gpx/kml, get data from devices and send traces to devices. The big advantage is integration with servers (OpenStreetMap or others) and maps are so automatically downloaded.

- PyTrainer : GPL soft for sportive activities : manage, order and compare history. Integrated with google maps. Display graphs on cardio, altitude, etc. Do statistics on sports and weeks/months.
- GPSBook : GPL soft to display traces on google maps, seems to be less advanced

List of other Linux softs to deal with GPS data : http://www.gpspassion.com/forumsen/topic.asp?TOPIC_ID=121724

Non-relevant soft

Here is a list of non-relevant software listed to avoid spending to much time on evaluating th.

- gpsd : daemon to communicate with the GPS in real time, which is not the use case
- TangoGPS for real-time navigation through GPS

Documentation

Generic infos:
- http://doc.ubuntu-fr.org/gps

File formats:

- https://en.wikipedia.org/wikis/Keyhole_Markup_Language

- https://en.wikipedia.org/wikis/GPS_Exchange_Format
- https://wiki.openstreetmap.org/wikis/GPX

Other links:

- http://www.andreas-diesner.de/garminplugin/doku.php software communicating with garmin gps

- https://github.com/adiesner/GarminPlugin source code of the communication soft

- https://en.wikipedia.org/wikis/GPSBabel

- https://wiki.openstreetmap.org/wikis/Gpsbabel

- http://doc.ubuntu-fr.org/gpsbabel

- http://doc.ubuntu-fr.org/gpsman

- http://doc.ubuntu-fr.org/viking

- https://wiki.openstreetmap.org/wikis/Viking

- http://doc.ubuntu-fr.org/pytrainer

- http://www.gpspassion.com/forumsen/topic.asp?TOPIC_ID=121724 list of linux software dealing with GPS traces and maps
- https://en.wikipedia.org/wikis/GRASS_GIS an open-source professional software

Clone repository
  • App tutorial
  • Design review v1
  • Documents
  • Home
  • Outdated not used anymore
  • Software todo
  • Bootloader
  • Buttons
  • Case
  • Documents
    • Marketing
    • Movies
    • Pictures
    • Presentations
    • Project attachments
    • Version 'pcb v1' attachments
More Pages

New Wiki Page

Tip: You can specify the full path for the new file. We will automatically create any missing directories.