如何将纬度/经度数据正确导入MySQL?

Tom*_*Tom 6 mysql decimal latitude-longitude load-data-infile

我有一个城市名称的数据集及其相应的纬度/经度我已加载到MySQL表中,如下所示:

city_id | city_name | 北纬DECIMAL(9,6)| 经度DECIMAL(9,6)

典型的纬度/经度坐标可能如下所示:54.284758/32.484736.

但是,我只得到比例为2的值才能在我的表中正确显示,换句话说,相当于DECIMAL(5,2).数据从文本CSV上传,该文本CSV是从OpenOffice Calc导出的,用于UTF-8目的.我知道OpenOffice有一些小数问题,但完整的纬度/经度肯定在导出的CSV中.如果我用记事本打开CSV,数据就可以了.

任何人都可以看到我可能做错了什么?

谢谢.

更新: 让它工作,感谢所有的输入.我从头开始重新创建了所有内容,新的模式文件(我正在使用ORM),新的CSV导出,新表,新的LOAD DATA INFILE,并且它使用正确的十进制输出.甘拜下风.

RC.*_*RC. 5

这可能对您的需求有些过分,但在处理地理数据时,您可能需要考虑使用MySQL Spatial Extensions.

我将补充说,您当前使用的数据类型足以表示CSV文件中的数据.导入器中有一些东西在导入时将其砍掉,或者您用来查看数据的任何内容都会截断它.