I was mapping an area in Namibia and also tracked a lot of paths on my way with my Garmin device... so I thought it would be nice to see height differences in my area (esp. interesting in the raining-season... where is the water going to be?)... but then I came to notice, that QGIS does not support the Z-Coordinate when using Shape-Files. I have currently all the data stored as a GPX file, how can I get QGIS (1.8) to recognize the Z-Coordinate?

And yes my device supports the tracking of height, that's for sure :)


Importing the GPX file with add vector layer, and selecting track_points layer, you get all collected height data in ele field. Saving that to shapefile, it is possible to change color according to the ele value, or create raster grids etc.

  • So That means if I do this I have the Z-Value in the Attribute table? That would be very helpful :)!
    – Lukas
    Dec 11 '12 at 9:48
  • Yes, but only for point layers. I don't know if this can be achieved with line or polygon layers, since the attribute table applies to the whole object, and not the single line points.
    – AndreJ
    Dec 11 '12 at 10:19
  • Oh... thats unfortunate! Then I also need to transform my tracks into points? How can I do this?
    – Lukas
    Dec 12 '12 at 11:59
  • 1
    As I wrote in my answer, use Add vector layer, instead of the GPS tools. "track_points" gives you a point layer built from the trackpoints.
    – AndreJ
    Dec 12 '12 at 12:46

In order to have the z value of your waypoints or tracks I usually use GPS babel. In Babel you can load a GPX file and then translate it to a csv file.

enter image description here

The resulting csv will have each point of the track or each waypoint with the altitude value this is an example of what you can get. enter image description here

Since it is a csv file, you can load it in to qgis with the "add delimited text layer plugin and then save it as a shp. Hope it helps

  • There are 3 ways to your aim :D, nice! I like this one , because I know how to do it :)
    – Lukas
    Dec 11 '12 at 9:50

The only way that I know to visualize your data in 3 dimensions is using grass' nviz module which should be accessible via the qgis' grass plugin.

There are some video tutorials on the subject at youtube. For reference I am posting two of those:

  1. http://www.youtube.com/watch?v=xn4nOhequgk
  2. http://www.youtube.com/watch?v=ib1-mBbWkv4

Yes, it is possible without NVIZ but using a Python script in the console with Python modules like Matplotlib or Visvis. See my explanations and references in TIN Interpolation using a vector layer or Is there are QGIS plugin to allow the 3d visualisation of geological borehole data similar to the functionality of Target for ArcGIS?


  • Looks nice, but you have to get the Z-Coordinates from the GPS device into a shapefile first. The GDAL GPX driver gives this advice: 'If the environment variable GPX_ELE_AS_25D is set to YES, the elevation element will be used to set the Z coordinates of waypoints, route points and track points.' I guess this can not be set inside QGIS yet.
    – AndreJ
    Dec 15 '12 at 10:28
  • is the resulting shapefile is a 3d shapefile or a shapefile with z attribute, no problem with the method which uses the Python modules Shapely or ogr that allow to treat them.
    – gene
    Dec 15 '12 at 21:02

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.