トップ > 技術ナレッジのアーカイブ > Pythonで地図を描く ~Foliumで冒険マップを作ってみた~#準備編

2024.03.19

Pythonで地図を描く ~Foliumで冒険マップを作ってみた~#準備編

#Python #Folium

Pythonで地図を描く ~Foliumで冒険マップを作ってみた~

昨年ゼ〇ダの伝説 ティアーズオブザキングダムなるゲームが発売され、ドはまりした筆者。この世界に実際に入れたらどんなに楽しそうなことか…そんな思いから、日本各地の旅行の思い出を、可能な限りゲームの世界に落としてみたいと考え、シーン及び動画を作ってみたのでご紹介させてください。

筆者紹介:saki_toridaisuki

2023年にテクノプロ・デザイン社に中途入社。
1年間で配車システムや消費電力などの時系列データの分析、分散学習環境構築業務などを経験。
趣味は海外旅行、絵を描くこと。


1.ゲームの世界と今回の完成形のイメージ

今回イメージしたゲーム画面はこちらです。
登場人物や背景があって、右下に小さな地図があるシーンです(左図)。地図でこれまで冒険したエリアが見れるシーン(右図)。

※画像はイメージです。

そして今回、イメージしてるシーン。登場人物や背景があって、右上に小さな地図があり、撮影地が着色されたシーンです(左図)。地図でこれまで訪れたエリアが見れるシーンが右のイメージです。

2.本技術記事でのねらい

今回ご紹介したい内容は以下です。

・Folium を活用したプログラム作成
・Adobe Photoshop による動画編集

Folium は地図上に情報を重畳表示するのに長けたpython のパッケージであり、以下のことができます。

<緯度経度情報をもとに都道府県および市区町村の輪郭を表示>

参照元:https://note.com/ds_tsukuba/n/n52184a78fde4

<背景用の地図の選択>

参照元:https://deparkes.co.uk/2016/06/10/folium-map-tiles/

<地図上のエリアの塗りつぶし>

参照元:https://96lovefootball.hatenablog.com/entry/2019/03/17/210000

本記事ではゲームになるべく似せた地図を作成するため、Foliumの基本的な使い方に加え、以下のように自由度を少し広げた使い方を、手順に従って紹介させていただきます。

  • 都道府県の市町村の境界部分の輪郭設定
  • 背景用の地図の選択と背景画像のカスタマイズ
  • 地図上の特定のエリアの塗りつぶしと色設定

以上の手順を踏むことにより、以下の3つの画像を用意します。

Photoshopは動画編集用に使う方が沢山いらっしゃるかと思いますが、3つの画像をどのように重畳したかなどをご紹介したいと思います。

3.PCスペック

今回使用したPCのスペックはこちらになります。

・CPU:i7-7700HQ
・メモリ:16GB
・GPU:NVIDIA Geforce GTX 1050 Ti
・OS:Windows10 Home

4.環境構築~プログラム実装までの手順

4.1 PyCharmインストール

参考資料を見ながらPyCharmをダウンロードしました。各自の好みに応じて実施ください。

4.2 Miniconda環境構築

Miniconda3-latest-Windows-x86_64.exeを実行し、案内に従ってMinicondaをインストールしました。筆者はMiniconda3 バージョン4.5.4を使いましたが、各自の環境に合わせて実施ください。

4.3 パッケージインストール

筆者の使った主なパッケージは以下になりますが、各自の環境に合わせてください。コード内でインポートしているパッケージも後ほどインストール必要です。

  • Branca==0.5.0
  • selenium==3.141.0
  • Chromedriver== 120.0.6099.109.0
    ※Seleniumとセットでインストールする必要があります。資料を参考に現在使用中のChromeブラウザに近いバージョンのChromedriverをインストールしました。
  • geopandas==0.9.0
  • folium==0.13.0
    ※「pip install folium」のみだとエラーが出たのでバージョン指定してインストールしました。
  • pandas==1.1.5
  • matplotlib==3.3.4
  • python==3.6.8
  • opencv==4.2.0.32
    ※「pip install opencv-python」のみだとエラーが出たので資料を参考にバージョン指定してインストールしました。

4.4 都道府県および市区町村の緯度経度情報の取得

国土地理院のページにアクセスし、行政区域をクリックします。

県を選択します。今回は静岡県にしました。

静岡県の緯度経度情報のzipファイルをダウンロードします。

Zipファイルを解凍し、ファイルが複数格納されていることを確認します。そのうち「.geojson」という拡張子のファイルをこのあと使います。

4.5 日本地図の緯度経度情報の取得

同じく.geojsonの拡張子のファイルを取得します。国土地理院ページ(国土数値情報 | 行政区域データ (mlit.go.jp))からもダウンロードできますが、サイズが600MB超と大きいので、別のサイトを開き、download raw fileのボタンをクリックし、小さなサイズ(12MB程度)の緯度経度情報japan.geojsonをダウンロードしました。

閉じる