Страница 1 из 1
					
				Цвета растра при экспорте в *.kml
				Добавлено: 01 ноя 2014, 12:02
				 Odd-Bird
				Добрый день!
Буду благодарен за помощь с экспортом растровых файлов из R в *.kml. Я использую функцию KML из пакета raster. При этом не получается правильно задать цвета, чтобы они отображались так же, как на графиках в самой R. В качестве аргумента col я пробовал использовать слот растра @legend@colortable. При этом в KML-файле действительно  применяются эти цвета, но соответствие цветов и значений ячеек растра другое, поэтому ничего понять нельзя. Кто-нибудь знает, как справиться с этой проблемой? Спасибо.
			 
			
					
				Re: Цвета растра при экспорте в *.kml
				Добавлено: 01 ноя 2014, 12:40
				 rhot
				При обычном экспорте изображения нормальные цвета получаются?
			 
			
					
				Re: Цвета растра при экспорте в *.kml
				Добавлено: 01 ноя 2014, 12:49
				 Odd-Bird
				При создании jpeg-файла из растра - да. Другие способы экспорта не пробовал.
			 
			
					
				Re: Цвета растра при экспорте в *.kml
				Добавлено: 01 ноя 2014, 13:04
				 rhot
				Функция 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.
			 
			
					
				Re: Цвета растра при экспорте в *.kml
				Добавлено: 01 ноя 2014, 15:10
				 Odd-Bird
				Да, png-файл тоже создается функцией KML, в нем с цветами та же проблема.
Функция kmlOverlay предназначена для экспорта объектов Spatial*, использовать ее для растров напрямую не получится. Если же воспользоваться стандартной функцией png(), то цвета отобразятся нормально, однако полученным файлом нельзя заменить тот, что создается KML - видимо, проекция другая. На GoogleMaps корректно не накладывается.
Вообще слот растра @legend@colortable содержит 256 значений, номера значений с 1 по 255 соответствуют значениям растра и используются функцией plot(). Почему они неправильно используются в параметр col() функции KML() - непонятно.
			 
			
					
				Re: Цвета растра при экспорте в *.kml
				Добавлено: 01 ноя 2014, 15:20
				 rhot
				Может быть, сначала записать цвета в переменную, а эту переменную скормить функции KML {raster}?
			 
			
					
				Re: Цвета растра при экспорте в *.kml
				Добавлено: 01 ноя 2014, 15:22
				 Odd-Bird
				Да, я так и пробовал - но соответствие между значениями растра и цветами получается неправильным.
			 
			
					
				Re: Цвета растра при экспорте в *.kml
				Добавлено: 01 ноя 2014, 15:27
				 gamm
				Odd-Bird писал(а):Да, я так и пробовал - но соответствие между значениями растра и цветами получается неправильным.
там же есть и исходники, и отладчик - кто мешает посмотреть, что реально происходит?
судя по всему, KML() при выводе этот слот не использует, а берет легенду, заданную параметров col=, о чем написано в документации (по умолчанию там топографическая легенда). Причем растягивает легенду на весь диапазон ...