Работа с растровыми данными в R
- Максим Дубинин
- MindingMyOwnBusiness
- Репутация: 743
- Ваше звание: NextGIS
- Откуда: Москва
- Контактная информация:
Работа с растровыми данными в R
Обсуждение статьи "Работа с растровыми данными в R"
http://gis-lab.info/qa/rgdal.html
Обновление:
11.03.2009 кучка мелких исправлений по коду
http://gis-lab.info/qa/rgdal.html
Обновление:
11.03.2009 кучка мелких исправлений по коду
пристегивайтесь, турбулентность прямо по курсу
-
- Завсегдатай
- Репутация: 7
- Откуда: Лозанна
- Контактная информация:
Re: Дерево решений (Decision Tree) в R
вопрос по вот этой части кода:
Для чего создается bnd1 если он нигде потом не используется?
далее, если результат в resmtx имеет вид
(то есть верный по логике вид) - а вот растр выходной - без значений получается, где может быть ошибка?
ну и последнее - выходной растр получается без привязки, верно?
Код: Выделить всё
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)
далее, если результат в resmtx имеет вид
Код: Выделить всё
num [1:2205, 1:889] 0 0 0 0 1 0 1 1 1 1 ...
ну и последнее - выходной растр получается без привязки, верно?
- Максим Дубинин
- MindingMyOwnBusiness
- Репутация: 743
- Ваше звание: NextGIS
- Откуда: Москва
- Контактная информация:
Re: Работа с растровыми данными в R
bnd1 это указатель, если посмотреть его содержимое после операции
то он выдаст что-то типа:
Код: Выделить всё
bnd1 = putRasterData(tif2, resmtx)
bnd1
можно обойтись и без него:An object of class “GDALRasterBand”
Slot "handle":
<pointer: 0x00035bc0>
По поводу проблем с выводом, попробуй Int8 на Byte заменить, ошибка в коде, такого типа как Int8 просто не существует.putRasterData(tif2, resmtx)
пристегивайтесь, турбулентность прямо по курсу
-
- Завсегдатай
- Репутация: 7
- Откуда: Лозанна
- Контактная информация:
Re: Работа с растровыми данными в R
вот, отлично, теперь все получилось:) спасибо. действительно с байт все сработало.
но главное почему я видела "черный квадрат" потому что я его смотрела в AV3 как image тему, а когда загрузила как Image analysis тему все проявилось:). только вот если использовать для записи в тиф какие-то производные результаты обработки растра, то данные получаются без привязки ...
можно ли как-то скопировать информацию о привязки из header'а одного тиф-файла и записать в header нового файла? приходит в голову сохранять растр в формат грид - там как получить информацию в header понятно бм, а вот как быть с тифом?
либо еще приходит в голову записать информацию от известного растра в tfw и переназвать...
но может можно как-нибудь хидер копировать?
но главное почему я видела "черный квадрат" потому что я его смотрела в AV3 как image тему, а когда загрузила как Image analysis тему все проявилось:). только вот если использовать для записи в тиф какие-то производные результаты обработки растра, то данные получаются без привязки ...
можно ли как-то скопировать информацию о привязки из header'а одного тиф-файла и записать в header нового файла? приходит в голову сохранять растр в формат грид - там как получить информацию в header понятно бм, а вот как быть с тифом?
либо еще приходит в голову записать информацию от известного растра в tfw и переназвать...
но может можно как-нибудь хидер копировать?
- Максим Дубинин
- MindingMyOwnBusiness
- Репутация: 743
- Ваше звание: NextGIS
- Откуда: Москва
- Контактная информация:
Re: Работа с растровыми данными в R
я просто копировал из исходного файла
наверняка есть поумнее способ, быстрый поиск дает вот такое
разберешься как именно с этим работать, поделись, тоже буду пользоваться
наверняка есть поумнее способ, быстрый поиск дает вот такое
Код: Выделить всё
dx <- copyDataset(x, driver="JPEG", options="WORLDFILE=YES")
saveDataset(dx, tf1, options="WORLDFILE=YES")
пристегивайтесь, турбулентность прямо по курсу
- Максим Дубинин
- MindingMyOwnBusiness
- Репутация: 743
- Ваше звание: NextGIS
- Откуда: Москва
- Контактная информация:
Re: Работа с растровыми данными в R
вот такое решение есть, более простое, создать 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")
пристегивайтесь, турбулентность прямо по курсу
-
- Завсегдатай
- Репутация: 7
- Откуда: Лозанна
- Контактная информация:
Re: Работа с растровыми данными в R
а еще такой вопрос по работе с растрами в R - как можно сделать многоканальный растр из нескольких каналов?
- Максим Дубинин
- MindingMyOwnBusiness
- Репутация: 743
- Ваше звание: NextGIS
- Откуда: Москва
- Контактная информация:
Re: Работа с растровыми данными в R
добавил к статье и про то как делать многоканальные растры и про сохранение привязки, описанное выше
пристегивайтесь, турбулентность прямо по курсу
- SS_Rebelious
- Гуру
- Репутация: 99
- Ваше звание: GIS pro-fan
- Откуда: Lahti / Газ-ПУТИНбург
- Контактная информация:
Re: Работа с растровыми данными в R
У меня почему-то получается открыть файл только с помощью "file.choose()", а system.file выдаёт такую ошибку:
В чём может быть проблема?
Код: Выделить всё
Error in system.file("/my_path/my_file.tif", mustWork = TRUE) :
no file found
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!
"All paid jobs absorb and degrade the mind." Aristotle
If you take 1 step towards freedom it'll take 2 steps towards you!
- Максим Дубинин
- MindingMyOwnBusiness
- Репутация: 743
- Ваше звание: NextGIS
- Откуда: Москва
- Контактная информация:
Re: Работа с растровыми данными в R
так system.file() в системных файлах ищет, то бишь пакетах R, зачем там свои данных хранить?
просто полный путь вместо "file.choose()" и все
просто полный путь вместо "file.choose()" и все
пристегивайтесь, турбулентность прямо по курсу
- SS_Rebelious
- Гуру
- Репутация: 99
- Ваше звание: GIS pro-fan
- Откуда: Lahti / Газ-ПУТИНбург
- Контактная информация:
Re: Работа с растровыми данными в R
простой путь пробовал в самом начале- приводит к вылету
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!
"All paid jobs absorb and degrade the mind." Aristotle
If you take 1 step towards freedom it'll take 2 steps towards you!
- Максим Дубинин
- MindingMyOwnBusiness
- Репутация: 743
- Ваше звание: NextGIS
- Откуда: Москва
- Контактная информация:
Re: Работа с растровыми данными в R
к вылету чего?
не вижу как file.choose() может работать и одновременно простое указание пути не работает.
не вижу как file.choose() может работать и одновременно простое указание пути не работает.
пристегивайтесь, турбулентность прямо по курсу
- Anton_Kh
- Участник
- Сообщения: 61
- Зарегистрирован: 13 мар 2012, 18:10
- Репутация: 37
- Откуда: Харьков
- Контактная информация:
Re: Работа с растровыми данными в R
Доброго времени суток!
При установке rgdal следующие проблемы:
ОС Xubuntu 14.04
x86_64
R version 3.0.2 (2013-09-25)
Ставил из RStudio Version 0.98.953
Как решить такую проблему установки?
При установке 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’
x86_64
R version 3.0.2 (2013-09-25)
Ставил из RStudio Version 0.98.953
Как решить такую проблему установки?
- rhot
- Гуру
- Репутация: 194
- Ваше звание: доктор
- Откуда: Архангельск
Re: Работа с растровыми данными в R
там же всё написано
___________(¯`·.¸(¯`·.¸ Scientia potentia est _/ {SILVA}:::{FOSS}:::{GIS} \_ Знание сила ¸.·´¯)¸.·´¯)___________
- Anton_Kh
- Участник
- Сообщения: 61
- Зарегистрирован: 13 мар 2012, 18:10
- Репутация: 37
- Откуда: Харьков
- Контактная информация:
Re: Работа с растровыми данными в R
Да, действительноrhot писал(а):там же всё написано

Проблема решилась предварительной установкой libgdal-dev
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 28 гостей