Exemplo: Kernel do Splancs
Example of a spatial point proccess
Data from the splancs package
The example tranfer the data to the DBMS as well a raster with a kernel estimate of the intensity function
1. Getting started: loading required packages and the data
require(aRT) require(splancs) data(bodmin)
getting to know the data
names(bodmin) polymap(bodmin$poly) pointmap(as.points(bodmin), add=TRUE) see the plot!
2. An analysis: kernel intensity estimate
Kernel estimate from the intensity function of the point proccess performed within R using splancs' function
ker <- kernel2d(as.points(bodmin), bodmin$poly, h0=2, nx=100, ny=100)
plot splancs results
image(ker, asp=1, col=rev(heat.colors(21))) polygon(bodmin$poly, lwd=2) pointmap(as.points(bodmin), add=TRUE, pch=19) see the plot
3. Creating a database and storing the results
connecting to the DBMS
con = openConn() con
how to delete an existing database (if already exists)
if(any(showDbs(con)=="bodmin")) deleteDb(con, "bodmin", force=T)
creating a new database
bod = createDb(con, "bodmin") bod
aRT uses "sp" representations of spatial objects. So we start converting the data to the "sp" format
a. Preparing and transfering the points
xy <- as.data.frame(bodmin[1:2]) coordinates(xy) <- c("x", "y") ## l_points <- importSpData(bod, xy, "coords")
checking the status of the database
bod
Note: the importSpData() command above encapsulates several steps (which could also be done individually with aRT):
- converting to SpatialPointsDataFrame (with ID specification).
- creating a layers, addpoints() and creating a table
b. Preparing and transfering the polygon
pol <- SpatialPolygons(list(Polygons(list(Polygon(bodmin$poly)),"1")),1) l_pol <- createLayer(bod, "contorno") addPolygons(l_pol, pol) createTable(l_pol, "t_pol")
c. Preparing and transfering the image (raster) general approach: converting the kernel to "sp" format
g <- cbind(expand.grid(x = ker$x, y = ker$y), as.vector(ker$z)) coordinates(g) <- c("x", "y") gridded(g) <- TRUE l_kernel <- createLayer(bod, "kernel") addRaster(l_kernel, g)
alternativelly, splancs kernel objects are also directly accepted
l_splancs <- createLayer(bod, "kernelsplancs") addRaster(l_splancs, ker)
checking the status of the data base
bod
open and inspect the database in terraView!!!
4. visualisation of results in R
a. plot from the "sp" objects
image(g, col=rev(heat.colors(21))) contour(ker, add = T) fullgrid(g)=TRUE plot(pol, add=T, lwd=2)
Ploting the DB layers – plot from aRT
plot(l_kernel, col=rev(heat.colors(21))) plot(l_points, add=T, pch=19) plot(l_pol, add=T, lwd=2)
5. (Optional) Setting visualisations for terraView
thp <- createTheme(l_points, "points", view="vbod1") th <- createTheme(l_pol, "borders", view="vbod1") th <- createTheme(l_kernel, "raster", view="vbod1") setVisual(th, visualRaster(color=rev(heat.colors(21))), mode="r")
other view using the alternative splancs layer
thp <- createTheme(l_points, "points", view="vbod2") th <- createTheme(l_pol, "borders", view="vbod2") th <- createTheme(l_splancs, "kernelsplancs", view="vbod2") setVisual(th, visualRaster(color=rev(heat.colors(21))), mode="r")
checking the sattus of the data base
bod
open and visualise the database in terraView!!!