【问题标题】:OSMnx : how to provide more complex feature into the custom_filter parameterOSMnx:如何在 custom_filter 参数中提供更复杂的功能
【发布时间】:2020-10-23 05:20:09
【问题描述】:

我想将一些立交桥请求传递给ox.graph_from_place,但我不太明白它如何与文档一起使用。

我想创建一个包含 2 种道路类型的图表(公共汽车可以通过的地方以及 psv 也可以通过的地方)

我有义务加入我的 2 个图表吗?或者有没有更直接的方法?

G1 = ox.graph_from_place('Marseille, France', retain_all=True, custom_filter='["bus"="yes"]')

G2 = ox.graph_from_place('Marseille, France', retain_all=True, custom_filter='["psv"="yes"]')

Gtot = nx.disjoint_union(G1,G2)

有人知道答案吗?

祝你有美好的一天

【问题讨论】:

  • “它似乎不起作用”不是问题描述。为什么不?发生什么了?应该怎么做?
  • 从你的问题中不清楚你想做什么。 GitHub上有很多使用示例,链接在OSMnx文档中:github.com/gboeing/osmnx-examples/blob/v0.14.0/notebooks/…
  • 谢谢你的回答,我已经完成了一点我的描述。在文档中,我只看到你可以通过:-"['bus'~'yes']['psv'~'yes']" 给了我两个都可以进入的道路,但不包括只有一个人可以进入的道路 -"['bus'!~'.*|no']" 给了我标签所在的道路公共汽车不存在或不允许公共汽车。但我只能玩'bus tag'?

标签: osmnx


【解决方案1】:

由于 OSMnx 在其查询设备中不包括用于多个键的可自定义联合运算符,因此您最好的选择确实是进行两个查询,然后将它们组合起来。但是你应该使用compose 函数来这样做:

import networkx as nx
import osmnx as ox
ox.config(use_cache=True, log_console=True)

place = 'Marseille, France'
G1 = ox.graph_from_place(place, network_type='drive', retain_all=True, custom_filter='["bus"="yes"]')
G2 = ox.graph_from_place(place, network_type='drive', retain_all=True, custom_filter='["psv"="yes"]')
G = nx.compose(G1, G2)
print(len(G1), len(G2), len(G)) #784 141 855

另请参阅https://stackoverflow.com/a/62239377/7321942https://stackoverflow.com/a/62883614/7321942

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-27
    • 2011-12-30
    相关资源
    最近更新 更多