Comment interroger des entités se trouvant «à proximité» avec la propriété GeoPt dans Google App Engine?

StackOverflow https://stackoverflow.com/questions/1033240

Question

Comment créer une requête GQL qui renvoie les entités les plus proches (à partir de mon emplacement actuel) en fonction de leur propriété GeoPt? Devrais-je simplement créer une fonction "distance" qui calcule un ensemble d'entités avec une distance raisonnablement proche?

Merci d'avance!

Était-ce utile?

La solution

App Engine ne traite pas spécialement les propriétés de GeoPt - il n’a pas d’indexation spatiale intégrée. Cependant, un certain nombre de bibliothèques tierces prennent en charge l'indexation spatiale. Le meilleur (à mon avis) étant geomodel .

Autres conseils

Vous pouvez stocker les emplacements dans App Engine dans une structure Quadtree .

Voici une description de la procédure à suivre: Requêtes géographiques sur Google App Engine

Je suppose que je vais à une sorte de réalisation de digger, mais la voici:

Je recherchais une solution à ce problème et je suis tombé sur la documentation officielle de Google: https://cloud.google.com/appengine/docs/java/search / query_strings # Java_Queries_on_geopoint_fields

Je pense vraiment que Google aurait dû faire plus de bruit à ce sujet. Je trouve ça bizarre qu'ils aient une leçon sur Python pour avoir fait la même chose mais ne dit rien sur la façon de le faire pour Java.

geohash définissant des points très proches dans des hachages différents, une autre couche ou une couche suivante doit être préférée. vous pouvez faire un test de forme de rayon, quadratique intérieur / extérieur ou même n’importe quelle forme mathématique et vérifier si le point se trouve à l’extérieur de la forme.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top