Experimental Project

This is a sandbox project, which contains experimental code for developer use only.

Version 3 is an object oriented approach, still under development, but node creation and automatic tagging should be working.
The module parses an uploaded GARMIN gpx file (and probably others as well), and stores the waypoints and tracks in its nodes, and optionally tags and renames the waypoints. It also creates a feature list for the uploaded features. Installs a gpxtag vocabulary to associate terms with symbols.

The module creates 4 content types:

  • Image - The image uploaded to the Image content type will fetch its geodata automatically from the track recorded at the same time.
  • Waypoint - To store waypoints. If in the gpxtag vocabulary the term is associated with a symbol, then the waypoint can be automatically tagged according to their symbol. Exportable to a .gpx file.
  • Track - To store tracks. If the JpGraph library is installed, it creates an elevation profile. Exportable to a .gpx file. To enable accurate positioning of images, you can set the difference between the clock of the camera and the gps device in its offset field.
  • Featurelist - To store entityreferences to waypoints and tracks. A feature list can be optionally generated for each uploaded gpx file. It cannot contain duplicate data. Exportable to a .gpx file.

I have tested the module with a garmin 76CSX device, but should work with similar devices too.

My GPS device cannot hold two points with the same name, so there is an optional feature to rename the parsed waypoints to a YYYY-MM-HH-number-name format. This way there will be no name collisions when loading any bunch of data back to the device.
Two default views are included to list and filter waypoints and tracks to facilitate easy addition to featurelists.

The 7.x-2.x branch supports geofield 7.x-2.0.

It's funny, the module is just finished and already has 2.0 version.
I put it to postponed state, and will try to create several submodules of it. That might bring about a 3.x version of this module. I guess I will have to check on how to name versions of modules.
This features of this module will be moved out into submodules. All of them will support a filefield, that contains gpx data.


1) Rename waypoints in a gpx filefield - gpx_rename module - DONE
2) Create field formatter for filefield, that displays elevation charts if gpx contains a track.
3) Create individual track and waypoint nodes from uploaded gpx file that contains many features.
4) automatically tag created waypoint nodes according to symbols. One taxonomy term should be only associated with one iconname.
5) In a gpx file find the closest point to a timestamp, and return it. This way image fields can have an associated geofield populated with its coordinates, if the time from its EXIF data can be found in a track.
6) Create parent nodes to hold many individual features. This is where VBO and views might be implemented to make it possible the easy selection of tracks and waypoints.

Project Information