COVID-19 deckgl로 표시되는 오픈 데이터에 위도 및 경도 추가
위도와 경도를 추가하는 파이톤 프로그램
import pandas as pd
import numpy as np
covid_df = pd.read_csv('./covid19japan.csv')
pref_list =np.array([
["北海道","青森県","岩手県","宮城県","秋田県",
"山形県","福島県","茨城県","栃木県","群馬県",
"埼玉県","千葉県","東京都","神奈川県","新潟県",
"富山県","石川県","福井県","山梨県","長野県",
"岐阜県","静岡県","愛知県","三重県","滋賀県",
"京都府","大阪府","兵庫県","奈良県","和歌山県",
"鳥取県","島根県","岡山県","広島県","山口県",
"徳島県","香川県","愛媛県","高知県","福岡県",
"佐賀県","長崎県","熊本県","大分県","宮崎県","鹿児島県","沖縄県"],
[141.347899,140.740593,141.152667,140.872103,140.102334,
140.363634,140.467521,140.446793,139.883565,139.060156,
139.648933,140.123308,139.691704,139.642514,139.023221,
137.211338,136.625573,136.221642,138.568449,138.181224,
136.722291,138.383054,136.906565,136.508591,135.86859,
135.755608,135.519711,135.183025,135.832744,135.167506,
134.237672,133.050499,133.934675,132.459622,131.4705,
134.559303,134.043444,132.765362,133.53108,130.418314,
130.298822,129.873756,130.741667,131.612591,131.423855,130.557981,127.680932],
[43.063968,40.824623,39.703531,38.268839,39.7186,
38.240437,37.750299,36.341813,36.565725,36.391208,
35.857428,35.605058,35.689521,35.447753,37.902418,
36.69529,36.594682,36.065219,35.664158,36.651289,
35.391227,34.976978,35.180188,34.730283,35.004531,
35.021004,34.686316,34.691279,34.685333,34.226034,
35.503869,35.472297,34.661772,34.39656,34.186121,
34.06577,34.340149,33.84166,33.559705,33.606785,
33.249367,32.744839,32.789828,33.238194,31.91109,31.560148,26.212401]]).transpose()
pref_df = pd.DataFrame(pref_list,columns=['name_jp', 'lng', 'lat'])
result = pd.merge(covid_df, pref_df, on='name_jp')
result.to_csv('covid_19_with_lnglat.csv')
Appendix~ 이렇게 가시화를 해봤습니다~
deckgl을 사용하여 지도에 그릴 수 있습니다.이번에 스캐터에 퍼진 그림은 감염자 수가 많은 땅에서 많아졌습니다
※ deckgl은 MAPI에 별도로 로그인해야 합니다.
import pydeck as pdk
import pandas as pd
JAPAN_COVID_19 = pd.read_csv('./covid_19_with_lnglat.csv')
layer = pdk.Layer(
'ScatterplotLayer',
JAPAN_COVID_19,
get_position=['lng', 'lat'],
auto_highlight=True,
get_radius='ndeaths * 100 ',
get_fill_color='[180, 0, 200, 140]',
pickable=True)
# Set the viewport location
view_state = pdk.ViewState(
longitude=139,
latitude=35,
zoom=6,
min_zoom=5,
max_zoom=15,
pitch=40.5,
bearing=-27.36)
# Combined all of it and render a viewport
r = pdk.Deck(layers=[layer], initial_view_state=view_state)
r.to_html('covid_19.html')
이렇게 할 수 있어요.Reference
이 문제에 관하여(COVID-19 deckgl로 표시되는 오픈 데이터에 위도 및 경도 추가), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/yassh_i/articles/baef548817e0ec텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)