2010-11-06 89 views
3

最近我注意到我用于GPS/GIS的一些资源(示例应用程序,博客和网站)将纬度和经度存储为整数而不是小数或字符串。我明白为什么格式化的字符串不是存储纬度/经度的首选方式。但为什么不将该值存储为小数?存储为整数并稍后除以1,000,000以获得实际小数值有什么优势吗?将纬度/经度存储为整数有什么优势?

+0

看到相关的问题http://stackoverflow.com/questions/1370170/database-sql-how-to-store-longitude-latitude-data – zellus 2010-11-06 16:16:08

回答

2

可能。整数只需要四个字节的存储空间。 IEEE双精度浮点数是8个字节。所以将一个经度/纬度值存储为一个整数将会减少内存需求。

+0

我改变了我的纬度/经度列从float(10,6)到int (4)将它们全部乘以1000000.然而,在一个100k行的表上,我看到存储大小(没有索引)增加了大约5%。这怎么可能?我重新加载了桌子,刷了它,等等。 – kouton 2014-03-10 03:20:06

+2

@Reddox:你需要发布一个问题。展示你的前后表现,也许有人会有答案。 – 2014-03-10 03:35:32