Horizontal circular curve
All elements of a simple circular curve (radius, deflection, tangent, length, chord, external, middle ordinate, degree of curve) from any two, with and stations.
A published result changed on 2026-09-19: The horizontal curve, vertical curve, and area by coordinates are now stable, so their results no longer carry the EXPERIMENTAL_TOOL warning; the legacy-unit warning on area moved to the first position. They match FM 5-233 (Army Construction Surveying), the Indiana Design Manual vertical-curve example, and Wikipedia's shoelace example. No numbers changed. Changelog
The curve has tangent 133.975 ft, length 261.799 ft, and long chord 258.819 ft.
- Deflection Δ
- Tangent T
- Curve length L
- Long chord C
- External E
- Middle ordinate M
Provenance
- Computed by
- survey.curves.circular-curve 1.0.0, core 0.1.0
- Model
- T = R·tan(Δ/2), L = R·Δ, C = 2R·sin(Δ/2), E = R(sec(Δ/2) − 1), M = R(1 − cos(Δ/2)); D(arc) = 5,729.578/R ft, sin(D(chord)/2) = 50/R ft; PT station = PC + L along the arc
- Accuracy
- Exact; two given elements other than R and Δ are solved by bisection to 1e-15 relative
- Notes
- None
- Cites
- Ghilani, C. D., and Wolf, P. R., Pearson, Elementary Surveying: An Introduction to Geomatics
Something look off?
How we got thisFormula, worked example, sources, and proof
Model: T = R·tan(Δ/2), L = R·Δ, C = 2R·sin(Δ/2), E = R(sec(Δ/2) − 1), M = R(1 − cos(Δ/2)); D(arc) = 5,729.578/R ft, sin(D(chord)/2) = 50/R ft; PT station = PC + L along the arc
Show your work
Radius
R = the radius the two given elements fixfrom radius and delta= 500 ftTangent
500 ft × tan(30° / 2)= 133.975 ftCurve length
L = R × Δ in radians500 ft × 0.523599 rad= 261.799 ft
The same steps an agent gets from the MCP server with explain: true.
Accuracy: Exact; two given elements other than R and Δ are solved by bisection to 1e-15 relative
When to use this: Use this to work out a simple horizontal curve from whichever two elements you have: radius and deflection, tangent and degree of curve, chord and external, and so on. It returns every other element with the PC and PT stations, which is what staking and plan checking need.
Limitations: It describes one simple circular curve: no spiral transitions, no compound or reverse curves, and no superelevation or sight distance, which have their own tools and design tables. Both degree-of-curve definitions are given because the arc and chord definitions differ; use the one your agency's standard names.
Worked example: R = 500 ft, Δ = 30°. Source: add-survey-suite scenario: T 133.975, L 261.799, C 258.819, E 17.638, M 17.037 ft.
You enter
- Deflection Δ
- 30 deg
- PI station
- 12+34.56
- Radius R
- 500 ft
You get
- Radius R
- 500 ft
- Deflection Δ
- 30°
- Tangent T
- 133.975 ft
- Curve length L
- 261.799 ft
- Long chord C
- 258.819 ft
- External E
- 17.638 ft
- Middle ordinate M
- 17.037 ft
- Degree of curve (arc)
- 11.4592°
- Degree of curve (chord)
- 11.4783°
- PC station
- 11+00.59
- PT station
- 13+62.38
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.
Changes
- 2026-09-19, result change: The horizontal curve, vertical curve, and area by coordinates are now stable, so their results no longer carry the EXPERIMENTAL_TOOL warning; the legacy-unit warning on area moved to the first position. They match FM 5-233 (Army Construction Surveying), the Indiana Design Manual vertical-curve example, and Wikipedia's shoelace example. No numbers changed. Changelog
- 2026-09-19, fixed: The circular curve now solves from any two elements in every case: external with middle ordinate failed (the formulas lost all precision near zero), and a tangent with a middle ordinate, which fit two different curves, could fail or pick one silently. It now returns the flatter curve and names the other with AMBIGUOUS_INPUT. A chord-definition degree of curve (degree_chord) is accepted as an input, as the survey spec requires. Changelog
- 2026-09-19, fixed: An input so small that it rounds to zero in meters (like 5e-324 ft) is now refused as out of range for every tool, instead of being treated as zero; bounds fuzzing found it through the circular-curve tool. A non-positive curve element is now reported on the field that holds it. Changelog
Checked against: 20 golden test vectors (download the test vectors, each with its source and tolerance). See how results are checked and every source.
Sources
- Elementary Surveying: An Introduction to Geomatics, Ghilani, C. D., and Wolf, P. R., Pearson, 16th edition. Chapters 10 (traverse computations), 12 (area), 24 (horizontal curves), 25 (vertical curves), 26 (volumes).
Terms
- PC: point of curvature
- On a horizontal curve, where the curve leaves the back tangent. Source: Elementary Surveying: An Introduction to Geomatics
- PI: point of intersection
- On a horizontal curve, where the two straight tangents would meet. Source: Elementary Surveying: An Introduction to Geomatics
- PT: point of tangency
- On a horizontal curve, where the curve joins the forward tangent. Source: Elementary Surveying: An Introduction to Geomatics
PC — point of curvature
On a horizontal curve, where the curve leaves the back tangent.
Source: Elementary Surveying: An Introduction to Geomatics
PT — point of tangency
On a horizontal curve, where the curve joins the forward tangent.
Source: Elementary Surveying: An Introduction to Geomatics
Learn the concept: Horizontal curves explained