2011-03-18 72 views
2

作为我们研究小组的一部分,我们正在收集大量的位置数据。我们的数据看起来像(用户ID,纬度/长度坐标,时间戳)。还有其他的元数据也涉及到,但这不是相关的。 我们每周收集大约2-3百万条记录,并期望在适当的时间收集大约一年的数据。存储和处理大量的时间 - 空间数据

我真的很喜欢关于存储和处理这些数据的技巧。我们希望能够回答类似于以下的查询:

(1)对于给定的位置,谁在指定的时间段内靠近该位置(在指定的距离内)?

(2)哪些地点彼此靠近?

这是一般的想法。我们不需要实时响应,但什么是好的数据库(或其他数据存储软件)?我遇到过人们在谈论k-d树木,这是否符合这种规模?我需要什么样的硬件?我希望能够指向一般战略。我们如何存储这些数据?将它全部存储在数据库中是否有意义?哪些数据/软件/软件包适用于距离/半径计算?

我们对Python/Linux最为熟悉,宁愿远离Java并喜欢开源/免费软件。我们对这一切都是陌生的,指向书和文件也是有用的。所有和任何建议将会非常有用。

+0

我会使用MySQL,只是找出一些MySQL查询。 – 2011-03-18 15:24:22

回答

1

PostGIS可能是你在找什么。

+0

您可以使用Python访问和编写脚本。 GDAL/OGR还可以帮助从数据库创建光栅和矢量数据(并且还具有Python绑定)。 – Benjamin 2011-03-18 15:49:37

+1

如果它只是uid,纬度/经度对和时间戳,PostGIS是矫枉过正的。 SimpleGeo人已经博客并介绍了很多关于大规模扩展简单地理数据的方法 - 请阅读。 – sgillies 2011-03-18 18:34:26