Sono interessato a costruire un prototipo che abbia bisogno di questo tipo di cose:
- Punto A (xa, ya) con un raggio di 500 metri.
- Punto B (xb, yb) con un raggio di 700 metri.
- Punto C (xc, yc) con un raggio di 1200 metri.
- Punto D (xd, yd) con un raggio di 200 metri.
- La persona 123 si trova in un certo punto.
Domanda : quali sono i punti 123? Ad esempio, la persona si trova all'interno delle aree A, B e D, ma non su C.
Tutti i punti sono coordinate geografiche, cioè lat / long. Voglio capire quali sono i migliori algoritmi e strategie per implementare un buon indice. La mia idea attuale (non ancora implementata) è:
The hole map is divided in quadrants, small as (for example) 50~100 > meters. When a point is marked, all quadrants inside their area will > be marked as well. Then, when I search using "Person 123", I'll just > find its quadrant and retrieve all points marked into it.
Fondamentalmente costruirò un enorme albero di prefissi basato su geohashes di tutti i punti (+ 10k punti). Il problema è che, per un singolo punto, ci saranno numerose voci all'interno dell'albero (anche se sarebbe meglio per la ricerca, penso). Nota Mi manca la comprensione formale degli indici spaziali.