Prechádzať zdrojové kódy

libgis: stabilize G_ellipsoid_polygon_area()

git-svn-id: https://svn.osgeo.org/grass/grass/trunk@71259 15284696-431f-4ddb-bdfa-cd5b030d7da7
Markus Metz 7 rokov pred
rodič
commit
5cf0f4c431
1 zmenil súbory, kde vykonal 2 pridanie a 2 odobranie
  1. 2 2
      lib/gis/area_poly1.c

+ 2 - 2
lib/gis/area_poly1.c

@@ -156,8 +156,8 @@ double G_ellipsoid_polygon_area(const double *lon, const double *lat, int n)
 		x1 += TWOPI;
 
 	dx = x2 - x1;
-
 	dy = y2 - y1;
+
 	if (fabs(dy) > thresh) {
 	    /* account for different latitudes y1, y2 */
 	    area += dx * (st->Qp - (Qbar2 - Qbar1) / dy);
@@ -173,7 +173,7 @@ double G_ellipsoid_polygon_area(const double *lon, const double *lat, int n)
 	     * (Qbar2 - Qbar1) / dy should approach Q((y1 + y2) / 2)
 	     * Metz 2017
 	     */
-	    area += dx * (st->Qp - Q(y2));
+	    area += dx * (st->Qp - Q((y1 + y2) / 2));
 	}
     }
     if ((area *= st->AE) < 0.0)