【问题标题】:R spatstat - Different window unit between ppp and owin (window) objectR spatstat - ppp和owin(窗口)对象之间的不同窗口单元
【发布时间】:2020-10-04 15:35:30
【问题描述】:

如何在 ppp 对象和 owin 对象之间转换窗口的“单元”?

我正在尝试分析从开放街道地图收集的空间数据。

首先,我获取新加坡各地的 POI 数据,然后将它们转换为 ppp 对象

if(!require("osmdata")) install.packages("osmdata")
library(osmdata)
q <- getbb("Singapore") %>%
opq() %>%
add_osm_feature("amenity")

places <- osmdata_sf(q)
police <- places$osm_points %>% 
   filter(amenity == "police") %>%
   st_transform(., "+proj=utm +zone=19 +ellps=GRS80 +datum=NAD83")

police.sp  <- as(police, "Spatial")  # Create Spatial* object
police.ppp <- as(police.sp, "ppp")      # Create ppp object
class(police.ppp)

后来,我尝试插入一个从gov website 找到的 .shp 对象,以创建一个新加坡形状以作为 Window() 输入到 police.ppp 对象。

s    <- readOGR(".", "Region_Census2010")
sg    <- as(s, "owin")

但是,在调用两者中的summary 时,我发现两者的范围确实不同

summary(sg)
enclosing rectangle: [2637.87, 56396.44] x [15748.72, 50256.33] units
                     (53760 x 34510 units)

summary(police.ppp)
Window: rectangle = [1280705.4, 1323492.3] x [19833441, 19854045] units
                    (42790 x 20600 units)

因此,当我尝试绘制文件时,所有的警察点都在地图之外。

有没有办法调整单位?我在那里做错了什么吗?

请帮忙!

谢谢!

【问题讨论】:

    标签: r spatstat


    【解决方案1】:

    确保对两个数据集使用相同的 CRS。读入s 后,您应该使用st_transformspTransform 转换为与警察点相同的坐标系(UTM 19 区)。

    【讨论】:

      猜你喜欢
      • 2020-10-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-04
      • 1970-01-01
      • 2014-04-12
      相关资源
      最近更新 更多