{"id":59995,"date":"2017-01-06T09:41:18","date_gmt":"2017-01-06T07:41:18","guid":{"rendered":"https:\/\/wpcalc.com\/?p=59995"},"modified":"2026-09-30T18:43:46","modified_gmt":"2026-09-30T15:43:46","slug":"elevation-point-of-vertical-curve","status":"publish","type":"post","link":"https:\/\/wpcalc.com\/en\/engineering\/elevation-point-of-vertical-curve\/","title":{"rendered":"Vertical Curve Elevation Point Calculator"},"content":{"rendered":"<section class=\"not-prose calculator-box\" aria-labelledby=\"calculator-title\"><div class=\"flex items-baseline sm:items-center justify-between gap-2 sm:gap-3\"><div class=\"flex flex-col sm:flex-row sm:items-center gap-2\"><span class=\"icon icon-calculator text-primary-700! text-base! dark:text-primary-300!\" aria-hidden=\"true\"><\/span><h2 id=\"calculator-title\" class=\"text-lg font-display font-bold\">Calculate Elevation on a Vertical Parabolic Curve<\/h2><\/div><div class=\"calcdash-favorite group\">\n  <button type=\"button\" class=\"favorite\" id=\"favorite\" data-favorite-id=\"59995\" data-favorite-title=\"Elevation Point of Vertical Curve\" data-favorite-url=\"https:\/\/wpcalc.com\/en\/engineering\/elevation-point-of-vertical-curve\/\" data-favorite-excerpt=\"Find the elevation at any point along a parabolic vertical curve. Enter the distance from the PVC, the initial and final grades, the curve length, and the PVC elevation to get the exact elevation y in feet.\" aria-label=\"Add to Favorites\" data-favorite-icon=\"icon icon-civil\">\n    <span class=\"icon icon-shape-star-empty\" aria-hidden=\"true\"><\/span>\n  <\/button>\n  <div class=\"calcdash-favorite__tip\" aria-hidden=\"true\">\n   <span class=\"favorite-tooltip\" id=\"favorite-tooltip\"><\/span>\n  <\/div>\n  <span class=\"sr-only\" role=\"status\" id=\"favorite-status\"><\/span>\n<\/div><\/div><form action=\"https:\/\/wpcalc.com\/en\/engineering\/elevation-point-of-vertical-curve\/\" method=\"POST\" class=\"calculator\" id=\"calculator-59995\" data-post=\"59995\"><fieldset class=\"fieldset-input\"><legend class=\"sr-only\">Input Fields<\/legend><div class=\"field has-term\" id=\"input-1\"><label for=\"field-1\">Distance<\/label><div class=\"term\">x<\/div>  <div class=\"absolute bottom-0 left-16 top-8 w-2 h-0.5 bg-blue-500\"><\/div><input type=\"number\" name=\"distance\" id=\"field-1\" aria-describedby=\"calc-unit-1\" step=\"0.01\" value=\"50\"\/><div class=\"unit\" id=\"calc-unit-1\">ft<\/div><\/div><div class=\"field has-term\" id=\"input-2\"><label for=\"field-2\">Initial Grade<\/label><div class=\"term\">g\u2081<\/div>  <div class=\"absolute bottom-0 left-16 top-8 w-2 h-0.5 bg-blue-500\"><\/div><input type=\"number\" name=\"initial_grade\" id=\"field-2\" step=\"0.01\" value=\"0.03\"\/><\/div><div class=\"field has-term\" id=\"input-3\"><label for=\"field-3\">Final Grade<\/label><div class=\"term\">g\u2082<\/div>  <div class=\"absolute bottom-0 left-16 top-8 w-2 h-0.5 bg-blue-500\"><\/div><input type=\"number\" name=\"final_grade\" id=\"field-3\" step=\"0.01\" value=\"-0.01\"\/><\/div><div class=\"field has-term\" id=\"input-4\"><label for=\"field-4\">Length of vertical curve<\/label><div class=\"term\">L<\/div>  <div class=\"absolute bottom-0 left-16 top-8 w-2 h-0.5 bg-blue-500\"><\/div><input type=\"number\" name=\"length_of_vertical_curve\" id=\"field-4\" aria-describedby=\"calc-unit-4\" step=\"1\" value=\"200\"\/><div class=\"unit\" id=\"calc-unit-4\">ft<\/div><\/div><div class=\"field has-term\" id=\"input-5\"><label for=\"field-5\">Initial Elevation epvc<\/label><div class=\"term\">epvc<\/div>  <div class=\"absolute bottom-0 left-16 top-8 w-2 h-0.5 bg-blue-500\"><\/div><input type=\"number\" name=\"initial_elevation_epvc\" id=\"field-5\" aria-describedby=\"calc-unit-5\" step=\"0.01\" value=\"100\"\/><div class=\"unit\" id=\"calc-unit-5\">ft<\/div><\/div><\/fieldset><div class=\"buttons\"><button type=\"submit\" data-text=\"Re-Calculate\" id=\"calculate-button\" data-post=\"59995\">Calculate<\/button><button type=\"reset\">Reset<\/button><\/div><div class=\"field is-checkbox hidden!\" id=\"field-auto-calc\"><input type=\"checkbox\" id=\"auto-calc\"><label for=\"auto-calc\">Calculate automatically<\/label><small>If enabled, the result will update automatically when you change any value.<\/small><\/div><div class=\"fieldset-result is-hidden\" aria-labelledby=\"result-title\" aria-live=\"polite\" role=\"region\"> <h3 class=\"result-title bg-gradient-to-r from-primary-50 to-gray-50 dark:from-primary-900 dark:to-gray-800\" id=\"result-title\"><span class=\"icon icon-s-pulse\" aria-hidden=\"true\"><\/span> Your Results<\/h3><div class=\"result-box\"><div class=\"field-result\" id=\"output-1\"><span class=\"field-title\"><span>Elevation y<\/span><span class=\"result-term\">y<\/span><\/span><span class=\"field-value\" id=\"result-1\" data-unit=\"ft\"><\/span><button type=\"button\" class=\"copy-result\" data-tooltip=\"Copy Result\" aria-label=\"Copy Result\"><span class=\"copy-icon icon icon-document-copy\" aria-hidden=\"true\"><\/span><\/button><\/div><\/div><div class=\"result-actions\"><button type=\"button\" class=\"copy-link\"><svg viewBox=\"0 0 20 20\" fill=\"currentColor\" aria-hidden=\"true\"><path d=\"M12.232 4.232a2.5 2.5 0 0 1 3.536 3.536l-1.225 1.224a.75.75 0 0 0 1.061 1.06l1.224-1.224a4 4 0 0 0-5.656-5.656l-3 3a4 4 0 0 0 .225 5.865.75.75 0 0 0 .977-1.138 2.5 2.5 0 0 1-.142-3.667l3-3Z\"\/><path d=\"M11.603 7.963a.75.75 0 0 0-.977 1.138 2.5 2.5 0 0 1 .142 3.667l-3 3a2.5 2.5 0 0 1-3.536-3.536l1.225-1.224a.75.75 0 0 0-1.061-1.06l-1.224 1.224a4 4 0 1 0 5.656 5.656l3-3a4 4 0 0 0-.225-5.865Z\"\/><\/svg><span class=\"copy-link__text\">Copy link to this calculation<\/span><\/button><span class=\"sr-only\" role=\"status\" id=\"copy-link-status\"><\/span><\/div><\/div><a href=\"#respond\" class=\"hidden transition-opacity duration-300 opacity-0 w-50 text-sm justify-center items-center gap-2 px-4 py-2 rounded bg-gray-200 text-gray-700 hover:bg-gray-300\" id=\"leave-comment\"><span class=\"icon icon-comments\" aria-hidden=\"true\"><\/span>Leave a Comment<\/a><\/form><\/section><section id=\"calc-reactions\" class=\"not-prose hidden my-12 bg-gradient-to-r from-primary-50 to-gray-50 border border-indigo-100 rounded-xl px-6 py-4 shadow-sm\" data-post=\"59995\" aria-live=\"polite\" aria-labelledby=\"calc-reactions-title\"><p id=\"calc-reactions-title\" class=\"text-sm text-gray-500 text-center mb-2\">How did this result make you feel?<\/p><div role=\"group\" aria-labelledby=\"calc-reactions-title\" class=\"grid grid-cols-3 sm:flex sm:flex-row sm:justify-around gap-4 sm:items-center sm:flex-wrap\"><button type=\"button\" aria-pressed=\"false\" class=\"reaction-btn flex flex-col items-center gap-1 text-sm text-gray-700 hover:text-primary-600 cursor-pointer transition-transform hover:scale-105\" data-reaction=\"like\"><span class=\"reaction-count\" data-reaction-count=\"like\">0<\/span><span class=\"reaction text-3xl\" aria-hidden=\"true\">\ud83d\ude00 <\/span><span class=\"reaction-description font-medium\">Like <\/span><\/button><button type=\"button\" aria-pressed=\"false\" class=\"reaction-btn flex flex-col items-center gap-1 text-sm text-gray-700 hover:text-primary-600 cursor-pointer transition-transform hover:scale-105\" data-reaction=\"helpful\"><span class=\"reaction-count\" data-reaction-count=\"helpful\">0<\/span><span class=\"reaction text-3xl\" aria-hidden=\"true\">\ud83d\udca1 <\/span><span class=\"reaction-description font-medium\">Helpful <\/span><\/button><button type=\"button\" aria-pressed=\"false\" class=\"reaction-btn flex flex-col items-center gap-1 text-sm text-gray-700 hover:text-primary-600 cursor-pointer transition-transform hover:scale-105\" data-reaction=\"confused\"><span class=\"reaction-count\" data-reaction-count=\"confused\">1<\/span><span class=\"reaction text-3xl\" aria-hidden=\"true\">\ud83d\ude15 <\/span><span class=\"reaction-description font-medium\">Confused <\/span><\/button><button type=\"button\" aria-pressed=\"false\" class=\"reaction-btn flex flex-col items-center gap-1 text-sm text-gray-700 hover:text-primary-600 cursor-pointer transition-transform hover:scale-105\" data-reaction=\"disappointed\"><span class=\"reaction-count\" data-reaction-count=\"disappointed\">2<\/span><span class=\"reaction text-3xl\" aria-hidden=\"true\">\ud83d\ude1e <\/span><span class=\"reaction-description font-medium\">Disappointed <\/span><\/button><button type=\"button\" aria-pressed=\"false\" class=\"reaction-btn flex flex-col items-center gap-1 text-sm text-gray-700 hover:text-primary-600 cursor-pointer transition-transform hover:scale-105\" data-reaction=\"inaccurate\"><span class=\"reaction-count\" data-reaction-count=\"inaccurate\">4<\/span><span class=\"reaction text-3xl\" aria-hidden=\"true\">\u274c <\/span><span class=\"reaction-description font-medium\">Inaccurate <\/span><\/button><\/div><div id=\"reaction-message\" class=\"hidden mt-8 rounded-md border border-primary-100 bg-white\/50 backdrop-blur-sm px-4 py-2 text-sm text-center shadow-sm\"><\/div><\/section><div class=\"calcdash-ad not-prose calcdash-ad--calc_result calcdash-ad--in-article\"><ins class=\"adsbygoogle\" style=\"display:block\" data-ad-client=\"ca-pub-1721569815777345\" data-ad-slot=\"6317458308\" data-ad-layout=\"in-article\" data-ad-format=\"fluid\"><\/ins><script>(adsbygoogle = window.adsbygoogle || []).push({});<\/script><\/div>\n<style id=\"wpcoderpro-inline-1\">.formula-box {\r\n\tborder-bottom: none !important;\r\n}<\/style><section class=\"formula-box\" aria-labelledby=\"formula-title\">\r\n\t<div id=\"formula-title\" class=\"not-prose font-display mb-4\"><span class=\"icon icon-formula\" aria-hidden=\"true\"><\/span><h2>Vertical Curve Elevation Formula<\/h2><\/div>\r\n\t<figure class=\"not-prose formula\">\r\n\t\t<figcaption class=\"formula-title\">Formula<\/figcaption>\r\n\t\t<div class=\"text-base text-gray-800\" id=\"formula\">\n\\[ y = EPVC + g_1 x + \\frac{(g_2 - g_1) x^2}{2L} \\]\n<\/div>\r\n\t<\/figure>\r\n\t<\/p>\n<p><strong>Where:<\/strong><\/p>\n<ul>\n<li>\\(y\\) \u2014 elevation of the curve at distance \\(x\\) from the PVC (ft)<\/li>\n<li>\\(EPVC\\) \u2014 elevation at the Point of Vertical Curvature, the start of the curve (ft)<\/li>\n<li>\\(g_1\\) \u2014 initial grade, as a decimal (e.g. 0.03 for +3%)<\/li>\n<li>\\(g_2\\) \u2014 final grade, as a decimal (e.g. -0.01 for -1%)<\/li>\n<li>\\(x\\) \u2014 horizontal distance from the PVC to the point of interest (ft)<\/li>\n<li>\\(L\\) \u2014 total length of the vertical curve, measured horizontally (ft)<\/li>\n<\/ul>\n<p>This is the standard parabolic equation used in highway and railway alignment design. The first two terms give the elevation of the tangent line extended from the PVC; the quadratic term applies the curvature that gradually rotates the grade from \\(g_1\\) to \\(g_2\\) across the length of the curve.<\/p>\n<p>\r\n<\/section>\n<style id=\"wpcoderpro-inline-459\">.calculation-box {\r\n\tborder-bottom: none !important;\r\n}<\/style><section id=\"calculation\" class=\"calculation-box\" aria-labelledby=\"calculation-title\">\r\n\t<div id=\"calculation-title\" class=\"not-prose font-display\"><span class=\"icon icon-unordered-list\" aria-hidden=\"true\"><\/span><h2>Elevation Point of Vertical Curve \u2013 Calculation Example<\/h2><\/div>\r\n\r\n<\/p>\n<p><strong>Example:<\/strong> a crest vertical curve starts at station elevation 100 ft with an initial grade of +3% and a final grade of -1%. The curve is 200 ft long. Find the elevation 50 ft from the PVC.<\/p>\n<p>\\[ y = 100 + (0.03)(50) + \\frac{(-0.01 - 0.03)(50)^2}{2(200)} \\]<\/p>\n<p>\\[ y = 100 + 1.5 + \\frac{(-0.04)(2500)}{400} = 100 + 1.5 - 0.25 \\]<\/p>\n<p><strong>Result:<\/strong> \\(y = 101.25\\) ft. The point lies 0.25 ft below the extended +3% tangent line, which is expected on a crest curve.<\/p>\n<p>\n\r\n<\/section>\n<h2>How to Use the Calculator<\/h2>\n<ol>\n<li>Enter the <strong>Distance<\/strong> \\(x\\) from the Point of Vertical Curvature (PVC) to the point where you need the elevation, in feet. It must be between 0 and the curve length.<\/li>\n<li>Enter the <strong>Initial Grade<\/strong> \\(g_1\\) as a decimal: 3% becomes 0.03, and a downgrade is negative.<\/li>\n<li>Enter the <strong>Final Grade<\/strong> \\(g_2\\) the same way, negative for downgrades.<\/li>\n<li>Enter the <strong>Length of vertical curve<\/strong> \\(L\\) in feet. This is the horizontal length from PVC to PVT, not the arc length.<\/li>\n<li>Enter the <strong>Initial Elevation epvc<\/strong> \u2014 the elevation of the roadway at the PVC, in feet.<\/li>\n<li>Read the result: <strong>Elevation y<\/strong> is the elevation of the curve at your chosen distance, in feet.<\/li>\n<\/ol>\n<h2>What Is the Elevation Point of a Vertical Curve?<\/h2>\n<p>When a road or railway changes from one grade to another, the two tangent grades are joined by a vertical curve \u2014 almost always a parabola in modern design. The curve begins at the Point of Vertical Curvature (PVC) and ends at the Point of Vertical Tangency (PVT), with the Point of Vertical Intersection (PVI) where the two grade lines would meet. The parabolic shape gives a constant rate of change of grade, which produces the smooth, comfortable ride that a simple angular break cannot.<\/p>\n<p>Because the curve deviates from the straight grade lines, the elevation at any station along the curve is not the same as the elevation of either tangent. The equation used by this calculator adds a parabolic correction term \\(\\frac{(g_2 - g_1)x^2}{2L}\\) to the tangent elevation \\(EPVC + g_1 x\\). At \\(x = 0\\) the correction is zero (the curve matches the incoming grade), and at \\(x = L\\) the curve leaves on the outgoing grade \\(g_2\\), so the geometry closes perfectly at both ends.<\/p>\n<p>The result tells a designer or contractor exactly how high the finished pavement, rail, or drainage invert should be at a given station. This is essential for setting construction stakes, checking earthwork quantities, verifying clearance over utilities and drainage, and confirming that headlight sight distance and stopping sight distance criteria are met on crest and sag curves.<\/p>\n<p>The sign of the correction term follows the sign of \\(g_2 - g_1\\). On a crest curve (grade going from positive to negative, or decreasing), the correction is negative and the curve lies <em>below<\/em> the tangents. On a sag curve (grade increasing), the correction is positive and the curve lies <em>above<\/em> the tangents. In the worked example above, the curve is a crest, so the elevation 50 ft in is slightly lower than the extended tangent.<\/p>\n<h2>Assumptions, Limitations, and Practical Tips<\/h2>\n<ul>\n<li><strong>Grades must be decimals, not percentages.<\/strong> Enter 0.03 for +3% and -0.01 for -1%. Mixing percent values with feet will produce meaningless results.<\/li>\n<li><strong>Distances are horizontal.<\/strong> Both \\(x\\) and \\(L\\) are measured horizontally, which is how vertical curves are defined in highway design practice.<\/li>\n<li><strong>\\(x\\) should stay between 0 and \\(L\\).<\/strong> Inside that range the equation describes the actual curve. Outside it, the formula still computes a value, but it extrapolates the parabola beyond the real curve, which is not a valid design elevation.<\/li>\n<li><strong>Assumes an equal-tangent, symmetric parabola.<\/strong> The PVC and PVT are assumed equidistant from the PVI. Unequal-tangent curves need a modified formula with different offsets on each side of the PVI.<\/li>\n<li><strong>Units must be consistent.<\/strong> This calculator works with feet; if your project is metric, use meters for all lengths and elevations and the result will be in meters.<\/li>\n<li>To find the highest (or lowest) point of the curve, set the first derivative to zero: \\(x_{high} = \\frac{g_1 L}{g_1 - g_2}\\) for a crest curve. This is where the grade passes through zero and is useful for checking drainage or sight lines.<\/li>\n<li>If you are also estimating material quantities for the project, our <a href=\"https:\/\/wpcalc.com\/en\/engineering\/earthwork-cross-sectional-area\/\">Earthwork Cross Sectional Area<\/a> and <a href=\"https:\/\/wpcalc.com\/en\/engineering\/earthwork-cross-section-volume\/\">Earthwork Cross Section Volume<\/a> calculators can be used alongside this one to quantify cuts and fills, and the <a href=\"https:\/\/wpcalc.com\/en\/engineering\/concrete-yardage\/\">Concrete Yardage<\/a> calculator helps with pavement or structure pours.<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Find the elevation at any point along a parabolic vertical curve. Enter the distance from the PVC, the initial and final grades, the curve length, and the PVC elevation to get the exact elevation y in feet.<\/p>\n","protected":false},"author":70,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[4],"tags":[19],"class_list":["post-59995","post","type-post","status-publish","format-standard","hentry","category-engineering","tag-civil"],"acf":[],"_links":{"self":[{"href":"https:\/\/wpcalc.com\/en\/wp-json\/wp\/v2\/posts\/59995","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wpcalc.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wpcalc.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wpcalc.com\/en\/wp-json\/wp\/v2\/users\/70"}],"replies":[{"embeddable":true,"href":"https:\/\/wpcalc.com\/en\/wp-json\/wp\/v2\/comments?post=59995"}],"version-history":[{"count":2,"href":"https:\/\/wpcalc.com\/en\/wp-json\/wp\/v2\/posts\/59995\/revisions"}],"predecessor-version":[{"id":66031,"href":"https:\/\/wpcalc.com\/en\/wp-json\/wp\/v2\/posts\/59995\/revisions\/66031"}],"wp:attachment":[{"href":"https:\/\/wpcalc.com\/en\/wp-json\/wp\/v2\/media?parent=59995"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wpcalc.com\/en\/wp-json\/wp\/v2\/categories?post=59995"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wpcalc.com\/en\/wp-json\/wp\/v2\/tags?post=59995"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}