Python에서 위치 정보 데이터 표시 - 지도 표시 라이브러리 (folium)로 플롯 해보기 -

1. 처음에



점포의 출점 계획시에 사람의 동선을 확인하거나 뭔가와 활약의 장소가 많은 위치 정보.
SNS나 IoT 기기의 보급에 의해, 위치 정보를 분석에 활용하는 기회는 늘어날 것으로 생각합니다.

이번에는 최근 위치 정보를지도에 플롯하여 시각화하고 싶다는 기회가 있고,
조사해 보면 파이썬으로 실로 간단하게 시각화할 수 있는 것 같다.

이번에는 인구 조사 데이터를 사용하여 다음을 시도했습니다.
  • Jupyter Notebook에지도 표시
  • 위치 정보 플롯
  • 히트 맵 만들기

  • 2. 참고 사이트 등



    ・지도 표시용 라이브러리(이번은 「Folium(v0.10.1)」라고 하는 라이브러리를 사용)


    htps : // py 텐-ゔぃすあぃざちおん. 기주 b. 이오 / 후우 m / 어서 x. HTML

    ※「Folium」은 OpenStreetMap로 호출한 지도상에서 동작하는 것 같으므로, 취급하는 데이터에 주의해 주세요※

    · e-Stat : 정부 통계의 종합 창구 (국세 조사 데이터 취득)


    htp : / / nlftp. mぃt. . jp/i sj/in x. HTML

    ・국토 교통성 위치 참조 정보 다운로드 서비스 (위도 경도 정보 취득)


    htps //w w. 에 s t. . jp/


    3. 주요 아이템



  • folium.Map(params): 지도를 만듭니다.

  • folium.Popup(params): 팝업을 표시합니다.

  • folium.Marker(params): 지도에 핀을 플롯합니다.

  • folium.plugins.HeatMap(params): 히트맵 표시용 레이어를 작성한다.

  • 4. 샘플 코드



    ● 먼저 라이브러리를 가져옵니다.
    import pandas as pd
    import folium
    

    ● 사전에 작성한 데이터 세트를 로드합니다.
    df = pd.read_csv('my_data.csv', encoding='shift_jis')
    df.head(10)
    

    이런 느낌의 데이터 세트입니다.


    ●folium의 기본적인 용도인,
     ・지도 보기
     ·위치 정보의 플롯
     ・팝업의 표시
     를 시도해 봅시다.
    # 地図オブジェクト作成
    map = folium.Map(location=[35.710402, 139.810668], zoom_start=18)
    
    # ポップアップの作成(「show=True」で常に表示)
    p_up = folium.Popup('東京スカイツリー', min_width=0, max_width=1000, show=True)
    
    # 地図オブジェクトにプロット
    folium.Marker(location=[35.710402, 139.810668], popup=p_up).add_to(map)
    
    # 地図表示
    map
    



    ● 드디어, 히트 맵을 표시해 봅시다. 히트맵 표시용 플러그인을 가져옵니다.
    from folium.plugins import HeatMap
    

    ● 인수로서 위도 경도 정보를 건네주는 것으로, 히트 맵을 표시할 수 있습니다. 각 포인트의 반경(radius)과 흐림량(blur)을 조정하여 다소 멋지게 합니다.
    # 地図オブジェクト作成
    map = folium.Map(location=[35.710402, 139.810668], zoom_start=5)
    
    # ヒートマップレイヤを地図オブジェクトに追加
    HeatMap(df[['緯度', '経度']], radius=5, blur=5).add_to(map)
    
    # 地図表示
    map
    



    ●현재, 단지 레코드수가 많아 밀도가 짙은 장소가 붉어지고 있는 것만으로 데이터로서의 의미는 얇기 때문에, 「H22-H27의 인구 증감수」로 무게를 붙여 봅시다.
    # 地図オブジェクト作成
    map = folium.Map(location=[35.710402, 139.810668], zoom_start=5)
    
    # 引数に人口増減数を追加してヒートマップレイヤを地図オブジェクトに追加
    HeatMap(df[['緯度', '経度', '平成22年〜27年の人口増減数【人】']], radius=5, blur=5).add_to(map)
    
    # 地図表示
    map
    



    인구증감수가 많은 지역의 적색이 강해졌습니다.

    5. 마지막으로



    어땠어? 위치 정보 데이터를 다루는 이미지가 붙었습니까?

    렌터사이클이 유저의 승차 거리와 승차 형태를 분석하여 자전거 대여 사업에 밟는 판단을 하거나, 행정이 이벤트 시에 동선 분석을 하여 피난 유도 경로를 확보하거나, 위치 정보 데이터는 매우 활용 영역 의 넓은 데이터입니다.

    꼭, 여러가지 시험해 주시면 좋겠습니다!

    좋은 웹페이지 즐겨찾기