Bike Forums > Formula for calculating percent grade/rise on a street?
 Register All Albums Elite Membership Forum Rules Calendar Search Today's Posts Mark Forums Read

 General Cycling Discussion Have a cycling related question or comment that doesn't fit in one of the other specialty forums? Drop on in and post in here! When possible, please select the forum above that most fits your post!

 06-09-04, 06:00 PM #1 foehn Senior Member Thread Starter   Join Date: Feb 2003 Location: The Alta Loma area of Rancho Cucamonga. About 45 miles east of Los Angeles, California. Uphill, downhill and across hill riding; not too level! Bikes: Posts: 1,329 Mentioned: 0 Post(s) Tagged: 0 Thread(s) Quoted: 0 Post(s) Formula for calculating percent grade/rise on a street? I know the distance and I know the rise in altitude for that distance. How do I calculate the grade? Thanks!
 06-09-04, 09:31 PM #2 Chris L Every lane is a bike lane     Join Date: Apr 2000 Location: Gold Coast, Queensland, Australia - passionfruit capital of the universe! Bikes: Posts: 9,636 Mentioned: 0 Post(s) Tagged: 0 Thread(s) Quoted: 2 Post(s) Divide the rise in altitude by the distance. The answer is usually expressed as a percentage. __________________ "I am never going to flirt with idleness again" - Roy Keane "We invite everyone to question the entire culture we take for granted." - Manic Street Preachers. My blog. My bike tours. Japan tour page under construction.
06-10-04, 10:08 AM   #3
foehn
Senior Member

Join Date: Feb 2003
Location: The Alta Loma area of Rancho Cucamonga. About 45 miles east of Los Angeles, California. Uphill, downhill and across hill riding; not too level!
Bikes:
Posts: 1,329
Mentioned: 0 Post(s)
Quoted: 0 Post(s)
Quote:
 Originally Posted by Chris L Divide the rise in altitude by the distance. The answer is usually expressed as a percentage.
Thanks, that's what I thought it was, I just wasn't sure. . .

06-10-04, 10:37 AM   #4
ExMachina
Senior, Senior Member

Join Date: Jan 2004
Location: Nashville, TN
Bikes: "MyBike" (metamorphosed Trek 2200)
Posts: 662
Mentioned: 0 Post(s)
Quoted: 0 Post(s)
Quote:
 Originally Posted by Chris L Divide the rise in altitude by the distance. The answer is usually expressed as a percentage.
Not exactly. Assuming that by "distance" the poster is referring to distance travelled, the correct formula is as follows:

Of course the the ascii slope below is waaay out of proportion, but anyway...

......... /|
........./.|
...D../...| (rise)
...../.....|
.../.......|
./______|
(run)

D (distance up the slope) is what your odometer reads and the rise (altitude gain) you get from an altimeter or topo map

