MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Percentuale di sovrapposizione del poligono

Se puoi presumere che un poligono sia sempre una regione di un altro (completamente contenuto da esso), potresti invece di utilizzare l'intero poligono per la regione, calcolarne semplicemente il punto centrale e utilizzare un punto o un quadrato molto piccolo in quel punto da testare contro i genitori. Se hai un rettangolo di delimitazione, il punto centrale dovrebbe essere facile da trovare.

In questo modo eviti i problemi che stai riscontrando con i bordi che si sovrappongono a due genitori e dovrebbe funzionare per qualsiasi regione purché tu sappia che la regione è all'interno del suo genitore e non solo sovrapposta.

Quindi potresti non aver nemmeno bisogno di due query, basta ridurre state.Geometry a un piccolo quadrato attorno al suo punto centrale e interrogare invece con quello.