I have imported a .gpx file into ArcMap as a point feature class. Each feature has a Point z as well as a DateTime. I want to create a graph that shows speed as a function of distance. How do I do this?

1 Answer 1


I did a presentation a few years ago where I developed a tool to take GPX points and create a line featureclass by rows where the speed is indicated as an attribute. You can symbolize the output by that field in ArcMap. Natural breaks seems to symbolize it well.

I just uploaded the tool to arcgis.com, you can download it here.

After you get the line, you can use the line as input to a graph from the View > Graph menu (in ArcMap). Or you can use the Feature Vertices to Points tool to turn the line back into points with the speed attribute attached and turn those into a graph. Your value field will be speed

Alternatively, you can hack the script or write you own code as you know the most important part to finding speed: distance / time

  • Just out of curiosity - and I have not examined the code, but did you take in effect slope to calculate your true distance and therefore speed from point to point?
    – evv_gis
    May 29, 2015 at 20:50
  • If you mean using the haversine formula, such as the one found here: movable-type.co.uk/scripts/latlong.html - then yes
    – KHibma
    May 29, 2015 at 20:53
  • No, the haversine formula is accounting for point to point travel over a sphere. What I was referring to is how slope changes the distance between two points because it includes a third dimension. See here. Essentially using Pythagorean Theorem from point to point.
    – evv_gis
    May 29, 2015 at 21:09
  • 1
    Ah, I see. No, dont take that into account. Without any facts, my personal opinion is most time points are collected so closely together haversine and taking into account for slope wont change the final speed by anything of consequence.
    – KHibma
    May 29, 2015 at 21:15
  • 1
    @Andy please do share your results if you enhance it. ChrisW had some interesting points but would be neat to see actual differences in the two outputs (if any, how much)
    – KHibma
    May 30, 2015 at 18:24

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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