0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Pythonで地図を描画

Posted at

概要

活用コンテストに向けてSpresenseのGPSセンサから緯度・経度を取得し、誰でもブラウザからアクセスできるようにするために、今回はspresenseからデータを受信することを想定して、まず手始めにPythonで地図を描画することを目指し、使えるかどうかを事前に検証する。

環境構築

地図を描画するために必要なライブラリをインストールします。

pip install folium geopy
pip install osmium
  • folium:地図描画用のPythonライブラリ
  • geopy:位置情報を取得・変換するためのライブラリ
  • osmium:OpenStreeMapのライブラリ

手順

今回作成するコードが、Google Mapに対して位置ずれを起こさないかどうかをまず検証する
今回の検証対象は、秋葉原にある千石電商とします。

  1. Google Map上で位置情報を取得する千石電商を検索する
    image.png

  2. 千石電商のアイコンを右クリックすると緯度経度が表示されるので、クリックします。
    クリックすると、緯度経度がコピーされます。
    image.png

コード

import folium

# 現在位置を手動で設定 (千石電商 秋葉原店の位置)
current_location = {"latitude": 35.69934034045612, "longitude":139.77023335500712}

# 地図を作成
m = folium.Map(location=[current_location["latitude"], current_location["longitude"]], zoom_start=15)

# 現在位置にピンを追加
folium.Marker(
    [current_location["latitude"], current_location["longitude"]],
    popup="現在位置",
    icon=folium.Icon(color="red", icon="info-sign"),
).add_to(m)

# 地図を保存してブラウザで開く
m.save("map.html")
print("地図が map.html として保存されました。ブラウザで開いてください。")

実行結果

作成したプログラムを実行すると、map.htmlのファイルがローカルのフォルダに保存されます。
このファイルをダブルクリックするとブラウザが起動し、指定した緯度経度を表すピンが刺さっていることを確認することができます。

スクリーンショット 2024-12-29 012221.png

おわりに

今回はPythonを使って、指定した緯度経度を地図上に描画することができた。これを応用して、Spresenseで取得した位置情報をリアルタイムで描画できるようにしていきたいと思う。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?