【folium】地図上で描画した形状をgeojson形式で出力

本記事では、地図上で描画した形状をgeojsonで出力する方法を簡単に紹介します。
以下のようなPythonファイルを実行すると、下図の地図データを得ることができます。
ここで、地図の左端に種々のボタンが表示されました。ここでは五角形のボタンをクリックして多角形の形状を地図上に描画します。
まず下図のように五角形のボタンをクリックして、任意の箇所をクリックして多角形を描画したら、左側の「Finish」ボタンをクリックしてください。

次に、右端にある「export」ボタンをクリックすると、ファイルダイアログが表示されてgeojsonファイルを保存することができます。

保存されたgeojsonファイルの中身は以下のようになっていました。
これで、地図上に描画した形状をgeojson形式で出力完了です。
Pythonで場所名や住所から緯度経度を求める方法

はじめに
本記事では、Pythonで場所名や住所から緯度経度を求める方法を簡単に紹介します。
1. 場所名から緯度経度を求める方法
以下のようにgeocoderを用いることで[緯度、経度]のデータを取得することができます。
2. 住所から緯度経度を求める方法
以下のように国土地理院のAPIを用いることで[経度、緯度]のデータを取得することができます。
3. 活用例
上記手法で得られた緯度経度のデータからfoliumを用いて地図にマーカーをプロットすることができるようになります。
オススメ書籍
Pythonによるあたらしいデータ分析の教科書
Python3エンジニア認定データ分析試験の教科書にもなっている書籍で、データ分析に必要なPythonの基礎手法を身に付けることができます。具体的には、numpyとpandasを用いたデータの前処理、matplotlibを用いたデータのグラフ化、scikit-learnを用いた機械学習の基礎記述方法を身に付けることができます。これ一つで基礎はバッチリで、実務でも十分活用できると思います。個人的には見やすい書籍でした。
データサイエンス教本 Pythonで学ぶ統計分析・パターン認識・深層学習・信号処理・時系列データ分析
こちらの書籍は初心者から少し記述できるようになった人、かつ数学的な理論と一緒にPythonの記述方法を理解したい方にオススメです。統計分析、パターン認識、深層学習、信号処理、時系列データといった幅広く実務で使用する手法を学びたい方にもオススメです。
東京大学のデータサイエンティスト育成講座 ~Pythonで手を動かして学ぶデ―タ分析~
こちらの基礎を抑えながら実務で必要なPython記述法を学べる書籍です。基礎を一つ一つ抑えるというよりも実務で活用できるように必要な知識を身に付けられると感じました。これ一冊あれば十分かなと思いました。
スキル修得&転職
近年、DXの進展に伴うデジタル人材の需要の高まりに追いついていない状況が続いていると経済産業省がホームページで記載している通り、DX人材、IT人材が不足しているのが現状です。さらにコンピュータの性能向上やAI技術の発展により、よりDX人材、IT人材の需要が高まってきます。さらには、今後の長期間安定して職がある業種とも考えられます。
以下の求人では、IT業界の転職や、IT未経験だけどIT人材を志望する就活を支援してくれます。無料で会員登録もできるので、まずは登録だけでもして様子を見てみてはいかがでしょうか?
![]()
【MarkerCluster】foliumを用いた地理データを地図上に可視化:MarkerClusterを用いてマーカーをまとめて表示

