2

我有一组带有地理空间索引的文档location: {lat:XX.XXXX, lng:XX.XXXX}。但我希望它们由 TimeZone 输出。

我正在考虑将地理位置转换为时区,并有一个基于此的索引,但我也不知道该怎么做,或者无论如何使用地理空间索引是否会更容易。

4

2 回答 2

2

MongoDB 可以检查是否包含在GeoJSON使用$geoWithin查询条件中描述的任意多边形中的点。您可以创建一个新的时区文档集合,它们的位置多边形位于GeoJSON. 为此,请尝试此 GitHub 存储库。我对这个相关的 SO 问题的回答也可能很有用。

获得时区集合后,您可以预先计算 TZ,将其存储在文档中并为其编制索引以加快查询速度。您需要提出时区的排序。与 UTC 的偏移量可能是一个很好的起点。

于 2013-04-08T02:37:41.873 回答
0

Sim 提供的出色答案将让您在自己的代码中完成所有这些工作 - 但它确实需要一些开销。如果您只想将位置解析为时区,并且不介意调用外部服务,您可以使用Google 的 Time Zone API

另请参阅此相关问题及其答案。

于 2013-04-08T04:33:36.400 回答