GeoPtプロパティに基づいて(現在の場所から)最も近いエンティティを返すGQLクエリを作成するにはどうすればよいですか?適度に近い距離を持つエンティティのセットを計算する「距離」関数を作成する必要がありますか?
よろしくお願いします!
GeoPtプロパティに基づいて(現在の場所から)最も近いエンティティを返すGQLクエリを作成するにはどうすればよいですか?適度に近い距離を持つエンティティのセットを計算する「距離」関数を作成する必要がありますか?
よろしくお願いします!
App Engine は、GeoPt プロパティを特別に処理しません。空間インデックスが組み込まれていません。ただし、空間インデックス作成のサポートを追加するサードパーティ ライブラリが多数あります。(私の意見では)最高のものはgeomodelです。
場所を App Engine にQuadtree構造で保存できます。
これがどのように行われるかについての説明の 1 つを次に示します: Google App Engine での地理的クエリ
私はある種の掘り出し物の成果に行くと思いますが、ここにあります:
この問題の解決策を探していたところ、この Google の公式ドキュメントに出会いました: https://cloud.google.com/appengine/docs/java/search/query_strings#Java_Queries_on_geopoint_fields
Google はこれについてもっと騒ぎ立てるべきだったと本当に思います。同じことをするためのPythonのレッスンがあるのに、Javaでそれを行う方法については何も言わないのは奇妙だと思います。