BTW--%grade can be *very* confusing because it can go from zero to infinity (not what you'd think of for something expressed as a percentage); it took me a while to get this fact throught my thick skull

Last edited by ExMachina; 06-10-04 at 10:51 AM.

06-10-04, 11:12 AM   #5
CrimsonCyclist
Lost in Boston

Join Date: Jun 2004
Bikes:
Posts: 61
Mentioned: 0 Post(s)
Quoted: 0 Post(s)
Quote:
 Originally Posted by ExMachina Not exactly. Assuming that by "distance" the poster is referring to distance travelled, the correct formula is as follows: Of course the the ascii slope below is waaay out of proportion, but anyway... ......... /| ........./.| ...D../...| (rise) ...../.....| .../.......| ./______| (run) %grade=100* rise/run D (distance up the slope) is what your odometer reads and the rise (altitude gain) you get from an altimeter or topo map therefore: %grade= 100*tan[arcsin(rise/D)] BTW--%grade can be *very* confusing because it can go from zero to infinity (not what you'd think of for something expressed as a percentage); it took me a while to get this fact throught my thick skull
The above formula is absolutely correct. However, for most roads you can estimate (run) by just using D because D will be only slightly longer than (run).

For example, let's say there's a 15% hill. If you simply use rise/D, you'll get 14.8% or so. If there's a 20% hill, you'll get 19.6%. You'll consistently underestimate the slope, but it's not too far off.

Of course the steeper the hill, the more your estimation will deviate from the correct one, but for anything less than 20%, you can just use rise/D.

06-10-04, 11:36 AM   #6
jfmckenna
Tiocfáidh ár Lá

Join Date: Dec 2003
Location: The edge of b#
Bikes: A whole bunch-a bikes.
Posts: 5,444
Mentioned: 1 Post(s)
Quoted: 179 Post(s)
Quote:
 Originally Posted by ExMachina Not exactly. Assuming that by "distance" the poster is referring to distance travelled, the correct formula is as follows: Of course the the ascii slope below is waaay out of proportion, but anyway... ......... /| ........./.| ...D../...| (rise) ...../.....| .../.......| ./______| (run) %grade=100* rise/run D (distance up the slope) is what your odometer reads and the rise (altitude gain) you get from an altimeter or topo map therefore: %grade= 100*tan[arcsin(rise/D)] BTW--%grade can be *very* confusing because it can go from zero to infinity (not what you'd think of for something expressed as a percentage); it took me a while to get this fact throught my thick skull

does the arcsin(rise/D) estimate a straight line for the hypotneuse?

06-10-04, 11:36 AM   #7
ExMachina
Senior, Senior Member

Join Date: Jan 2004
Location: Nashville, TN
Bikes: "MyBike" (metamorphosed Trek 2200)
Posts: 662
Mentioned: 0 Post(s)
Quoted: 0 Post(s)
Quote:
 Originally Posted by CrimsonCyclist The above formula is absolutely correct. However, for most roads you can estimate (run) by just using D because D will be only slightly longer than (run).
Yes, for small angles (<17 degrees) the sine and the tangent remain very similar.

Moreover, since the "D" value will usually be magnitudes more-precise than your "rise" value, any calculations will be ballpark anyway.

A much more accurate way to measure %grade is by using an inclinometer, and taking the tangent of that angle (*100)

06-10-04, 11:38 AM   #8
ExMachina
Senior, Senior Member

Join Date: Jan 2004
Location: Nashville, TN
Bikes: "MyBike" (metamorphosed Trek 2200)
Posts: 662
Mentioned: 0 Post(s)
Quoted: 0 Post(s)
Quote:
 Originally Posted by jfmckenna does the arcsin(rise/D) estimate a straight line for the hypotneuse?
It gives you the angle of incline. %grade is really just the tangent of the angle multiplied by 100

06-10-04, 11:47 AM   #9
jfmckenna
Tiocfáidh ár Lá

Join Date: Dec 2003
Location: The edge of b#
Bikes: A whole bunch-a bikes.
Posts: 5,444
Mentioned: 1 Post(s)
Quoted: 179 Post(s)
Quote:
 Originally Posted by ExMachina It gives you the angle of incline. %grade is really just the tangent of the angle multiplied by 100
Oh ok I see it

06-10-04, 11:53 AM   #10
Avalanche325
Senior Member

Join Date: Apr 2003
Bikes: Litespeed Firenze / GT Avalanche
Posts: 3,162
Mentioned: 0 Post(s)
Quoted: 0 Post(s)
Quote:
 Of course the the ascii slope below is waaay out of proportion, but anyway... ......... /| ........./.| ...D../...| (rise) ...../.....| .../.......| ./______| (run) %grade=100* rise/run D (distance up the slope) is what your odometer reads and the rise (altitude gain) you get from an altimeter or topo map
You can calculate the run if you know D and the rise. Probably not in your head though.
On a right triangle, which is what you have here, the sum of the squares of the two sides is equal to the square of the hypotinuse. Asquared + Bsquared = Csquared. OR run squared + rise squared = D squared.

You know the distance (D), you know the Rise. You don't know the Run. So: D sq - Rise sq = Run sq.

So if the rise was 100ft, and the distance was 500ft. Run sq = 500sq - 100sq.
Run sq = 250,000 - 10,000
Run sq = 240,000
Run = 489.9 ft

06-10-04, 12:15 PM   #11
jfmckenna
Tiocfáidh ár Lá

Join Date: Dec 2003
Location: The edge of b#
Bikes: A whole bunch-a bikes.
Posts: 5,444
Mentioned: 1 Post(s)
Quoted: 179 Post(s)
Quote:
 Originally Posted by Avalanche325 You can calculate the run if you know D and the rise. Probably not in your head though. On a right triangle, which is what you have here, the sum of the squares of the two sides is equal to the square of the hypotinuse. Asquared + Bsquared = Csquared. OR run squared + rise squared = D squared. You know the distance (D), you know the Rise. You don't know the Run. So: D sq - Rise sq = Run sq. So if the rise was 100ft, and the distance was 500ft. Run sq = 500sq - 100sq. Run sq = 250,000 - 10,000 Run sq = 240,000 Run = 489.9 ft
Oh yea pythagorean theorem. Wow I have'nt done Euclidean Geometry in a long time.

 06-10-04, 12:15 PM #12 Brillig Bananaed     Join Date: Feb 2003 Location: Philly-ish Bikes: 2001 Lemond Nevada City (only the frame remains) Posts: 6,426 Mentioned: 0 Post(s) Tagged: 0 Thread(s) Quoted: 0 Post(s) 1. Ride to the top of the hill. 2. Tunnel straight down to the same altitude you were at the beginning. Paint the entire inside of this tunnel red. 3. Tunnel back out to where you started. Paint the entire inside of this tunnel blue. Calculating the distance of the tunnels based on the amount of paint you used, divide red distance over blue distance and voila! __________________ If once a man indulges himself in murder, very soon he comes to think little of robbing; and from robbing he comes next to drinking and Sabbath-breaking, and from that to incivility and procrastination. - Thomas De Quincey
06-10-04, 12:19 PM   #13
ExMachina
Senior, Senior Member

Join Date: Jan 2004
Location: Nashville, TN
Bikes: "MyBike" (metamorphosed Trek 2200)
Posts: 662
Mentioned: 0 Post(s)
Quoted: 0 Post(s)
Quote:
 Originally Posted by Brillig 1. Ride to the top of the hill. 2. Tunnel straight down to the same altitude you were at the beginning. Paint the entire inside of this tunnel red. 3. Tunnel back out to where you started. Paint the entire inside of this tunnel blue. Calculating the distance of the tunnels based on the amount of paint you used, divide red distance over blue distance and voila!
Yes, there is that method too.

 06-10-04, 12:37 PM #14 madpogue My own worst nightmare   Join Date: Jan 2004 Location: Madison, WI USA Bikes: Posts: 1,237 Mentioned: 0 Post(s) Tagged: 0 Thread(s) Quoted: 0 Post(s) Don't forget to take into account the difference in coverage per unit volume of red paint vs. blue paint. Besides, red for a mostly-vertical space like the down-tunnel is so not feng shui.
06-10-04, 04:39 PM   #15
foehn
Senior Member

Join Date: Feb 2003
Location: The Alta Loma area of Rancho Cucamonga. About 45 miles east of Los Angeles, California. Uphill, downhill and across hill riding; not too level!
Bikes:
Posts: 1,329
Mentioned: 0 Post(s)
Quoted: 0 Post(s)
Quote:
 Originally Posted by ExMachina . . . %grade=100* rise/run D (distance up the slope) is what your odometer reads and the rise (altitude gain) you get from an altimeter or topo map therefore: %grade= 100*tan[arcsin(rise/D)] BTW--%grade can be *very* confusing because it can go from zero to infinity (not what you'd think of for something expressed as a percentage); it took me a while to get this fact throught my thick skull
Dangit, I never took trig.

I guess my biggest problem in figuring out the grades of some of the hills around here is the fact that what I calculate from the distance I travel up them and what I find the rise to be (from www.bikemetro.com) doesn't seem to be what I see from looking at the actual route as I travel it.

It seems to me from looking at the tops of block walls, which on one particularly steep street look to be level, and running an imaginary line out from the street level with the top of the block wall for 100 feet that the drop to the lower part of the street is much bigger than the calculation of the slope gives when I use the rise divided by distance traveled method.

For instance, the hill in particluar has a distance traveled of .49 miles (2910 ft) and the rise given me is 253 ft, so when 253 is divided by 2910 gives about a 9% grade, rounded up (0.0869415). When I look at the hill, no way is it dropping (or rising) only 9 feet per hundred feet, it lookes to be dropping much, much more, like at least 12 feet/hundred.

Maybe I am figuring something wrong, or my eyeballin' of the hill is way out of whack?

Quote:
 Originally Posted by Avalanche325 You can calculate the run if you know D and the rise. Probably not in your head though. On a right triangle, which is what you have here, the sum of the squares of the two sides is equal to the square of the hypotinuse. Asquared + Bsquared = Csquared. OR run squared + rise squared = D squared. You know the distance (D), you know the Rise. You don't know the Run. So: D sq - Rise sq = Run sq. So if the rise was 100ft, and the distance was 500ft. Run sq = 500sq - 100sq. Run sq = 250,000 - 10,000 Run sq = 240,000 Run = 489.9 ft
And this calculation requires me to figure out the square root of a number. Jeeze, I forgot how to figure that out about 30 years ago, right after I didn't learn it all the way!

Quote:
 Originally Posted by Brillig 1. Ride to the top of the hill. 2. Tunnel straight down to the same altitude you were at the beginning. Paint the entire inside of this tunnel red. 3. Tunnel back out to where you started. Paint the entire inside of this tunnel blue. Calculating the distance of the tunnels based on the amount of paint you used, divide red distance over blue distance and voila!
So could I do the above for just a section of the street, cuz it is pretty much an even grade all the way up? Come over saturday and you can help me out with it--din-din and beer included?

Maybe I'll just have to ask for an inclinometer for my birthday. . .!

06-10-04, 05:40 PM   #16
Avalanche325
Senior Member

Join Date: Apr 2003
Bikes: Litespeed Firenze / GT Avalanche
Posts: 3,162
Mentioned: 0 Post(s)
Quoted: 0 Post(s)
Quote:
 1. Ride to the top of the hill. 2. Tunnel straight down to the same altitude you were at the beginning. Paint the entire inside of this tunnel red. 3. Tunnel back out to where you started. Paint the entire inside of this tunnel blue. Calculating the distance of the tunnels based on the amount of paint you used, divide red distance over blue distance and voila!
Yeah, but that's the OLD way.

Quote:
 And this calculation requires me to figure out the square root of a number. Jeeze, I forgot how to figure that out about 30 years ago, right after I didn't learn it all the way!
Today, it's just a click away.

 06-10-04, 05:57 PM #17 Zin On your what?!?     Join Date: Oct 2003 Location: Lakewood, CO Bikes: Posts: 2,317 Mentioned: 0 Post(s) Tagged: 0 Thread(s) Quoted: 0 Post(s) Oh my. I have a headache after reading this thread. In my world: 0101010101011100110101010101010101010101010101010101001010101010101010 Ahhh, thats better..
 06-11-04, 09:52 AM #18 foehn Senior Member Thread Starter   Join Date: Feb 2003 Location: The Alta Loma area of Rancho Cucamonga. About 45 miles east of Los Angeles, California. Uphill, downhill and across hill riding; not too level! Bikes: Posts: 1,329 Mentioned: 0 Post(s) Tagged: 0 Thread(s) Quoted: 0 Post(s) Maybe my eyeballin' wasn't so out of whack after all. Yesterday I rode up the hill that looks sooooo steep to me and I ended up talking to a friend that lives up there. Turns out her husband has figured the hill to be somewhere in the 19% range. I couldn't ride it straight up without stopping, but I turned of on every cross street and rode briefly to catch my breath then continued upward; I never stopped and never got off the bike. Good short interval training, I guess. Next purchase: an inclinometer. . .
 06-12-04, 03:26 AM #19 capsicum Evil Genius     Join Date: May 2004 Location: Sumner, WA Bikes: '92 novara ponderosa, '74 schwinn le tour, Novara fusion, novara transfer, novara randonee(2), novara careema pro, novara bonita(2). Posts: 1,529 Mentioned: 0 Post(s) Tagged: 0 Thread(s) Quoted: 1 Post(s) I have a compass that has both angle and percent grade. \$50 but it has all the actual compass functions I was looking for for my adventure racing, the inclinometer part was just icing that I use for Xcountry skiing. I'm sure there are much cheaper inclineometers if you arn't looking for a high falutin' compass. For a rough easy quick estimate use elevation change / road distance *100 = % grade The steeper it gets the less acurate; 0.4% off at a true 20%, 1.25% off at a true 30% grade[the formula will give 28.75%], and 3% off at a true 40%[result will be 37%])
06-12-04, 09:34 AM   #20
foehn
Senior Member

Join Date: Feb 2003
Location: The Alta Loma area of Rancho Cucamonga. About 45 miles east of Los Angeles, California. Uphill, downhill and across hill riding; not too level!
Bikes:
Posts: 1,329
Mentioned: 0 Post(s)
Quoted: 0 Post(s)
Quote:
 Originally Posted by capsicum I have a compass that has both angle and percent grade. \$50 but it has all the actual compass functions I was looking for for my adventure racing, the inclinometer part was just icing that I use for Xcountry skiing. I'm sure there are much cheaper inclineometers if you arn't looking for a high falutin' compass. For a rough easy quick estimate use elevation change / road distance *100 = % grade The steeper it gets the less acurate; 0.4% off at a true 20%, 1.25% off at a true 30% grade[the formula will give 28.75%], and 3% off at a true 40%[result will be 37%])

I think the problem here is that whatever that Bikemetro.com uses as it's source for feet gained/lost is not really accurate as getting out on the road and looking at it. And I'll vouch for the inaccuracy of the rough estimate method you mention above!

 06-15-04, 02:39 AM #21 capsicum Evil Genius     Join Date: May 2004 Location: Sumner, WA Bikes: '92 novara ponderosa, '74 schwinn le tour, Novara fusion, novara transfer, novara randonee(2), novara careema pro, novara bonita(2). Posts: 1,529 Mentioned: 0 Post(s) Tagged: 0 Thread(s) Quoted: 1 Post(s) So get an altimeter, check at the botom and top of the hill, within an hour so weather changes don't give false readings, subtract bottom from top and bam an acurate elevation change.
 08-06-04, 07:44 PM #22 sorebutt Über member!     Join Date: Sep 2001 Location: Sunnyvale, CA. Bikes: 2004 Albert Eisentraut Posts: 993 Mentioned: 0 Post(s) Tagged: 0 Thread(s) Quoted: 0 Post(s) I had to run an Excel spreadsheet for climb calculation.. Here is the formula in excel terms.. Code: `=100*tan(asin(vertical climb/length of road))` substitute the "vertical climb" and "the length of road" with the cell locations where they are stored... Code: `=100*TAN(ASIN(A42/B42))` ex: A42 is the cell where the vertical value is stored , and B42 is the road distance is stored (both must be in the same unit ex. feet).. Have fun.. If anyone wants an actual spreadsheet, please let me know and Ill post en example here..