如何处理大红雀对象

how to deal with large linnet object

我正在尝试使用整个城市网络进行特定分析,我知道这非常庞大。我也将它设置为稀疏网络。

library(maptools)
library(rgdal)
StreetsUTM=readShapeSpatial("cityIN_UTM")

#plot(StreetsUTM)
library(spatstat)
SS_StreetsUTM =as.psp(StreetsUTM)
SS_linnetUTM = as.linnet(SS_StreetsUTM, sparse=TRUE)

> SS_linnetUTM
Linear network with 321631 vertices and 341610 lines
Enclosing window: rectangle = [422130.9, 456359.7] x [4610458, 
4652536] units
> SS_linnetUTM$sparse
[1] TRUE

我有以下问题:

  1. 构建 psp 对象需要 15-20 分钟
  2. 构建 linnet 对象花了将近​​ 5 个小时
  3. 每次我想分析它的点模式或包络时,R 都会崩溃

我知道我应该尝试减小网络大小,但是:

  1. 我想知道是否有聪明的方法来克服这个问题。重新缩放会有帮助吗?
  2. 我怎样才能让它拥有更多的处理能力?
  3. 我也很想知道 spatstat 是否可以与 parallel 包一起使用
  4. 最后spatstat对网络大小的限制是什么

R 崩溃

当我使用 Spatstat 书中的说明时 R 崩溃:

  1. KN <- linearK(spiders, correction="none") ;当然在我的网络 (linnet) 上

  2. envelope(spiders, linearK, correction="none", nsim=39);在我的网络上

我认为 RAM 不是问题,我在 SSD 机器上有 16GB RAM 和 2.5GhZ 双核 i5 处理器。

有人能指导一下吗

请更具体地说明您使用的命令。

您是否使用 as.linnet.psppsp 对象构建了 linnet 对象(在这种情况下必须猜测网络的连通性,这可能需要很长时间) ,或者您是否有关于您传递给 linnet() 命令的网络连接的信息?

究竟是什么命令 "analyse it for a point pattern or envelope" 导致崩溃,什么样的崩溃?

spatstat中的线性网络代码是研究代码,仍在开发中。更快的 K 函数算法即将发布。

我只能通过在简化几何工具中使用 Douglas-Peucker 算法在 QGIS 中简化我的网络来解决这个问题。所以它是对shapefile中线性网络几何形状的轻微妥协。