ラベル folium の投稿を表示しています。 すべての投稿を表示
ラベル folium の投稿を表示しています。 すべての投稿を表示

2024年6月22日土曜日

foliumのスタイルを変える

foliumのタイル

foliumで見た目を変えるにはタイルを指定します。

 folium.__version__ 

 0.16.0

タイルは built-inタイルとして、最初からいくつか使えます。

 #!/usr/bin/env python
# -*- coding: utf-8 -*-

import folium
import os

latlng = [35.682012250347064, 139.76718125374543]
mp = folium.Map(location=latlng, zoom_start=10, tiles='OpenStreetMap')

html = "tile1.html"
mp.save(html)
os.system("chrome " + html)



tiles='OpenStreetMap'の部分がタイル指定で、OpenStreetMap はデフォルトのタイルなので指定しなくても同じ結果です。

 mp = folium.Map(location=latlng, tiles="Cartodb Positron", zoom_start=10)

 mp = folium.Map(location=latlng, tiles="Cartodb dark_matter", zoom_start=10)

カスタムタイル

標準以外にカスタムタイルもあります。無料有料などあるので随時調べてください。

custom tile

カスタムファイルはtilesにタイルのリンク、attrにクレジットを指定します。


mp = folium.Map(location=latlng, zoom_start=10,
                tiles='https://{s}.tile.opentopomap.org/{z}/{x}/{y}.png',
                attr='Map data: © OpenStreetMap contributors, SRTM | Map style: © OpenTopoMap (CC-BY-SA)'
                )

mp = folium.Map(location=latlng, zoom_start=10,
                tiles='https://{s}.tile-cyclosm.openstreetmap.fr/cyclosm/{z}/{x}/{y}.png',
                attr='CyclOSM | Map data: © OpenStreetMap contributors'
                )

2024年6月21日金曜日

Pythonで地図を扱う(folium)

foliumを使う

Pythonで地図を扱う方法は色々ありますが、今回はwebで扱いやすくデータを容易にプロット出来るfoliumを使ってみたいと思います。
 pip install folium 

 folium.__version__ 

 0.16.0
 #!/usr/bin/env python
# -*- coding: utf-8 -*-

import folium
import os

# ①
mp = folium.Map()

# ② htmlとして保存
html = "map.html"
# 使用するwebブラウザ
browser = "chrome "

# マップをhtmlに保存
mp.save(html)

# webブラウザで表示
os.system(browser + html)
使い方自体はとても簡単で、たった1行でマップが生成出来ます。# ①



生成は簡単ですが、htmlを保存してwebブラウザに表示するためのコードが# ②以下のコードです。
foliumオブジェクトのsave関数で保存し、os.systemコマンドでwebブラウザにすぐに表示出来るようにしています。
osライブラリを使うためにimport osをしています。


緯度経度で場所を指定

これだけだとどこを表示したいのか分からないので、多くは緯度経度をして使用します。
#!/usr/bin/env python
# -*- coding: utf-8 -*-

import folium
import os

# 緯度経度の指定 (この例では東京駅)
latlng = [35.682012250347064, 139.76718125374543]

# ①
mp = folium.Map(location=latlng, zoom_start=14)

html = "map2.html"
mp.save(html)
os.system("chrome " + html)
緯度経度は、Google Mapから場所を指定して右クリックしたりして取得してください。


locationは地図の中心にする場所の緯度経度をリストで指定し、zoom_startは倍率を指定します。
これはGoogle Map APIなど他のマップサービスでもよくある指定方法なので、分かりやすいですね。

NBAの1試合平均チームスタッツ (2025-26レギュラーシーズン)

前回 の元となったデータ、チーム毎の各スタッツ平均です。   team games w l win% PTS AST BLK STL ...