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

Hvordan finder man ud af, om der findes et punkt i hvilken polygon

Den grundlæggende metode (hvis du har et lille antal polygoner) er at gemme alle polygoner i en samling og sløjfe over elementerne for at kontrollere, om et punkt er inde i en polygon.

På den anden side, hvis du har et betydeligt antal polygoner, vil jeg anbefale at bruge en R-træ datastruktur, som ikke er tilgængelig i standardbiblioteket. Du bør markere dette projekt, hvis du ønsker at vælge R-tree option:http://sourceforge.net /projects/jsi/ .

R-træ giver dig mulighed for at indeksere rektangler (afgrænsningskasser for polygonerne i dette tilfælde). Så du kan finde et lille antal kandidatpolygoner meget hurtigt ved hjælp af R-træ. Så kan du sløjfe over kandidatlisten for at få det endelige resultat.



  1. Redis opfanger ikke broadcast-begivenheder i Laravel 5.1

  2. Callback ved MongoDB Operation With Node.js

  3. Sådan opdateres en række underdokumenter på en MongoDB-samling i MeteorJS

  4. Fjern element fra array i mongodb