Als je kunt aannemen dat de ene polygoon altijd een gebied van een andere is (die er volledig door wordt omvat), kun je in plaats van de hele polygoon voor de regio te gebruiken, gewoon het middelpunt ervan berekenen en ofwel een punt of een heel klein vierkantje gebruiken op dat punt om te testen tegen ouders. Als u een selectiekader heeft, moet het middelpunt gemakkelijk te vinden zijn.
Op die manier vermijdt u de problemen die u ziet met randen die twee ouders overlappen, en het zou voor elke regio moeten werken, zolang u weet dat de regio binnen de bovenliggende regio ligt en niet alleen overlapt.
Je hebt dus misschien niet eens twee queries nodig, maar reduceer de state.Geometry tot een klein vierkantje rond het middelpunt en zoek daarmee in plaats daarvan.