AI Earth——基于决策树模型淮河流域冬小麦提取应用app

avatar
作者
筋斗云
阅读量:5

应用介绍:

本应用依据利用Landsat-8数据,基于潘力、夏浩铭、王瑞萌等研究论文(基于Google Earth Engine 的淮河流域越冬作物种植面积制图)中提出的利用作物在不同物候期内卫星影像的光谱存在差异的特征,通过计算作物时间序列的皈依化植被指数(NDVI),选取越冬作物生长旺盛期NDVI 最大值、越冬作物播种期和收获期中相应的NDVI 最小值和中位数,在像元尺度上构建越冬作物决策树提取算法,实现淮河流域冬小麦的提取。

代码

#常规导入安装包 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;}         </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 def get_default_aie_map():     aie_map = aie.Map(             center=[116.383331,39.916668],             height=800,             zoom=4)     return aie_map.to_html()  #设定研究区选择,但是这只加载一次,算是固定的哈数,这里只加载一次 @st.cache_resource def load_area_select_options():     file_path = current_work_dir + "/pro_city.json"     with open(file_path, 'r', encoding="utf-8") as reader:         area_arr = json.loads(reader.read())         area_dic = {}         for item in area_arr:             province_name = item['levelOneAreaName']             city_name = item['levelTwoAreaName']                       if not province_name in area_dic:                 area_dic[province_name] = {}                          cities = area_dic[province_name]             if not city_name in cities:                 cities[city_name] = {}                  return area_dic  # 设定默认的按你牛选项, def page_reset_callback():     st.session_state['region_province_select'] = '河南省'     st.session_state['region_city_select'] = '请选择'     st.session_state['year'] = 2017     st.session_state['render_map_html'] = get_default_aie_map()  # 定义ndvi函数 def get_ndvi(image):     ndvi = image.normalizedDifference(['SR_B5', 'SR_B4'])     return ndvi    #定义数据筛选的函数 def getl8_ndvi(region,start_date,end_date):     dataset = aie.ImageCo

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!