Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Suite à un problème technique intervenu entre le 22 et le 23 mars, nous avons du procéder dans la soirée du 25 mars, à la restauration de la base de données du 24 mars (matinée).

En clair, nous avons perdu vos contributions et inscriptions du dimanche 24 et du lundi 25 mars.
Nous vous prions de nous excuser.

#1 Tue 07 August 2012 01:31

celdia
Participant occasionnel
Date d'inscription: 19 Feb 2011
Messages: 39

Import de fichiers raster dans R

Bonjour,

Je cherche à importer et afficher mes fichiers raster au format grid (hdf) que j'ai téléchargé à partir d'un site d'acquisition de données satellites. Je les ai convertis d'abord au format geotiff, mais j'ai du mal à trouver le code (exact) me permettant d'importer le fichier qui se trouve dans un répertoire sur mon PC dans R, même après avoir regardé le manuel de la librairie Raster de R (je sais bien que la fonction writeRaster parait être la plus proche). L'exemple qui s'y trouve concerne des données pré-existantes dans un package de R,alors que moi j'ai mes données dans mon propre répertoire. Ou bien faut-il créer un raster squelette avant, possédant les caractéristiques (lignes, colonnes, resolution, bounding box...) de mon raster à importer, alors dans ce cas comment faire la correspondance avec ce dernier pour avoir les valeurs des cellules.

Merci d'avance de votre aide.

Hors ligne

 

#2 Tue 07 August 2012 10:24

MathieuR
Membre
Lieu: aix-en-provence
Date d'inscription: 16 Feb 2009
Messages: 1690
Site web

Re: Import de fichiers raster dans R

Tu peux importer un raster, soit via la librairie raster soit via rgdal

via la librairie raster: r <- raster("C:/monraster.tif")

via rgdal : r <- readGDAL("C:/monraster.tif")


geodata au cerema et petits billets en géomatique

Hors ligne

 

#3 Tue 07 August 2012 11:10

celdia
Participant occasionnel
Date d'inscription: 19 Feb 2011
Messages: 39

Re: Import de fichiers raster dans R

Ok merci baobazz, ça marche la librairie rgdal.

A+

Hors ligne

 

#4 Tue 07 August 2012 12:18

celdia
Participant occasionnel
Date d'inscription: 19 Feb 2011
Messages: 39

Re: Import de fichiers raster dans R

J'ai également réussi à l'ouvrir avec la librairie raster.
Mais je n'ai pas les valeurs de mes cellules. Pourtant R me dit que les valeurs existent mais non disponibles.
Comment puis je faire pour avoir les valeurs des cellules dans mon fichier source.

Code:

 r<-raster("E:projetSILAT_golfe/epaisseurs optiques/MOD08_D3.A2004057.051.2010283120930.pscs_000500502491.Optical_Depth_Land_And_Ocean_Mean.G3.gridSubsetter.tif")
Geospatial Data Abstraction Library extensions to R successfully loaded
Loaded GDAL runtime: GDAL 1.8.1, released 2011/07/09
Path to GDAL shared files: K:/Mes Documents/R/win-library/2.13/rgdal/gdal
Loaded PROJ.4 runtime: Rel. 4.7.1, 23 September 2009, [PJ_VERSION: 470]
Path to PROJ.4 shared files: K:/Mes Documents/R/win-library/2.13/rgdal/proj
> r
class       : RasterLayer 
dimensions  : 4, 4, 16  (nrow, ncol, ncell)
resolution  : 1, 1  (x, y)
extent      : 0, 4, -4, 0  (xmin, xmax, ymin, ymax)
coord. ref. : +proj=utm +zone=28 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.8139999999999999,-0.38 +units=m +no_defs 
values      : E:\projetSILAT_golfe\epaisseurs optiques\MOD08_D3.A2004057.051.2010283120930.pscs_000500502491.Optical_Depth_Land_And_Ocean_Mean.G3.gridSubsetter.tif 

> plot(r)
> hasValues(r)
[1] TRUE
> res(r)
[1] 1 1
> projection(r)
[1] "+proj=utm +zone=28 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.8139999999999999,-0.38 +units=m +no_defs"
> values(r)
 [1] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA

Merci

Hors ligne

 

#5 Tue 07 August 2012 13:34

celdia
Participant occasionnel
Date d'inscription: 19 Feb 2011
Messages: 39

Re: Import de fichiers raster dans R

J'ai vu la fonction runif. Est-ce les valeurs renvoyées par cette fonction correspondent aux valeurs des cellules de mon fichier raster. j'ai essayé de l'appliquer et ça me donne le résultat ci dessous. Mais j'hésite encore si ces valeurs ont un lien avec celles de mon fichier raster importé.

Code:

 values(r)<-runif(ncell(r))
> values(r)
 [1] 0.11898588 0.61223071 0.58332753 0.64063591 0.64186141 0.35136701
 [7] 0.14824016 0.06588647 0.61240760 0.43859993 0.50244764 0.80128720
