我有一个项目需要将大多数查询从lat / long以及日期+时间键入。
最初,我在想一个标准的RDBMS,其中lat,long和datetime字段被正确编入索引。然后,我开始考虑一个基于文档的系统,其中文档本质上是一个时间戳,每个文档都有lat / long。每个文档可以有n个与之关联的对象。
我正在寻找关于什么是最好的存储引擎类型的建议 - 上述哪种想法会更好,或者如果还有其他完全是理想的解决方案。
编辑:寻找开源/免费解决方案。不幸的是价格是个问题!
由于
答案 0 :(得分:5)
我使用PostGres(免费开源数据库)和PostGIS扩展来处理位置数据。它们非常好,即使我在使用MSSQL 2005的所有生产数据库的MS环境中工作,我使用PostGres与GIS来操作和预先计算大量地理数据。
PostGis具有导入arcview .shp文件的实用程序,这是一个巨大的优势,因为这是大多数地理数据的存在。它还提供了一系列基于位置的sql函数,如contains(...)和near(...);它提供了一种索引空间数据的机制。
自从我使用它已经有一段时间了,但我记得它坚如磐石且非常实用。
PostGIS:http://postgis.refractions.net/
答案 1 :(得分:2)
除了通常的日期和时间类型外,SQL Server 2008还有用于存储和处理地理信息的新数据类型。
答案 2 :(得分:0)
SQL Express是一个免费的数据库+支持存储lat / long&日期时间
只是提示 - 如果您的应用需要了解各个位置,请特别使用UTC时间为dateTime ...
第h