はじめに
前回の記事で、foliumを用いた地理データを地図上に可視化の基本操作を示しました。以下の記事です。
しかしながら、マーカーの数が多くなると非常に見ずらい地図になるという問題がありました。
そこで、本記事ではMarkerClusterによるマーカーをまとめて表示することで、地理データを地図上に見やすく可視化する方法を簡単に紹介したいと思います。
- はじめに
- 1. foliumとは
- 2. 地図に任意の地点にマーカーをプロットする方法
- 3. 複数の地点をfoliumで地図にマーカープロット
- 4. MarkerClusterを用いてマーカーをまとめて表示
- 5. 実例
- 参考資料
- オススメ書籍
- スキル修得&転職
1. foliumとは
foliumの公式ドキュメントは以下です。
python-visualization.github.io
2. 地図に任意の地点にマーカーをプロットする方法
地図に任意の地点にマーカーをプロットする方法については前回の記事をご覧ください。
3. 複数の地点をfoliumで地図にマーカープロット
マーカーの数が多くなると非常に見ずらい地図になるという問題があるといいましたが、ここでその状態を確認したいと思います。
今回使用する複数の地点のデータは東京都内に存在するすき家の店舗です。以下のすき家のホームページ(店舗情報 | すき家)から取得した各店舗の住所データをもとにマーカーをプロットしたいと思います。今回は東京都を基準とした地図を生成し、その後、csvファイルに記載されているすき家各店舗の住所から店舗の緯度経度を取得してマーカーをプロットしています。
上の地図のようにマーカーが多くで見ずらい印象を受けますよね。この地図データを見やすく改善したいと思います。
4. MarkerClusterを用いてマーカーをまとめて表示
それでは、MarkerClusterを用いてマーカーをまとめて表示したいと思います。マーカークラスター「marker_cluster = MarkerCluster().add_to(map)」を生成し、folium.Marker().add_to()でmapではなくmarker_clusterを指定してあげることで実現できます。
下の地図を 拡大してあげることで各店舗のマーカーが出現し、縮小することで複数店舗のマーカーがまとめて表示されるようになります。
5. 実例
各都道府県のすき家店舗のマップを作成してみました。すき家のホームページから各店舗の店舗名、住所等を取得して、そのデータを基にfoliumを用いて地図データを作成しました。以下のリンクをご覧ください。
参考資料
オススメ書籍
Pythonによるあたらしいデータ分析の教科書
Python3エンジニア認定データ分析試験の教科書にもなっている書籍で、データ分析に必要なPythonの基礎手法を身に付けることができます。具体的には、numpyとpandasを用いたデータの前処理、matplotlibを用いたデータのグラフ化、scikit-learnを用いた機械学習の基礎記述方法を身に付けることができます。これ一つで基礎はバッチリで、実務でも十分活用できると思います。個人的には見やすい書籍でした。
データサイエンス教本 Pythonで学ぶ統計分析・パターン認識・深層学習・信号処理・時系列データ分析
こちらの書籍は初心者から少し記述できるようになった人、かつ数学的な理論と一緒にPythonの記述方法を理解したい方にオススメです。統計分析、パターン認識、深層学習、信号処理、時系列データといった幅広く実務で使用する手法を学びたい方にもオススメです。
東京大学のデータサイエンティスト育成講座 ~Pythonで手を動かして学ぶデ―タ分析~
こちらの基礎を抑えながら実務で必要なPython記述法を学べる書籍です。基礎を一つ一つ抑えるというよりも実務で活用できるように必要な知識を身に付けられると感じました。これ一冊あれば十分かなと思いました。
スキル修得&転職
近年、DXの進展に伴うデジタル人材の需要の高まりに追いついていない状況が続いていると経済産業省がホームページで記載している通り、DX人材、IT人材が不足しているのが現状です。さらにコンピュータの性能向上やAI技術の発展により、よりDX人材、IT人材の需要が高まってきます。さらには、今後の長期間安定して職がある業種とも考えられます。
以下の求人では、IT業界の転職や、IT未経験だけどIT人材を志望する就活を支援してくれます。無料で会員登録もできるので、まずは登録だけでもして様子を見てみてはいかがでしょうか?
▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼
▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲
foliumを用いた地理データを地図上に可視化

