【问题标题】:Plot points and polygons in single window in spatstat在 spatstat 的单个窗口中绘制点和多边形
【发布时间】:2013-11-25 22:14:30
【问题描述】:

我正在尝试在单个窗口中绘制包含多边形和点(在单独的文件中)的坐标数据,以便稍后运行测试以查看存在哪些模式。我对 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 检查多边形的原因。我知道这会造成复杂性,但这不是一个紧迫的问题。

【问题讨论】:

    标签: r plot polygon geospatial spatstat


    【解决方案1】:

    作为替代方案,您可以先使用绘制多边形

    plot(regions)
    points("Plants1")
    

    【讨论】:

      【解决方案2】:

      如果您使用 sp 包中的 spplot,则可以使用 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)
      

      【讨论】:

        【解决方案3】:

        spatstat 中,您可以使用layered 类将对象绘制在彼此之上。

        在您的示例中,regions 是一个窗口列表(owin 类)。只需输入

        plot(as.layered(as.solist(regions)))

        这里as.solist 将普通列表转换为空间对象列表; as.layered 将其转换为分层对象。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2014-08-17
          • 2020-10-03
          • 1970-01-01
          • 1970-01-01
          • 2017-04-17
          • 1970-01-01
          • 2014-05-21
          • 2018-01-01
          相关资源
          最近更新 更多