This commit is contained in:
张壹 2024-09-12 07:13:02 +08:00
parent 0bcf481b95
commit 8f9213e53d
2 changed files with 19 additions and 0 deletions

View File

@ -93,6 +93,13 @@ double gctl::geographic_area(double lon1, double lon2, double lat1, double lat2,
return fabs(R*R*(arc(lon2) - arc(lon1))*(sind(lat2) - sind(lat1)));
}
double gctl::geographic_distance(double lon1, double lon2, double lat1, double lat2, double R)
{
double n1 = arc(lon1), n2 = arc(lon2), t1 = arc(lat1), t2 = arc(lat2);
double a = sin(0.5*(t2 - t1)), b = sin(0.5*(n2 - n1));
return 2*R*asin(sqrt(a*a + cos(t1)*cos(t2)*b*b));
}
double gctl::ellipse_radius_2d(double x_len, double y_len, double arc, double x_arc)
{
if (fabs(x_len - y_len) < 1e-8) // 就是个圆 直接加

View File

@ -83,6 +83,18 @@ namespace gctl
*/
double geographic_area(double lon1, double lon2, double lat1, double lat2, double R);
/**
* @brief
*
* @param lon1
* @param lon2
* @param lat1
* @param lat2
* @param R
* @return
*/
double geographic_distance(double lon1, double lon2, double lat1, double lat2, double R);
/**
* @brief
*