如何根據GeoPt屬性創建一個從最近的實體返回最近的實體的GQL查詢?我應該創建一個「距離」函數來計算一組距離距離合理的實體嗎?如何使用Google App Engine中的GeoPt屬性查詢「附近」的實體?
提前致謝!
如何根據GeoPt屬性創建一個從最近的實體返回最近的實體的GQL查詢?我應該創建一個「距離」函數來計算一組距離距離合理的實體嗎?如何使用Google App Engine中的GeoPt屬性查詢「附近」的實體?
提前致謝!
App Engine不特殊對待GeoPt性能 - 它在空間索引沒有內置。然而,有許多第三方庫增加了對空間索引的支持。最好的(在我看來)是geomodel。
您可以將App Engine中的位置存儲在Quadtree結構中。
下面是它將如何做一個說明:Geographic Queries on Google App Engine
geohash在不同的散列中設置非常接近的點,所以應該優先選擇另一個或下一個層。你可以做一個半徑,二次內/外形測試,甚至是任何數學形狀,並測試這個點是否在我們的形狀之外。
我想我會以某種挖掘機的成就,但在這裏它是:
我一直在尋找這個問題的解決方案,連同這個谷歌的公報文件來: https://cloud.google.com/appengine/docs/java/search/query_strings#Java_Queries_on_geopoint_fields
我真的認爲谷歌應該對此做出更多的聲音。我感到奇怪的是,他們在Python上做了相同的事情,但沒有說如何爲Java做這件事。
未來有沒有支持空間索引的計劃? – Lipis 2011-10-11 20:01:38