質問編集履歴
1
コードを見やすく編集しました
test
CHANGED
File without changes
|
test
CHANGED
@@ -1,12 +1,10 @@
|
|
1
|
-
```ここに言語を入力
|
2
|
-
|
3
1
|
実際のマップに最短経路の表示を行うプログラムでosmnxを使用しているのですが、
|
4
2
|
|
5
3
|
エラーが出てしまいます。また、anacondaを使用して環境構築した上です。
|
6
4
|
|
7
5
|
```
|
8
6
|
|
9
|
-
import os
|
7
|
+
```import os
|
10
8
|
|
11
9
|
from pathlib import Path
|
12
10
|
|
@@ -18,43 +16,29 @@
|
|
18
16
|
|
19
17
|
|
20
18
|
|
21
|
-
# 対象地域検索クエリ (愛知県名古屋市中村区)
|
22
|
-
|
23
19
|
query = "Nakamuraku,Nagoya,Aichi,Japan"
|
24
20
|
|
25
21
|
|
26
|
-
|
27
|
-
# 各種出力ファイルパス
|
28
22
|
|
29
23
|
outdir_path = Path(query.replace(",", "_"))
|
30
24
|
|
31
25
|
os.makedirs(outdir_path, exist_ok=True)
|
32
26
|
|
33
|
-
|
34
|
-
|
35
|
-
# 道路グラフネットワーク取得
|
36
|
-
|
37
27
|
graphml_outfile = outdir_path / "road_network.graphml"
|
38
28
|
|
39
29
|
if not os.path.isfile(graphml_outfile):
|
40
30
|
|
41
|
-
# 走行可能な道路グラフネットワークを取得
|
42
|
-
|
43
31
|
G = ox.graph_from_place(query, network_type="drive")
|
44
|
-
|
45
|
-
# 取得データを再利用目的でGraphml形式にて保存
|
46
32
|
|
47
33
|
ox.save_graphml(G, filepath=graphml_outfile)
|
48
34
|
|
49
35
|
else:
|
50
36
|
|
51
|
-
|
37
|
+
|
52
38
|
|
53
39
|
G = ox.load_graphml(graphml_outfile)
|
54
40
|
|
55
41
|
|
56
|
-
|
57
|
-
# 道路グラフネットワーク可視化
|
58
42
|
|
59
43
|
fmap = ox.plot_graph_folium(G)
|
60
44
|
|
@@ -72,7 +56,7 @@
|
|
72
56
|
|
73
57
|
|
74
58
|
|
75
|
-
|
59
|
+
|
76
60
|
|
77
61
|
nodes, edges = ox.graph_to_gdfs(G)
|
78
62
|
|
@@ -86,7 +70,7 @@
|
|
86
70
|
|
87
71
|
|
88
72
|
|
89
|
-
|
73
|
+
|
90
74
|
|
91
75
|
start_point = (35.18253738854321, 136.85996828365532)
|
92
76
|
|
@@ -102,7 +86,7 @@
|
|
102
86
|
|
103
87
|
|
104
88
|
|
105
|
-
|
89
|
+
|
106
90
|
|
107
91
|
new_fmap = ox.plot_route_folium(G, shortest_path, route_map=fmap, color="red")
|
108
92
|
|
@@ -121,6 +105,10 @@
|
|
121
105
|
ox.plot_graph_route(
|
122
106
|
|
123
107
|
G, shortest_path, show=False, save=True, filepath=path_png_outfile, **opts
|
108
|
+
|
109
|
+
)
|
110
|
+
|
111
|
+
```
|
124
112
|
|
125
113
|
|
126
114
|
|