地图圆形围栏经纬度

文章描述了如何在无法直接获取圆形每个点的情况下,通过计算正方形外接圆的四个顶点,并进行插值计算,得出圆形围栏周边的经纬度坐标。过程中涉及地球半径、经纬度转换以及数学公式,但最终结果会有一定误差。
摘要由CSDN通过智能技术生成

确定中心点与半径,因为无法去确定圆形的每个点,只能用圆都外接正方形添加点来获取

// 地球半径(单位:米)

R = 6371000

// 中心点的经纬度

centerLat = 圆心纬度

centerLng = 圆心经度

// 固定半径大小

radius = 固定半径大小

// 计算每一度的弧长(单位:米)

degree = (2 * Math.PI * R) / 360

// 计算纬度半径度数

latR = radius / degree

// 计算经度半径度数

lngR = radius / (degree * Math.cos((Math.PI / 180) * centerLat))

// 计算正方形四个顶点的经纬度坐标

topLeftLat = centerLat + latR

topLeftLng = centerLng - lngR

bottomRightLat = centerLat - latR

bottomRightLng = centerLng + lngR

// 定义插值点数

pointsCount = 100

// 计算正方形顶点间距离

dLat = (topLeftLat - bottomRightLat) / (pointsCount - 1)

dLng = (bottomRightLng - topLeftLng) / (pointsCount - 1)

// 插值计算经纬度坐标

for (var i = 0; i < pointsCount; i++) {

lat = topLeftLat - i * dLat

for (var j = 0; j < pointsCount; j++) {

lng = topLeftLng + j * dLng

// 这里的(lat,lng)即为圆形围栏周边的经纬度点

console.log(lat, lng)

}

}

会有一定误差

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值