File size: 2,248 Bytes
e7e46ae
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
import ee, json
KEY=r'C:/JEFERSON-ARTIGOS/TESE/ee-guiapratico4-3a12b9584ab4.json'
k=json.load(open(KEY)); ee.Initialize(ee.ServiceAccountCredentials(k['client_email'],KEY),project=k['project_id'])

def build_stack():
    srtm=ee.Image('USGS/SRTMGL1_003')
    dem=srtm.rename('DEM')
    slope=ee.Terrain.slope(srtm).rename('Declividade')
    aspect=ee.Terrain.aspect(srtm).rename('Orientacao')
    tc=ee.ImageCollection('IDAHO_EPSCOR/TERRACLIMATE').filterDate('2008-01-01','2008-12-31').mean()
    tmax=tc.select('tmmx').multiply(0.1).rename('Tmax')
    tmin=tc.select('tmmn').multiply(0.1).rename('Tmin')
    ppt=tc.select('pr').rename('Ppt')
    soil=tc.select('soil').multiply(0.1).rename('UmidSolo')
    ws=tc.select('vs').multiply(0.01).rename('VelVento')
    vap=tc.select('vap').multiply(0.001)            # kPa (pressao vapor real)
    es=tmax.expression('0.6108*exp(17.27*T/(T+237.3))',{'T':tmax})
    rh=vap.divide(es).multiply(100).rename('UmidRel')
    ndvi=ee.ImageCollection('MODIS/006/MOD13Q1').filterDate('2008-01-01','2008-12-31').mean().select('NDVI').multiply(0.0001).rename('NDVI')
    lai=ee.ImageCollection('MODIS/006/MOD15A2H').filterDate('2008-01-01','2008-12-31').mean().select('Lai_500m').multiply(0.1).rename('IAF')
    lc=ee.Image('ESA/GLOBCOVER_L4_200901_200912_V2_3').select('landcover').rename('CoberturaTerra')
    # fatores antrópicos (assets do autor): distância euclidiana a estradas e residências (m)
    dist_estradas=ee.Image('users/jefersonmufmg/Estradas_euclid').rename('DistEstradas')
    dist_residencias=ee.Image('users/jefersonmufmg/Pueblos_euclid').rename('DistResidencias')
    return dem.addBands([slope,aspect,tmax,tmin,ppt,soil,ws,rh,ndvi,lai,lc,dist_estradas,dist_residencias])

if __name__=='__main__':
    stack=build_stack()
    print('bandas:', stack.bandNames().getInfo())
    # teste: amostrar 5 pontos conhecidos na Andaluzia
    pts=ee.FeatureCollection([ee.Feature(ee.Geometry.Point([-5.0,37.4]),{'classe':1}),
                              ee.Feature(ee.Geometry.Point([-3.6,37.2]),{'classe':0})])
    s=stack.sampleRegions(collection=pts, properties=['classe'], scale=500, geometries=False)
    print(json.dumps(s.getInfo()['features'][0]['properties'], indent=1, ensure_ascii=False))