Географический вопрос: как создать файл .wld с учетом некоторых наземных контрольных точек? - PullRequest
4 голосов
/ 02 ноября 2009

ОК, поэтому у меня есть jpeg и несколько наземных контрольных точек (x / y пикселей и соответствующие ссылки широты / долготы).

Я бы хотел сгенерировать файл .wld world для сопровождения jpeg из командной строки. Моя система координат - Google Maps, т.е. EPSG: 900913.

Я знаю, что могу использовать gdal_transform для генерации .vrt с учетом gcps, но мне нужен файл .wld. (Не совсем ясно, в чем разница, но это определенно то, что мне нужно!)

Кто-нибудь знает, как это сделать?

Спасибо Ричард

Ответы [ 2 ]

3 голосов
/ 02 ноября 2009

Мировой файл - это, как правило, 6-строчный текстовый файл ascii, определяющий вашу географическую привязку. Если у вас есть набор опорных точек, вам необходимо отобразить их (используя такой инструмент, как gdal) в одно аффинное преобразование.

Я не верю, что утилиты командной строки gdal дают вам возможность просто напрямую создавать файл мира, хотя некоторые драйверы в GDAL сделают это за вас, когда вы напишите образ, если в драйвере установлено WORLDFILE = yes. Вам нужно проверить драйвер для вашего конкретного формата, чтобы увидеть, поддерживает ли он это.

Если этого не произойдет, вы можете легко сделать это вручную. Просто создайте файл .VRT, используя опорные точки, и посмотрите на него в текстовом редакторе. У него будет такой раздел:

<GeoTransform>440720.0,  60,  0.0,  3751320.0,  0.0, -60.0</GeoTransform>

Этот "GeoTransform" является аффинным преобразованием, используемым мировым файлом. Все, что вам нужно сделать, это создать файл ascii, который помещает это по одному значению на строку, например:

60
0.0
0.0
-60.0
440720.0
3751320.0

Это будет действительный файл .WLD для вашей заявки.

FYI - 6 чисел - это размер x пикселя, y shift на значение x, x shift на y пиксель, x origin, затем y origin. (Сдвиги обеспечивают возможности поворота / сдвига в аффинном преобразовании. Как правило, они будут равны 0/0, поскольку обычно требуется ортотрансформированное изображение).

Подробнее см. Википедия по Worldfiles .

1 голос
/ 24 января 2010

В репозитории GDAL есть скрипт Python gcps2wld.py , который переводит набор опорных точек в файл в первое приближение в мировом формате .

Я бы добавил к ответу Рида, что gdal_translate можно задавать опорные точки в качестве параметров командной строки:

gdal_translate -gcp 1 2 3 4 -gcp 6 7 8 9 [-gcp ...] -of GTiff inp.img out.tif
...