У меня есть откалиброванные карты (используя MapCalibrator), для которых мне нужно найти соответствующие плитки в стиле OSM.
Хотя я нашел несколько алгоритмов для расчета тайлов по географическим координатам (широта/долгота), я застрял в поиске местоположения пикселей (в широте/долготе) на основе нескольких откалиброванных точек, которые у меня есть.
Для Ex у меня есть изображение 3758/5751 пикселей и следующие калиброванные точки:
- x y lon lat
- 1897 2224 26.3256 46.2311
- 3303 2708 26.43678 46.20419
- 2297 306 26.3577 46.3365
- 2135 4648 26.3423 46.0967
- 1885 1764 26.3236 46.2561
- 2091 2806 26.3386 46.1995
- 3613 2922 26.4604 46.1921
Как я могу вычислить loat/lon для произвольного пикселя?
ПС1. Карта туристическая, из достаточно маленького региона (без понятия, какой тип проекции используется).
PS2. Я кодирую на Java... но буду признателен за любую подсказку.
Что я пробовал, так это некоторое линейное преобразование между откалиброванными точками и каждым пикселем, но тайлы получаются как-то немного смещенными к северо-западу (на несколько километров, судя по масштабу карты), и в зависимости от того, какие 2 откалиброванные точки я использую, смещение больше или меньше.