Interpolation

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Interpolation

David Unwin
a) Create a txt file looking something like:



X     Y     Z

0.3   6.1   870

1.4   6.2   793

2.4   6.1   755

etc

5.7   3     830



b) Thee column names are obvious. Then a possible workflow is:


topo_datatable <- read.table(choose.files(), header = TRUE)#read in

library(maptools)# two packages needed

library(gstat)

coordinates(topo_datatable) <- c("X", "Y")#create spatial object

#create grid for estimates

topo_grid <- spsample(topo_datatable, "regular", n=3720)

gridded(topo_grid) <- TRUE

fullgrid(topo_grid) <- TRUE

#this is simple inverse distance interpolation

#with a distance exponent of 2.0. There are lots of other options

exp<- 2.0

topo_idw <- idw(Z~1,topo_datatable,newdata=topo_grid,idp=exp)

#map the results, lots of options

im <- as.image.SpatialGridDataFrame(topo_idw)

topo_SLDF <- ContourLines2SLDF(contourLines(im))

topo_spl <- list("sp.lines", topo_SLDF)

spplot(topo_idw, "var1.pred", sp.layout=topo_spl)

image(topo_idw, "var1.pred", col=terrain.colors(20))

contour(topo_idw, "var1.pred", add=TRUE)

Dave Unwin

        [[alternative HTML version deleted]]

_______________________________________________
R-sig-Geo mailing list
[hidden email]
https://stat.ethz.ch/mailman/listinfo/r-sig-geo