0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Streamlitによる地図表示

Posted at

使用するのはst.map()

指定された緯度・経度が示す点を中心に、sizeで指定されるサイズの点(というか円)を表示することができます。
簡単に地図を使ったアプリを作成できるのが良いですね。

latitude

緯度を示す列の名称。
指定しない場合、lat/latitude/LAT/LATITUDEという名称の列が緯度として扱われる。
上記にあてはまる列が複数ある場合は、該当する列の内の一番先頭の列が緯度情報として扱われる。

longitude

経度を示す列の名称。
指定しない場合、 lon/longitude/LON/LONGITUDEという名称の列が経度として扱われる。
上記にあてはまる列が複数ある場合は、該当する列の内の一番先頭の列が経度情報として扱われる。

size

地図上に表示する円の大きさを指定する項目。

  • 数字
    全てのデータに対し、一律の大きさで円を表示する。
    仮にsize=NNと指定した場合、(緯度, 経度)が示す点を中心とした半径NNmの円相当。

  • 文字列
    表示する円の大きさを示す列の名称として扱われる。
    このため、sizeに文字列を指定した場合、データ毎に円の大きさを自由に設定することができることになる。
    各円の大きさについてはsizeを数値で指定した場合と同じで、半径NNmの円相当。

color

各円の色を指定する項目。

  • 16進数(#000000形式または#00000000形式)
    RGB指定(#000000形式)あるいはRGB+透明度指定(#00000000形式)。
    RGBはそれぞれ00に近いほど黒く、FFに近いほどRed/Green/Blueになる。
    透明度は00に近いほど透明度が強い。透明度に00を指定すると無色透明。
    #000000形式で指定した場合の透明度はFF扱いの模様。

  • タプル(リストでも可)
    要素数は3か4。各要素はint(0~255)かfloat(0.0~1.0)。
    要素数3の場合は、先頭から順にRGBに対する値を指定されたという扱い。
    要素数4の場合は、要素数3の場合+透明度という扱い。
    各要素に対する値の考え方は16進数の場合と同じ。

  • 文字列
    各円の色を示す列の名称として扱われる。
    このため、sizeに文字列を指定した場合、データ毎に円の色を自由に設定することができることになる。

zoom

数値を指定。

縦横900pxで確認してみたところ、以下がちょうど収まるような感じで表示されました。
0:世界全体
5:択捉島~屋久島
7:四国+九州
8:岩手県
9:岡山県
10:淡路島

サンプル

以下のようなデータを使って、簡単な例を表示してみます。

都道府県 緯度 経度 人口 color
茨城県 36.341822 140.446795 2806 #FF0000F0
栃木県 36.565735 139.883561 1885 #00FF00F0
群馬県 36.390694 139.060423 1890 #0000FFF0
埼玉県 35.857002 139.648847 7332 #000000F0
千葉県 35.605060 140.123306 6251 #000000FF
東京都 35.689507 139.691728 14178 #FFFF00F0
神奈川県 35.447728 139.642545 9225 #00FF00F0

例1:size、colorを一律で設定

st.map( df, latitude='緯度', longitude='経度', zoom=8, size=3000,
    width=800, height=800, use_container_width=False,
    color=[0,0.8,0,96] )

map01.png
各都道府県の県庁/都庁所在地に一律の色、大きさの円が表示されています。

例2:size、colorを個別に設定

st.map( df, latitude='緯度', longitude='経度', zoom=8, size='人口',
    width=800, height=800, use_container_width=False,
    color='color' )

map02.png
各都道府県の県庁/都庁所在地に"color"列で個別指定した色、"人口"列で指定した数値に応じたサイズの円が表示されています。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?