一、项目场景:
由于历史原因:mongodb存储int类型数据
前端展示 = int类型数据 x 小数位倍率,如 98 x 0.01 = 0.98
在不改变mongodb字段int 位long 的前提下,目前场景适合接入哪些要素,如经纬度,[物候相机]GCC等
支持多大取值范围
二、总结
如下要素可以存储
经纬度:小数位7位及以内
指数:小数位9位及以内
附录一:Java 8种基本数据类型
Java 的数据类型分为两大类:
- 基本数据类型(Primitive Data Types)
- 引用数据类型(Reference Data Types)
1. 整数类型
Java 提供了四种整数类型,它们都有不同的取值范围和内存占用。
- byte:占用 1 字节,取值范围是 -128 到 127。
- short:占用 2 字节,取值范围是 -32,768 到 32,767。
- int:占用 4 字节,取值范围是 -2^31到 2^31-1。这是最常用的整数类型。[-2147483648,2147483647]
- long:占用 8 字节,取值范围是 -2^63 到 2^63-1。在数值后面添加 'L' 或 'l' 来表示 long 类型。 -2^63 ( -9,223,372,036,854,775,808) 到2^63-1(+9,223,372,036,854,775,807 )
2. 浮点类型
Java 有两种浮点类型,用于表示小数。
- float:占用 4 字节,取值范围大约是 -3.4E38 到 3.4E38。float 的精度较低,通常用于科学计算。在数值后面添加 'F' 或 'f' 来表示 float 类型。
- double:占用 8 字节,取值范围大约是 -1.8E308 到 1.8E308。double 的精度较高,是标准的浮点数类型。
3. 字符类型
- char:占用 2 字节,用于表示单个字符。字符值必须用单引号括起来,如 'A'、'中'。
4. 布尔类型
- boolean:占用 1 位,用于表示逻辑值 true 或 false。布尔类型常用于条件测试和循环控制。
附录二:经纬度保留几位小数合适
经度范围是0-180°,纬度范围是0-90°
1. 一般精度要求
通常,保留到小数点后第六位可以满足大多数应用的需求。例如,保留为(124.444444, 24.444444)的经纬度,其误差在0.1米左右。
2. 不同精度对应的误差:
保留到小数点后第六位:误差约为0.1米。
保留到小数点后第五位:误差约为1米。
保留到小数点后第四位:误差约为10米。
保留到小数点后第三位:误差约为100米。
保留到小数点后第二位:误差约为1000米。
保留到小数点后第一位:误差约为10000米。
3. 具体应用场景:
- 导航和定位:通常需要较高的精度,可能需要保留到小数点后第六位或更多。
- 地图制作和地理信息系统(GIS):一般保留到小数点后第五位或第六位,以满足大部分应用需求。
- 资源点经纬度:通常保留到小数点后第五位,这是许多应用的标准精度。
综上所述,经纬度的保留位数应根据具体应用场景和精度要求来决定。在大多数情况下,保留到小数点后第五位或第六位是合适的,这可以满足大多数导航、地图制作和地理信息系统应用的需求。