[R-sig-Geo] Apply() function on 3rd dimension of SpatialGridDataFrame

Edzer Pebesma edzer.pebesma at uni-muenster.de
Thu Dec 20 15:00:19 CET 2012


Dear Nathalie,

3D and higher-D support for Points Pixels and Grids in sp is there on
the level of object creation, but very limited on the level of useful
functionality.

apply() is not even a generic, so can only be applied to arrays,
according to ?apply. Would an as.array(clip) method for
SpatialGridDataFrame help you further? Or is it something else you need,
e.g. clipping a SpatialGridDataFrame with more than 2 dimensions?

On 12/19/2012 09:04 PM, Nathalie Morin wrote:
> Hello,
> 
>  
> 
> I have a 3D array with an attribute converted to SpatiaGridDataFrame named
> “clip’ :
> 
>  
> 
>> summary(clip)
> 
> Object of class SpatialGridDataFrame
> 
> Coordinates:
> 
>          min       max
> 
> s1 828104.00 828134.00
> 
> s2 101839.00 101869.00
> 
> s3    324.09    373.09
> 
> Is projected: TRUE
> 
> proj4string :
> 
> [+init=epsg:27561 +proj=lcc +lat_1=49.50000000000001
> +lat_0=49.50000000000001 +lon_0=0
> 
> +k_0=0.999877341 +x_0=600000 +y_0=200000 +a=6378249.2 +b=6356515
> 
> +towgs84=-168,-60,320,0,0,0,0 +pm=paris +units=m +no_defs]
> 
> Grid attributes:
> 
>    cellcentre.offset cellsize cells.dim
> 
> s1         828104.50        1        30
> 
> s2         101839.50        1        30
> 
> s3            324.59        1        49
> 
> Data attributes:
> 
>     Min.  1st Qu.   Median     Mean  3rd Qu.     Max.     NA's 
> 
>    0.000    0.000    0.000    0.002    0.000    0.806 9506.000
> 
>  
> 
> The apply() function does not work on the 3rd dimension of the
> SpatiaGridDataFrame :
> 
>  
> 
>> D.tls.z.mean <- apply(clip, 3, mean, na.rm=T)
> 
>  
> 
> => I get an error message (sorry it's in French) :
> 
> "Erreur dans if (d2 == 0L) { : valeur manquante là où TRUE / FALSE est
> requis"
> 
>  
> 
> I tried with z coordinate instead :
> 
>> z <- coordinates(clip)[,3]
> 
>> D.tls.z.mean <- apply(clip, z, mean, na.rm=T)
> 
>  
> 
> The only solution I found is to convert back to standard non spatial 3D
> array.
> 
>  
> 
> Cheers,
> 
>  
> 
> Nathalie MORIN
> 
> Doctorante en télédétection forestière (Ph.D student in remote sensing
> applied to forestry)
> 
> Centre d’application et de recherches en télédétection (CARTEL)
> 
> Département de Géomatique Appliquée
> 
> Sherbrooke (QC) CANADA J1K 2R1
> 
> Tél. : + 1 (819)  821-8000 #62962
> 
> e-mail :  <mailto:Nathalie.M.Morin at Usherbrooke.ca>
> Nathalie.M.Morin at Usherbrooke.ca
> 
>  <http://www.usherbrooke.ca/> Université de Sherbrooke
> 
>  
> 
> 
> 
> 
> _______________________________________________
> R-sig-Geo mailing list
> R-sig-Geo at r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-sig-geo
> 

-- 
Edzer Pebesma
Institute for Geoinformatics (ifgi), University of Münster
Weseler Straße 253, 48151 Münster, Germany. Phone: +49 251
8333081, Fax: +49 251 8339763  http://ifgi.uni-muenster.de
http://www.52north.org/geostatistics      e.pebesma at wwu.de



More information about the R-sig-Geo mailing list