Мне даны координаты моего местоположения (55.1858, -162.7211
). Я хотел бы найти город, в котором я нахожусь (или рядом), если он существует в моем наборе данных. Набор данных (десятки тысяч координат) содержит все города, которые меня интересуют, и одну или несколько координат, соответствующих этому городу (в зависимости от размера города):
Cold Bay, Alaska, 55.1858,-162.7211
False Pass, Alaska,54.8542,-163.4113
King Cove, Alaska, 55.0628,-162.3056
...
Какой лучший алгоритм(желательно на JavaScript), чтобы найти город, в котором я нахожусь (без использования API, Google Maps и т. д.)?
У меня было несколько идей, но они, вероятно, не самые лучшие, поскольку онивсе методы грубой силы:
- Нарисуйте радиус вокруг моих координат на определенном расстоянии, а затем переберите набор данных, чтобы найти, есть ли какие-либо из существующих координат в этом радиусе. Если один или несколько, то проходит через них и вижу, к чему я ближе всего через их расстояние.
- Так или иначе, начните округлять мои координаты в самом дальнем десятичном месте и проверяйте после каждого округления, существует ли этот новый набор округленных координат в наборе данных.
Мне кажется, что это действительно плохие идеи, и они хотели бы получить рекомендации или рекомендации по хорошим алгоритмам для этого типа поиска.