====== 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!!! //**