はじめに
地理データを地図上に可視化するPythonライブラリにfoliumがあります。
本記事では、foliumを用いた地理データを地図上に可視化する方法について簡単に紹介します。
1. foliumとは
foliumの公式ドキュメントは以下です。
python-visualization.github.io
以下のように緯度経度の情報を用いることで地図データを作成することができます。ここでは日本標準時子午線がある兵庫県明石市を基準にしています。
上記コマンドで下図のように地図を描画することができます。
2. foliumのインストール
以下のコマンドでfoliumをインストールできます。
3. foliumで地図描画
3.1 地図データの作成
では、緯度経度のデータを用いて簡単に地図データを作成していきたいと思います。まずは皇居の緯度経度の値を用いて地図を作成していきたいと思います。
地図データを作成するには、任意の地点を指定して作成します。ここで任意の地点を皇居とし、その経度緯度から地図データを作成します。
上記のコマンドで以下のような地図データを作成できます。
次に、zoom_startの引数を指定することで、地図の表示範囲を調整したいと思います。zoom_startの値を小さくすることで表示範囲が広くなり、大きくすることで表示範囲が小さくなります。
上記のコマンドで以下のような地図データが作成されます。上図の地図よりも拡大して表示されていることが確認できるかと思います。
3.2 地図にマーカーをプロット
続いて、作成した地図に任意の地点にマーカーをプロットしたいと思います。ここでは、皇居の緯度経度の値を用いてfolium.Marker()で皇居にマーカーをプロットします。
上記のコマンドで以下のような地図データを作成することができます。皇居に青いマーカーがプロットされたことが確認できます。
次に、マーカーにポップアップをつけて、マーカーの色変更、マーカーのアイコン設定を行いたいと思います。
ここで、マーカーの色は以下のリスト内から選択します。
[‘red’, ‘blue’, ‘green’, ‘purple’, ‘orange’, ‘darkred’, ’lightred’, ‘beige’, ‘darkblue’, ‘darkgreen’, ‘cadetblue’, ‘darkpurple’, ‘white’, ‘pink’, ‘lightblue’, ‘lightgreen’, ‘gray’, ‘black’, ‘lightgray’]
アイコンについては以下のリンク先の中から選択します。
では、皇居につけたマーカーのポップアップに「皇居」を指定し、マーカーの色を赤色にして、アイコンを"info-sign"に設定します。
上記のコマンドで以下の地図データを作成することができます。マーカーをクリックうすると「皇居」のポップアップを確認することができます。また、マーカーの色とアイコンが変わったのも確認できると思います。
3.3 任意の地点を中心に円を描画
続いて、任意の地点を中心に円を描画したいと思います。ここでは、皇居を中心に円を描画したいと思います。
まずは、folium.CircleMarker()を用いて皇居を中心に円を描画したいと思います。folium.CircleMarker()を用いた場合、拡大縮小によって円のサイズの変化があります。
上記のコマンドで以下のような地図データを作成することができます。皇居を中心に円が描画されていることが確認できると思います。
次に、folium.Circle()を用いて皇居を中心に円を描画したいと思います。folium.Circle()を用いた場合、拡大縮小によって円のサイズの変化はなく、固定です。
上記のコマンドで以下のような地図データを作成することができます。皇居を中心に円が描画されていることが確認できると思います。
さらに、円の内部にも色を付ける場合には、folium.CircleMarker()の引数fill_colorにカラーコードを指定します。
3.4 タイルの設定
folium で 指定できるタイルは以下です。
- Stamen Terrain
- Stamen Toner
- Stamen Watercolor
- Cartodb Positron
- Cartodb dark_matter
ではそれぞれのタイルの描画内容を見てみたいと思います。
Stamen Terrain
Stamen Toner
Stamen Watercolor
Cartodb Positron
Cartodb dark_matter
さらに地理院のタイルも指定することができます。以下の記事を参考にしました。
Python folium 指定できる 地図の タイル について | Monotalk
地図タイルの提供してくれるサービスとして、地理院タイルがあります。地理院タイルは国土交通省国土地理院が無償で提供してくれているものです。以下のリンクから地理院タイルを確認することができます。
ここでは以下の2つの地理院タイルを使用してみたいと思います。
- 簡易空中写真(2004年~)
- 電子国土基本図(オルソ画像)(2007年~)
では、簡易空中写真(2004年~)のタイルを使用して地図を描画したいと思います。簡易空中写真(2004年~)のタイルは以下のリンクから確認できます。
https://maps.gsi.go.jp/development/ichiran.html#airphoto
tilesに'https://cyberjapandata.gsi.go.jp/xyz/airphoto/{z}/{x}/{y}.png'を指定することでタイルを使用できます。
次に、電子国土基本図(オルソ画像)(2007年~)のタイルを使用して地図を描画したいと思います。電子国土基本図(オルソ画像)(2007年~)のタイルは以下のリンクから確認できます。
https://maps.gsi.go.jp/development/ichiran.html#ort
tilesに'https://cyberjapandata.gsi.go.jp/xyz/ort/{z}/{x}/{y}.jpg'を指定することでタイルを使用できます。
4. 実例
各都道府県のすき家店舗のマップを作成してみました。すき家のホームページから各店舗の店舗名、住所等を取得して、そのデータを基にfoliumを用いて地図データを作成しました。以下のリンクをご覧ください。
引用
以下の記事を参考に本記事を作成いたしました。ありがとうございます。
chayarokurokuro.hatenablog.com
chayarokurokuro.hatenablog.com
オススメ書籍
Pythonによるあたらしいデータ分析の教科書
Python3エンジニア認定データ分析試験の教科書にもなっている書籍で、データ分析に必要なPythonの基礎手法を身に付けることができます。具体的には、numpyとpandasを用いたデータの前処理、matplotlibを用いたデータのグラフ化、scikit-learnを用いた機械学習の基礎記述方法を身に付けることができます。これ一つで基礎はバッチリで、実務でも十分活用できると思います。個人的には見やすい書籍でした。
データサイエンス教本 Pythonで学ぶ統計分析・パターン認識・深層学習・信号処理・時系列データ分析
こちらの書籍は初心者から少し記述できるようになった人、かつ数学的な理論と一緒にPythonの記述方法を理解したい方にオススメです。統計分析、パターン認識、深層学習、信号処理、時系列データといった幅広く実務で使用する手法を学びたい方にもオススメです。
東京大学のデータサイエンティスト育成講座 ~Pythonで手を動かして学ぶデ―タ分析~
こちらの基礎を抑えながら実務で必要なPython記述法を学べる書籍です。基礎を一つ一つ抑えるというよりも実務で活用できるように必要な知識を身に付けられると感じました。これ一冊あれば十分かなと思いました。
スキル修得&転職
近年、DXの進展に伴うデジタル人材の需要の高まりに追いついていない状況が続いていると経済産業省がホームページで記載している通り、DX人材、IT人材が不足しているのが現状です。さらにコンピュータの性能向上やAI技術の発展により、よりDX人材、IT人材の需要が高まってきます。さらには、今後の長期間安定して職がある業種とも考えられます。
以下の求人では、IT業界の転職や、IT未経験だけどIT人材を志望する就活を支援してくれます。無料で会員登録もできるので、まずは登録だけでもして様子を見てみてはいかがでしょうか?
▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼
▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲
Shapelyを用いた図形の計算(幾何学的演算):点、線分、多角形の計算

