sql >> Base de Datos >  >> NoSQL >> MongoDB

Cómo encontrar si existe un punto en qué polígono

El método básico (si tiene una pequeña cantidad de polígonos) es almacenar todos los polígonos en una colección y recorrer los elementos para verificar si un punto está dentro de un polígono.

Por otro lado, si tiene una cantidad considerable de polígonos, recomendaría usar una estructura de datos R-tree, que no está disponible en la biblioteca estándar. Debe verificar este proyecto, si desea utilizar la opción R-tree:http://sourceforge.net /proyectos/jsi/ .

R-tree le permite indexar rectángulos (cuadros delimitadores de los polígonos en este caso). Entonces puede encontrar una pequeña cantidad de polígonos candidatos muy rápido usando R-tree. Luego puede recorrer la lista de candidatos para obtener el resultado final.