[13] 0.22126722 0.44944315 0.59367399 0.95473992
> r
class       : RasterLayer 
dimensions  : 4, 4, 16  (nrow, ncol, ncell)
resolution  : 1, 1  (x, y)
extent      : 0, 4, -4, 0  (xmin, xmax, ymin, ymax)
coord. ref. : +proj=utm +zone=28 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.8139999999999999,-0.38 +units=m +no_defs 
values      : in memory
min value   : 0.06588647 
max value   : 0.9547399

Merci

Hors ligne

 

#6 Tue 07 August 2012 14:09

MathieuR
Membre
Lieu: aix-en-provence
Date d'inscription: 16 Feb 2009
Messages: 1690
Site web

Re: Import de fichiers raster dans R

Non, runif va te générer une série de valeurs aléatoires

pour avoir les valeurs, il faut utiliser la fonction values.

elles s'affichent aussi dans un résumé:

Code:

summary(r)

mais dans ton cas, il est indiqué:

Code:

values      : E:\projetSILAT_golfe\epaisseurs optiques\MOD08_D3.A2004057.051.2010283120930.pscs_000500502491.Optical_Depth_Land_And_Ocean_Mean.G3.gridSubsetter.tif

C'est bizarre.
Pourrais-tu donner un nom plus simple à ton fichier et voir si ça change qqch?

Dernière modification par baobazz (Tue 07 August 2012 14:10)


geodata au cerema et petits billets en géomatique

Hors ligne

 

#7 Tue 07 August 2012 14:36

celdia
Participant occasionnel
Date d'inscription: 19 Feb 2011
Messages: 39

Re: Import de fichiers raster dans R

Oui, ça donne toujours la même chose:

Code:

 r<-raster("E:projetSILAT_golfe/epaisseurs optiques/AOD_260204.tif")
> r
class       : RasterLayer 
dimensions  : 4, 4, 16  (nrow, ncol, ncell)
resolution  : 1, 1  (x, y)
extent      : 0, 4, -4, 0  (xmin, xmax, ymin, ymax)
coord. ref. : +proj=utm +zone=28 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.8139999999999999,-0.38 +units=m +no_defs 
values      : E:\projetSILAT_golfe\epaisseurs optiques\AOD_260204.tif 

> summary(r)
Cells:  16 

           
Min.     NA
1st Qu.  NA
Median   NA
Mean    NaN
3rd Qu.  NA
Max.     NA
NA's     16

Je comprends pas alors pourquoi?
Mais je précise que mon fichier était au format hdf à l'origine et je l'ai converti en au format Geotiff à partir de QGIS à l'aide de la calculatrice Raster. Est-ce comme ça?

Dernière modification par celdia (Tue 07 August 2012 14:46)

Hors ligne

 

#8 Fri 17 August 2012 16:52

celdia
Participant occasionnel
Date d'inscription: 19 Feb 2011
Messages: 39

Re: Import de fichiers raster dans R

Bonjour,
Je me permets de communiquer la solution au problème que j'avais pour mon raster.
En fait, c'était le géo-référencement de ma couche qui n'a pas été bien réalisé pendant la reprojection.
J'obtient maintenant ma couche raster avec les valeurs:

Code:

r<-raster("E:/projetSILAT_golfe/donnees/essai.tif")
> summary(r)
Cells:  16 

              
Min.    0.1270
1st Qu. 0.1623
Median  0.1820
Mean    0.1812
3rd Qu. 0.2005
Max.    0.2190
> values(r)
 [1] 0.163 0.151 0.146 0.127 0.200 0.181 0.170 0.160 0.198 0.187 0.177 0.183
[13] 0.202 0.219 0.217 0.218

Hors ligne

 

#9 Mon 20 August 2012 08:14

MathieuR
Membre
Lieu: aix-en-provence
Date d'inscription: 16 Feb 2009
Messages: 1690
Site web

Re: Import de fichiers raster dans R

merci pour le retour!


geodata au cerema et petits billets en géomatique

Hors ligne

 

#10 Wed 29 April 2015 11:36

Nana92410
Participant occasionnel
Date d'inscription: 13 Apr 2015
Messages: 25

Re: Import de fichiers raster dans R

Bonjour,
je relance la sujet car je souhaiterais faire la même chose avec des fichiers raster que j'ai crée sur Qgis qui sont en format .tif.
J'ai installer le packages Rgdal mais j'ai un message d'erreur quand j'essaye les deux manières d'importer mon fichier ........
Pourtant j'ai bien changer mon répertoire courant ........ Mais je débute dans tout ça donc bon j'ai un peu de mal ......

