[230704] Pydeck Basic

yoonhappy·2023년 7월 5일

🟪1.설치하기

!pip install folium
!pip install geopandas
!pip install pydeck

import folium
import pandas as pd
import geopandas as gpd
import pydeck as pdk
import matplotlib.pyplot as plt
import shapely.plotting as plotting

import warnings
warnings.filterwarnings('ignore')

🟪 2.파일 불러오기

HJD = gpd.read_file('/content/HangJeongDong.geojson')
daejeon_building = gpd.read_file('/content/F_FAC_BUILDING_30_202306.shp')

🟪 3.초기 뷰 설정

INITIAL_VIEW_STATE = pdk.ViewState(latitude=36.3398175, longitude=127.3940486, zoom=11, max_zoom=16, pitch=45, bearing=0)

geojson_layer = pdk.Layer(
    "GeoJsonLayer",
    dongGu_building,  # 시각화를 할 geoDataFrame 데이터 이름
    opacity=0.8,
    stroked=False,
    filled=True,
    extruded=True,
    wireframe=True,
    get_elevation="HEIGHT", # 높이를 나타내는 열이름
    get_fill_color=[255, 255, 255],
    get_line_color=[255, 255, 255],
)

r = pdk.Deck(layers=[geojson_layer], initial_view_state=INITIAL_VIEW_STATE)
r.to_html("DongGu_building.html")

✅:

🟪4.GridLayer

tasu_station = gpd.read_file('/content/tasu_station_inf.shp')
tasu_station['COORDINATES'] = [[gm.x, gm.y] for gm in tasu_station['geometry']]
tasu_station.head(3)

✅:

view_state = pdk.ViewState(latitude=36.3398175, longitude=127.3940486, zoom=11, bearing=0, pitch=45)

### GridLayer
# - cell_size : 1000 (1000m)
# - elevation_scale : 값을 크게 설정할 수록 max 높이가 높아진다.
grid_layer = pdk.Layer(
    "GridLayer", tasu_station, pickable=True, extruded=True, cell_size=1000, elevation_scale=4, get_position="COORDINATES",
)

r = pdk.Deck(layers=[grid_layer], initial_view_state=view_state, tooltip={"text": "tasuStation_Cnt: {count}"},)
r.to_html("tasu_GridLayer.html")

✅:

profile
윤해삐

0개의 댓글