问题标签 [osmar]
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 - `E<-`(`*tmp*`, value = `*vtmp*`) : 无效索引,构建 OSM 对象的子集。编辑:子集不会创建真正的子集
我试图构建一个更大的 osm 对象的一小部分:
首先,我将一个更大的 osm 对象加载到内存中:
然后我根据节点的坐标构建一个子集:
也许我必须在这里使用 find 而不是子集?
所以基本上我搜索在 bbox 的 lat&lon 值范围内的节点的所有节点 ID。
现在我想构建这个新子集的 n igraph:
并得到这个错误:
我犯了什么错误?
在我进行子集化之前,我得到了关于 muc 对象的信息
在子集之后,我得到 0 种方式和关系。我认为这可能是错误...我将如何对所有内容进行子集化?
即使在我使用find_up
功能后,subset_ids
我仍然没有得到任何relation_ids
。
我错过了什么?
编辑:在进一步调查之后,似乎
不创建 osm 对象的真正子集。它只创建一个包含节点但没有方式或关系的对象。我怀疑这是一个问题,但仍然不知道如何解决它。
然而osm_subset_ids
包含方式的ID。
最好的问候,安德烈亚斯。
r - 优化运行时间:更改 igraph 中边的权重需要很长时间。有没有办法优化它?
我正在从 osmar 对象构建的 igraph 中搜索一组边,并希望更改这些边的权重。由于我的图表很大,因此这项任务需要很长时间。由于我在循环中运行此函数,因此运行时会变得更大。
有没有办法优化这个?
这是代码:
这就是减速发生的地方:所选边缘的权重,通过将其乘以 10 来更改它
也许我可以使用哈希图?
更新
哈希图
单位:秒
更新: 根据 igraph doc,igraph 是线程安全的,所以我可以使用并行。
我目前正在尝试这个:
我想知道为什么我必须在并行循环之外执行“编写步骤”。当我试图在循环中将权重写回 igraph 时,它不起作用,即权重没有得到更新。
先感谢您!BR
r - osmar (R) 中的 get_osm 函数给出 SSL 错误
自几个月前以来,以下代码运行无误
现在它给了我以下错误
“函数错误(类型,msg,asError = TRUE):错误:1407742E:SSL 例程:SSL23_GET_SERVER_HELLO:tlsv1 警报协议版本”
我没能理解这个问题。我尝试使用其他两台具有不同版本(旧)R 的计算机运行代码,但它仍然无法正常工作。
任何人都有可能的解决方案?
提前致谢
r - 从 osmar 对象列表中删除空的 osmar 对象
在此示例中,我有以下列表nodes_found与 2 个元素,但元素的数量在未来会有所不同:
我想从列表中删除空的 osmar 对象(在本例中为 0 个节点的对象是 [1] 处的对象)。也许根据节点的属性进行过滤?如果我基本上请求包含 0 个节点的 osmar 对象的属性,它将生成一个具有 0 行的数据结构。所以也许我可以使用它。但我不认为它有效。
这是 nodes_found 列表:
r - 在 R 中有效地将 OSMAR 对象划分为块
我怎样才能有效地将 osmar 对象分成几个部分并将它们重新组合回来?
根据班级,这是一个“osmar”“列表”。
所以我试图用以下方法来划分它:
它创建一个列表:
但是我不能像处理 osmar 对象那样处理这个列表。此外,osmar 包支持将 osmar 对象与
所以应该可以分割一个 osmar 对象并再次组合它。