GEE|colab下python版云盘连接与获取云量低于50%日期的小应用示例

一、与GEE云盘连接

import ee
ee.Authenticate()

点击连接后,登录GEE账户,并复制验证码到小框里。

二、连接谷歌云盘

点击链接后连接到云盘根目录

from google.colab import drive
drive.mount('/content/drive')

点击链接后连接到云盘根目录。

%cd /content/drive/My Drive
!ls

检查是否连接成功,如果成功会出现你的云盘文件名字

三、获取50%云量以下影像日期并制作excel

import datetime
import dateutil.parser
import ee
import ipywidgets
import IPython.display
import numpy as np
import pprint
import pandas as pd
import traitlets
from xlwt import *
import xlrd
import pandas as pd
def jisuan(shp,startt,end,cloud,SR):
#下面是一个包含point的shp文件路径,我计算的是把一个影像,按照格网切分后,面转点,并获取包含点的影像日期
  shpfilee = ee.FeatureCollection('users/wenqikou/'+shp+"point").sort("ORIG_FID")
  timetable=[]
  sx=[]
  def composition(shpfile):
    image = ee.ImageCollection('COPERNICUS/S2'+SR).filterDate(startt,end).filterBounds(shpfile.geometry()).filter(ee.Filter.lt('CLOUDY_PIXEL_PERCENTAGE',cloud))
    return image
  y2020 = shpfilee.map(composition)
  sizze=y2020.size()
  icc=y2020.toList(sizze)
  dianshu=ee.Number(sizze).getInfo()
  print("十米格网数:",dianshu)
  for i in range(dianshu):
    time=[]
    imagec=ee.ImageCollection(icc.get(i))
    sizeee=imagec.size()
    image11=imagec.toList(sizeee)
    for j in range(ee.Number(sizeee).getInfo()):
      epoch=ee.Image(image11.get(j)).get("system:time_start")
      readableDate = ee.Date(epoch)
      stringDate = ee.String(readableDate.format("YYYY-MM-dd"))
      rq=stringDate.getInfo()
      time.append(rq)
    time=set(time)
    print(i,len(time))
    timetable.append(sorted(list(time)))
    sx.append(len(time))
  # total=0
  # for ele in range(0,len(sx)):
  #   total = total + sx[ele]
  # print("总时相数与格网数",total,dianshu)

  bb=list(range(1,dianshu+1))
  erw=list(zip(bb,sx))
  # print("各点对应时相数",erw)
  def deal1():
      company_name_list = erw
      df = pd.DataFrame(company_name_list, columns=['xuhao', 'geshu'])
      df.to_excel("cjccy/"+shp+"/"+startt+SR+".xlsx", index=False)
  data={}
  file = Workbook(encoding = 'utf-8')
  table = file.add_sheet('data')
  for i in range(len(timetable)):
    data[i]= timetable[i]
  ldata = []
  num = [aa for aa in data]
  num.sort()
  for x in num:
      t = [int(x)]
      for aa in data[x]:
          t.append(aa)
      ldata.append(t)
  for i,p in enumerate(ldata):
      for j,q in enumerate(p):
          # print i,j,q
          table.write(i,j,q)
  file.save('cjccy/'+shp+"/"+startt+SR+'dataqs.xlsx')
  datapp=[]
  data = xlrd.open_workbook('cjccy/'+shp+"/"+startt+SR+'dataqs.xlsx')
  table_index=data.sheet_by_name("data")
  for i in range(19):
    cols_values=table_index.row_values(i)
    datapp.append(cols_values)
  b=[]
  xt = datapp[0]
  for i in range(len(datapp)):
    axt = [x for x in xt if x in datapp[i]]
    xt = axt
  print(len(xt))
  print(xt)
  def deal():
	# 列表
      company_name_list = xt
    
    # list转dataframe
      df = pd.DataFrame(company_name_list, columns=['shixu'])
    
    # 保存到本地excel
      df.to_excel('cjccy/'+shp+"/"+startt+SR+'dataqss.xlsx', index=False)


  if __name__ == '__main__':
    deal1()
    deal()
ee.Initialize()
jisuan("qixia","2020-03-01","2020-10-30",20,"_SR")

函数使用,但感觉没人会用到这个函数hhhh,生成3个excel,分别是每个点的日期,每个点的日期个数,所有点共同包含的日期哦~

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
GEE Python是指Google Earth Engine的Python接口。它是基于Python语言的,用于在Google Earth Engine平台上进行编程和数据分析。如果你想学习GEEPython编程,首先需要配置好环境,并且具备一定的Python编程基础。你可以通过查阅GEEPythonAPI文档来获取更详细的信息和使用指南。\[2\]\[3\]另外,学习Python编程的过程中,你还可以了解一下“Python之禅”,它是Python官方为开发者写的一首关于Python编码规则的诗,可以通过在Python交互式环境中输入"import this"来查看。\[1\] #### 引用[.reference_title] - *1* *2* [GEE学习笔记 六十九:【GEEPython教程三】Python基础编程一](https://blog.csdn.net/m0_66892427/article/details/129114518)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [GEE学习笔记 六十七:【GEEPython教程一】GEE学习背景介绍](https://blog.csdn.net/m0_66892427/article/details/129116375)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值