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': []})
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'});