Last updated on

地図ルートからCSVファイルを作成する


大学院の授業で、アプリを作成する際に、地図ルートからCSVファイルを作成する必要がありました。これはデータの可視化や分析、さらにはアプリケーションでの動的な地図表示を実現するために重要なステップです。今回はその具体的な方法をPythonを用いて紹介します。



実装の背景

この例では、大阪駅 (34.7024854, 135.4959506) から 大阪城 (34.6872571, 135.5258546) までの歩行ルートをシミュレーションします。簡単のため、ルートは直線的であると仮定し、指定したポイント数に基づいて緯度・経度を線形補間します。

これにより、地図上の座標データをCSV形式で出力し、後続の処理で利用できる形に整えます。


実装コード

以下のコードを使って、緯度・経度のデータを生成し、CSVファイルに保存します。

import pandas as pd

# 出発地点と到着地点
# 大阪駅: (34.7024854, 135.4959506)
# 大阪城: (34.6872571, 135.5258546)
start_lat, start_lng = 34.7024854, 135.4959506
end_lat, end_lng = 34.6872571, 135.5258546

# 補間するポイント数
num_points = 50

# 緯度と経度の線形補間
latitudes = [start_lat + (end_lat - start_lat) * i / (num_points - 1) for i in range(num_points)]
longitudes = [start_lng + (end_lng - start_lng) * i / (num_points - 1) for i in range(num_points)]

# データフレームを作成
route_data = pd.DataFrame({
    "Latitude": latitudes,
    "Longitude": longitudes
})

# CSVファイルに保存
file_path = "/mnt/data/Osaka_Walking_Route.csv"
route_data.to_csv(file_path, index=False)

file_path

実行結果

以下は生成されたデータの最初の数行の例です。

LatitudeLongitude
34.702485135.495951
34.702175135.496561
34.701864135.497171
34.701553135.497781
34.701242135.498392

これが、指定した出発地点と到着地点の間を線形補間で生成した緯度・経度のデータとなります。このデータをCSV形式で保存し、地図アプリケーションなどに利用できます。

応用と発展

この基本的なアプローチを応用すると、以下のようなさらなる開発に役立ちます:

ルートの高度情報追加: 各ポイントの標高データをAPIで取得し、立体的なルートを構築する。 ルートのカスタマイズ: 実際の道路情報や移動手段(徒歩、自転車、車など)に基づいたルートを生成する。 リアルタイム対応: 現在地やユーザー入力に基づいて動的にCSVを生成し、アプリケーションで利用する。

まとめ

地図ルートデータをCSVに変換する手法は、シンプルながらも多くの場面で応用可能です。大学院での学びやプロジェクトにおいて、こうした基盤的なスキルを身につけることは、実践的なアプリケーション開発に大いに役立ちます。今後は、APIの活用や実際の道路情報の反映にも挑戦してみたいと思います。