実際に私を助けてくれてありがとう:-)ベニスやアムステルダムの運河などの水路から無向グラフを作成したいと思います。
OpenStreetMaps には、これらの都市の水路ネットワークのグラフがありますが、OSMnx パッケージには、水路をフィルタリングするためのフィルターがありません (または、まだ知らないかもしれません ;-) )。
import osmnx as ox
G = ox.graph_from_bbox(52.36309012572587,4.890326718121118,52.36590601699889,4.898316757037793, network_type='all')
G_projected = ox.project_graph(G)
ox.plot_graph(G_projected)
マップ全体をダウンロードして、水路ネットワークだけをフィルタリングするだけでよいと思いました。しかし、これについてさらに先に進む方法がわかりません。ダイクストラの最短パスなど、networksx の関数に使用できるグラフがすぐに得られるので、OSMnx が最適です。
私が考えていた別の方法は、高架パッケージでした:
import overpass
import networkx as nx
import matplotlib.pyplot as plt
api= overpass.API()
data = api.get('way(52.36309012572587,4.890326718121118,52.36590601699889,4.898316757037793);(._;>;)', verbosity='geom')
[f for f in data.features if f.geometry['type'] == "LineString"]
しかし、データをフィルタリングしてグラフに変換し、networkx で使用できるようにする方法を理解していないため、これはまだ機能しません。
皆さん (そして女の子 :-) ) が私を助けてくれることを願っています。
敬具、
ジェローン