GIS-LAB

Географические информационные системы и дистанционное зондирование


Форумы GIS-Lab.info

Геоинформационные системы (ГИС) и Дистанционное зондирование Земли


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

Обсуждение материалов сайта: вопросы, замечания, предложения

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

Сообщение Максим Дубинин » 06 ноя 2007, 05:58

Обсуждение статьи "Работа с растровыми данными в R"

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

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

пристегивайтесь, турбулентность прямо по курсу
Аватара пользователя
Максим Дубинин
NextGIS
 
Зарегистрирован: 06 окт 2003
Откуда: Москва (на карте)
 
Сообщения: 8889
Репутация: 635
Статьи: 231
Проекты: 12/6

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 ...

(то есть верный по логике вид) - а вот растр выходной - без значений получается, где может быть ошибка?
ну и последнее - выходной растр получается без привязки, верно?
  • 0

Анна
Завсегдатай
 
Зарегистрирован: 07 фев 2004
Откуда: Лозанна (на карте)
 
Сообщения: 386
Репутация: 7
Статьи: 15
Проекты: 5

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 просто не существует.
  • 0

пристегивайтесь, турбулентность прямо по курсу
Аватара пользователя
Максим Дубинин
NextGIS
 
Зарегистрирован: 06 окт 2003
Откуда: Москва (на карте)
 
Сообщения: 8889
Репутация: 635
Статьи: 231
Проекты: 12/6

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

Сообщение Анна » 12 мар 2009, 12:13

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

Анна
Завсегдатай
 
Зарегистрирован: 07 фев 2004
Откуда: Лозанна (на карте)
 
Сообщения: 386
Репутация: 7
Статьи: 15
Проекты: 5

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

Сообщение Максим Дубинин » 12 мар 2009, 19:21

я просто копировал из исходного файла
наверняка есть поумнее способ, быстрый поиск дает вот такое
Код: Выделить всё
 dx <- copyDataset(x, driver="JPEG", options="WORLDFILE=YES")
saveDataset(dx, tf1, options="WORLDFILE=YES")

разберешься как именно с этим работать, поделись, тоже буду пользоваться
  • 0

пристегивайтесь, турбулентность прямо по курсу
Аватара пользователя
Максим Дубинин
NextGIS
 
Зарегистрирован: 06 окт 2003
Откуда: Москва (на карте)
 
Сообщения: 8889
Репутация: 635
Статьи: 231
Проекты: 12/6

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")
  • 0

пристегивайтесь, турбулентность прямо по курсу
Аватара пользователя
Максим Дубинин
NextGIS
 
Зарегистрирован: 06 окт 2003
Откуда: Москва (на карте)
 
Сообщения: 8889
Репутация: 635
Статьи: 231
Проекты: 12/6

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

Сообщение Анна » 06 май 2009, 18:42

а еще такой вопрос по работе с растрами в R - как можно сделать многоканальный растр из нескольких каналов?
  • 0

Анна
Завсегдатай
 
Зарегистрирован: 07 фев 2004
Откуда: Лозанна (на карте)
 
Сообщения: 386
Репутация: 7
Статьи: 15
Проекты: 5

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

Сообщение Максим Дубинин » 06 май 2009, 18:47

добавил к статье и про то как делать многоканальные растры и про сохранение привязки, описанное выше
  • 0

пристегивайтесь, турбулентность прямо по курсу
Аватара пользователя
Максим Дубинин
NextGIS
 
Зарегистрирован: 06 окт 2003
Откуда: Москва (на карте)
 
Сообщения: 8889
Репутация: 635
Статьи: 231
Проекты: 12/6

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

Сообщение SS_Rebelious » 23 июн 2012, 18:30

У меня почему-то получается открыть файл только с помощью "file.choose()", а system.file выдаёт такую ошибку:
Код: Выделить всё
Error in system.file("/my_path/my_file.tif", mustWork = TRUE) :
  no file found

В чём может быть проблема?
  • 0

Look for something long enough, and you will find it. Look for something without understanding, and it will find you...
"All paid jobs absorb and degrade the mind." Aristotle
If you take 1 step towards freedom it'll take 2 steps towards you!
Аватара пользователя
SS_Rebelious
GIS pro-fan
 
Зарегистрирован: 24 фев 2009
Откуда: Lahti / Газ-ПУТИНбург (на карте)
 
Сообщения: 1304
Репутация: 97
Статьи: 10
Проекты: 3/1

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

Сообщение Максим Дубинин » 23 июн 2012, 23:11

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

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

пристегивайтесь, турбулентность прямо по курсу
Аватара пользователя
Максим Дубинин
NextGIS
 
Зарегистрирован: 06 окт 2003
Откуда: Москва (на карте)
 
Сообщения: 8889
Репутация: 635
Статьи: 231
Проекты: 12/6

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

Сообщение SS_Rebelious » 24 июн 2012, 13:56

простой путь пробовал в самом начале- приводит к вылету
  • 0

Look for something long enough, and you will find it. Look for something without understanding, and it will find you...
"All paid jobs absorb and degrade the mind." Aristotle
If you take 1 step towards freedom it'll take 2 steps towards you!
Аватара пользователя
SS_Rebelious
GIS pro-fan
 
Зарегистрирован: 24 фев 2009
Откуда: Lahti / Газ-ПУТИНбург (на карте)
 
Сообщения: 1304
Репутация: 97
Статьи: 10
Проекты: 3/1

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

Сообщение Максим Дубинин » 24 июн 2012, 14:00

к вылету чего?

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

пристегивайтесь, турбулентность прямо по курсу
Аватара пользователя
Максим Дубинин
NextGIS
 
Зарегистрирован: 06 окт 2003
Откуда: Москва (на карте)
 
Сообщения: 8889
Репутация: 635
Статьи: 231
Проекты: 12/6

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

Сообщение Anton_Kh » 15 окт 2014, 08:45

Доброго времени суток!

При установке 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

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

Аватара пользователя
Anton_Kh
Участник
 
Зарегистрирован: 13 мар 2012
Откуда: Харьков (на карте)
 
Сообщения: 58
Репутация: 34

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

Сообщение rhot » 15 окт 2014, 17:05

там же всё написано
  • 0

___________(¯`·.¸(¯`·.¸ Scientia potentia est _/ {SILVA}:::{FOSS}:::{GIS} \_ Знание сила ¸.·´¯)¸.·´¯)___________
Аватара пользователя
rhot
ВольныйИсследователь
 
Зарегистрирован: 25 янв 2011
Откуда: Архангельск (на карте)
 
Сообщения: 1521
Репутация: 112
Статьи: 1

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

Сообщение Anton_Kh » 16 окт 2014, 01:12

rhot писал(а):там же всё написано

Да, действительно :)
Проблема решилась предварительной установкой libgdal-dev
  • 0

Аватара пользователя
Anton_Kh
Участник
 
Зарегистрирован: 13 мар 2012
Откуда: Харьков (на карте)
 
Сообщения: 58
Репутация: 34

След.

Вернуться в Материалы сайта

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

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


(Геокруг)

© GIS-Lab и авторы, 2002-2013. При использовании материалов сайта, ссылка на GIS-Lab и авторов обязательна. Содержание материалов - ответственность авторов (подробнее).