はじめに
今回は、Street View Static APIというAPIを使用してStreet Viewから位置情報に基づいた画像を取得してみます。
研究でGoogle Street Viewから画像を取得したい機会があったのですが、その時に屋外の画像だけ欲しいなと思っていました。
方法を調べていたんですが、公式ドキュメントの端っこにしか情報がなく結構時間かかってしまったので、メモとして残しておきます。
解決したいこと
何も指定しないと、緯度経度によっては、室内の画像も取得できてしまう。(室内の写真なんていらん!)
こんな感じ↓
話さないこと
- 詳細なコードの説明
- プロジェクトの設定やAPIの有効化
- API KEYを取得方法
解決方法
屋外の画像のみ取得するためのパラメータを指定してあげるだけ!(お手軽や〜)
ドキュメントによると、パラメータにsource=outdoor
というパラメータを使用することで、屋外の画像のみ取得できることがわかりました。
ちなみに、緯度経度によっては、屋外の画像がないため、その場合は以下の画像が返ってきていました。
ソースコード全体
def construct_url(latitude, longitude, api_key, zoom=14, fov=120, heading=90, pitch=0, source="default"):
base_url = "https://maps.googleapis.com/maps/api/streetview?"
params = f"location={latitude},{longitude}&fov={fov}&heading={heading}&pitch={pitch}&size=500x500&key={api_key}&source={source}"
return base_url + params
def main():
# ここでGoogle Static Image APIキーを設定
API_KEY = "YOUR_API_KEY_HERE"
# ここで緯度と経度を設定
latitude = 35.6895 # 例: 東京の緯度
longitude = 139.6917 # 例: 東京の経度
source = "outdoor" # 屋外の画像を取得する場合は"outdoor"
url = construct_url(latitude, longitude, API_KEY, source)
print("Generated Image URL:", url)
if __name__ == "__main__":
main()
まとめ
source=outdoor
というパラメータを使用することで、Street Viewから屋外のみの画像を取得できました。
Street Viewを使用して何かしたい人の参考になれば!