Страница 1 из 2

Работа с растровыми данными в R

Добавлено: 06 ноя 2007, 05:58
Максим Дубинин
Обсуждение статьи "Работа с растровыми данными в R"

http://gis-lab.info/qa/rgdal.html

Обновление:
11.03.2009 кучка мелких исправлений по коду

Re: Дерево решений (Decision Tree) в R

Добавлено: 01 мар 2009, 23:13
Анна
вопрос по вот этой части кода:

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

tif_driver = new("GDALDriver", "GTiff")
tif2 = new("GDALTransientDataset", tif_driver, height, width, 1, 'Int8')
resmtx = matrix(B,width,height)
bnd1 = putRasterData(tif2, resmtx)
tif_file = "path_to_file\\classification.tif"
saveDataset(tif2, tif_file)
Для чего создается bnd1 если он нигде потом не используется?
далее, если результат в resmtx имеет вид

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

 num [1:2205, 1:889] 0 0 0 0 1 0 1 1 1 1 ...
(то есть верный по логике вид) - а вот растр выходной - без значений получается, где может быть ошибка?
ну и последнее - выходной растр получается без привязки, верно?

Re: Работа с растровыми данными в R

Добавлено: 11 мар 2009, 22:43
Максим Дубинин
bnd1 это указатель, если посмотреть его содержимое после операции

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

bnd1 = putRasterData(tif2, resmtx)
bnd1
то он выдаст что-то типа:
An object of class “GDALRasterBand”
Slot "handle":
<pointer: 0x00035bc0>
можно обойтись и без него:
putRasterData(tif2, resmtx)
По поводу проблем с выводом, попробуй Int8 на Byte заменить, ошибка в коде, такого типа как Int8 просто не существует.

Re: Работа с растровыми данными в R

Добавлено: 12 мар 2009, 12:13
Анна
вот, отлично, теперь все получилось:) спасибо. действительно с байт все сработало.
но главное почему я видела "черный квадрат" потому что я его смотрела в AV3 как image тему, а когда загрузила как Image analysis тему все проявилось:). только вот если использовать для записи в тиф какие-то производные результаты обработки растра, то данные получаются без привязки ...
можно ли как-то скопировать информацию о привязки из header'а одного тиф-файла и записать в header нового файла? приходит в голову сохранять растр в формат грид - там как получить информацию в header понятно бм, а вот как быть с тифом?
либо еще приходит в голову записать информацию от известного растра в tfw и переназвать...
но может можно как-нибудь хидер копировать?

Re: Работа с растровыми данными в R

Добавлено: 12 мар 2009, 19:21
Максим Дубинин
я просто копировал из исходного файла
наверняка есть поумнее способ, быстрый поиск дает вот такое

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

 dx <- copyDataset(x, driver="JPEG", options="WORLDFILE=YES")
saveDataset(dx, tf1, options="WORLDFILE=YES")
разберешься как именно с этим работать, поделись, тоже буду пользоваться

Re: Работа с растровыми данными в R

Добавлено: 12 апр 2009, 22:39
Максим Дубинин
вот такое решение есть, более простое, создать world-файл, но разумеется без прописывания всех тэгов геотиф:
после чтения растра

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

test <- "D:\\Programming\\R\\raster-open-save-georef\\s_2000.tif"
pixsize = as.numeric(GDALinfo(test)[6])
originx = as.numeric(GDALinfo(test)[4])
originy = as.numeric(GDALinfo(test)[5])
tfwinfo = rbind(pixsize,0,0,-1*pixsize,originx,originy)
после записи растра

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

tif_file = "D:\\Programming\\R\\raster-open-save-georef\\output.tif"
tfw_file = tif_file 
substr(tfw_file, nchar(tfw_file)-2, nchar(tfw_file)) <- "tfw"
write(tfwinfo,tfw_file,sep="\n")

Re: Работа с растровыми данными в R

Добавлено: 06 май 2009, 18:42
Анна
а еще такой вопрос по работе с растрами в R - как можно сделать многоканальный растр из нескольких каналов?

Re: Работа с растровыми данными в R

Добавлено: 06 май 2009, 18:47
Максим Дубинин
добавил к статье и про то как делать многоканальные растры и про сохранение привязки, описанное выше

Re: Работа с растровыми данными в R

Добавлено: 23 июн 2012, 18:30
SS_Rebelious
У меня почему-то получается открыть файл только с помощью "file.choose()", а system.file выдаёт такую ошибку:

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

Error in system.file("/my_path/my_file.tif", mustWork = TRUE) : 
  no file found
В чём может быть проблема?

Re: Работа с растровыми данными в R

Добавлено: 23 июн 2012, 23:11
Максим Дубинин
так system.file() в системных файлах ищет, то бишь пакетах R, зачем там свои данных хранить?

просто полный путь вместо "file.choose()" и все

Re: Работа с растровыми данными в R

Добавлено: 24 июн 2012, 13:56
SS_Rebelious
простой путь пробовал в самом начале- приводит к вылету

Re: Работа с растровыми данными в R

Добавлено: 24 июн 2012, 14:00
Максим Дубинин
к вылету чего?

не вижу как file.choose() может работать и одновременно простое указание пути не работает.

Re: Работа с растровыми данными в R

Добавлено: 15 окт 2014, 08:45
Anton_Kh
Доброго времени суток!

При установке rgdal следующие проблемы:

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

> install.packages("rgdal")
Installing package into ‘/home/narwhale/R/x86_64-pc-linux-gnu-library/3.0’
(as ‘lib’ is unspecified)
пробую URL 'http://cran.gis-lab.info/src/contrib/rgdal_0.9-1.tar.gz'
Content type 'application/x-gzip' length 1624496 bytes (1.5 Mb)
открытие URL
==================================================
downloaded 1.5 Mb

* installing *source* package ‘rgdal’ ...
** пакет ‘rgdal’ удачно распакован, MD5 sums проверены
configure: CC: gcc -std=gnu99
configure: CXX: g++
configure: rgdal: 0.9-1
checking for /usr/bin/svnversion... no
configure: svn revision: 518
configure: gdal-config: gdal-config
checking gdal-config usability... 
./configure: line 2119: gdal-config: command not found
no
Error: gdal-config not found
The gdal-config script distributed with GDAL could not be found.
If you have not installed the GDAL libraries, you can
download the source from  http://www.gdal.org/
If you have installed the GDAL libraries, then make sure that
gdal-config is in your path. Try typing gdal-config at a
shell prompt and see if it runs. If not, use:
 --configure-args='--with-gdal-config=/usr/local/bin/gdal-config'
with appropriate values for your installation.

ERROR: configuration failed for package ‘rgdal’
* removing ‘/home/narwhale/R/x86_64-pc-linux-gnu-library/3.0/rgdal’
Warning in install.packages :
  installation of package ‘rgdal’ had non-zero exit status

The downloaded source packages are in
	‘/tmp/RtmpHzIiaw/downloaded_packages’
ОС Xubuntu 14.04
x86_64
R version 3.0.2 (2013-09-25)

Ставил из RStudio Version 0.98.953

Как решить такую проблему установки?

Re: Работа с растровыми данными в R

Добавлено: 15 окт 2014, 17:05
rhot
там же всё написано

Re: Работа с растровыми данными в R

Добавлено: 16 окт 2014, 01:12
Anton_Kh
rhot писал(а):там же всё написано
Да, действительно :)
Проблема решилась предварительной установкой libgdal-dev