Exemplo n.º 1
0
def picker(tile=None):
    
    if request.method == 'POST':
        logging.info(request.form.get('thumb'))

        cell   = request.form.get('tile')
        p      = re.compile('\d+')
        p      = p.findall(cell)
        cell   = 'h' + p[0] + 'v' + p[1]

        thumbs = request.form.get('thumb').split(',')
        sensor_dates = []
        for i in range(len(thumbs)):
            day, month, year = thumbs[i].split('-')
            sensor_dates.append('modis__' + year +'-'+ month +'-'+ day)

        location = get_modis_location(cell)

        report = Report.current()
        
        date_start = datetime.datetime.combine(report.start, datetime.time())
        date_end = datetime.datetime.combine(report.end, datetime.time())
        
        imagePicker = ImagePicker(report=report, added_by= users.get_current_user(), cell=str(cell),  location=location, sensor_dates=sensor_dates, start=date_start, end=date_end)
        return jsonify({'result': imagePicker.save()})

    else:
        #cell = request.args.get('cell', '')
        reports = Report.current().as_dict()
        date = time.gmtime(reports['start'] / 1000)
        year = time.strftime("%Y", date)
        month = time.strftime("%m", date)

        if tile:
            bands = 'sur_refl_b01,sur_refl_b04,sur_refl_b03'
            gain = 0.1
            results = get_modis_thumbnails_list(year, month, tile, bands, gain)
            return jsonify({'result': results})
        else:
            return jsonify({'result': []})
Exemplo n.º 2
0
def downscalling(tile=None):

    if request.method == 'POST':
        range3 = request.form.get('range3')
        range4 = request.form.get('range4')
        range6 = request.form.get('range6')
        range7 = request.form.get('range7')

        sill3 = request.form.get('sill3') 
        sill4 = request.form.get('sill4')
        sill6 = request.form.get('sill6')
        sill7 = request.form.get('sill7')

        nugget3 = request.form.get('nugget3')
        nugget4 = request.form.get('nugget4')
        nugget6 = request.form.get('nugget6')
        nugget7 = request.form.get('nugget7')

        cell = request.form.get('tile')
        cell = cell.upper()

        location = get_modis_location(cell.lower())

        compounddate = request.form.get('compounddate')

        report = Report.current()

        model = 'exponential'

        downscalling3 = Downscalling(report=report,
                                 added_by= users.get_current_user(),
                                 cell=str(cell),
                                 region=location,
                                 compounddate=str(compounddate),
                                 band=3,
                                 model=model,
                                 sill=long(sill3),
                                 range=long(range3),
                                 nugget=long(nugget3)
                                 )
        message1 = downscalling3.save()

        downscalling4 = Downscalling(report=report,
                                 added_by= users.get_current_user(),
                                 cell=str(cell),
                                 region=location,
                                 compounddate=str(compounddate),
                                 band=4,
                                 model=model,
                                 sill=long(sill4),
                                 range=long(range4),
                                 nugget=long(nugget4)
                                 )
        message2 = downscalling4.save()

        downscalling6 = Downscalling(report=report,
                                 added_by= users.get_current_user(),
                                 cell=str(cell),
                                 region=location,
                                 compounddate=str(compounddate),
                                 band=6,
                                 model=model,
                                 sill=long(sill6),
                                 range=long(range6),
                                 nugget=long(nugget6)
                                 )
        message3 = downscalling6.save()

        downscalling7 = Downscalling(report=report,
                                 added_by= users.get_current_user(),
                                 cell=str(cell),
                                 region=location,
                                 compounddate=str(compounddate),
                                 band=7,
                                 model=model,
                                 sill=long(sill7),
                                 range=long(range7),
                                 nugget=long(nugget7)
                                 )
        message4 = downscalling7.save()

        if message1 == message2 == message3 == message4:
            return jsonify({'result': message1})
        else:
            return jsonify({'result': 'Could not save values.'})

    else:
        result = []
        if tile:
            filter_fc = ee.Filter.eq('Cell', tile.upper())
            fc        = ee.FeatureCollection('ft:17Qn-29xy2JwFFeBam5YL_EjsvWo40zxkkOEq1Eo').filter(filter_fc)
            logging.info("==================  Aqui ================")
            logging.info(fc.getInfo())
            for feature in fc.getInfo().get('features'):
                result.append({'Band':  feature.get('properties').get('Band'),
                            'Sill':  feature.get('properties').get('Sill'),
                            'Range': feature.get('properties').get('Range'),
                            'Nugget': feature.get('properties').get('Nugget')
                            })
                logging.info(feature);

            return jsonify({'result': result})

    return jsonify({'result': 'success'});