应用结果
代码
#导入安装包
import os
import json
import datetime
import streamlit as st
import streamlit.components.v1 as components
import traceback
from PIL import Image
import aie
current_work_dir = os.path.dirname(__file__)
# 隐藏页面右上角的action bar按钮
hide_streamlit_action_button = """
<style>
#MainMenu {visibility: hidden;} #这里hide进行隐藏
</style>
"""
st.set_page_config(layout="wide", page_title="AIE AppHub")
st.markdown(hide_streamlit_action_button, unsafe_allow_html=True)
# 调整边距
st.markdown(" <style> div[class^='css-1544g2n'] { padding-top: 1px; } </style> ", unsafe_allow_html=True)
st.markdown(" <style> div[class^='block-container'] { padding-top: 1px; } </style> ", unsafe_allow_html=True)
#定义初始化开发包
def aie_init():
'''
AIE开发者SDK初始化
请登录后访问https://engine-aiearth.aliyun.com/#/utility/auth-token 获取认证token,
并将token设置为系统环境变量(变量名为SDK_TOKEN),以便下述代码获取并初始化SDK。
'''
token = os.environ.get("SDK_TOKEN") # 请至应用空间设置-环境变量中添加SDK_TOKEN
aie.Authenticate(token=token)
aie.Initialize()
#定义一个只进行初始化的一次的函数@st.cache_resource
@st.cache_resource
def load_logo():
logo = Image.open(current_work_dir + '/legend.jpg')
return logo
@st.cache_resource
def get_default_aie_map():
aie_map = aie.Map(
center=[116.383331,39.916668],
height=800,
zoom=4)
return aie_map.to_html()
# 定义初始化的的函数
def page_reset_callback():
st.session_state['region_province_select'] = '北京市'
st.session_state['render_map_html'] = get_default_aie_map()
#定义图层
def aie_map_layer_assemble(region_province):
# 拼接AIE 数据查询SDK语句
aie_init()
feature_collection = aie.FeatureCollection('China_Province')
if region_province and region_province != '请选择':
feature_collection = feature_colle
文章评论