привязать разом много растров и создать мозаику

Ответить
Avenger
Интересующийся
Сообщения: 36
Зарегистрирован: 07 авг 2008, 20:30
Репутация: 0

привязать разом много растров и создать мозаику

Сообщение Avenger » 17 фев 2010, 22:33

Возник в очередной раз вопрос - как а аркгис оформить набор растровых данных в виде мозаики.

Т.е. есть файлы вида "name_x_y.tiff" где х - номер файла по оси х, у- по оси у.
Известны размеры файлов, скажем 1000*1000 пикс.
Файлы не привязаны.
Файлов очень много.
Как их скормить в аркигис, чтобы они выстроились в нужно порядке и в идеале их можно было бы привязать всех одним разом и работать как с одним файлом.
(редактирование растра не подразумевается только привязка и отображение)

может файл "описаний" сгенерить какой можно ???

Анна
Завсегдатай
Сообщения: 386
Зарегистрирован: 07 фев 2004, 14:31
Статьи: 15
Проекты: 5
Репутация: 7
Откуда: Лозанна
Контактная информация:

Re: привязать разом много растров(мозайка)

Сообщение Анна » 18 фев 2010, 16:26

возможно сработает следующий метод:
1) для каждого файла создать .tfw файл (name_x_y.tfw)
2) наполнение файла сделать следующим:

Код: Выделить всё

1
0
0
-1
x'
y'
где x' - это размер по оси x в пикслях * x (порядковый номер из названия файла по оси х). Например, для файла с именем name_1_1.tiff и размером в 1000 пикселей: x' = 1*1000 = 1000
y' - это размер по оси x в пикслях * y (порядковый номер из названия файла по оси y). Например, для файла с именем name_1_2.tiff и размером в 1000 пикселей: x' = 2*1000 = 2000
такой метод позволит создать всем файлам относительную привязку и расположить из в пространстве относительно друг друга рядами
3) загрузить все файлы в arcgis
4) сделать из них единую мозаику командой mosaic
5) загрузить мозаику и привязывать уже ее

сгенерить tfw можно автоматом из названий файлов.

а вот и статья про TFW - >>>>>>>

Avenger
Интересующийся
Сообщения: 36
Зарегистрирован: 07 авг 2008, 20:30
Репутация: 0

Re: привязать разом много растров(мозайка)

Сообщение Avenger » 05 мар 2010, 11:22

Самым простым оказалась создать для каждого файла с графикой, world-файл. На это ушло минут 15.

Дальше начались трудности.
arcgis и arcotalog, в частности с трудом понимает большое количество файлов. Т.е. если у вас файлов несколько десятков или пусть даже сотен - то все более менее нормально, но когда счет идет на тысячи - начинаются затыки.

Потому было решено использовать открытую библиотеку gdal и ее функцию gdal_merge скачать можно тут

Первоначально огреб проблемы со свежей версией библиотеки, потому в последствии использовал более старую версию 2.4.6.
Кроме того, пришлось переделать world файлы.
Почему-то у меня корректно удалось склеить, только когда значения по координате y` вычислялось по формуле y`=max(y)*1000-y*1000

В ряде случаев возникали проблемы с lzw архивированием у файлов, потому я использовал пакетник из IrfanView, который позволяет изменять параметры/переименовывать сразу неограниченное количество файлов.

И еще, если у вас исходные файлы в tif с 256 цветной палитрой, то убедитесь что у всех файлов одинаковая палитра, иначе на выходе вы получите файл странной расцветки(т.к. палитра будет браться из первого файла). Самый простой способ это обойти - поменять цветность с 8бит на 24бита, однако размеры файлов значительно увеличится и увеличится нагрузка на процессор при сливании файлов.

В конечном итоге использовались архивированные lzw tifы с 24битным цветом.
Вот сама команда для объединения файлов:

gdal_merge.py -o с:\res2.img -of HFA -co COMPRESSED=YES c:\temp\name_*.tif , где

-o с:\res2.img - итоговый файл

-of HFA - это формат данных итогового файла, в данном случае -формат Erdas Imagine (.img) , поскольку он не имеет ограничений. вот тут описания поддерживаемых файлов.

-co COMPRESSED=YES - параметры исходного файла. Для разных типов файлов поддерживаются разные параметры, которые можно поглядеть там же где и описания типов файлов.

c:\temp\name_*.tif - файлы которые будут объеденные, можно списком, а можно и указывать и маску как в примере.

На выходе, после многочасового ожидания (больше суток), получаем многигобайтный img файл, который свободно читается arccatalog`ом и его можно конвертировать в интересующий вас формат, например в tif включить/отключить компрессию и изменить цветность.

Кстати конвертировать можно и gdal`ом:)

з.ы. Огромное спасибо загадочной девушке Анне, которая помогла в решении проблемы.

Ответить

Вернуться в «GDAL/OGR»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость