我应该在数据库中存储多少有效数字用于GPS坐标?

ted*_*dyk 40 mysql database gps rdbms database-design

我在我的MySQL数据库中有经度和纬度坐标(GPS数据).

它目前存储为:

column     type
------------------------
geolat     decimal(10,6)
geolng     decimal(10,6)
Run Code Online (Sandbox Code Playgroud)

问题: 我是否真的需要一个decimal(10,6)与正确存储坐标数据一样大的数据类型?

由于我在经度和纬度上有一个综合索引,因此这个索引大小很大.如果我可以在不牺牲任何东西的情况下缩小它,那就太好了.

Cad*_*oux 34

WGS84数据通常以完全十进制表示法的坐标给出,通常有5个小数位,因此对于纬度(-90到+90),您可以使用小数(7,5)( - 90.00000到90.00000),经度可以使用十进制(8,5)( - 180.00000至180.00000).

.00001 在赤道上提供大约一米的精度

DECIMAL/NUMERIC数据类型为固定精度缩放整数和范围的正面和负面的部分总是可用的-它们不影响精度或者比例(显然有它所需的存储,但你没有得到一个选择关于DECIMAL的那个)

  • 是的,它占用了数据库中的空间,但数据库中给定DECIMAL规范所需的空间始终允许使用符号.我不熟悉MySQL的内部存储要求,但对于SQL Server,十进制需要5个字节(1-9个数字)/ 9个字节(10-19个数字)/ 13个字节(20-28个数字)/ 17个字节(29-38位)取决于指定精度的数字(显然与刻度无关). (2认同)

may*_*cca 5

这取决于您进行的调查的准确性。一般来说:

  • 6个小数位表示的精度为〜10厘米
  • 小数点后 7 位为 ~ 1 厘米
  • 小数点后 13 位 - 原子结构的准确性...

因此,除非对构造板块运动进行非常精确的研究,否则使用 6 位数字就足够了。


以下是来自whuber(GIS 堆栈溢出)完整答案的副本

准确度是您的测量值与真实值一致的趋势。精度是您的测量确定实际值的程度。问题是关于准确性和精确度的相互作用。

作为一般原则,您在记录测量值时不需要比内置的精度更高的精度。使用过多的精确度会误导人们相信精确度高于实际值。

通常,当您降低精度(即,使用较少的小数位)时,您可能会失去一些准确性。但是多少钱?很高兴知道仪表最初是由法国人定义的(大约在他们革命的时候,当时他们正在抛弃旧系统并用新系统热情地替换它们),以便其中一千万会带你从赤道到一根杆子。那是 90 度,所以一个纬度覆盖大约 10^7/90 = 111,111 米。(“大约”,因为在此期间仪表的长度发生了一些变化。但这并不重要。)此外,经度(东西向)的长度与纬度的长度大致相同或更少,因为当我们从赤道向任一极移动时,纬度圈缩小到地轴。因此,它'

因此,如果您的精度需求是,比如说,给或取 10 米,那么 1/9 米就不算什么:使用六位小数基本上不会损失精度。如果您的精度要求是亚厘米,那么您至少需要七个小数位,可能还有八个小数位,但更多的数字对您没什么好处。

十三个小数位将确定位置为 111,111/10^13 = 约 1 埃,大约是小原子厚度的一半。

使用这些想法,我们可以构建一个表格,其中包含十进制度中每个数字的含义:

  • 这个标志告诉我们我们在地球上是北还是南,东还是西。
  • 一个非零的百位数字告诉我们我们使用的是经度,而不是纬度!
  • 十位数给予约1000公里的位置。它为我们提供了关于我们所在的大陆或海洋的有用信息。
  • 个位(一个小数度)给出了一个位置最多至111公里(60海里,约69英里)。它可以粗略地告诉我们我们所处的大州或国家。
  • 小数点后一位的值高达11.1公里:它可以区分一个大城市和邻近大城市的位置。
  • 第二个小地方是价值高达1.1公里它能一个村从下分开。
  • 小数点后第三位值高达 110 m:可以标识大型农田或机构校园。
  • 第四个小地方是价值高达11米:它可以识别的一块土地。它与没有干扰的未校正 GPS 单元的典型精度相当。
  • 所述第五小数地方价值高达1.1米:它彼此区分的树木。商业 GPS 单元达到这个水平的精度只能通过差分校正来实现。
  • 第六小数地方是价值高达0.11 M:你可以用这个布局结构细节,设计景观,修建道路。它应该足以跟踪冰川和河流的运动。这可以通过对 GPS 采取艰苦的措施来实现,例如差分校正 GPS。
  • 小数点后7 位最多为 11 毫米:这有利于进行大量测量,并且接近基于 GPS 的技术所能达到的极限。
  • 第八小数地方价值高达至1.1mm:这是良好的图表板块和火山的运动的运动。永久的、经过校正的、持续运行的 GPS 基站可能能够达到这种精度水平。
  • 小数点后9 位值高达 110 微米:我们正在进入显微镜的范围。对于几乎任何可以想到的地球位置应用,这都是矫枉过正,而且比任何测量设备的精度都更精确。
  • 十位或更多小数位表示使用了计算机或计算器,并且没有注意额外的小数位无用的事实。小心,因为除非您是从设备上读取这些数字的人,否则这可能表明处理质量低!