No ja si myslim, ze takovy index asi nebude, protoze znalost vzdalenosti musis mit nekde ulozenou a to asi bude ta velikost co popisujes.
Ja bych si nejdrive problem zjednodusil na jednodimenzialni problem. Ten bych resil tak, ze bych si vybral kandidaty tim zpusobem, ze bych jel plovoucim oknem pres serazene hodnoty, kde velikost plovouciho okna by byla jako tebou hledana vzdalenost. Vypocet v tomto okne muzes delat budto v krajnich bodech (presna vzdalenost), nebo i v nejake oblasti okolo (+- 5 metru).
Presto je narocnost O(N), protoze to musis jednou projit.
Pro dve dimenze musis efektivne vyhledavat oblasti o velikosti tohoto okna. Myslim, ze navrhovany octtree by sel pouzit. Proste si najdes nadctverec, ktery je dvakrat vetsi nez tvou hledany ctverec a v nem po profiltrovani nemoznych kombinaci, provedes euklidovskou vzdalenost.
Tady bude narocnost podle me O(N*k), kde k je prumerny pocet bodu v tom ctverci bez nesmyslnych vraiant (cim vetsi vzdalenost tim hure).
Kazdopadne bych urcite pouzil rucne napsane reseni. A ne nejakou SQL databazi. 1G bodu muzes nacpat celou do pameti uz prostorove zaindexovane a budes mit rychlost uplne jinde. Stejne budes muset prochazet vse a tudiz to v pameti byt uz muze.
Kdybys nastinil k cemu to potrebujes, mozna by se naslo uplne jine reseni nez vsechny kombinace vzdalenosti...