距离、长度、面积 最后更新时间: 2024年01月10日
JS API 提供了空间数据计算的函数库AMap.GeometryUtil,可以帮助计算点线面的距离、长度、面积等。
本文介绍常用的数学计算方法,包括:
计算两点间距离示例
1、使用说明
1.1 计算两点间的实际距离
当需要计算两个点间的实际地面距离时,可以使用静态方法AMap.GeometryUtil.distance,返回的数据以米为单位。
var p1 = [116.434027, 39.941037];
var p2 = [116.461665, 39.941564];
//返回 p1 到 p2 间的地面距离,单位:米
var dis = AMap.GeometryUtil.distance(p1, p2);
1.2 计算点到线段的最短距离
当需要计算某一点到线段的最短地面距离时,可以使用静态方法 AMap.GeometryUtil.distanceToSegment,返回的数据以米为单位。
var p0 = [116.450378, 39.947585];
var p1 = [116.434027, 39.941037];
var p2 = [116.461665, 39.941564];
//返回 p0 到线段 p1-p2 的最短地面距离,单位:米
var dis = AMap.GeometryUtil.distanceToSegment(p0, p1, p2);
1.3 计算点到路径的最短距离
当需要计算某一点到一段路径的最短地面距离时,可以使用静态方法 AMap.GeometryUtil.distanceToLine,返回的数据以米为单位。该方法与上条的区别在于该方法支持多点组成的线段。
var p0 = [116.450378, 39.947585];
var p1 = [116.434027, 39.941037];
var p2 = [116.461665, 39.941564];
var p3 = [116.466171, 39.937977];
//返回 p0 到线段 p1-p2-p3 的最短地面距离,单位:米
var dis = AMap.GeometryUtil.distanceToSegment(p0, [p1, p2, p3]);
1.4 计算路径的实际长度
当需要计算某段路径的实际长度时,可以使用静态方法 AMap.GeometryUtil.distanceOfLine,返回的数据以米为单位。
var p0 = [116.450378, 39.947585];
var p1 = [116.434027, 39.941037];
var p2 = [116.461665, 39.941564];
//返回线段 p0-p1-p2 的实际长度,单位:米
var dis = AMap.GeometryUtil.distanceOfLine([p0, p1, p2]);
1.5 计算封闭区域的面积
当需要计算指定路径围成的闭合区域面积时,可以使用静态方法 AMap.GeometryUtil.ringArea,返回的数据以平方米为单位。
var p0 = [116.450378, 39.947585];
var p1 = [116.434027, 39.941037];
var p2 = [116.461665, 39.941564];
//返回点 p0-p1-p2 围成的闭合区域面积,单位:平方米
var area = AMap.GeometryUtil.ringArea([p0, p1, p2]);