# Free/cheap app or software for exportable elevation profiles.



## kapusta (Jan 17, 2004)

I am looking for a free/cheap application or software for creating good elevation profiles (from a gpx file) that I can export in a reasonably attractive format (jpg, png.....)to insert on a paper map.

I am looking for something like what National Geographic Topo exports:








What I like about this is the way the color bands line up with the elevation numbers at intelligent intervals. I also like that it is relatively uncluttered.

As a bonus (and for this I would pay extra for), I think it would be great if were possible to edit the format of the numbers on the axis, as well as how the horizontal bands are formated.

I am going to be taking some training with ArcGIS desktop this spring, and I think that it has the capability I am looking for, but that is some seriously expensive software.

I have found many free/cheap options for exporting elevation profiles, but none have had the look or the control that I am looking for.

Any suggestions would be great.


----------



## Harold (Dec 23, 2003)

GIS is the answer. Phone apps just come up short for this kind of stuff.

ArcGIS has an affordable personal license option as long as you aren't using it commercially.


----------



## kapusta (Jan 17, 2004)

Thanks for the info.

Sorry, I should have been more clear: I am referring to PC based applications / software, not phone apps. I use topofusion for quick editing and manipulation of gps tracks, the the elevation profiles are not that great.

I believe the license you are referring to is ~$100 / year. Might go for it for other reasons, but not worth it just for the profiles.

Have you tried the open source GIS offerings?


----------



## Maday (Aug 21, 2008)

Couldn't you just pull the elevation out of the file and plot it in excel?


----------



## kapusta (Jan 17, 2004)

Maday said:


> Couldn't you just pull the elevation out of the file and plot it in excel?


Hmmm....

As far as formatting the chart the way I want it to look, that would work really well. I've done some data vis work and have pretty mad excel chart skills.

The big challenge here (for me) would be getting the values for the x axis. The track points are not all equal distance from each other (they can vary quite a bit), so I can't plot them equal horizontal distance from each other.

I would need some excel cell function to calculate the distance between each gps coordinate. I'll look into that.


----------



## Harold (Dec 23, 2003)

kapusta said:


> Hmmm....
> 
> As far as formatting the chart the way I want it to look, that would work really well. I've done some data vis work and have pretty mad excel chart skills.
> 
> ...


I honestly think the National Geographic software does the nicest elevation profiles out of the box. To get good ones out of ArcGIS, you need the spatial analyst extension, which I don't have. Being that I use ArcGIS for commercial purposes, I have to pay full price. I got a basic license ($1,500), and the spatial analyst extension is over $2,000 more.

I have considered Excel for this, but it's true, you would need to use a function to generate a useful x-axis value. I don't think I would even go so far as working to get points an equal distance apart. I think simply calculating distance between each point and then summing all previous distances for the point in question would be plenty adequate. The PITA part, for me, is milking the xml file and converting it into a table. I've done plenty of data conversions in excel over the years, but never really invested the time to work out a way to effectively convert .gpx files. I use OpenOffice now, and it's close enough to some older versions of Excel that it's effectively the same. A lot of the more recent document types use XML file types of some sort or another, so it should be importable. I just haven't spent the time to figure out the process.

I have used a few open source GIS programs, and I think ArcGIS handles elevation profiles better.


----------



## Maday (Aug 21, 2008)

Here is a code for position. I checked it vs a few distance calculators and it seems right. It is not accounting for change in elevation tho.
https://www.geodatasource.com/developers/javascript


----------



## Harold (Dec 23, 2003)

Maday said:


> Here is a code for position. I checked it vs a few distance calculators and it seems right. It is not accounting for change in elevation tho.
> https://www.geodatasource.com/developers/javascript


For this application, I think you only want the horizontal distance between points. So that code has the right idea. I'm not sure where I'd use this one, honestly. As an ArcGIS user, I'd want a Python code or VB Script for that. Can you use javascript for field calculations in Excel? Seems to me that Excel's own calculation interface could handle it just fine.

Thinking about it a little bit more, what I'd be more likely to do is convert my .gpx to a shapefile and then project that shapefile into UTM coordinates, which would simplify the math ENORMOUSLY, and allow me to use simple trig instead of angular measurements like radians.


----------



## evasive (Feb 18, 2005)

Harold said:


> I honestly think the National Geographic software does the nicest elevation profiles out of the box. To get good ones out of ArcGIS, you need the spatial analyst extension, which I don't have. Being that I use ArcGIS for commercial purposes, I have to pay full price. I got a basic license ($1,500), and the spatial analyst extension is over $2,000 more.
> 
> I have considered Excel for this, but it's true, you would need to use a function to generate a useful x-axis value. I don't think I would even go so far as working to get points an equal distance apart. I think simply calculating distance between each point and then summing all previous distances for the point in question would be plenty adequate. The PITA part, for me, is milking the xml file and converting it into a table. I've done plenty of data conversions in excel over the years, but never really invested the time to work out a way to effectively convert .gpx files. I use OpenOffice now, and it's close enough to some older versions of Excel that it's effectively the same. A lot of the more recent document types use XML file types of some sort or another, so it should be importable. I just haven't spent the time to figure out the process.
> 
> I have used a few open source GIS programs, and I think ArcGIS handles elevation profiles better.


I make profiles regularly. I found a site that will take a GPX or KML and plot it, and also gives you the option of pulling the XY data back out as a CSV file.

http://www.geocontext.org/publ/2010/04/profiler/en/

