Create Kernel image results in *tif format
Dear Alexandre,
Indeed the solution by Florian below is very nice. If you really want to
go the other direction you can use `as.SpatialGridDataFrame.im()` from
the `maptools` package.
By the way, based on what you write, I think you mean to use the value
7.5 (=0.75m) rather than 0.75 (=0.075 m) for your kernel bandwidth.
Furthermore, the argument to set the standard deviation of the
(isotropic Gaussian) smoothing kernel in `density.ppp()` is `sigma`, so
you probably want:
d_pines <- density(swedishpines, sigma = 7.5)
If you like to work in meters rather than decimeters you can rescale the
point pattern:
pines <- rescale(swedishpines, s = 10, unitname = "m")
d_pines <- density(pines, sigma = 0.75)
Regards,
Ege
On 09/27/2018 10:01 AM, Florian Betz wrote:
Dear Alexandre, instead of converting the image to a SpatialPixelDataFrame converting to a raster object might be an alternative. r_pines<-raster(d_pines) writeRaster(r_pines, "Pines.tif") Regards, Florian Am 26.09.2018 um 22:25 schrieb ASANTOS via R-sig-Geo:
Dear R-sig-geo Members, ? ??? I've like to create Kernel image results as *tif using an object of density() function output in spatstat package. But in my example, doesn't work when I try: #Packages library(spatstat) library(raster) library(rgdal) #Swedishpines's data set in spatstat package data(swedishpines) plot(swedishpines) #CSR with K-Ripley test csr_pines <- envelope(swedishpines, Kest, nsim=99) plot(csr_pines) # r=0.75 is outside CSR #Kernel representation using 0.75 as bandwidth d_pines<-density(swedishpines, bw=0.75) plot(d_pines) #Create TIFF image r_pines <- as(d_pines, "SpatialPixelsDataFrame") writeGDAL(r_pines, "Pines.tif") #
r_pines <- as(d_pines, "SpatialPixelsDataFrame") Error in as(d_pines,
"SpatialPixelsDataFrame") : no method or default for coercing ?im? to ?SpatialPixelsDataFrame? Please any ideas for corrected this? Thanks in advanced, Alexandre