我有一个多边形 (zones
) 和一组坐标点 (points
)。我想为整个多边形创建一个空间核密度栅格图,并提取每个区域的密度总和。多边形外的点应该被丢弃。
library(raster)
library(tidyverse)
library(sf)
library(spatstat)
library(maptools)
load(url("https://www.dropbox.com/s/iv1s5butsx2v01r/example.RData?dl=1"))
# alternatively, links to gists for each object
# https://gist.github.com/ericpgreen/d80665d22dfa1c05607e75b8d2163b84
# https://gist.github.com/ericpgreen/7f4d3cee3eb5efed5486f7f713306e96
ggplot() +
geom_sf(data = zones) +
geom_sf(data = points) +
theme_minimal()
我尝试使用{spatstat
}将其转换为ppp
,然后使用density()
函数,但是结果中的单位让我感到困惑。我认为问题与地图的单位有关,但我不确定该如何继续。
更新
以下是重现我创建的密度图的代码:
zones_owin <- as.owin(as_Spatial(zones))
pts <- st_coordinates(points)
p <- ppp(pts[,1], pts[,2], window=zones_owin, unitname=c("metre","metres"))
ds <- density(p)
r <- raster(ds)
plot(r)
raster(density(ppp()))
。 - Eric Green