工程实践
【magic-api】计算经纬度偏移指定距离后(米)的值
· 三面体
import cn.hutool.core.util.NumberUtil /** * * 计算经纬度偏移指定距离后(米)的值。 * * create 2023年6月7日13:35:40 by sanmianti * * 在北半球&东半球(中国所处区域) * offset[0] 是东北方向的偏移量,为正则向东偏
magic-api
import cn.hutool.core.util.NumberUtil
/**
*
* 计算经纬度偏移指定距离后(米)的值。
*
* create 2023年6月7日13:35:40 by sanmianti
*
* 在北半球&东半球(中国所处区域)
* offset[0] 是东北方向的偏移量,为正则向东偏移,为负则向西偏移。
* offset[1] 是南北放心的偏移量,为正则向北偏移,为负则向南偏移。
* coordinate[0]是经度,
* coordinate[1]是纬度。
*
* 算法 https://blog.csdn.net/Dust_Evc/article/details/102847870
*
*/
var getOffset = (coordinate, offset) => {
var lonUnit = 0.00001141; //经度一米对应的偏移量
var latUnit = 0.00000899; //纬度一米对应的偏移量
return [
NumberUtil.add(coordinate[0], NumberUtil.mul(Double.valueOf(lonUnit), Double.valueOf(offset[0]))),
NumberUtil.add(coordinate[1], NumberUtil.mul(Double.valueOf(latUnit), Double.valueOf(offset[1])))
]
}
return getOffset([117.17, 39.11], [0, -3000])