PythonとGoogle Static Maps APIで指定した場所の地図画像を取得する方法
Google Static Maps APIとは
Googleが提供するStatic Maps APIは、HTTPリクエストに対して地図画像を返してくれるサービスです。用途に合わせてさまざまなパラメータを指定することで、目的の場所の地図画像を直接取得できます。
このAPIを利用するには、あらかじめGoogleで課金アカウントを作成しておく必要があります。詳細については、Google Cloud Platformの公式サイトをご確認ください。
地図画像を取得する手順
それでは、指定した場所の地図画像を取得するための手順を見ていきましょう。
requestsモジュールをインポートする
APIキーとベースURL(「https://maps.googleapis.com/maps/api/staticmap?」)を定義する
対象の都市名とズーム値を設定する
APIキー、都市名、ズーム値をURLに組み込む
HTTPリクエストを送信し、レスポンスをファイルに書き込んで画像として保存する
コード例
上記の手順を実際のコードに変換してみます。
# モジュールをインポート
import requests
# ベースURL
BASE_URL = "https://maps.googleapis.com/maps/api/staticmap?"
# APIキー
API_KEY = "Your API Key"
# 都市名
CITY = "Hyderabad"
# ズーム値
ZOOM = 14
# URLを組み立てる
URL = BASE_URL + "center=" + CITY + "&zoom=" + str(ZOOM) + "&size=500x500&key=" + API_KEY
# HTTPリクエストを送信
response = requests.get(URL)
# レスポンスをファイル(画像)として保存
with open('hyderabad.png', 'wb') as file:
# データをファイルに書き込む
file.write(response.content)
# 有効なAPIキーを必ず設定してください
# APIキーが無効な場合はステータスコード403が返されます主なパラメータの解説
center:地図の中心となる場所(都市名または緯度経度)を指定します。
zoom:ズームレベルを0〜21の範囲で指定します。数値が大きいほど詳細な地図になります。
size:取得する画像のサイズをピクセル単位で指定します(例:500x500)。
key:Google Cloud Consoleで発行したAPIキーを指定します。
実行結果
HTTPリクエストが成功すると、指定した場所の地図画像(hyderabad.png)が保存されます。
なお、APIキーが無効な場合はステータスコード403が返されるため、事前にキーが有効であることを確認しておきましょう。
まとめ
PythonのrequestsモジュールとGoogle Static Maps APIを組み合わせれば、わずか十数行のコードで任意の場所の地図画像を簡単に取得・保存できます。centerパラメータに緯度経度を渡せば、都市名以外の場所も指定可能です。ぜひ実際に試してみてください。
-
PythonのSunPyライブラリで太陽画像をプロットする方法
Pythonでは、SunPyというパッケージを使って太陽画像を作成・表示することができます。SunPyには、各地の太陽観測所や太陽研究機関が提供する陽子フラックスや電子フラックスなど、さまざまな太陽観測データが含まれています。 SunPyは、以下のコマンドで簡単にインストールできます。 pip install sunpy AIA画像とは ここではサンプルとしてAIA画像をプロットします。AIA(Atmospheric Imaging Assembly:大気圏撮像装置)は、NASAの太陽観測衛星SDO(Solar Dynamics Observatory)に搭載された観測機器の一つで、太陽大気を
-
Googleマップを最大限に活用するための8つのヒント
Googleマップは登場以来、Googleによって数多くの便利な機能が追加されてきました。基本的な地図表示だけでも十分使えますが、少し工夫するだけで、移動や旅行の体験がぐっと快適になります。ここでは、知っておくと役立つ8つの活用テクニックをご紹介します。1. 指一本で地図を拡大・縮小する運転中に地図を操作するのは意外と難しいものです。実はGoogleマップは、指一本でも拡大・縮小が可能です。地図画面の任意の場所をダブルタップし、2回目のタップで指を離さずに押し続けてください。そのまま指を上に動かせば縮小、下に動かせば拡大できます。一度指を離してから画面をスワイプして別のエリアに移動しながら、引