はじめに
図形の計算には一般的にGEOS(Geometry Engine, Open Sourc)のライブラリ関数を使用します。GEOSのPythonパッケージの一つがShapleです。Shapely は地理情報システム (GIS) でよく用いられていますが、他の目的でも使用されています。Shapelyでは点、線分、多角形(三角形、四角形・・・等)などの計算ができます。例えばある2点間の線分の長さ、多角形の外周の長さや面積、2つの図形の積集合・和集合の領域面積などを計算することができます。
本記事では、Shapelyを用いた図形の計算をPythonで行う方法を簡単に紹介します。
1. Shapelyの公式ドキュメント
以下のページがShapelyの公式ドキュメントです。詳細は以下のページで確認できます。
2. Shapelyを用いた図形の計算
本記事では、Google Colaboratoryで計算した結果を以下に示します。
オススメ書籍
Pythonによるあたらしいデータ分析の教科書
Python3エンジニア認定データ分析試験の教科書にもなっている書籍で、データ分析に必要なPythonの基礎手法を身に付けることができます。具体的には、numpyとpandasを用いたデータの前処理、matplotlibを用いたデータのグラフ化、scikit-learnを用いた機械学習の基礎記述方法を身に付けることができます。これ一つで基礎はバッチリで、実務でも十分活用できると思います。個人的には見やすい書籍でした。
データサイエンス教本 Pythonで学ぶ統計分析・パターン認識・深層学習・信号処理・時系列データ分析
こちらの書籍は初心者から少し記述できるようになった人、かつ数学的な理論と一緒にPythonの記述方法を理解したい方にオススメです。統計分析、パターン認識、深層学習、信号処理、時系列データといった幅広く実務で使用する手法を学びたい方にもオススメです。
東京大学のデータサイエンティスト育成講座 ~Pythonで手を動かして学ぶデ―タ分析~
こちらの基礎を抑えながら実務で必要なPython記述法を学べる書籍です。基礎を一つ一つ抑えるというよりも実務で活用できるように必要な知識を身に付けられると感じました。これ一冊あれば十分かなと思いました。
スキル修得&転職
近年、DXの進展に伴うデジタル人材の需要の高まりに追いついていない状況が続いていると経済産業省がホームページで記載している通り、DX人材、IT人材が不足しているのが現状です。さらにコンピュータの性能向上やAI技術の発展により、よりDX人材、IT人材の需要が高まってきます。さらには、今後の長期間安定して職がある業種とも考えられます。
以下の求人では、IT業界の転職や、IT未経験だけどIT人材を志望する就活を支援してくれます。無料で会員登録もできるので、まずは登録だけでもして様子を見てみてはいかがでしょうか?
▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼
▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲
YAMLファイルの書き方例と読み込み

