经纬度5位数和6位数差多少_经纬度坐标小数位与精度的对应关系

本文通过测试展示了经纬度坐标的小数位数与精度的对应关系,例如:经度相差1位小数点后6位对应0.1米,5位对应1米。还探讨了全国经纬度数据保存时,3位小数点精度约为100米,可能需要保存约10亿条记录。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

纬度不变 经度相差1的情况

测试结果如下:

小数点后6位,精度:0.1米

0.10139558886691133

小数点后5位,精度:1米

1.0139558860891593

小数点后4位,精度:10米

10.139558845411655

小数点后3位,精度:101米

101.39558846680167

小数点后3位(经纬度同时改变1),精度:150米

150.4837860345681

小数点后2位,精度:1014米

1013.9558844430293

测试代码:

public class DistanceCalcUtil {

// 地球半径

private static final double EARTH_RADIUS = 6370996.81;

// 弧度

private static double radian(double d) {

return d * Math.PI / 180.0;

}

/**

* 计算两点之间的距离

*

* @param lat1

* @param lng1

* @param lat2

* @param lng2

* @return

*/

public static double distanceOfTwoPoints(double lat1, double lng1, double lat2, double lng2) {

double radLat1 = radian(lat1);

double radLat2 = radian(lat2);

double a = radLat1 - radLat2;

double b = radian(lng1) - radian(lng2);

double s = 2 * Math.asin(Math

.sqrt(Math.pow(Math.sin(a / 2), 2) + Math.cos(radLat1) * Math.cos(radLat2) * Math.pow(Math.sin(b / 2), 2)));

s = s * EARTH_RADIUS;

return s;

// s = Math.round(s * 10000) / 10000;

// Integer distance = Integer.parseInt(new

// java.text.DecimalFormat("0").format(s));

// return distance;

}

public static void main(String[] args) {

System.out.println("经度改变1位,测试:");

System.out.println("小数点后6位,精度:0.1米");

System.out.println(distanceOfTwoPoints(24.234532, 124.123223, 24.234532, 124.123224));

System.out.println("小数点后5位,精度:1米");

System.out.println(distanceOfTwoPoints(24.234532, 124.12322, 24.234532, 124.12323));

System.out.println("小数点后4位,精度:10米");

System.out.println(distanceOfTwoPoints(24.234532, 124.1232, 24.234532, 124.1233));

System.out.println("小数点后3位,精度:101米");

System.out.println(distanceOfTwoPoints(24.234532, 124.123, 24.234532, 124.124));

System.out.println("小数点后3位(经纬度同时改变1位),精度:150米");

System.out.println(distanceOfTwoPoints(24.234, 124.123, 24.235, 124.124));

System.out.println("小数点后2位,精度:1014米");

System.out.println(distanceOfTwoPoints(24.234532, 124.12, 24.234532, 124.13));

}

}

保存全国的经纬度点3位小数

在地图上测距,画一个大概覆盖全国的矩形

宽:4000000 米

高:2500000 米

换算成经纬度点,大概10亿个

初步估计保存全国的经纬度(小数点保留3位,精度约100米)大概需要保存10亿条记录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值