2012-10-27 46 views
3

鑑於返回一些數據查詢的空間數據庫的位置(緯度/經度),我感興趣的使用因爲使用情況下,內存緩存策略的好方法服務:緩存空間查詢

  • 緯度/長度值將很難相同,因爲移動位置提供商會返回
  • 服務返回的數據在某些固定點的函數中 - >類似的位置會返回相同的值。
  • 我正在使用Postgis/Java來完成這項工作。

現在我最好的想法是使用例如第一個小數對lat/lng進行標準化。但不知道是否有一個聰明的策略或一些支持。

+0

我不知道它是否有效的方法來編寫新的代碼並使用緩存來規範化經緯度。你能舉出除lat/longt之外的其他例子嗎?由於基於GPS /網絡的位置監聽器具有大約1-2秒的採樣頻率 –

回答

2

所以你想使用Java應用程序作爲緩存層來減少空間PostGIS數據庫的負載?

是的,一個簡單的方法是將世界-180,-90右下角,左上角180,右上角90,並將輸入經緯度四捨五入到最接近的度數/整數。請圍繞而不是地板,因爲它引入了一個更小的錯誤到位置。

然後存儲每個新的網格位置的響應,因爲他們進來。我會去一個二維數組。

稍微複雜一點的解決方案是使用更小的雙重網格。

0

Tarantool 1.6.4具有RTREE內存中索引,可用於最近鄰和矩形內的對象搜索。 該索引已被特別添加,以便能夠充當針對PostgreSQL的空間查詢的快速內存緩存。