Думаю, все зависит от количества точек в базе. Если их ну очень много, то поиск будет долгим, согласен. А если их мало, то зачем усложнять?
Если точек много, то тут уже лучше разбить на несколько баз данных. Чем больше точек всего, тем больше дробление БД.
Допустим есть прямоугольная карта - 100 км на 500 км. Делим на квадраты - 10х10 км. Создаем 500 БД. Определяем в каком квадрате находится заданная точка. Проходим по точкам в БД этого квадрата и соседних (точка может быть на стыке квадратов). Ищем минимальное расстояние.
Но повторюсь, всё зависит от ситуации. Нужно пробовать, проводить эксперименты, это лучший вариант.
Спасибо, что напомнили о pywinauto. Хорошо, что проект развивается. Скажите, можно ли реализовать на нем такую программу: при нажатии F2 отправлять в текущее окно комбинацию клавиш, например Ctrl+Alt+T, как это можно сделать сейчас в AutoIt? Бегло посмотрел документацию и не нашел примера.
Так ошибки и нет. Файл запускается, но с предложением ввода пароля. Если я вручную ввожу пароль, то файл открывается в обычном режиме.
Если в окне ввода пароля нажимаю "OK', то пишет
Excel library version: 14.0
Traceback (most recent call last):
File "D:/01.py", line 7, in
xlwb = xlApp.Workbooks.Open(filename, Password=password)
File ">", line 8, in Open
pywintypes.com_error: (-2147352567, 'Ошибка.', (0, 'Microsoft Excel', 'Неверный пароль. Убедитесь, что отключена клавиша CAPS LOCK и используется правильный регистр.', 'xlmain11.chm', 0, -2146827284), None)
Process finished with exit code 1
Если в окне ввода пароля нажимаю "Отмена", то пишет:
Excel library version: 14.0
Traceback (most recent call last):
File "D:/01.py", line 7, in
xlwb = xlApp.Workbooks.Open(filename, Password=password)
File ">", line 8, in Open
pywintypes.com_error: (-2147352567, 'Ошибка.', (0, 'Microsoft Excel', 'Метод Open из класса Workbooks завершен неверно', 'xlmain11.chm', 0, -2146827284), None)
Process finished with exit code 1
Если вручную ввести пароль, то пишет:
Excel library version: 14.0
Process finished with exit code 0
Как показала проверка, в моем случае результат программы не поменяется, если просто написать:
xlwb = xlApp.Workbooks.Open(filename).
Те же ошибки.
Я думаю эти ошибки не связаны с самим скриптом. Они появляются от моих действий.
Вопрос, почему не передается пароль?