в примере файл с разноцветной палитрой, 256 интервалов, палитра в файле - скорее всего, ничего другого туда выложить не получитсяAriki писал(а):Не обязательно разбивать на интервалы: можно оставить в файле 16-битные целочисленные высоты и к ним применить палитру.
geotiff
-
- Гуру
- Сообщения: 4168
- Зарегистрирован: 15 окт 2010, 08:33
- Репутация: 1107
- Ваше звание: программист
- Откуда: Казань
Re: geotiff
-
- Гуру
- Сообщения: 731
- Зарегистрирован: 12 янв 2011, 22:40
- Репутация: 304
- Ваше звание: ∀
Re: geotiff
Да, я тоже посмотрел, долго не мог сообразить, как скачать этот файл в Firefox. Но, насколько я понял, это образец, что должно получиться, а у автора реальные данные с высотами, которые надо отобразить так же - какой-нибудь SRTM или ASTER GDEM. Впрочем, гадать бессмысленно.
-
- Гуру
- Сообщения: 4168
- Зарегистрирован: 15 окт 2010, 08:33
- Репутация: 1107
- Ваше звание: программист
- Откуда: Казань
Re: geotiff
процитируем ТС:
ТС явно путает высоты и номера интервалов.Хорошо, опишу ситуацию подробно: мне нужно залить файл на один сервер. На сервер можно загрузить только geoTIFF. Данный файл geoTIFF должен содержать значения высот (высоты могут быть больше 255). В качестве примера я скачала с этого сервера файл - geoTIFF..
-
- Новоприбывший
- Сообщения: 11
- Зарегистрирован: 14 авг 2015, 09:38
- Репутация: 0
Re: geotiff
Вот что я имею: массив с высотами, которые мне нужно впихнуть в файл tif. На выходе должно получиться полноценное цветное изображение. Выше прочитала совет с установление тега COLORMAP. Буду пробывать. Насчет BITSPERSAMPLE=8: я указала значение как и в примере.
- Вложения
-
- res.png (10.46 КБ) 6918 просмотров
-
- Гуру
- Сообщения: 4168
- Зарегистрирован: 15 окт 2010, 08:33
- Репутация: 1107
- Ваше звание: программист
- Откуда: Казань
Re: geotiff
вы так и не поняли, что "впихнуть" вам нужно не высоты, а картинку, которую сначала нужно сделать (задав интервалы и палитру это которая ColorMap длиной 256*3). И до тех пор у вас так и будет "черный квадрат Малевича", в полном соответствии с тем, что вы делаетеWurtion писал(а):Вот что я имею: массив с высотами, которые мне нужно впихнуть в файл tif.
-
- Новоприбывший
- Сообщения: 11
- Зарегистрирован: 14 авг 2015, 09:38
- Репутация: 0
Re: geotiff
И ещё параллельно вопрос: какой бы я тиф не создавала, ни один на 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
Кто-нибудь сталкивался с этим?
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
Кто-нибудь сталкивался с этим?
-
- Гуру
- Сообщения: 4168
- Зарегистрирован: 15 окт 2010, 08:33
- Репутация: 1107
- Ваше звание: программист
- Откуда: Казань
Re: geotiff
попробуйте начать с простого - создайте небольшой файл с разноцветными полосками(bmp 256 colors, с палитрой), и т.д. Можно чего-нибудь нарисовать в paint, потом самой переписать в geotif (структура у bmp простая). Потом попробуйте сделать то же самое from scratch. И каждый раз смотрите, какие тэги создались у вас, и какие должны быть.
-
- Новоприбывший
- Сообщения: 11
- Зарегистрирован: 14 авг 2015, 09:38
- Репутация: 0
Re: geotiff
Спасибо за совет! Изображение создать получилось! Можете мне объяснить тег формата *tif colorMap. Как его задавать?
-
- Гуру
- Сообщения: 731
- Зарегистрирован: 12 янв 2011, 22:40
- Репутация: 304
- Ваше звание: ∀
Re: geotiff
Вот нагуглился пример на C#, но на C/C++ всё аналогично. Вам нужно сопоставить каждому возможному индексу (значению ячейки растра) 16-битные беззнаковые значения трёх компонент RGB.
-
- Гуру
- Сообщения: 4168
- Зарегистрирован: 15 окт 2010, 08:33
- Репутация: 1107
- Ваше звание: программист
- Откуда: Казань
Re: geotiff
судя по размеру палитры, приведенному ТС на скрине, там RGB 8-бит х 3Ariki писал(а):Вот нагуглился пример на C#, но на C/C++ всё аналогично. Вам нужно сопоставить каждому возможному индексу (значению ячейки растра) 16-битные беззнаковые значения трёх компонент RGB.
-
- Гуру
- Сообщения: 4168
- Зарегистрирован: 15 окт 2010, 08:33
- Репутация: 1107
- Ваше звание: программист
- Откуда: Казань
Re: geotiff
прежде, чем задавать, его нужно создать. Это соответствие индексов интервалов цветам. Делите диапазон высот на интервалы (не исключено, что для данного сайта такое деление задано, смотрите доки), и каждому интервалу готовите цвет в виде тройки RGB. Например, интервал номер 1, диапазон высот 50-70, цвет зеленый, и т.д. Это и есть ColorMap (отображение индексов на RGB), но перевод высот в индексы - ваша задача, весь диапазон высот в индексы от 0 до 255.Wurtion писал(а):Спасибо за совет! Изображение создать получилось! Можете мне объяснить тег формата *tif colorMap. Как его задавать?
Саму эту таблицу цветов можете скопировать готовую (из примера с сайта - в таблице 3*256=768 байтов), а вот как нарезать рельеф на интервалы - лучше поискать на сайте, для экспериментов сгодится нарезка
Код: Выделить всё
ind[i]=(int)(255*(H[i]-Hmin)/(Hmax-Hmin))
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 3 гостя