chrilleb Ответов: 1

Найти ближайшее значение (координата)


Я работаю над gps-проектом.

У меня есть база данных с примерно 70 000 координатами. Мне нужно найти ближайшую координату к моему фактическому положению.

Это должно обновляться каждые 1 сек. Есть какие-нибудь предложения, как это сделать?

Что я уже пробовал:

Прямо сейчас я загружаю базу данных в Datagridview.

Думая о вычислении расстояния до каждой точки и сортировке их по расстоянию. Но я думаю, что это будет замедлять работу, потому что я должен обновляться каждую секунду.

Maciej Los

И в чем же ваша проблема?

chrilleb

Проблема в том, что он принимает 4810,5093 миллисекундах для обновления элемента управления datagridview. У меня есть только 1 секунда, чтобы сделать это.

1 Ответов

Рейтинг:
1

Bernhard Hiller

Вам нужны индексы базы данных по широте и долготе ваших координат. Теперь сделайте запрос к базе данных, чтобы получить координаты в пределах небольшой дельты для вашей текущей широты/долготы. Затем отфильтруйте ближайшую позицию.