Страница 2 из 2
Re: geotiff
Добавлено: 04 окт 2015, 22:04
gamm
Ariki писал(а):Не обязательно разбивать на интервалы: можно оставить в файле 16-битные целочисленные высоты и к ним применить палитру.
в примере файл с разноцветной палитрой, 256 интервалов, палитра в файле - скорее всего, ничего другого туда выложить не получится
Re: geotiff
Добавлено: 04 окт 2015, 22:21
Ariki
Да, я тоже посмотрел, долго не мог сообразить, как скачать этот файл в Firefox. Но, насколько я понял, это образец, что должно получиться, а у автора реальные данные с высотами, которые надо отобразить так же - какой-нибудь SRTM или ASTER GDEM. Впрочем, гадать бессмысленно.
Re: geotiff
Добавлено: 04 окт 2015, 22:27
gamm
процитируем ТС:
Хорошо, опишу ситуацию подробно: мне нужно залить файл на один сервер. На сервер можно загрузить только geoTIFF. Данный файл geoTIFF должен содержать значения высот (высоты могут быть больше 255). В качестве примера я скачала с этого сервера файл - geoTIFF..
ТС явно путает высоты и номера интервалов.
Re: geotiff
Добавлено: 05 окт 2015, 07:23
Wurtion
Вот что я имею: массив с высотами, которые мне нужно впихнуть в файл tif. На выходе должно получиться полноценное цветное изображение. Выше прочитала совет с установление тега COLORMAP. Буду пробывать. Насчет BITSPERSAMPLE=8: я указала значение как и в примере.
Re: geotiff
Добавлено: 05 окт 2015, 08:08
gamm
Wurtion писал(а):Вот что я имею: массив с высотами, которые мне нужно впихнуть в файл tif.
вы так и не поняли, что "впихнуть" вам нужно не высоты, а картинку, которую сначала нужно сделать (задав интервалы и палитру это которая ColorMap длиной 256*3). И до тех пор у вас так и будет "черный квадрат Малевича", в полном соответствии с тем, что вы делаете
Re: geotiff
Добавлено: 05 окт 2015, 09:50
Wurtion
И ещё параллельно вопрос: какой бы я тиф не создавала, ни один на geoserver не загружается. Пишет:
Could not list layers for this store, an error occurred retrieving them: Failed to create reader from file:///tmp/data_u0315/test.tif and hints null
Кто-нибудь сталкивался с этим?
Re: geotiff
Добавлено: 05 окт 2015, 14:33
gamm
попробуйте начать с простого - создайте небольшой файл с разноцветными полосками(bmp 256 colors, с палитрой), и т.д. Можно чего-нибудь нарисовать в paint, потом самой переписать в geotif (структура у bmp простая). Потом попробуйте сделать то же самое from scratch. И каждый раз смотрите, какие тэги создались у вас, и какие должны быть.
Re: geotiff
Добавлено: 09 окт 2015, 15:26
Wurtion
Спасибо за совет! Изображение создать получилось! Можете мне объяснить тег формата *tif colorMap. Как его задавать?
Re: geotiff
Добавлено: 10 окт 2015, 23:16
Ariki
Вот нагуглился
пример на C#, но на C/C++ всё аналогично. Вам нужно сопоставить каждому возможному индексу (значению ячейки растра) 16-битные беззнаковые значения трёх компонент RGB.
Re: geotiff
Добавлено: 11 окт 2015, 05:37
gamm
Ariki писал(а):Вот нагуглился
пример на C#, но на C/C++ всё аналогично. Вам нужно сопоставить каждому возможному индексу (значению ячейки растра) 16-битные беззнаковые значения трёх компонент RGB.
судя по размеру палитры, приведенному ТС на скрине, там RGB 8-бит х 3
Re: geotiff
Добавлено: 11 окт 2015, 05:47
gamm
Wurtion писал(а):Спасибо за совет! Изображение создать получилось! Можете мне объяснить тег формата *tif colorMap. Как его задавать?
прежде, чем задавать, его нужно создать. Это соответствие индексов интервалов цветам. Делите диапазон высот на интервалы (не исключено, что для данного сайта такое деление задано, смотрите доки), и каждому интервалу готовите цвет в виде тройки RGB. Например, интервал номер 1, диапазон высот 50-70, цвет зеленый, и т.д. Это и есть ColorMap (отображение индексов на RGB), но перевод высот в индексы - ваша задача, весь диапазон высот в индексы от 0 до 255.
Саму эту таблицу цветов можете скопировать готовую (из примера с сайта - в таблице 3*256=768 байтов), а вот как нарезать рельеф на интервалы - лучше поискать на сайте, для экспериментов сгодится нарезка
.