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

Porcentaje de superposición de polígonos

Si puede suponer que un polígono es siempre una región de otro (completamente contenido por él), podría, en lugar de usar el polígono completo para la región, simplemente calcular el punto central y usar un punto o un cuadrado muy pequeño en ese punto para probar contra los padres. Si tiene un cuadro delimitador, el punto central debería ser fácil de encontrar.

De esa manera, evita los problemas que está viendo con los bordes que se superponen a dos padres, y debería funcionar para cualquier región siempre que sepa que la región está dentro de su padre y no solo superpuesta.

Por lo tanto, es posible que ni siquiera necesite dos consultas, simplemente reduzca state.Geometry a un pequeño cuadrado alrededor de su punto central y consulte con eso en su lugar.