GPX: Difference between revisions

From Wildsong
Jump to navigationJump to search
Brian Wilson (talk | contribs)
mNo edit summary
Brian Wilson (talk | contribs)
mNo edit summary
Line 51: Line 51:
Some official documentation: http://topografix.com/GPX/1/1/
Some official documentation: http://topografix.com/GPX/1/1/


[[Category: GPS]]
[[Category: GIS]]
[[Category: PostgreSQL]]
[[Category: PostgreSQL]]
[[Category: GIS]]
[[Category: GPS]]

Revision as of 18:42, 1 July 2013

Overview

GPX is a format for exchanging GPS data.

The three main data types are waypoints, routes, and tracks.

Waypoint: a waypoint, a point of interest, or a named point on a map. Has all the fields need to represent a point collected with GPS including PDOP, type of fix (2d, 3d, dgps) sats in view, etc.

Route: an ordered list of waypoints representing turns

Track: an ordered list of points representing a path. The track segments are represented by waypoints.

What this means is that GPS can accomodate everything needed for professional work. There is no reason to throw out data like fix when creating a GPX file.

Extensions

The GPX standard allows for arbitrary extensions. Basically anyone can add additional fields to the GPX format, and if the program you are using does not know about the extension, the data contained therein simply is not available.

An example of this is the Groundspeak format used for geocaching.

Loading GPX data into PostGIS

If you want to transfer the contents of a GPX file into a PostGIS database (and who doesn't!), you can use ogr2ogr. See the GPX driver notes for command options.

There is another way to load the GPX directly, you should really get the "PostGIS in Action" book. You might be able to read geocache files that way.

Download the GPX file from your handheld device, I suggest using gpsbabel.

Then use commands similar to this

# View the contents of the file
ogrinfo 20111016_Garmin.gpx 
Had to open data source read-only.
INFO: Open of `20111016_Garmin.gpx'
      using driver `GPX' successful.
1: waypoints (Point)
2: routes (Line String)
3: tracks (Multi Line String)
4: route_points (Point)
5: track_points (Point)

# Load the GPX file into a database
ogr2ogr -f PostgreSQL PG:"host=localhost user=postgres dbname=OR_Corvallis" \
20111016_Garmin.gpx \
-overwrite -lco GEOMETRY_NAME=the_geom tracks track_points waypoints

et voila!

External links

Some official documentation: http://topografix.com/GPX/1/1/