地理位置经纬度在Mysql中用什么字段类型来存,BOOLEAN ?DOUBLE?还是FLOAT 那种最好为什么?

用户昵称不能为空 2011-07-21 02:52:30
谷歌地球的精度纬度用那种字段类型来存放啊,字段长度如何设置?
BOOLEAN —— ?
DOUBLE —— ?
FLOAT —— ?
MONEY —— (这个应该最不适合吧)

地理的经纬度范围是 -180~180。我原先用的是DOUBLE(10,7),但是貌似不够啊
比如这样一个经纬度:40.69847032728747, -73.9514422416687 (纽约市的经纬度)
...全文
32416 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
只记今朝笑 2014-02-22
  • 打赏
  • 举报
回复
正常的做法是用nvarchar保存,应为google map,设置地点用String就可以了。 google.map({'center':'35.3232432434,139.32434234'}) 复杂的计算,伟大的Google都已经做了。我们为什么还要再进行一次呢? 告诉我,你们为什么非得让自已那么纠结?难道人生最大的敌人永远都是自己。
zuoxingyu 2011-08-04
  • 打赏
  • 举报
回复
地理位置用空间类型的

19.4.1. MySQL空间数据类型
MySQL具有与OpenGIS类对应的数据类型。某些类型只能保存单个几何值:
· GEOMETRY

· POINT

· LINESTRING

· POLYGON

GEOMETRY能够保存任何类型的几何值。其他的单值类型POINT、LINESTRING以及POLYGON只能保存特定几何类型的值。

  • 打赏
  • 举报
回复
[Quote=引用 2 楼 wminjay 的回复:]

创建 MySQL 表时,您应当特别注意 lat 和 lng 属性。鉴于 Google Maps 目前的缩放能力,您只需要精确到小数点后六位数。为了让表占用的存储空间降至最低,您可以将 lat 和 lng 属性指定为大小是 (10,6) 的浮点数。这样,这些字段将会存储小数点后 6 位数以及小数点前最多 4 位数,如 -123.456789 度。

引用自http://code.google.……
[/Quote]

哦,看到了。官方给出来的标准是【DOUBLE 10,6 】。我后来用的是decimal(20,17)。我原先用FLOAT 和DOUBLE 末尾的他们会自动省略 四舍五入

iihero 2011-08-01
  • 打赏
  • 举报
回复
double, 精度弄高点。
wminjay 2011-08-01
  • 打赏
  • 举报
回复
创建 MySQL 表时,您应当特别注意 lat 和 lng 属性。鉴于 Google Maps 目前的缩放能力,您只需要精确到小数点后六位数。为了让表占用的存储空间降至最低,您可以将 lat 和 lng 属性指定为大小是 (10,6) 的浮点数。这样,这些字段将会存储小数点后 6 位数以及小数点前最多 4 位数,如 -123.456789 度。

引用自http://code.google.com/intl/zh-CN/apis/maps/articles/phpsqlajax.html

56,803

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