В общем, рассказываю. Критика и дополнения приветствуются.
1. Получение спутникового снимка с привязкой к Мировым Координатам.
1.1 Нужные программы.
-
GoogleMV - условно-бесплатная программа с визуальным интерфейсом. У меня не заработала. Но люди хвалят.
-
Map Builder - фриварная софтинка микроскопического размера. Отличается от GoogleMV только тем, что координаты скачиваемых участков карт приходится вводить вручную. Я пользовался именно этой программой в комплекте с Google Earth.
- Любой текстовый редактор.
- Калькулятор или электронная таблица.
1.2 Открываем Google Earth, приближаем интересующий нас участок Земли так, чтобы он влезал в кадр. В меню Инструменты -> Настройки во вкладке "3D Просмотр" устанавливаем переключаель "Показать шир./долг." в положение "Градусы с десятичными долями"
1.3 Запускаем Map Builder и вводим в соответствующие поля координаты правого верхнего и левого нижнего углов интересующей области. Координаты можно округлить до 2-3 знака после запятой.
ВНИМАНИЕ! Использовать эти координаты для дальнейшей привязки нельзя! Так как и GoogleMV и Map Builder скачивают карту кусочками размером 256х256 пикс., соответственно картинка будет выровнена по границам прямоугольника, размеры которого кратны количеству скачанных кусочков, то есть не соответствуют первоначальной геометрии выбранной области.
1.4 Устанавливаем чекбокс "Создать файл привязки" и формат выходного изображения JPEG. Движком "Уровень" добиваемся, чтобы наша карта имела максимально возможное разрешение, но при этом всех кусочков хватало.
Если вы пользуетесь GoogleMV, то всех этих шаманских танцев вам не нужно. Просто выделяете область и сохраняете её с файлом привязки.
1.5 Map Builder умеет создавать только файлы привязки для программы OziExplorer (.map). GoogleMV умеет создавать нужные нам World Files, но только за деньги. В любом случае в файле .map содержится вся необходимая нам информация, так что создать на его основе файл .jpw можно самостоятельно. Открываем map-файл любым текстовым редактором, и листаем в самый конец. Там видим примерно такие строчки:
Код:
MMPXY,1,0,0
MMPXY,2,3663,0
MMPXY,3,3663,2895
MMPXY,4,0,2895
MMPLL,1, 28.991547, 59.990058
MMPLL,2, 29.620171, 59.990058
MMPLL,3, 29.620171, 59.740569
MMPLL,4, 28.991547, 59.740569
Это, собственно, всё что нам нужно. Из этого ясно, что картинка имеет разрешение 3663х2895 точек и её левый верхний угол имеет координаты [28.991547,59.990058]. Формат jpw (World Image File) известен:
1-я строка (A): Горизонтальное разрешение растра (едениц карты/пиксел)
2-я строка (B): Склонение по оси X
3-я строка (C): Склонение по оси Y
4-я строка (D): Вертикальное разрешение растра (едениц карты/пиксел, со знаком минус)
5-я строка (E): Долгота левого верхнего угла растра
6-я строка (F): Широта левого верхнего угла растра.
5-ю и 6-ю строки вытаскиваем из map-файла непосредственно. А вот масштабы придётся посчитать. Поскольку юнитом карты в UTM у нас является градус и склонения равны 0, то горизонтальное разрешение = ( долгота левого края карты - долгота правого края карты ) / количество пикселов по горизонтали. В нашем случае это будет (29.620171 - 28.991547) / 3663 = 0.00017161452. Аналогично высчитывается вертикальный масштаб: (59.740569 - 59.990058) / 2895 = -0.00008617927. Итог:
Код:
0.00017161452
0
0
-0.00008617927
28.991547
59.990058
Если лениво тыкать кнопки калькулятора, можно воспользоваться электронной таблицей (я использовал OpenOffice Calc). Вот пример раcсчёта для моей карты (
скачать).
Файл привязки должен иметь то же имя, что и файл со спутниковой фотографией и расширение .jpw, например, если карта называется map_01.jpg, то файл привязки должен называться map_01.jpw.