Beispiel #1
0
    'start_date': airflow.utils.dates.days_ago(2),
    'execID': "compuesto_de_medianas_normalizado_mosaico",
    'product': "LS8_OLI_LASRC"
}

dag = DAG(dag_id=args['execID'],
          default_args=args,
          schedule_interval=None,
          dagrun_timeout=timedelta(minutes=120))

mascara_ls8 = dag_utils.queryMapByTile(
    lat=_params['lat'],
    lon=_params['lon'],
    time_ranges=_params['time_ranges'],
    algorithm=_steps['mascara']['algorithm'],
    version=_steps['mascara']['version'],
    product=_params['products'][0],
    params=_steps['mascara']['params'],
    queue=_steps['mascara']['queue'],
    dag=dag,
    task_id="consulta_cubo_" + _params['products'][0])

mascara_ls7_mosaic = CDColQueryOperator(
    lat=_params['lat'],
    lon=_params['lon'],
    time_ranges=_params['time_ranges'],
    algorithm=_steps['consulta']['algorithm'],
    version=_steps['consulta']['version'],
    product=_params['products'][1],
    params=_steps['consulta']['params'],
    queue=_steps['consulta']['queue'],
dag = DAG(
    dag_id=args['execID'], default_args=args,
    schedule_interval=None,
    dagrun_timeout=timedelta(minutes=120))





mascara_0 = dag_utils.queryMapByTile(
    lat=_params['lat'], 
    lon=_params['lon'],
    time_ranges=_params['time_ranges'][2],
    algorithm=_steps['mascara']['algorithm'],
    version=_steps['mascara']['version'],
    product=_params['products'][2],
    params=_steps['mascara']['params'],
    queue=_steps['mascara']['queue'],
    dag=dag,
    task_id="mascara_" + _params['products'][2]['name']
)

if len(_params['products']) > 3:
    mascara_1 = dag_utils.queryMapByTile(
        lat=_params['lat'],
        lon=_params['lon'],
        time_ranges=_params['time_ranges'][2],
        algorithm=_steps['mascara']['algorithm'],
        version=_steps['mascara']['version'],
        product=_params['products'][3],
        params=_steps['mascara']['params'],
    'execID': _params['execID'],
    'product': "LS8_OLI_LASRC"
}

dag = DAG(dag_id=args['execID'],
          default_args=args,
          schedule_interval=None,
          dagrun_timeout=timedelta(minutes=120))

generic_step = dag_utils.queryMapByTile(
    lat=_params['lat'],
    lon=_params['lon'],
    time_ranges=_params['time_ranges'],
    algorithm=_steps['generic-step']['algorithm'],
    version=_steps['generic-step']['version'],
    product=_params['products'][0],
    params=_steps['generic-step']['params'],
    queue=_steps['generic-step']['queue'],
    dag=dag,
    task_id="generic-step_" + _params['products'][0]['name'],
    to_tiff=False,
    alg_folder=common.COMPLETE_ALGORITHMS_FOLDER)

workflow = generic_step
if _params['genera_mosaico'] and queue_utils.get_tiles(_params['lat'],
                                                       _params['lon']) > 1:
    mosaico = dag_utils.OneReduce(
        workflow,
        task_id="mosaic",
        algorithm=_steps['mosaico']['algorithm'],
        version=_steps['mosaico']['version'],
    'start_date': airflow.utils.dates.days_ago(2),
    'execID': _params['execID'],
    'product': "LS8_OLI_LASRC"
}

dag = DAG(dag_id=args["execID"],
          default_args=args,
          schedule_interval=None,
          dagrun_timeout=timedelta(minutes=120))

mascara_0 = dag_utils.queryMapByTile(lat=_params['lat'],
                                     lon=_params['lon'],
                                     time_ranges=_params['time_ranges'][0],
                                     algorithm=_steps['mascara']['algorithm'],
                                     version=_steps['mascara']['version'],
                                     product=_params['products'][0],
                                     params=_steps['mascara']['params'],
                                     queue=_steps['mascara']['queue'],
                                     dag=dag,
                                     task_id="mascara_" +
                                     _params['products'][0]['name'])

if len(_params['products']) > 1:
    mascara_1 = dag_utils.queryMapByTile(
        lat=_params['lat'],
        lon=_params['lon'],
        time_ranges=_params['time_ranges'][0],
        algorithm=_steps['mascara']['algorithm'],
        version=_steps['mascara']['version'],
        product=_params['products'][1],
        params=_steps['mascara']['params'],
    'execID': "ndvi",
    'product': "LS8_OLI_LASRC"
}

dag = DAG(dag_id=args["execID"],
          default_args=args,
          schedule_interval=None,
          dagrun_timeout=timedelta(minutes=120))

masked0 = dag_utils.queryMapByTile(lat=_params['lat'],
                                   lon=_params['lon'],
                                   time_ranges=_params['time_ranges'],
                                   algorithm="mascara-landsat",
                                   version="1.0",
                                   product=_params['products'][0],
                                   params={
                                       'normalized': _params['normalized'],
                                       'bands': _params['bands'],
                                       'minValid': _params['minValid']
                                   },
                                   queue=_queues['mascara-landsat'],
                                   dag=dag,
                                   task_id="masked_" + _params['products'][0])

if len(_params['products']) > 1:
    masked1 = dag_utils.queryMapByTile(lat=_params['lat'],
                                       lon=_params['lon'],
                                       time_ranges=_params['time_ranges'],
                                       algorithm="mascara-landsat",
                                       version="1.0",
                                       product=_params['products'][1],
                                       params={
Beispiel #6
0
    'start_date': airflow.utils.dates.days_ago(2),
    'execID': "mp.mancipe10-paso-8-multiunidad-k-means-utils",
    'product': _params['products'][0]
}

dag = DAG(dag_id='mp.mancipe10-paso-8-multiunidad-k-means-utils',
          default_args=args,
          schedule_interval=None,
          dagrun_timeout=timedelta(minutes=120))

consulta_ls8 = dag_utils.queryMapByTile(lat=_params['lat'],
                                        lon=_params['lon'],
                                        time_ranges=_params['time_ranges'],
                                        algorithm="mascara-landsat",
                                        version="1.0",
                                        product=_params['products'][0],
                                        params={'bands': _params['bands']},
                                        queue='airflow_small',
                                        dag=dag,
                                        taxprefix="masked_{}_".format(
                                            _params['products'][0]))

consulta_ls7 = dag_utils.queryMapByTile(lat=_params['lat'],
                                        lon=_params['lon'],
                                        time_ranges=_params['time_ranges'],
                                        algorithm="mascara-landsat",
                                        version="1.0",
                                        product=_params['products'][1],
                                        params={'bands': _params['bands']},
                                        queue='airflow_small',
                                        dag=dag,
Beispiel #7
0
    'start_date': airflow.utils.dates.days_ago(2),
    'execID': _params['execID'],
    'product': "LS8_OLI_LASRC"
}
dag = DAG(dag_id=args["execID"],
          default_args=args,
          schedule_interval=None,
          dagrun_timeout=timedelta(minutes=20))

ndvi = dag_utils.queryMapByTile(
    lat=_params['lat'],
    lon=_params['lon'],
    product=_params['products'][0],
    time_ranges=_params['time_ranges'][0],
    algorithm=_steps['ndvi']['algorithm'],
    version=_steps['ndvi']['version'],
    params=_steps['ndvi']['params'],
    queue=_steps['ndvi']['queue'],
    delete_partial_results=_steps['ndvi']['del_prev_result'],
    dag=dag,
    task_id="ndvi",
    to_tiff=not (_params['genera_mosaico'] and
                 queue_utils.get_tiles(_params['lat'], _params['lon']) > 1))

bosque = dag_utils.IdentityMap(
    ndvi,
    algorithm=_steps['bosque']['algorithm'],
    product=_params['products'][0],
    version=_steps['bosque']['version'],
    params=_steps['bosque']['params'],
    queue=_steps['bosque']['queue'],
    delete_partial_results=_steps['ndvi']['del_prev_result'],
    'start_date': airflow.utils.dates.days_ago(2),
    'execID': "ndvi_anomaly",
    'product': "LS8_OLI_LASRC"
}

dag = DAG(
    dag_id=args["execID"], default_args=args,
    schedule_interval=None,
    dagrun_timeout=timedelta(minutes=120))

consulta_baseline=dag_utils.queryMapByTile(lat=_params['lat'], lon=_params['lon'],
	time_ranges= _params['time_ranges'][0],
	algorithm="mascara-landsat", version="1.0",
        product=_params['products'][0],
        params={
                'normalized':_params['normalized'],
                'bands':_params['bands'],
                'minValid': _params['minValid']
        },queue=_queues['mascara-landsat'],dag=dag, task_id="consulta_baseline_"+_params['products'][0]

)
consulta_analysis=dag_utils.queryMapByTile(lat=_params['lat'], lon=_params['lon'],
	time_ranges= _params['time_ranges'][1],
	algorithm="mascara-landsat", version="1.0",
        product=_params['products'][0],
        params={
                'normalized':_params['normalized'],
                'bands':_params['bands'],
                'minValid': _params['minValid']
        },queue=_queues['mascara-landsat'],dag=dag, task_id="consulta_analysis_{}_".format(_params['products'][0])
    'execID': "ndviMultiUnidad",
    'product': "Multiple"
}

dag = DAG(dag_id='ndvi_multiunidad',
          default_args=args,
          schedule_interval=None,
          dagrun_timeout=timedelta(minutes=120))

maskedLS8 = dag_utils.queryMapByTile(lat=_params['lat'],
                                     lon=_params['lon'],
                                     time_ranges=_params['time_ranges'],
                                     algorithm="mascara-landsat",
                                     version="1.0",
                                     product="LS8_OLI_LASRC",
                                     params={
                                         'normalized': _params['normalized'],
                                         'bands': _params['bands'],
                                         'minValid': _params['minValid'],
                                     },
                                     dag=dag,
                                     taxprefix="maskedLS8_")

maskedLS7 = dag_utils.queryMapByTile(lat=_params['lat'],
                                     lon=_params['lon'],
                                     time_ranges=_params['time_ranges'],
                                     algorithm="mascara-landsat",
                                     version="1.0",
                                     product="LS7_ETM_LEDAPS",
                                     params={
                                         'normalized': _params['normalized'],
             'panchromatic', 'cirrus', 'tirs1', 'tirs2')

#Define las bandas que se especifican en el Json para la versión 7 de landsat.
LS7_JsonBands = [val for val in data['Bands'] if val in LS7_bands]

LS8_JsonBands = [val for val in data['Bands'] if val in LS8_bands]

#Se genera la tarea maskedLS8 sólo si en el archivo Json especifican LS8 como el producto o uno de los productos
if 'LS8' in data['Product']:
    maskedLS8 = dag_utils.queryMapByTile(lat=data['Lat'],
                                         lon=data['Lon'],
                                         time_ranges=[(data['Time_range'][0]),
                                                      data['Time_range'][1]],
                                         algorithm="mascara-landsat",
                                         version="1.0",
                                         product=data['Product'],
                                         params={
                                             'normalized': data['Normalized'],
                                             'bands': LS8_JsonBands,
                                             'minValid': data['Min_valid'],
                                         },
                                         dag=dag,
                                         taxprefix="maskedLS8_")

if 'LS7' in data['Product']:
    maskedLS7 = dag_utils.queryMapByTile(lat=data['Lat'],
                                         lon=data['Lon'],
                                         time_ranges=[(data['Time_range'][0]),
                                                      data['Time_range'][1]],
                                         algorithm="mascara-landsat",
                                         version="1.0",
                                         product=data['Product'],
Beispiel #11
0
    'start_date': airflow.utils.dates.days_ago(2),
    'execID': "deteccion_de_cambios_PCA",
    'product': _params['products'][0]
}

dag = DAG(dag_id=args["execID"],
          default_args=args,
          schedule_interval=None,
          dagrun_timeout=timedelta(minutes=120))

period1 = dag_utils.queryMapByTile(lat=_params['lat'],
                                   lon=_params['lon'],
                                   time_ranges=_params['time_ranges'][0],
                                   algorithm="mascara-landsat",
                                   version="1.0",
                                   product=_params['products'][0],
                                   params={'bands': _params['bands']},
                                   queue=_queues['mascara-landsat'],
                                   dag=dag,
                                   task_id="masked_p_1_" +
                                   _params['products'][0])

period2 = dag_utils.queryMapByTile(lat=_params['lat'],
                                   lon=_params['lon'],
                                   time_ranges=_params['time_ranges'][1],
                                   algorithm="mascara-landsat",
                                   version="1.0",
                                   product=_params['products'][0],
                                   params={'bands': _params['bands']},
                                   queue=_queues['mascara-landsat'],
                                   dag=dag,
Beispiel #12
0
    'owner': _params['owner'],
    'start_date': airflow.utils.dates.days_ago(2),
    'execID':_params['execID'],
    'product': _params['products'][2]
}

dag = DAG(
    dag_id=args['execID'], default_args=args,
    schedule_interval=None,
    dagrun_timeout=timedelta(minutes=120))

mascara_ls7_mosaic = dag_utils.queryMapByTile(lat=_params['lat'], lon=_params['lon'],
                                       time_ranges=_params['time_ranges'][2],
                                       algorithm=_steps['mascara']['algorithm'],
                                       version=_steps['mascara']['version'],
                                       product=_params['products'][2],
                                       params=_steps['mascara']['params'],
                                       delete_partial_results=_steps['consulta']['del_prev_result'],
                                       queue=_steps['mascara']['queue'], dag=dag,
                                       task_id="consulta_cubo_" + _params['products'][2]['name'])


mascara_dem_mosaic = dag_utils.queryMapByTile(lat=_params['lat'], lon=_params['lon'],
                                       time_ranges=('2013-01-01', '2013-12-31'),
                                       algorithm=_steps['consulta']['algorithm'],
                                       version=_steps['consulta']['version'],
                                       product=_params['products'][0],
                                       params=_steps['consulta']['params'],
                                       delete_partial_results=_steps['consulta']['del_prev_result'],
                                       queue=_steps['consulta']['queue'], dag=dag,
                                       task_id="consulta_referencia_" + _params['products'][0]['name'])