GIS 算法原理记录总结二:距离、方位角、沿线上的点的扩展算法及其使用(一)

本文介绍了如何利用GIS算法中的距离、方位角计算技术,如Turf.js库中的midpoint、length和nearestPoint函数,实现线段中点、长度测量以及寻找点集中最近点的应用。详细讲解了相关函数的使用方法和代码示例。
摘要由CSDN通过智能技术生成

GIS 算法原理记录总结二:距离、方位角、沿线上的点的扩展算法及其使用(一)

在了解了距离算法、方位角算法之后,就可以根据距离、方位角进行一些扩展应用。这里罗列如下:

一、计算线段中点(turf.midpoint)

基于球面距离、方位角,在已知一条线段两个端点后,该条线段的中点就很容易计算了。即:

1、根据线段两点,计算该线段长度(两点距离)(turf.distance)

2、根据线段两点,计算两点方位角(turf.bearing)

3、根据方位角及距离的一半计算该线段的中心点(turf.destination)

主要代码如下:

在这里插入图片描述

效果如下:

在这里插入图片描述

二、计算线段长度(turf.length)

计算流程:

1、将所给线段的坐标点拆分,每相邻两点组成一条线段

2、分别计算每条线段的距离(turf.distance)

3、将每条线段的距离相加,即为所给线段的总长度。

主要代码如下:

在这里插入图片描述

此核心算法在于线段的点两两组成一条线段,即对线段的点数据一段一段拆分,如:将一条线段

[

​ [115, -32],

​ [131, -22],

​ [143, -25],

​ [150, -34]

]

分别拆分组合为

线段1:

[

​ [115, -32],

​ [131, -22]

]

线段2:

[

​ [131, -22],

​ [143, -25]

]

线段3:

[

​ [143, -25],

​ [150, -34]

]

分别计算线段1的 距离、线段 2 的距离、线段 3 的距离,最后将各个计算距离相加,即为当前线段的总长度。

效果如下:

在这里插入图片描述

三、已知点 A 和 点集 P[B1,B2,B3…],求点集 P 中的点 B1、B2、B3… 中距离点 A 最近的点(turf.nearstpoint)

计算流程:

1、分别计算点 A 到 B1、B2、B3 的距离(turf.distance)

2、比较 A-B1、A-B2、A-B3 即 A 到各个点的距离,求最小值(turf.meta、turf.clone)

3、得到最小值,返回最近点,即 P 中的一点及其与 A 点的距离
主要代码如下:
在这里插入图片描述

效果如下:

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

碳学长

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值