我试图在单个窗口中绘制包含多边形和点(在单独的文件中)的坐标数据,以便稍后运行测试以查看存在哪些模式。我是R的新手(也是spatstat的新手),所以我非常感谢有关如何使用多种类型的空间数据创建单个绘图的最佳建议。
library(sp)
library(maptools)
library(mgcv)
library(spatstat)
##read in the shapefiles (from Pathfinder)
data<-readShapeSpatial("SouthC1")
regions<-slot(data, "polygons")
regions<-lapply(regions, function(data){SpatialPolygons(list(data))})
windows<-lapply(regions, as.owin)
spatstat.options(checkpolygons=FALSE)
y<-as(data, "owin")
spatstat.options(checkpolygons=TRUE)
points<-readShapeSpatial("Plants1")
##Define points and polygons as objects that can be read into owin?
我怀疑我患有新手,并且将不同类型的空间数据读入单个窗口并不困难。遗憾。
旁注:一些多边形确实重叠,这就是为什么我不希望spatstat检查多边形。我知道这会造成并发症,但这不是一个紧迫的问题。
答案 0 :(得分:1)
作为替代方案,您可以先使用
绘制多边形plot(regions)
points("Plants1")
答案 1 :(得分:0)
如果您使用spplot
包中的sp
,则可以使用sp.layout
参数。请注意,下面的示例将空间网格与空间点组合在一起,但完全相同的技术可用于点和多边形。
library(sp)
library(lattice)
trellis.par.set(sp.theme()) # sets bpy.colors() ramp
data(meuse)
coordinates(meuse) <- ~x+y
data(meuse.grid)
gridded(meuse.grid) <- ~x+y
spplot(meuse.grid, c("ffreq"), sp.layout = list("sp.points", meuse))
或使用ggplot2
(我的偏好):
library(ggplot2)
# Note that you can use `fortify` to transform a SpatialPolygons* object to a data.frame
# for `ggplot2`.
pt_data = as.data.frame(meuse)
grid_data = as.data.frame(meuse.grid)
ggplot(grid_data, aes(x = x, y = y)) + geom_tile(aes(fill = ffreq)) +
geom_point(data = pt_data)
答案 2 :(得分:0)
在<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
中,您可以使用spatstat
类在彼此之上绘制对象。
在您的示例中,layered
是一个窗口列表(类regions
)。只需输入
owin
此处plot(as.layered(as.solist(regions)))
将香草列表转换为空间对象列表; as.solist
将其转换为分层对象。