import osmnx as ox
ox.__version__ # '0.13.0'
Я хотел бы показать метро в Ганновере , известное в данных OSM немецкого метро, на карте, используя замечательный модуль OSMNX. Но в отличие от примера New York не возвращаются результаты для:
G = ox.graph_from_place('Hannover, Germany',
retain_all=False, truncate_by_edge=True, simplify=True,
network_type='none', custom_filter='["railway"~"subway"]')
# EmptyOverpassResponse: There are no data elements in the response JSON
, я получаю результаты по другим аналогичным запросам, используя в качестве региона «Ганновер, Германия». Я также не получаю результатов по метро в Париже или Лондоне. И я не получаю результатов по похожим запросам, таким как custom_filter = '["rail" ~ "tram"]' или '["rail" ~ "s-bahn"]' или '["network" ~ "metro"]'.
Кроме того, если я использую аргумент ключевого слова инфраструктуры для выбора «железная дорога», возвращается обширный gdf:
G = ox.graph_from_place('Hannover, Germany', retain_all=False, truncate_by_edge=True, simplify=True,
network_type='none', infrastructure='way["railway"]')
gdfox = ox.graph_to_gdfs(G, nodes=False, edges=True, node_geometry=True, fill_edge_geometry=True)
gdfox.shape # (4422, 14)
Но я не могу идентифицировать метро, используя возвращенные столбцы?:
['u', 'v', 'key', 'osmid', 'service', 'oneway', 'length',
'geometry', 'name', 'maxspeed', 'ref', 'bridge', 'tunnel',
'access']
Что мне также кажется странным, так это то, что если я (пытаюсь) получить все железные дороги, используя custom_filter, возвращается только 2 LINESTRINGS:
G = ox.graph_from_place('Hannover, Germany', retain_all=False, truncate_by_edge=True,
simplify=True, network_type=None, custom_filter='["railway"~""]')
gdfox = ox.graph_to_gdfs(G, nodes=False, edges=True, node_geometry=True, fill_edge_geometry=True)
gdfox.shape # (2, 10) # returns only 2 LINESTRINGS: Altenbekener Damm