________________________________
Od: Agustin Lobo w imieniu Agustin Lobo
Wys?ano: Cz 21.06.2007 09:41
Do: Roger Bivand
DW: R-sig-Geo at stat.math.ethz.ch
Temat: Re: ODP: [R-sig-Geo] spsample and NA
The test with meuse.grid works:
#copied from file:SpatialGridDataFrame-class.html
coordinates(meuse.grid) = c("x", "y") # promote toSpatialPointsDataFrame
gridded(meuse.grid) <- TRUE # promote to SpatialPixelsDataFrame
x = as(meuse.grid, "SpatialGridDataFrame") # creates the full grid
#Now me:
> unique(x at data$soil)
[1] NA 1 2 3
> table(x at data$soil)
1 2 3
1665 1084 354
test.stsamp <- spsample(x, n = 10, "stratified")
o <- overlay(x, test.stsamp)
> o
coordinates part.a part.b dist soil ffreq
5556 (179156, 330917) 0 1 0.1030270 1 1
6670 (180039, 330336) 0 1 0.0703333 1 2
2240 (180677, 332606) 1 0 0.0975136 1 1
But don't know how to make that my raster behave in the same way. What
does it mean "cast to SpatialPixels first"? I thought that as
X comes from an imported raster it was an sp object already.
Also, there are several components in the x coming from meuse.grid:
str(x)
Formal class 'SpatialGridDataFrame' [package "sp"] with 6 slots
..@ data :'data.frame': 8112 obs. of 5 variables:
.. ..$ part.a: num [1:8112] NA NA NA NA NA NA NA NA NA NA ...
.. ..$ part.b: num [1:8112] NA NA NA NA NA NA NA NA NA NA ...
.. ..$ dist : num [1:8112] NA NA NA NA NA NA NA NA NA NA ...
.. ..$ soil : num [1:8112] NA NA NA NA NA NA NA NA NA NA ...
.. ..$ ffreq : Factor w/ 3 levels "1","2","3": NA NA NA NA NA NA NA
NA NA NA ...
how does spsample know which layer has to be used for the stratification?
Thanks!
Agus
Roger Bivand escribi?:
I think that if you cast to SpatialPixels first, the problem will go
away, because the all-NA cases are dropped with their coordinates.
Could you try the same example with meuse.grid and see how it goes?
Roger
---
Roger Bivand, NHH, Helleveien 30, N-5045 Bergen, Roger.Bivand at nhh.no
________________________________
Od: r-sig-geo-bounces at stat.math.ethz.ch w imieniu Agustin Lobo
Wys?ano: ?r 20.06.2007 10:11
Do: R-sig-Geo at stat.math.ethz.ch
Temat: [R-sig-Geo] spsample and NA
It is often the case, at least with raster (grid) objects,
that you are not interested on a part of the raster.
For example because it's outside a non.rectangular region of study
and/or because some types of terrain (some classes) are outside
the scope of the study. In any case, those parts can be
represented by NA.
Unfortunately, while some functions like table() would not
include the NA in the statistics, spsample includes
the NA as just another class, which implies that a fraction
of the resulting coordinates will lay on the NA
part of the raster. This makes it difficult, to get N valid (i.e., not
on NA parts) points using spsample. Is there any way around this?
For example, if I want 10 points on non-NA cells of
raster X, I would like
spsample(X, 10, "stratified")
to provide 10 positions on non-NA cells.
At the moment, I get:
x <- GDAL.open("C:/ALOBO/dipu2006/STLL_VEG2006/ESTRAT3_OBAC.tif")
ESTRAT3OBAC <- asSGDF_GROD(x, output.dim=c(100,100))
GDAL.close(x)
ESTRAT3OBAC at data[ESTRAT3OBAC at data==55537]<- NA
X <- ESTRAT3OBAC
X$cut <- as.ordered(cut(X$band1, c(0,10,100),include.lowest=TRUE))
table(X$cut)
[0,10] (10,100]
83 1961
summary(X$cut)
[0,10] (10,100] NA's
83 1961 7956
table(X$cut)
[0,10] (10,100]
83 1961
Xspsample <- spsample(X,10,"stratified")
Xo <- overlay(X,Xspsample)
summary(Xo)
Object of class SpatialPointsDataFrame
Coordinates:
min max
x1 410995.6 414954.4
x2 4608002.1 4610566.0
Is projected: TRUE
proj4string : [ +proj=utm +zone=31 +ellps=intl +units=m +no_defs]
Number of points: 9
Data attributes:
band1 cut
Min. : 67 [0,10] :0
1st Qu.: 97 (10,100]:3
Median : 159 NA's :6
Mean :24745
3rd Qu.:55537
Max. :55537
That is, I get 6 positions on NA values of X
Thanks!
Agus
--
Dr. Agustin Lobo
Institut de Ciencies de la Terra "Jaume Almera" (CSIC)
LLuis Sole Sabaris s/n
08028 Barcelona
Spain
Tel. 34 934095410
Fax. 34 934110012
email: Agustin.Lobo at ija.csic.es
http://www.ija.csic.es/gt/obster
_______________________________________________
R-sig-Geo mailing list
R-sig-Geo at stat.math.ethz.ch
https://stat.ethz.ch/mailman/listinfo/r-sig-geo
--
Dr. Agustin Lobo
Institut de Ciencies de la Terra "Jaume Almera" (CSIC)
LLuis Sole Sabaris s/n
08028 Barcelona
Spain
Tel. 34 934095410
Fax. 34 934110012
email: Agustin.Lobo at ija.csic.es
http://www.ija.csic.es/gt/obster
[[alternative HTML version deleted]]
------------------------------------------------------------------------
_______________________________________________
R-sig-Geo mailing list
R-sig-Geo at stat.math.ethz.ch
https://stat.ethz.ch/mailman/listinfo/r-sig-geo