It takes a few manipulations to get the data tables where I want them for plotting, but it's the best option I've found so far. I'm really unimpressed with Esri's profile capabilities, and think Nat Geo is better. Most things in ArcGIS are functional, but absolute crap when it comes to making the output look presentable (the label engine is the classic example). Axis units are a real pain in ArcGIS. I gave up bothering with doing profiles in ArcGIS, which is saying something, as I'm in it regularly and that's where I'm making the related maps. I run all my profiles through the link above, and then dump them in to Golden Software's Grapher. Grapher smokes Excel's graphing capabilities in every possible way. It's also a $400 single-purpose program, so not a lot of help to the OP.

I don't have access to my profile files on this computer, but there are a couple examples of how I use them on this image from the web:


----------



## Harold (Dec 23, 2003)

I've done profiles with GPS Visualizer. Unfortunately, no table output there. The outputs are also not terribly professional-looking.

I like this geocontext profiler tool. Might be worth looking into R for some open source plotting options. Not sure if you'll be able to get plots like evasive's $400 specific-use program, but that's the advantage of programs like that.


----------



## Maday (Aug 21, 2008)

Kap is looking for distance vs elevation plot. I understand that if he knew Java he wouldn't be here asking the question.

But if he converts the variable names from java to cell values in excel he can do that pretty quickly.

I think the problem will be that elevation isn't very accurate and jumps around. So he will need to manipulate the data a little further to smooth out the highs and lows (bumps).


----------



## kapusta (Jan 17, 2004)

Looked into doing this with Excel and actually it is pretty easy if you also use the GPS Visualizer site.

First of all, I had already used topofusion to clean up the tracks and replace the elevation with DEM elevation data.

I then took the gpx file and uploaded it to GPS Visualizer's tool for converting a gpx file into a CSV file:
GPS Visualizer: Convert GPS files to plain text or GPX
I checked the box to include distance.

The CSV file when opened in Excel has a column for total distance. So all I had to do was make a chart of distance vs elevation.

Unfortunately you can't just save an Excel chart as a separate image. So...
I copied and pasted the chart as an image in Excel, 
then copied and pasted that image into Photoshop 
Then I saved the image as a jpeg

I did not play around with the graph formatting much in Excel, but here it is in a pretty basic form. Whether I can get this to really look the way I want is going to determine if I want to use this method. Visually I prefer the look of the National Geo software, and that is something I have not tried to do with excel, but I am a little doubtful it will do that. Maybe in the end I will just suck it up and buy National Geo Topo, but I am going to see if I can make this work.


----------



## Cotharyus (Jun 21, 2012)

Disclaimer: I don't know if QGIS does this or not.

I have considered more than once the ESRI license, but I'd still need spatial profiler. Instead of paying, I've just been using QGIS. It's not perfect. It is pretty good, and it's free. So if it doesn't suit you, you can delete it and move on, all it's cost you is time.


----------



## kapusta (Jan 17, 2004)

evasive said:


> I make profiles regularly. I found a site that will take a GPX or KML and plot it, and also gives you the option of pulling the XY data back out as a CSV file.
> 
> http://www.geocontext.org/publ/2010/04/profiler/en/


I looked into that. This may be a stupid question, but how do you save a decent quality image of that profile? It looks like it is made to embed in a website.

Thanks


----------



## evasive (Feb 18, 2005)

kapusta said:


> I looked into that. This may be a stupid question, but how do you save a decent quality image of that profile? It looks like it is made to embed in a website.
> 
> Thanks


You're probably right. I just use it for the CSV tables. I might look into using the site you linked since it provides cumulative distance. That saves me a calculation.

Here's a better view of one of the profiles from Grapher. The fill and axis options are really nice. It's an awesome program if your work requires much graphing. I have an Editor-level home use license from Esri for $50/year, but have to do the profiles over my lunch break.










In my case, I'm commonly mapping race courses from multiple KMLs or GPXs, and every local partner is a little different in terms of capability, so I have to jump through a few hoops. But if you already have a GPX of the route, Garmin Connect and Strava each make attractive profiles that you can pull or capture off their sites. I used to just do that for races where I could go pre-ride the course. Time in the saddle beats time at the PC.

Garmin Connect:









Strava:


----------



## UncleTrail (Sep 29, 2007)

kapusta said:


> I am looking for a free/cheap application or software for creating good elevation profiles (from a gpx file) that I can export in a reasonably attractive format (jpg, png.....)to insert on a paper map.


Probably not as fancy as you are looking for but I have found this program very useful for working with GPS data from many different devices. It has a "view > altitude profile" function, from which you can do a screencapture and then import into photoshop.

Trackmaker
TrackMaker - GPS Software and Automatic Vehicle Location Modules


----------



## slocaus (Jul 21, 2005)

Look at my reply to your same post in the GPS forum for a simple solution.


----------



## kapusta (Jan 17, 2004)

In case anyone is interested, I did find info on an excel cell equation that will calculate the distance between two coordinates:
BlueMM: Excel formula to calculate distance between 2 latitude, longitude (lat/lon) points (GPS positions)

I was looking at that before I found that GPS Visualizer could do it for me..... but it is interesting stuff.... if you are dork like me.


----------



## kapusta (Jan 17, 2004)

In case anyone is interested, I did the following in excel:


----------



## Harold (Dec 23, 2003)

kapusta said:


> In case anyone is interested, I did the following in excel:
> 
> View attachment 1059268


IMO, that is pretty outstanding for an excel output


----------



## kapusta (Jan 17, 2004)

Harold said:


> IMO, that is pretty outstanding for an excel output


Thanks!

I got the trick for filling in under the curve (for an x/y scatter chart) from here: Fill Under or Between Series in an Excel XY Chart - Peltier Tech Blog

The guy does some pretty amazing charts with Excel in his blog. Looks like he also sells add-ins for excel to give it better chart capabilities.


----------



## evasive (Feb 18, 2005)

Harold said:


> IMO, that is pretty outstanding for an excel output


Agreed.


----------

