{"id":59980,"date":"2016-12-30T11:21:22","date_gmt":"2016-12-30T09:21:22","guid":{"rendered":"https:\/\/wpcalc.com\/?p=59980"},"modified":"2026-09-30T18:19:35","modified_gmt":"2026-09-30T15:19:35","slug":"earthwork-cross-sectional-area","status":"publish","type":"post","link":"https:\/\/wpcalc.com\/en\/engineering\/earthwork-cross-sectional-area\/","title":{"rendered":"Earthwork Cross Sectional Area 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 Land Cross Section Area from Coordinates<\/h2><\/div><div class=\"calcdash-favorite group\">\n  <button type=\"button\" class=\"favorite\" id=\"favorite\" data-favorite-id=\"59980\" data-favorite-title=\"Earthwork Cross Sectional Area\" data-favorite-url=\"https:\/\/wpcalc.com\/en\/engineering\/earthwork-cross-sectional-area\/\" data-favorite-excerpt=\"Enter the X and Y coordinates of the points that outline an earthwork cross section, and this calculator returns its area using the shoelace formula. Useful for surveyors and civil engineers estimating excavation, fill, and grading quantities.\" 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\/earthwork-cross-sectional-area\/\" method=\"POST\" class=\"calculator\" id=\"calculator-59980\" data-post=\"59980\"><fieldset class=\"fieldset-input\"><legend class=\"sr-only\">Input Fields<\/legend><div class=\"field is-single has-term\" id=\"input-1\"><label for=\"field-1\">Number of points on cross section<\/label><div class=\"term\">n<\/div>  <div class=\"absolute bottom-0 left-16 top-8 w-2 h-0.5 bg-blue-500\"><\/div><input type=\"text\" name=\"number_of_points_on_cross_section\" id=\"field-1\" data-number inputmode=\"decimal\" autocomplete=\"off\" spellcheck=\"false\" min=\"3\" value=\"3\"\/><\/div><div class=\"field has-term\" id=\"input-2\"><label for=\"field-2\">Point X 1<\/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=\"point_x_1\" id=\"field-2\" aria-describedby=\"calc-info-2\" step=\"0.01\" value=\"0\"\/><small id=\"calc-info-2\">Horizontal axis of point 1<\/small><\/div><div class=\"field has-term\" id=\"input-3\"><label for=\"field-3\">Point Y 1<\/label><div class=\"term\">y<\/div>  <div class=\"absolute bottom-0 left-16 top-8 w-2 h-0.5 bg-blue-500\"><\/div><input type=\"number\" name=\"point_y_1\" id=\"field-3\" aria-describedby=\"calc-info-3\" step=\"0.01\" value=\"0\"\/><small id=\"calc-info-3\">Vertical axis of point 1<\/small><\/div><div class=\"field has-term\" id=\"input-4\"><label for=\"field-4\">Point X 2<\/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=\"point_x_2\" id=\"field-4\" aria-describedby=\"calc-info-4\" step=\"0.01\" value=\"10\"\/><small id=\"calc-info-4\">Horizontal axis of point 2<\/small><\/div><div class=\"field has-term\" id=\"input-5\"><label for=\"field-5\">Point Y 2<\/label><div class=\"term\">y<\/div>  <div class=\"absolute bottom-0 left-16 top-8 w-2 h-0.5 bg-blue-500\"><\/div><input type=\"number\" name=\"point_y_2\" id=\"field-5\" aria-describedby=\"calc-info-5\" step=\"0.01\" value=\"5\"\/><small id=\"calc-info-5\">Vertical axis of point 2<\/small><\/div><div class=\"field has-term\" id=\"input-6\"><label for=\"field-6\">Point X 3<\/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=\"point_x_3\" id=\"field-6\" aria-describedby=\"calc-info-6\" step=\"0.01\" value=\"20\"\/><small id=\"calc-info-6\">Horizontal axis of point 3<\/small><\/div><div class=\"field has-term\" id=\"input-7\"><label for=\"field-7\">Point Y 3<\/label><div class=\"term\">y<\/div>  <div class=\"absolute bottom-0 left-16 top-8 w-2 h-0.5 bg-blue-500\"><\/div><input type=\"number\" name=\"point_y_3\" id=\"field-7\" aria-describedby=\"calc-info-7\" step=\"0.01\" value=\"5\"\/><small id=\"calc-info-7\">Vertical axis of point 3<\/small><\/div><\/fieldset><div class=\"buttons\"><button type=\"submit\" data-text=\"Re-Calculate\" id=\"calculate-button\" data-post=\"59980\">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>Area of cross section<\/span><span class=\"result-term\">V<\/span><\/span><span class=\"field-value\" id=\"result-1\" data-unit=\"ft\u00b3\"><\/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=\"59980\" 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\">1<\/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\">0<\/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\">0<\/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\">0<\/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>Earthwork Cross Sectional Area 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\\[ A = \\frac{1}{2} \\left| \\sum_{i=1}^{n} \\left( x_i \\, y_{i+1} - x_{i+1} \\, y_i \\right) \\right| \\]\n<\/div>\r\n\t<\/figure>\r\n\t<\/p>\n<p><strong>Where:<\/strong><\/p>\n<ul>\n<li>\\(n\\) \u2014 number of points on the cross section<\/li>\n<li>\\((x_i, y_i)\\) \u2014 coordinates of vertex \\(i\\) of the section (typically horizontal offset and elevation)<\/li>\n<li>\\(x_{n+1} = x_1\\) and \\(y_{n+1} = y_1\\) \u2014 the section is treated as a closed polygon<\/li>\n<\/ul>\n<p>This is the <strong>shoelace formula<\/strong> (Gauss's area formula). It gives the exact area of any closed polygon from its vertex coordinates alone, which makes it ideal for irregular ground profiles and designed earthwork sections.<\/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>Earthwork Cross Sectional Area \u2013 Calculation Example<\/h2><\/div>\r\n\r\n<\/p>\n<p><strong>Example:<\/strong> a three-point ground section with vertices \\((0, 0)\\), \\((10, 5)\\), and \\((20, 5)\\) \u2014 the calculator's default values.<\/p>\n<p>\\[ A = \\frac{1}{2} \\left| (0 \\cdot 5 - 10 \\cdot 0) + (10 \\cdot 5 - 20 \\cdot 5) + (20 \\cdot 0 - 0 \\cdot 5) \\right| \\]<\/p>\n<p>\\[ A = \\frac{1}{2} \\left| 0 + (-50) + 0 \\right| = \\frac{1}{2} \\cdot 50 = 25 \\]<\/p>\n<p><strong>Result:<\/strong> an area of 25 square units \u2014 for example, 25 m\u00b2 if the coordinates are in metres, or 25 ft\u00b2 if they are in feet.<\/p>\n<p>\n\r\n<\/section>\n<h2>How to Use the Calculator<\/h2>\n<ol>\n<li>Enter the <strong>Number of points on cross section<\/strong> (minimum 3). If you enter more than 3, additional coordinate fields appear automatically.<\/li>\n<li>For each point, fill in <strong>Point X<\/strong> (the horizontal coordinate, such as the offset from the centreline) and <strong>Point Y<\/strong> (the vertical coordinate, such as the elevation).<\/li>\n<li>Enter the points in order as you travel around the section \u2014 left to right along the ground line, then back along the closing boundary. Do not skip or reorder vertices.<\/li>\n<li>Press <strong>Calculate<\/strong>. The <strong>Area of cross section<\/strong> is displayed, rounded to two decimal places.<\/li>\n<\/ol>\n<h2>What Is an Earthwork Cross Sectional Area?<\/h2>\n<p>In road, railway, canal, and site-grading projects, engineers slice the terrain at regular intervals along the alignment. Each slice \u2014 the <em>cross section<\/em> \u2014 shows the shape of the ground and the proposed formation level at that station. The area of the cut (material to be excavated) or the fill (material to be placed) on that section is the fundamental building block of earthwork quantity estimates.<\/p>\n<p>Real ground profiles are rarely simple triangles or trapezoids, so standard geometric formulas often do not apply. Instead, surveyors record the section as a series of coordinate points and compute the area with the shoelace formula. The method works for any closed polygon, no matter how irregular: each edge contributes a signed trapezoid-like term, and the terms cancel everywhere except inside the section. The absolute value at the end makes the result positive regardless of whether the points are listed clockwise or counterclockwise.<\/p>\n<p>Once you have the areas of consecutive cross sections, earthwork volumes follow from the average end area method, \\( V = \\frac{d}{2}(A_1 + A_2)\\), where \\(d\\) is the distance between stations. Use our <a href=\"https:\/\/wpcalc.com\/en\/engineering\/earthwork-cross-section-volume\/\">Earthwork Cross Section Volume<\/a> calculator to combine two section areas and the spacing into a volume. For layout geometry on the alignment itself \u2014 such as curve elevations \u2014 see the <a href=\"https:\/\/wpcalc.com\/en\/engineering\/elevation-point-of-vertical-curve\/\">Elevation Point of Vertical Curve<\/a> calculator.<\/p>\n<h2>Interpreting the Result<\/h2>\n<p>The calculator returns the <em>area<\/em> of the closed polygon formed by your points, in the square of whatever unit you used for the coordinates. If your X and Y values are in metres, the result is in square metres; if they are in feet, it is in square feet. It is not a volume \u2014 a volume only appears after the area is multiplied by a length between sections.<\/p>\n<p>A single section usually represents either cut or fill. For a cut section, the polygon is bounded below by the ground line and above by the formation level; for fill, the roles reverse. If you compute one area per station along the project, you can plot the cut and fill distribution and locate the balance points where the two are equal.<\/p>\n<h2>Assumptions, Limitations, and Tips<\/h2>\n<ul>\n<li><strong>Points must be in sequential order.<\/strong> Listing vertices out of order creates a self-intersecting polygon and produces an incorrect (and possibly near-zero) area.<\/li>\n<li><strong>The polygon must not cross itself.<\/strong> Complex sections should be split into simple parts; compute each part separately and add the results.<\/li>\n<li><strong>Use consistent units for X and Y.<\/strong> Mixing metres and feet in one section invalidates the result.<\/li>\n<li><strong>More points mean more accuracy.<\/strong> On smoothly curving ground, breaklines and grade changes should each have their own point; long straight stretches need only their endpoints.<\/li>\n<li><strong>Direction does not matter.<\/strong> The absolute value in the formula means clockwise and counterclockwise point orders give the same positive area.<\/li>\n<li><strong>Minimum of three points.<\/strong> A closed area cannot be formed with fewer than three vertices; the calculator enforces this limit.<\/li>\n<\/ul>\n<p>After computing section areas, pair them with station spacing to get cut and fill volumes, then convert to truckloads or compaction factors as needed. When the project moves from earthmoving to structures, our <a href=\"https:\/\/wpcalc.com\/en\/engineering\/concrete-yardage\/\">Concrete Yardage<\/a> and <a href=\"https:\/\/wpcalc.com\/en\/engineering\/concrete-volume\/\">Concrete Volume<\/a> calculators can help estimate the material for slabs, footings, and walls.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Enter the X and Y coordinates of the points that outline an earthwork cross section, and this calculator returns its area using the shoelace formula. Useful for surveyors and civil engineers estimating excavation, fill, and grading quantities.<\/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-59980","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\/59980","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=59980"}],"version-history":[{"count":2,"href":"https:\/\/wpcalc.com\/en\/wp-json\/wp\/v2\/posts\/59980\/revisions"}],"predecessor-version":[{"id":65971,"href":"https:\/\/wpcalc.com\/en\/wp-json\/wp\/v2\/posts\/59980\/revisions\/65971"}],"wp:attachment":[{"href":"https:\/\/wpcalc.com\/en\/wp-json\/wp\/v2\/media?parent=59980"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wpcalc.com\/en\/wp-json\/wp\/v2\/categories?post=59980"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wpcalc.com\/en\/wp-json\/wp\/v2\/tags?post=59980"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}