问题标签 [sfnetwork]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
48 浏览

r - 在 sfnetwork 图中包含简单的特征属性

我正在使用带有 LINESTRING 几何图形的 .shp 文件,每行都有几个属性。

我使用下一个代码来查找相交的线并生成新节点。但是用 sfnetwork 做这个我得到一个没有属性的图。

如何将具有属性的数据框添加到此类图(如 SpatialLineDataframe)?

0 投票
2 回答
85 浏览

r - 带有索引列表的 R tibble:如何快速使用它们?

我正在寻找一种快速方法来根据另一个表中的索引列表获取表中列的总和。

这是一个可重现的简单示例:首先创建一个边缘表

在此处输入图像描述

然后从表中创建一个网络,并找到从第一个节点到所有节点的成本最低的路径。

现在,我要改进的是为该fake_paths表的每一行查找的过程

  • 路径中id最后一条边的
  • soc路径所有边的总和

我所做的是以下(这里有 9 行很快,但在大型网络上需要很长时间):

最终,我想要的是soc我要求result加入的总和支持原版fake_edges

ID 重量 社会 几何学 结果
一种 102.1 -0.1 线串 (1 1, 1 2) -0.1
b 98.3 0.7 线串 (1 2, 2 2) 0.6
C 201.0 1.1 线串 (2 2, 2 3) 1.7
d 152.3 0.2 线串 (1 1, 2 1) 0.2
e 176.4 0.5 线串 (2 1, 2 2) 不适用
F 108.6 -0.2 线串 (2 2, 3 2) 0.4
G 151.4 0.4 线串 (1 1, 1 0) 0.4
H 186.3 0.3 线串 (1 0, 0 0) 0.7
一世 191.2 0.8 线串 (0 0, 0 1) 1.5
0 投票
1 回答
74 浏览

r - 在 st_network_blend() 之后保留 sf 点列

我有一个 sfnetwork ( net) 并且pts我正在使用st_network_blend(). 在为这些点计算了一些新属性之后,我想提取它们并重新获得原始的列points。使用空间连接st_join不起作用,因为这些点在期间被捕捉st_network_blend()(因此不再重叠)并且cbind()不起作用,因为并非所有points点都在捕捉公差范围内。

有没有办法通过混合过程保留一个 ID,pts以便之后可以用于加入out_pts?或者通过申请left_join()加入时会给出正确答案?rowid_to_column()ptsout_pts

我也试过

但这给了

0 投票
1 回答
32 浏览

r - st_network_paths 仅生成带有单个节点的 node_path

我正在尝试使用生成两个节点之间最短路径上的节点列表st_network_paths()。但是,我只得到一个节点索引的值node_path

它适用于玩具数据,但不适用于现实世界的数据。需要做什么才能让现实世界、流网络、打球?

此处提供线路数据

0 投票
1 回答
57 浏览

r - 填补道路网络数据空白

我有一个高速公路网络,其计数点可以与道路连接相匹配。然而,它们只匹配大约一半的 osm 链接。网络是单向的,应该可以将来自加入链接的数据分配给丢失的链接。

我目前有一个基于 WHILE 循环的相当丑陋且冗长的解决方案,该循环依次填充连接链接。但是,我认为使用 sfnetwork 或空间线网络可能会获得更优雅的解决方案。stplanr、sfnetwork 和 dodger 包与我想要做的非常匹配,但似乎都专注于路由和原始目的地数据。

下面是一个可重现的示例,它使用英国高速公路网络的一小块区域,并删除一半链接的随机样本,并为剩余的一半生成流量和速度数据。

如何用缺失链接两端的数据填充缺失的链接?