こんな悩みにお答えします。
1. Aidemy
・・・AIエンジニアとしてのスキルを身に付けたい。その延長で就職、転職できたら嬉しい方におすすめ。
2.侍エンジニア塾
・・・基礎力と即戦力を身に付けられる、満足度No.1スクール
3. TechAcademy
・・・副業に向けてスキルアップしたい。フリーランスなどを目指している方向け。
4. AIジョブカレッジ
・・・コスパ良く、質の高い講座を受けたい方におすすめ。
本記事の信頼性
現在はデータサイエンティストとして大企業で活動しています。
foliumはLeafletを利用しインタラクティブな地図を作成できるPythonライブラリです。
foliumでは、緯度・経度さえ用意すれば地図上にマーカーを立てることができ、アイコンや色まで思い通りに変えることができます。
Pythonはデータの扱いに長けており、pandasやnumpyなどの数値計算ライブラリと組み合わせて利用することで自由度の高い、あなただけの地図を作成することができるでしょう。
a. インストール方法
foliumはpipを用いて簡単にインストールすることができます。
pip install folium
無事インストールが終わったら、Pythonをたたいてインストールできていることを確認してみましょう。
import folium
print(folium.__version__)
#実行結果
0.12.1
エラーが出なければ問題なし!これで、foliumを使う準備は万端です!
以降、実際にコーディングしていく上で、実行環境を記載いたします。
- Python:3.6.4
- folium:0.12.1
ここから、foliumの基本的な使い方をご紹介します。
まずはシンプルな地図の表示です。ここでは渋谷(緯度:35.658034°、経度:139.701636°)を例にします。
map = folium.Map([35.658034, 139.701636], tiles="OpenStreetMap", zoom_start=16)
・OpenStreetMap(デフォルトはこちら)
・Stamen Terrain
・cartodbdark_matter
Stamen Terrain
cartodbdark_matter
今回は16で設定しているため、通りや坂の名前まで表示されています。
上で表示した地図をhtml形式で保存していきます。
map.save("basemap.html")
“basemap”の部分は自由に変更可能です。
これで、Pythonを実行したディレクトリ(フォルダ)にhtmlファイルが生成されます。
ここから、地図上にマーカーをプロットしていきます。
#渋谷ヒカリエ
folium.Marker(location=[35.65931329218629,139.7037205398187]).add_to(map)
また、複数のマーカーをプロットする際にはfolium.Markerを繋げることでプロット可能です。
#渋谷ヒカリエ
folium.Marker(location=[35.65931329218629,139.7037205398187]).add_to(map)
#渋谷109
folium.Marker(location=[35.65978938550285, 139.6987164486077]).add_to(map)
ここからさらに以下の引数を変更可能。
引数 | 引数の値 |
ポップアップ :popup | 文字列を入力 |
マーカーの色 :color | [‘red’, ‘blue’, ‘green’, ‘purple’, ‘orange’, ‘darkred’, ’lightred’, ‘beige’, ‘darkblue’, ‘darkgreen’, ‘cadetblue’, ‘darkpurple’, ‘white’, ‘pink’, ‘lightblue’, ‘lightgreen’, ‘gray’, ‘black’, ‘lightgray’] |
マーカーのアイコン :icon | アイコンはこちらから選択可 |
マーカーのアイコンの色 :icon_color | 恐らくよくあるカラーコードで変更可(#000000など) |
例は以下のとおり。
folium.Marker(
location = [35.65931329218629, 139.7037205398187]
,popup="渋谷ヒカリエ"
,icon=folium.Icon(icon="tower", icon_color='#0040ff', color="pink")
).add_to(map)
d. サークルマーカー
マーカーにも種類があり、上記に加えてサークルマーカーを表示させることができます。ここでは3種類のパターンを図示します。
#渋谷マークシティ
folium.Circle(
location = [35.658313794775594, 139.69803209774034]
, radius = 40 #地図の倍率を変更するとサークルの大きさも変わる
, color = "red"
, fill = True #サークル内カラーあり
).add_to(map)
#渋谷ストリーム
folium.Circle(
location = [35.657391159206185, 139.70238285106242]
, radius = 50 #地図の倍率を変更するとサークルの大きさも変わる
, color = "blue"
, fill = False #サークル内カラーなし
).add_to(map)
#渋谷ロフト
folium.CircleMarker(
location = [35.66117466453635, 139.69972349407757]
, radius=60 #地図の倍率を変更してもサークルのサイズが変わらない
, popup = "渋谷ロフト"
, color="#f9f94e"
, fill=True
, fill_color="#cef58e"
).add_to(map)
痒い所に手が届くように、あなたの自由に可視化をカスタマイズできます!
5. まとめ
- 地図の表示
- 地図の保存
- (サークル)マーカーのプロット
foliumライブラリを利用することで、Pythonで簡単に位置情報の可視化を行うことができます。マーカーのカスタマイズなどあなただけの地図を作成しましょう。
foliumはまだまだ奥の深いライブラリです。現在第2弾3弾と内容を検討しておりますのでそちらもぜひご覧ください。
・【株式投資】Pythonでスクリーニングする方法
・【Python】【株式投資】TA-Libによるテクニカル指標算出方法(移動平均、ボリンジャーバンド、MACD、RSI)
・【初心者向け】20分でできる!Pythonで銘柄スクリーニング結果をスマホへ通知する方法
・【Python】銘柄スクリーニング結果を定期的に通知する方法(無料)【30分でできる!】
本ブログでは、株式やプログラミングに関する記事を投稿しています。
プログラミング(Python)を学びたい方におすすめの書籍やプログラミングスクール、おすすめの学習方法などをご紹介しておりますのでぜひご覧ください。
は、プログラミングスクールという方法がおすすめです。
私の一押しは『TechAcademy』です。
質問することですぐに分からないところをクリアにできますし、進捗をサポートしてくれるため確実に成長することができます。
無料相談を実施しているため、まずは話を聞いてあなたのスタイルに合っているかどうか確認してみるのが良いと思います。
コメント