はじめに
YAMLは構造的なデータ集合を簡素な文字列として表記することができるデータ形式の一つで、設定ファイル等に使用されることが多いです。一般的にXMLと同様なものとして扱われます。JSONとも似ていますが、YAMLはJSONとの異なり、コメントも書くことができ、閾値等が記載された設定ファイル等の説明も書き込むことができます。
本記事では、基本的なYAMLファイルの書き方の例と、YAMLファイルの読み込みプログラムを紹介します。
1. YAMLファイルの書き方
以下のようなYAMLファイルを用意します。文字列、数値、リスト、真偽値を記載しています。
2. YAMLファイルの読み込み
以下のように、yaml.safe_load()を用いることでYAMLファイルを読み込むことができます。
読み込んでprintで表示した結果は以下のようになります。
3. 実用例
以下はYOLOXのコードですが、ここではYAMLファイル(config.yaml)を読み込んで、閾値やモデルのパスなどを指定しています。
オススメ書籍
Pythonによるあたらしいデータ分析の教科書
Python3エンジニア認定データ分析試験の教科書にもなっている書籍で、データ分析に必要なPythonの基礎手法を身に付けることができます。具体的には、numpyとpandasを用いたデータの前処理、matplotlibを用いたデータのグラフ化、scikit-learnを用いた機械学習の基礎記述方法を身に付けることができます。これ一つで基礎はバッチリで、実務でも十分活用できると思います。個人的には見やすい書籍でした。
データサイエンス教本 Pythonで学ぶ統計分析・パターン認識・深層学習・信号処理・時系列データ分析
こちらの書籍は初心者から少し記述できるようになった人、かつ数学的な理論と一緒にPythonの記述方法を理解したい方にオススメです。統計分析、パターン認識、深層学習、信号処理、時系列データといった幅広く実務で使用する手法を学びたい方にもオススメです。
東京大学のデータサイエンティスト育成講座 ~Pythonで手を動かして学ぶデ―タ分析~
こちらの基礎を抑えながら実務で必要なPython記述法を学べる書籍です。基礎を一つ一つ抑えるというよりも実務で活用できるように必要な知識を身に付けられると感じました。これ一冊あれば十分かなと思いました。
スキル修得&転職
近年、DXの進展に伴うデジタル人材の需要の高まりに追いついていない状況が続いていると経済産業省がホームページで記載している通り、DX人材、IT人材が不足しているのが現状です。さらにコンピュータの性能向上やAI技術の発展により、よりDX人材、IT人材の需要が高まってきます。さらには、今後の長期間安定して職がある業種とも考えられます。
以下の求人では、IT業界の転職や、IT未経験だけどIT人材を志望する就活を支援してくれます。無料で会員登録もできるので、まずは登録だけでもして様子を見てみてはいかがでしょうか?
▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼
▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲
PythonでPostgreSQLの操作とDockerでPosgreSQLコンテナの作成

