Your spatial GEE data in a pandas data-structure.
Step 1: install the Google earth engine python api.
Step 2: run the code below.
import ee import numpy as np import pandas as pd import matplotlib.pyplot as plt # Initialize the GEE ee.Initialize() # import the RS products chirps = ee.ImageCollection('UCSB-CHG/CHIRPS/PENTAD') # Define time range startyear = 2000 endyear = 2001 # create list for years years = range(startyear,endyear); # make a list with months months = range(1,2); # Set date in ee date format startdate = ee.Date.fromYMD(startyear,1,1) enddate = ee.Date.fromYMD(endyear+1,12,31) # Filter chirps Pchirps = chirps.filterDate(startdate, enddate).sort('system:time_start', False).select("precipitation") # Define geograpic domain area = ee.Geometry.Rectangle(-20.0, 20.0, 20, 20.0) # calculate the monthly mean def calcMonthlyMean(imageCollection): mylist = ee.List([]) for y in years: for m in months: w = imageCollection.filter(ee.Filter.calendarRange(y, y, 'year')).filter(ee.Filter.calendarRange(m, m, 'month')).sum(); mylist = mylist.add(w.set('year', y).set('month', m).set('date', ee.Date.fromYMD(y,m,1)).set('system:time_start',ee.Date.fromYMD(y,m,1))) return ee.ImageCollection.fromImages(mylist) # run the calcMonthlyMean function monthlyChirps = ee.ImageCollection(calcMonthlyMean(Pchirps)) # select the region of interest, 25000 is the cellsize in meters monthlyChirps = monthlyChirps.getRegion(area,25000,"epsg:4326").getInfo() # get january (index = 0) January = pd.DataFrame(monthlyChirps, columns = monthlyChirps[0]) # remove the first line January = January[1:] # make sure unicode characters are removed January['id'] = January['id'].str.decode('utf-8').replace(u'\xf1', 'n').astype('int') # print the result for january print January # get the longitudes lons = np.array(January.longitude) # get the latitudes lats = np.array(January.latitude) # get the precipitation values data = np.array(January.precipitation)
Amazing Work, i am trying it from weeks.
Is there any youtube channel where you teach all this?
LikeLike