.. _gpx: ***************************************************************************** GPS Exchange Format (GPX) ***************************************************************************** GPX (the GPS Exchange Format) is a light-weight XML data format containing GPS data (waypoints, routes, and tracks). For more information see the official `GPX site`_. .. _`GPX site`: http://www.topografix.com/gpx.asp File listing ------------ All waypoints, routes, and tracks are stored in a single .gpx file. Data Access / Connection Method ------------------------------- * GPX access is available through OGR. See the OGR `driver page`_ for specific driver information. * A relative path to the .gpx file can be used in the mapfile LAYER's CONNECTION string. * The feature type is specified in the DATA parameter * the "tracks" feature type will usually be the track line * the "track_points" feature type will usually be the points that make up the track line .. _`driver page`: http://www.gdal.org/ogr/drv_gpx.html OGRINFO Examples ---------------- First you should make sure that your GDAL/OGR build contains the "GPX" driver, by using the '--formats' command: :: >ogrinfo --formats Loaded OGR Format Drivers: ... -> "CSV" (read/write) -> "GML" (read/write) -> "GPX" (read/write) -> "KML" (read/write) ... If you don't have the driver, you might want to try the `FWTools`_ or `MS4W`_ packages, which include the driver. .. _`FWTools`: http://fwtools.maptools.org/ .. _`MS4W`: http://www.maptools.org/ms4w/ Once you have the GPX driver you are ready to try an ogrinfo command on your file to get a list of feature types: :: >ogrinfo test.gpx INFO: Open of `test.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) Now use ogrinfo to get information on one of the feature types: :: >ogrinfo test.gpx track_points -summary INFO: Open of `test.gpx' using driver `GPX' successful. Layer name: track_points Geometry: Point Feature Count: 661 Extent: (-66.694270, 47.985570) - (-66.675222, 47.990791) Layer SRS WKT: GEOGCS["WGS 84", DATUM["WGS_1984", SPHEROID["WGS 84",6378137,298.257223563, AUTHORITY["EPSG","7030"]], AUTHORITY["EPSG","6326"]], PRIMEM["Greenwich",0, AUTHORITY["EPSG","8901"]], UNIT["degree",0.01745329251994328, AUTHORITY["EPSG","9122"]], AUTHORITY["EPSG","4326"]] track_fid: Integer (0.0) track_seg_id: Integer (0.0) track_seg_point_id: Integer (0.0) ele: Real (0.0) time: DateTime (0.0) magvar: Real (0.0) geoidheight: Real (0.0) name: String (0.0) cmt: String (0.0) desc: String (0.0) src: String (0.0) ... Mapfile Example --------------- Since you have confirmed that OGR can read your GPX file, now you can create a MapServer layer: :: LAYER NAME gpx TYPE POINT STATUS ON CONNECTIONTYPE OGR CONNECTION test.gpx DATA "track_points" CLASS NAME "gpx" STYLE SYMBOL 'circle' COLOR 0 119 255 SIZE 2 END END END # layer