はじめに
近年、IoT技術の発展により多くのデータが収集可能になってデータベースが多用されるようになってきました。さらに多くのデータを収集して、ビックデータ解析により異常検知や需要予測などに活用されています。データベースの一つにPostgreSQLがあり、これはリレーショナルデータベースに分類されます。
本記事では、PythonでPostgreSQLを操作する方法と、DockerでPostgreSQLコンテナの作成する方法を簡単に紹介します。
1. DockerでPostgreSQLコンテナの作成
以下の記事を参考にさせていただきました。
まずは以下のコマンドでコンテナを生成します。
次に、ローカルからPostgreSQLに接続します。
最後に、データベースを作成します。ここではtest_dbという名前のデータベースを作成します。作成したら\lでデータベース一覧を確認します。
データベースが完成したら、これ以降はクライアント側のPythonコードでPostgreSQLを操作します。
2. PythonでPosgreSQLを操作するPythonコード
ここでは、データベースへの接続、テーブルの作成、テーブルにデータを挿入、テーブルからデータを取得の操作を以下のプログラムで実行します。
まずはライブラリのインストールです。今回はpsycopg2というライブラリをインストールします。
以下では、PostgreSQLのコンテナを起動しているコンピュータのIPアドレス192.168.43.145、データベースのユーザー・パスワード等を設定してデータベースに接続しています。その後、「test」という名のテーブルを作成し、そのテーブルにデータを挿入しています。
ここでテーブルを作成する際に、INTEGER、 VARCHAR、DATEなどのデータ型を指定しますが、以下の記事が参考になりました。
オススメ書籍
スキル修得&転職
近年、DXの進展に伴うデジタル人材の需要の高まりに追いついていない状況が続いていると経済産業省がホームページで記載している通り、DX人材、IT人材が不足しているのが現状です。さらにコンピュータの性能向上やAI技術の発展により、よりDX人材、IT人材の需要が高まってきます。さらには、今後の長期間安定して職がある業種とも考えられます。
以下の求人では、IT業界の転職や、IT未経験だけどIT人材を志望する就活を支援してくれます。無料で会員登録もできるので、まずは登録だけでもして様子を見てみてはいかがでしょうか?
▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼
▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲
おわりに
本記事では、PythonでPostgreSQLを操作する方法と、DockerでPostgreSQLコンテナの作成する方法を簡単に紹介しました。IoT技術の発展により多くのデータが収集可能になってデータベースが多用されるようになってきました。いや既になっています。さらに多くのデータを収集して、ビックデータ解析により異常検知や需要予測などに活用されています。こういった基盤作りにPostgreSQLは必要な技術となってきますので、使いこなせれるようになりましょう。