Цвета растра при экспорте в *.kml

Вопросы по статистическому пакету R. Не обязательно гео.
Ответить
Odd-Bird
Интересующийся
Сообщения: 29
Зарегистрирован: 29 окт 2014, 17:48
Репутация: 0

Цвета растра при экспорте в *.kml

Сообщение Odd-Bird » 01 ноя 2014, 12:02

Добрый день!

Буду благодарен за помощь с экспортом растровых файлов из R в *.kml. Я использую функцию KML из пакета raster. При этом не получается правильно задать цвета, чтобы они отображались так же, как на графиках в самой R. В качестве аргумента col я пробовал использовать слот растра @legend@colortable. При этом в KML-файле действительно применяются эти цвета, но соответствие цветов и значений ячеек растра другое, поэтому ничего понять нельзя. Кто-нибудь знает, как справиться с этой проблемой? Спасибо.
>>> Odd-Bird.do.am — Библиография научных работ о птицах России <<<

Аватара пользователя
rhot
Гуру
Сообщения: 1727
Зарегистрирован: 25 янв 2011, 17:50
Репутация: 194
Ваше звание: доктор
Откуда: Архангельск

Re: Цвета растра при экспорте в *.kml

Сообщение rhot » 01 ноя 2014, 12:40

При обычном экспорте изображения нормальные цвета получаются?
___________(¯`·.¸(¯`·.¸ Scientia potentia est _/ {SILVA}:::{FOSS}:::{GIS} \_ Знание сила ¸.·´¯)¸.·´¯)___________

Odd-Bird
Интересующийся
Сообщения: 29
Зарегистрирован: 29 окт 2014, 17:48
Репутация: 0

Re: Цвета растра при экспорте в *.kml

Сообщение Odd-Bird » 01 ноя 2014, 12:49

При создании jpeg-файла из растра - да. Другие способы экспорта не пробовал.
>>> Odd-Bird.do.am — Библиография научных работ о птицах России <<<

Аватара пользователя
rhot
Гуру
Сообщения: 1727
Зарегистрирован: 25 янв 2011, 17:50
Репутация: 194
Ваше звание: доктор
Откуда: Архангельск

Re: Цвета растра при экспорте в *.kml

Сообщение rhot » 01 ноя 2014, 13:04

Функция KML {raster} переписана с функций из пакета {maptools} и создаёт она PNG с KML. Попробуйте сделать экспорт PNG.

В учебнике [1] даётся пример экспорта PNG c KML с помощью kmlOverlay {maptools}.

--
[1] Bivand R. S., Pebesma E. J., Gómez-Rubio V. Applied spatial data analysis with R. – New York : Springer, 2008.
___________(¯`·.¸(¯`·.¸ Scientia potentia est _/ {SILVA}:::{FOSS}:::{GIS} \_ Знание сила ¸.·´¯)¸.·´¯)___________

Odd-Bird
Интересующийся
Сообщения: 29
Зарегистрирован: 29 окт 2014, 17:48
Репутация: 0

Re: Цвета растра при экспорте в *.kml

Сообщение Odd-Bird » 01 ноя 2014, 15:10

Да, png-файл тоже создается функцией KML, в нем с цветами та же проблема.

Функция kmlOverlay предназначена для экспорта объектов Spatial*, использовать ее для растров напрямую не получится. Если же воспользоваться стандартной функцией png(), то цвета отобразятся нормально, однако полученным файлом нельзя заменить тот, что создается KML - видимо, проекция другая. На GoogleMaps корректно не накладывается.

Вообще слот растра @legend@colortable содержит 256 значений, номера значений с 1 по 255 соответствуют значениям растра и используются функцией plot(). Почему они неправильно используются в параметр col() функции KML() - непонятно.
>>> Odd-Bird.do.am — Библиография научных работ о птицах России <<<

Аватара пользователя
rhot
Гуру
Сообщения: 1727
Зарегистрирован: 25 янв 2011, 17:50
Репутация: 194
Ваше звание: доктор
Откуда: Архангельск

Re: Цвета растра при экспорте в *.kml

Сообщение rhot » 01 ноя 2014, 15:20

Может быть, сначала записать цвета в переменную, а эту переменную скормить функции KML {raster}?
___________(¯`·.¸(¯`·.¸ Scientia potentia est _/ {SILVA}:::{FOSS}:::{GIS} \_ Знание сила ¸.·´¯)¸.·´¯)___________

Odd-Bird
Интересующийся
Сообщения: 29
Зарегистрирован: 29 окт 2014, 17:48
Репутация: 0

Re: Цвета растра при экспорте в *.kml

Сообщение Odd-Bird » 01 ноя 2014, 15:22

Да, я так и пробовал - но соответствие между значениями растра и цветами получается неправильным.
>>> Odd-Bird.do.am — Библиография научных работ о птицах России <<<

gamm
Гуру
Сообщения: 4056
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1054
Ваше звание: программист
Откуда: Казань

Re: Цвета растра при экспорте в *.kml

Сообщение gamm » 01 ноя 2014, 15:27

Odd-Bird писал(а):Да, я так и пробовал - но соответствие между значениями растра и цветами получается неправильным.
там же есть и исходники, и отладчик - кто мешает посмотреть, что реально происходит?

судя по всему, KML() при выводе этот слот не использует, а берет легенду, заданную параметров col=, о чем написано в документации (по умолчанию там топографическая легенда). Причем растягивает легенду на весь диапазон ...

Ответить

Вернуться в «R»

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

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