У меня есть приложение, которое считывает данные координатной сетки со значениями (т. Е. Широта, долгота, значение) и затем отображает эти данные на карте.Нарисованная карта использует конформную коническую проекцию Ламберта, и поэтому все данные координат должны быть преобразованы из широты / долготы в восток / север.Все это прекрасно работает, однако при чтении в нескольких файлах данных возникает заметная проблема с производительностью.Поскольку все файлы данных содержат одинаковый набор точек (хотя и не обязательно в одном и том же порядке), я думаю, что какая-то таблица поиска будет полезна для преобразования координат.Однако я никогда раньше не использовал таблицы поиска и испытываю некоторые затруднения при расчете дизайна.
В двух словах - любые предложения по быстрому способу выбора пары координат широта / долгота (значения с плавающей запятой) и поискасоответствующая пара E / N (значения с плавающей запятой), при условии, что между парами координат существует отношение 1: 1, нет пропущенных значений и т. д.
Поскольку значения широта / долгота являются значениями с плавающей запятой, я не могу использовать их какиндексы массива (например: lookup_array [lat] [lon]), очевидно, именно здесь я и получаю наибольшее количество срабатываний.
Примечание: это решение может быть на C или C ++, в зависимости от того, что имеет оптимальное значение.решение.