数据库保存经纬度,需要采用什么数据类型,小数点应该精确多少位?

原创 2015年11月21日 01:42:35


如下表所示
赤道周长(米) 度数(度)
40076000 360
111322.2222 1
11132.22222 0.1
1113.222222 0.01
111.3222222 0.001
11.13222222 0.0001
1.113222222 0.00001
0.111322222 0.000001
0.011132222 0.0000001
所以,只需要精确到小数点后7位,精度就是1CM,因此,数据库保存经纬度采用 decimal(10,7) 即可。

问题1:为什么不采用float?
答:float,double容易产生误差,对精确度要求比较高时,建议使用decimal来存,decimal在mysql内存是以字符串存储的,

问题2:为什么不用字符串?
答:字符串不方便数据库计算

如下表所示
赤道周长(米) 度数(度)
40076000 360
111322.2222 1
11132.22222 0.1
1113.222222 0.01
111.3222222 0.001
11.13222222 0.0001
1.113222222 0.00001
0.111322222 0.000001
0.011132222 0.0000001
所以,只需要精确到小数点后7位,精度就是1CM,因此,数据库保存经纬度采用 decimal(10,7) 即可。

问题1:为什么不采用float?
答:float,double容易产生误差,对精确度要求比较高时,建议使用decimal来存,decimal在mysql内存是以字符串存储的,

问题2:为什么不用字符串?
答:字符串不方便数据库计算

版权声明:本文为博主原创文章,未经博主允许不得转载。

经纬度如何在mysql 数据库中定义数据类型.

经纬度的定义使用 deciaml , 在Java 中映射成double。 基于百度地图的经纬度识别工具。...
  • xrl2012
  • xrl2012
  • 2016年03月04日 11:31
  • 5309

SQL Server 中 存储“经纬度”应设置的数据类型

正如我们知道的: 【范围】 经度:西经180~东经180 纬度:北纬90 ~ 南纬90 【格式】 经度:123.456789 纬度:12.345678 此数据类型均需要保存到小数点后...
  • LIUHUAN0520
  • LIUHUAN0520
  • 2016年05月13日 19:42
  • 5605

经纬度数据格式转换

  • 2008年05月26日 20:24
  • 108KB
  • 下载

全国所有大学数据包含经纬度(json格式)

  • 2015年11月26日 15:08
  • 324KB
  • 下载

经纬度小数点后与精确到米的误差

如下表所示 赤道周长(米) 度数(度) 40076000 360 111322.2222 1 11132.22...
  • wangqing_12345
  • wangqing_12345
  • 2017年02月26日 16:00
  • 5793

MySQL在存经纬度的数据库查询最近距离的应用

A点经纬度:x1,y1  B点经纬度x2,y2 计算公式: 距离可以用r*arccos[cos(y1)*cos(y2)*cos(x1-x2)+sin(y1)*sin(y2)]来算r是地球半径637...
  • lvqingyao520
  • lvqingyao520
  • 2017年04月08日 14:03
  • 3243

【最全】全国各省市地区经纬度数据(Json格式)(共收录了3180个城市GPS坐标数据)(收录了全国所有市,区,县 GPS坐标)

  • 2017年08月24日 13:46
  • 315KB
  • 下载

iOS定位和地理坐标类型解释

目前了解的地理坐标类型一共有三种:地球坐标(WGS84)、火星坐标(GCJ-02)、百度坐标(BD-09)...
  • xiaoqinggege062
  • xiaoqinggege062
  • 2015年11月16日 15:26
  • 614

地理位置经纬度在Mysql中用什么字段类型

创建 MySQL 表时,您应当特别注意 lat 和 lng 属性。鉴于 Google Maps 目前的缩放能力,您只需要精确到小数点后六位数。为了让表占用的存储空间降至最低,您可以将 lat 和 ln...
  • liyanlei5858
  • liyanlei5858
  • 2018年01月05日 11:46
  • 55

mysql 下 计算 两点 经纬度 之间的距离

公式如下,单位米: 第一点经纬度:lng1 lat1 第二点经纬度:lng2 lat2 round(6378.138*2*asin(sqrt(pow(sin( (lat1*pi()/...
  • sh5188588
  • sh5188588
  • 2015年04月17日 13:55
  • 5109
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:数据库保存经纬度,需要采用什么数据类型,小数点应该精确多少位?
举报原因:
原因补充:

(最多只允许输入30个字)