|
|
|
|
|
import streamlit as st |
|
import pandas as pd |
|
import numpy as np |
|
import pydeck as pdk |
|
|
|
DATA_URL = ( |
|
"uscities.csv" |
|
) |
|
|
|
|
|
df = pd.read_csv(DATA_URL) |
|
|
|
st.title("Map Viewer") |
|
|
|
|
|
st.text("Loading data...") |
|
st.text("Search for any city in the United States:") |
|
|
|
|
|
search_query = st.text_input(label="City Name", value="") |
|
|
|
|
|
if search_query != "": |
|
df = df[df["city"].str.contains(search_query) == True] |
|
|
|
|
|
st.subheader("City Detail") |
|
|
|
|
|
st.write(df) |
|
|
|
st.pydeck_chart(pdk.Deck( |
|
map_style="mapbox://styles/mapbox/dark-v9", |
|
initial_view_state={ |
|
"lat": df["lat"].mean(), |
|
"lng": df["lng"].mean(), |
|
"zoom": 4, |
|
"pitch": 0, |
|
}, |
|
layers=[ |
|
pdk.Layer( |
|
"HexagonLayer", |
|
data=df, |
|
get_position=["lng", "lat"], |
|
radius=100, |
|
elevation_scale=4, |
|
elevation_range=[0, 1000], |
|
pickable=True, |
|
extruded=True, |
|
), |
|
], |
|
)) |