Si quelqu'un peut m'aider je serais preneuses x)  ( ( voici en pièce jointe le code que j'ai essayé ) )

Merciii !


Fichier(s) joint(s) :
Pour accéder aux fichiers vous devez vous inscrire.

Nanouille

Hors ligne

 

#11 Wed 29 April 2015 11:42

Nana92410
Participant occasionnel
Date d'inscription: 13 Apr 2015
Messages: 25

Hors ligne

 

#12 Wed 29 April 2015 17:29

MathieuR
Membre
Lieu: aix-en-provence
Date d'inscription: 16 Feb 2009
Messages: 1690
Site web

Re: Import de fichiers raster dans R

Soit le chemin n'est pas le bon, soit c'est accents qui foirent wink


geodata au cerema et petits billets en géomatique

Hors ligne

 

#13 Wed 29 April 2015 18:35

Nana92410
Participant occasionnel
Date d'inscription: 13 Apr 2015
Messages: 25

Re: Import de fichiers raster dans R

Hiiiin pas bête je vais essayer en rechangeant de nom alors merci ! Au départ c'était nomé "2010-2013" j'ai cru que le problème venait des chiffres .... Pour le chemin je suis sure pourtant hmm

J'essaye demain merci smile


Nanouille

Hors ligne

 

#14 Thu 30 April 2015 09:19

Nana92410
Participant occasionnel
Date d'inscription: 13 Apr 2015
Messages: 25

Re: Import de fichiers raster dans R

Merci Mathieu R c'était l'accent super ça marche donc smile

Par compte je n'arrive pas à sortir ce que je voulais x) ( à savoir combien de pourcentage il y a telle valeur .... ) Et quand je fais "summary " je n'ai que le min et le max c'est normal ??

"Min.     -99990
1st Qu.       0
Median        0
3rd Qu.       0
Max.     999990
NA's          0

"

>_< Le min et le max je les ai déja dans Qgis du coup je n'ai aucune info supplémentaire ........ >_<


Nanouille

Hors ligne

 

#15 Mon 04 May 2015 09:58

MathieuR
Membre
Lieu: aix-en-provence
Date d'inscription: 16 Feb 2009
Messages: 1690
Site web

Re: Import de fichiers raster dans R

Oui, c'est normal.

pour savoir combien de cellules ont telle valeur, tu peux utiliser ça :

Code:

length(which(values(r)==10))

En remplaçant 10 par ta valeur


geodata au cerema et petits billets en géomatique

Hors ligne

 

#16 Tue 05 May 2015 10:08

Nana92410
Participant occasionnel
Date d'inscription: 13 Apr 2015
Messages: 25

Re: Import de fichiers raster dans R

Oooo Super c'est ce que je cherchais !!!!!! Je vais essayer ça merci beaucoup smile


Nanouille

Hors ligne

 

#17 Tue 05 May 2015 11:00

Nana92410
Participant occasionnel
Date d'inscription: 13 Apr 2015
Messages: 25

Re: Import de fichiers raster dans R

Super je pense que ça marche !!!! C'est exactement ce que je voulais !! ( Je vais tout de même vérifier sur plusieurs valeur si ça correspond à peux prés au observation mais là j'ai testé 3 valeurs ça me parait pas trop mal ! )

Merci beaucoup Mathieu *_*


Nanouille

Hors ligne

 

#18 Wed 28 March 2018 12:59

stelio
Juste Inscrit !
Date d'inscription: 27 Mar 2018
Messages: 2

Re: Import de fichiers raster dans R

Bonjour à tous, je suis novice dans le domaine.

J'ai un petit souci. J'ai des cibles(14) superposées sur un raster, je souhaite donc par la suite découper et extraire chaque cibles et son raster mais j'arrive pas

quelqu'un peut-il me donner un coup de pouce?

Voici le script et les différents raster et cibles obtenus

[img]https://imageshack.com/a/img922/9252/HEGNqW.png[/img]
[img]https://imageshack.com/a/img923/362/CK5fef.png[/img]
[img]https://imageshack.com/a/img922/91/e6XqXA.png[/img]
[img]https://imageshack.com/a/img923/3369/6BLulc.png[/img]

Merci, Stelio

Dernière modification par stelio (Wed 28 March 2018 15:15)


Fichier(s) joint(s) :
Pour accéder aux fichiers vous devez vous inscrire.

Hors ligne

 

#19 Thu 29 March 2018 11:10

gvellut
Participant actif
Lieu: Annecy
Date d'inscription: 13 Apr 2006
Messages: 112
Site web

Re: Import de fichiers raster dans R

Tu peux boucler sur tes cibles et faire pour chaque cible :

Code:

cr <- crop(raster, extent(cible), snap="out")                    
cibler <- rasterize(cible, cr)   
mr <- mask(x=cr, mask=cibler)

mr contient un raster croppé sur une cible, que tu peux éventuellement exporter avec writeRaster dans un fichier.

Si tu veux juste extraire les valeurs du raster dans une liste, tu peux aussi utiliser extract :

Code:

extract(raster, cible)

Hors ligne

 

Pied de page des forums

Powered by FluxBB