问题标签 [dodgr]
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.
r - 如何将 sf 空间点列表转换为可路由图
我有一个sf dataframe
带有一系列点的对象,这些点代表公交路线的形状。我想把这个对象变成一个可路由的图,这样我就可以估计从点遍历c
到t
.
这是我尝试使用该dodgr
软件包的方法的方法,但我不确定我在这里做错了什么:
check_highway_osmid(x, wt_profile) 中的错误:请指定 type_col 用于加权 streetnet
可重现的数据
数据如下图所示
openstreetmap - 按路线类型提取 Open Street Map 方式 ID 的交叉口计数
编辑添加了额外的细节
我有 2,061 个开放街道地图 ( OSM ) 路段的 shapefile。我的 shapefile 中的每个段都由其 OSM Way ID 标识。
这是我的数据中五个段的示例:
对于这 2061 个路段中的每一个路段,我想分别计算每种道路类型(住宅、主要、第三...)与其他道路的交叉口数量。
例如,这条 OSM 路与其他 27 条路相交,其中 11 条为“住宅”,其中 3 条为“二级”高速公路。
这是次要的分析,但最终,对于多种类型道路连接的交叉口,我将选择“最大”类型的道路。例如,该节点连接了一条服务道路和一条住宅道路;我想选择住宅道路道路。我想我可以为此创建自己的层次结构列表并在以后处理它。
我正在尝试使用 R Open Sci 包osmdata
到目前为止,我可以使用 osmdata 到达#2(信号交叉口):
这表明沿着这个 OSM 段有三个交通信号。(尽管实际上只有两个信号交叉口——两个信号与分开的高速公路相关联……但这可能是另一个问题)。
我是 R 本地人,这就是 osmdata 包对我如此有吸引力的原因,但我愿意探索 Overpass API 中的查询。TBH 我发现关于如何在网站上获取交叉节点的示例不太适用——而且我不清楚如何将此过程扩展到我拥有的 2000 多个方式 ID 的长列表(但如果文档或存在示例,请指出它)。
我也愿意探索 Python 中的其他工具库;Python osmnx 包似乎具有用于计算“交叉点密度”的优秀工具,但对于指定的多边形,如城市边界,并且似乎没有通过方式或节点 ID 在 Python 中创建调用的功能。
我也知道我可能可以在 ArcGIS 或 QGIS 中执行此操作,但是因为我的数据库中已经有了这些 OSM ID,所以为大都市地区加载一个完整的交叉路口形状文件并做一些事情似乎是一种浪费缓冲过程以获取我需要的信息。另外,如果我有一个方便的脚本来通过方式或节点 ID 提取一些信息,我可以更轻松地扩展我提取的数据类型,以获取为 OSM 元素记录的其他重要信息的花絮。
感谢空间数据社区!
r - 如何根据 R 中的属性将空间数据从另一个网络添加到 OSM 网络中的链接?
我有一个 OSM 网络,我将其分为主要道路和次要道路
我有主要道路的交通数据,需要将这些相同的数据写入次要道路对象,基于此网络与主要道路的连通性,因此最接近的交通值反映在次要道路的每个链接中。
有什么包可以做到这一点吗?如果是的话,你能教我怎么做吗?
r - 填补道路网络数据空白
我有一个高速公路网络,其计数点可以与道路连接相匹配。然而,它们只匹配大约一半的 osm 链接。网络是单向的,应该可以将来自加入链接的数据分配给丢失的链接。
我目前有一个基于 WHILE 循环的相当丑陋且冗长的解决方案,该循环依次填充连接链接。但是,我认为使用 sfnetwork 或空间线网络可能会获得更优雅的解决方案。stplanr、sfnetwork 和 dodger 包与我想要做的非常匹配,但似乎都专注于路由和原始目的地数据。
下面是一个可重现的示例,它使用英国高速公路网络的一小块区域,并删除一半链接的随机样本,并为剩余的一半生成流量和速度数据。
如何用缺失链接两端的数据填充缺失的链接?
r - 如何在 R 中将 dodgr_isochrones 与给定的点对象一起使用
我正在尝试根据一些便利店的位置绘制等时线图。一直在寻找不同的方法(我愿意改变它)但现在我正在使用 dodgr。
我不确定如何共享点层,但它是一个类 sf
类(kiosko_sf)[1]“sf”“data.frame”
我很确定我的错误在于该层,因为我不完全理解应该将哪种类型的对象传递给 from 参数。我收到以下错误:
get_pts_index(graph, gr_cols, vert_map, pts) 中的错误:无法确定从/到的地理坐标
我该如何解决这个问题?或者您能推荐使用 dodgr_isochrones 的替代方法吗?