geoprimsField-grade geospatial math

Profile grade analysis

The grade of every segment along an elevation profile, the steepest and average grade, total climb and descent, and each segment steeper than your limit flagged.

Experimental: not yet fully verified. How results are checked

11

The steepest grade is 11%, the average 4.67%. 1 segment is over the limit.

Segments
FromToGradeOver the limit
0.000 ft100.000 ft6.00no
100.000 ft200.000 ft11.00yes
200.000 ft300.000 ft-3.00no
Average grade
Total climb
Total descent
Segments over the limit
Provenance
Computed by
survey.earthwork.profile-grades 1.0.0, core 0.1.0
Model
Grade of each segment = Δelevation / Δdistance × 100; average = (last − first elevation) / total distance × 100; climb and descent are the sums of positive and negative Δelevation
Accuracy
Exact for the points given; grades between them are assumed uniform
Notes
1 shown with the answer
Cites
Ghilani, C. D., and Wolf, P. R., Pearson, Elementary Surveying: An Introduction to Geomatics

Something look off?

Your values

Showing an example. Change anything.
Run many at once from a CSV

Loading…

11% over limitDistance → · heights ×9.7Elevation ↑Steepest 11%
How we got thisFormula, worked example, sources, and proof

Model: Grade of each segment = Δelevation / Δdistance × 100; average = (last − first elevation) / total distance × 100; climb and descent are the sums of positive and negative Δelevation

Accuracy: Exact for the points given; grades between them are assumed uniform

Worked example: A trail profile against an 8% limit. Source: add-survey-suite grade-threshold scenario: the 11% segment is flagged. It is golden test vector v001, and every build checks the tool still gives its answer within its tolerance.

You enter

Grade limit
8
Profile
0 ft, 400 ft 100 ft, 406 ft 200 ft, 417 ft 300 ft, 414 ft

You get

Steepest grade
11
Average grade
4.67
Total climb
17 ft
Total descent
3 ft
Segments over the limit
1

Review: Not yet independently reviewed by a licensed surveyor.

Last verified: 2026-09-23, when a maintainer last confirmed this tool's sources at the issuer. See the sources ledger.

Status: version 1.0.0, core 0.1.0. See this tool in the verification report.

Checked against: 6 golden test vectors (download the test vectors, each with its source and tolerance). See how results are checked and every source.

Sources

Experimental means this tool has not yet met the stable bar: at least 20 golden vectors, differential tests, and an independent worked example.