Вычислить пиксели географические координаты калиброванной карты - PullRequest
0 голосов
/ 29 сентября 2011

У меня есть несколько откалиброванных карт (с использованием 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

Как я могу вычислить лота / долг для произвольного пикселя?

PS1.Карта туристическая, из достаточно небольшого региона (понятия не имею, какой тип проекции использует).

PS2.Я пишу код на Java ... но любой совет был бы оценен.

То, что я пробовал, это некоторое линейное преобразование между калиброванными точками и каждым пикселем, но плитки получаются как-то немного смещенными в NW (несколько километров, судя по масштабу карты), и в зависимости от того, какие 2 калиброванные точки я использую, смещение будет больше или меньше.

1 Ответ

0 голосов
/ 30 сентября 2011

Я понял это. Линейное преобразование было достаточно хорошим.

Проблема заключалась в том, что географические координаты имеют начало координат в левом нижнем углу, а пиксели - в левом верхнем углу. (Я испортил координаты Y, и после смены знака в другой точке результат казался почти хорошим ... но как-то сместился: D)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...