MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Comment savoir si un point existe dans quel polygone

La méthode de base (si vous avez un petit nombre de polygones) consiste à stocker tous les polygones dans une collection et à boucler sur les éléments pour vérifier si un point se trouve à l'intérieur d'un polygone.

D'un autre côté, si vous avez un nombre considérable de polygones, je recommanderais d'utiliser une structure de données R-tree, qui n'est pas disponible dans la bibliothèque standard. Vous devriez vérifier ce projet, si vous voulez utiliser l'option R-tree :http://sourceforge.net /projets/jsi/ .

R-tree permet d'indexer des rectangles (boîtes englobantes des polygones dans ce cas). Ainsi, vous pouvez trouver un petit nombre de polygones candidats très rapidement en utilisant R-tree. Ensuite, vous pouvez parcourir la liste des candidats pour obtenir le résultat final.