4

给定一个服务,它返回一些查询空间数据库的位置(纬度/经度)数据,我对使用内存缓存策略的好方法感兴趣,因为用例:

  • Lat/Long 值很难相同,因为由移动位置提供商返回
  • 服务返回的数据是一些固定点的函数 -> 相似的位置返回相同的值。
  • 我正在使用 Postgis/Java 来完成这项工作。

到目前为止,我最好的想法是使用例如第一个小数来标准化 lat/lng。但不确定是否有聪明的策略或一些地理信息系统支持。

4

2 回答 2

2

因此,您想使用 Java 应用程序作为缓存层来减少空间 PostGIS 数据库的负载吗?

是的,一种简单的方法是将世界网格化,-180、-90 右下角、左上角 180、90 右上角,并将传入的纬度/经度四舍五入到最接近的度数/整数。请取整而不是取整,因为它会在位置中引入较小的误差。

然后存储每个新网格位置的响应,因为它们进入。我会选择二维数组。

稍微复杂一点的解决方案是使用更小的双网格。

于 2014-03-21T00:06:15.607 回答
0

Tarantool 1.6.4 具有 RTREE 内存索引,可用于最近邻和矩形内对象搜索。专门添加了该索引,以便能够充当针对 PostgreSQL 的空间查询的快速内存缓存。

于 2014-11-25T14:50:32.500 回答