我应该多准确地存储纬度和经度?
我在这里读到这个问题:
I was reading this question here:
什么数据类型在 SQL 数据库中存储经纬度数据时使用?
似乎普遍的共识是使用 Decimal(9,6) 是要走的路.对我来说,问题是,我真的需要这个有多准确?
And it seems the general consensus is that using Decimal(9,6) is the way to go. The question for me is, how accurate do I really need this?
例如,Google 的 API 返回如下结果:
For instance, Google's API returns a result like:
"lat": 37.4219720,
"lng": -122.0841430
在 -122.0841430 中,我需要多少位?我已经阅读了几本指南,但我无法从它们中获得足够的意义来弄清楚这一点.
Out of -122.0841430, how many digits do I need? I've read several guides but I can't make enough sense out of them to figure this out.
在我的问题中更准确地说:如果我想在确切位置的 50 英尺范围内保持准确,我需要存储多少个小数点?
To be more precise in my question: If I want to be accurate within 50 feet of the exact location, how many decimal points do I need to store?
也许更好的问题实际上是一个非编程问题,但应该是:每个小数点给你的准确度是多少?
Perhaps a better question would actually be a non-programming question, but it would be: how much more accurate does each decimal point give you?
就这么简单吗?
- 列表项
- x00 = 6000 英里
- xx0 = 600 英里
- xxx = 60 英里
- xxx.x = 6 英里
- xxx.xx = .6 英里
- 等等?
推荐答案
精度与赤道小数位的对比
Accuracy versus decimal places at the equator
decimal degrees distance
places
-------------------------------
0 1.0 111 km
1 0.1 11.1 km
2 0.01 1.11 km
3 0.001 111 m
4 0.0001 11.1 m
5 0.00001 1.11 m
6 0.000001 0.111 m
7 0.0000001 1.11 cm
8 0.00000001 1.11 mm
参考:https://en.wikipedia.org/wiki/Decimal_degrees#Precision
相关文章