Dobrý den,
dělám editor zobrazující mapu na plátně (canvas), mám graf kde vrchol = město, silnice = hrana. Pro uložení vrcholů a hran používám HashMapu, jako klíč jsou použity GPS souřadnice. Pokud chci uživateli dovolit vybrat město / silnici tak při kliknutí na plátno projdu kolekci a naleznu nejbližší prvek, ten zvýrazním.
HashMap<K, Vertex> vertices;
HashMap<K, Edge> edges;
Pro optimalizaci vyhledávání , abych nemusel procházet prvek po prvku jsem se rozhodl použít datovou strukturu QuadTree. Jenže do QuadTree jsem schopen uložit pouze data o souřadnicích XY. Jakým způsobem QuadTree modifikovat, abych mohl stejně efektivně vyhledávat i hrany? Vrchol má X,Y souřadnice, ale hrana má souřadnice X,Y začátku a souřadnice X,Y konce a nevím jak ji do QuadTree uložit. Je to vhodně zvolená struktura? Jakým způsobem efektivně vyhledat nebližší hranu při kliknutí na plátno?
Děkuji za případné rady, popostrčení na správnou cestu :)