Briswell Tech Blog

ブリスウェルのテックブログです

武士の移動経路検索

幕末の万延元年(1860)に紀州和歌山藩の武士である酒井伴四郎は江戸に単身赴任しました。

その時の日々の生活を綴った日記が東京都江戸東京博物館に保管されており、江戸の生活、文化を知る重要な文献となっています。まさか自分の日記が、後の世の人の目に触れて研究対象にもなるとは、想像すらしなかったでしょう。

伴四郎さんは、赤坂の紀州藩江戸屋敷の長屋に住んでいました。休日を利用して、江戸市中を散策していたようで、東京湾や市中を見渡せる観光スポット「愛宕山」にも行っていたようです。

江戸時代の移動手段は、自分の足(または駕籠や馬)です。赤坂から愛宕山(港区愛宕1丁目)までどのような経路でどのくらいの時間で移動していたのでしょうか?

現代の地図になってしまいますが、Googleマップで経路検索してみます。単にGoogleマップで検索するのでは粋じゃないので、Google Maps Platformの「Directions API」をPythonから呼び出してみます。

【Python】「Google Map API」を利用して2点間のルート情報をJson形式で取得する方法。

こちらのサイトを参考にさせていただきました。

赤坂の紀州藩江戸屋敷近くの「紀伊国坂」から「愛宕」までの「徒歩」での移動経路について、以下のように、「Directions API」のパラメーターを指定をすることで検索することができます。

import urllib.request, json
import urllib.parse
import datetime

#Directions API endpoint
endpoint = 'https://maps.googleapis.com/maps/api/directions/json?'
#Directions API Key
api_key = '[Google Maps PlatformのAPIキー]'

#出発地
origin = '紀伊国坂'
#目的地
destination = '愛宕'
#移動手段
mode = "walking"

#リクエストパラメータをセット
request = 'language=ja&origin={}&destination={}&mode={}&key={}'.format(origin,destination,mode,api_key)
#URLエンコード(safeには変換させない文字を指定)
request = urllib.parse.quote_plus(request, safe='=&')
#リクエストURLを生成
request = endpoint + request

#Directions APIを実行
response = urllib.request.urlopen(request).read()
#実行結果を取得
directions = json.loads(response)

for key in directions['routes']:
    for key2 in key['legs']:
        print('距離:' + key2['distance']['text'])
        print('所要時間:' + key2['duration']['text'])

実行結果は

距離:2.9 km
所要時間:37分

となり、直接Googleマップで経路検索した結果と同様でした。

落ち着いたら、実際に歩いてみようと思います。