我正在尝试获取 shapefile 和其中包含的点,并最终得到 shapefile、点的图,然后最终在顶部进行样方分析,并带有一定量的 alpha 透明度。
我尝试并提出了这个应该服务的示例:
library(ggplot2)
library(maps)
library(maptools)
library(spatstat)
library(plyr)
# generate polygons
usa <- map('usa', plot=F)
IDs <- sapply(strsplit(usa$names, ':'), function(x) x[1])
crs <- CRS('+proj=longlat +ellps=WGS84')
usa.sp <-map2SpatialPolygons(usa, IDs=usa$names, proj4string=crs)
usa.pts <- fortify(usa.sp, region="id")
base.plot <- ggplot(usa.pts, aes(x=long, y=lat)) +
geom_path(aes(group=id)) +
coord_equal()
# generate point process
lon <- runif(5000, min(usa.pts$long, na.rm=TRUE), max(usa.pts$long, na.rm=TRUE))
lat <- rnorm(5000, mean(usa.pts$lat, na.rm=TRUE), sd=sd(usa.pts$lat, na.rm=TRUE)/2)
points <- data.frame(lon, lat)
points.sp <- SpatialPoints(points, proj4string=crs)
points <- points[which(!is.na(over(points.sp, usa.sp))),]
# the first plot
base.plot +
geom_point(data=points, aes(x=lon, y=lat), color="red", alpha=I(0.5))
那么我的 shapefile 和数据大致如下:
我想采取的下一步是对各种像元大小进行样方分析,并用点将结果绘制在图上。假设我成功获得了一个 quadratcount 对象(现在将数据转换为正确的格式),我将如何将其绘制为类似热图的叠加层?