{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "## Pre-seismic and coseismic interogramme generation" ] }, { "cell_type": "code", "execution_count": 55, "metadata": {}, "outputs": [], "source": [ "import owslib\n", "from owslib.wps import monitorExecution\n", "import uuid\n", "from owslib.wps import WebProcessingService\n", "\n", "from shapely.geometry import box\n", "from shapely.wkt import loads \n", "\n", "import lxml.etree as etree\n", "\n", "import cioppy\n", "\n", "import requests" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "wps_url = 'https://geohazards-tep-marketplace.terradue.com/zoo-bin/zoo_loader.cgi'\n", "\n", "wps = WebProcessingService(wps_url, verbose=False, skip_caps=True)\n", "\n", "wps.getcapabilities()\n", "\n" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "geohazards_tep_dsm_opt_workflow_1_1\n", "geohazards_tep_dcs_rss_snap_s1_coin_snap_s1_coh_sigma_1_4_5\n", "geohazards_tep_mpic_opt_dcs_mpic_opt_1_2_6\n", "geohazards_tep_dcs_rss_band_combination_band_combination_1_4_0\n", "geohazards_tep_dcs_rss_fullres_full_res_multi_mission_data_browser_1_5_1\n", "geohazards_tep_dcs_insar_diapason_s1_dcs_diapason_s1_1_1\n", "geohazards_tep_dcs_rss_snap_s1_insar_snap_s1_ifg_overall_1_2\n", "geohazards_tep_dcs_rss_band_combination_band_combination_1_1\n", "geohazards_tep_dcs_rss_snap_s1_coin_snap_s1_coh_sigma_1_4_1\n", "geohazards_tep_dcs_rss_fullres_full_res_multi_mission_data_browser_1_8_0\n", "geohazards_tep_dcs_fastvel_wf_fastvel_1_4_2\n", "geohazards_tep_dcs_rss_snap_s1_insar_snap_s1_ifg_overall_1_4\n", "geohazards_tep_dcs_fastvel_wf_fastvel_1_4_3\n", "geohazards_tep_mpic_opt_dcs_mpic_opt_1_2_4\n", "geohazards_tep_dcs_rss_fullres_full_res_multi_mission_data_browser_1_2_2\n", "geohazards_tep_dcs_rss_band_combination_band_combination_1_3_2\n", "geohazards_tep_mpic_opt_dcs_mpic_opt_1_2_3\n", "geohazards_tep_dcs_rss_snap_s1_coin_snap_s1_coh_sigma_1_4_3\n", "geohazards_tep_dcs_stemp_s2_dcs_stemp_s2_1_0_2\n", "geohazards_tep_dcs_rss_fullres_full_res_multi_mission_data_browser_1_9_1\n", "geohazards_tep_mpic_opt_dcs_mpic_opt_1_1\n", "geohazards_tep_dcs_fastvel_wf_fastvel_1_4_4\n", "geohazards_tep_dcs_insar_diapason_diapason_1_0\n", "geohazards_tep_dcs_rss_band_combination_band_combination_1_5_1\n", "geohazards_tep_dcs_rss_fullres_full_res_multi_mission_data_browser_1_6_0\n", "geohazards_tep_dcs_rss_snap_s1_coin_snap_s1_coh_sigma_1_4_7\n", "geohazards_tep_dcs_rss_fullres_full_res_multi_mission_data_browser_1_9_3\n", "geohazards_tep_dcs_insar_diapason_diapason_1_1\n", "geohazards_tep_dcs_rss_snap_s1_coin_snap_s1_coh_sigma_1_4_9\n", "coordinator_geohazards_tep_tg_geohazards_00002_queue_tg_geohazards_00002_queue_1_1\n", "geohazards_tep_dcs_rss_band_combination_band_combination_1_2_1\n", "geohazards_tep_dcs_sar_flood_tool_sar_flood_extraction_1_1\n", "geohazards_tep_dcs_rss_snap_s1_amplitude_change_snap_s1_amplitude_change_1_1\n", "geohazards_tep_dcs_stemp_l8_dcs_stemp_l8_1_0_7\n", "geohazards_tep_dcs_insar_diapason_s1_dcs_diapason_s1_1_1_1\n", "geohazards_tep_dcs_rss_fullres_full_res_multi_mission_data_browser_1_4_0\n", "geohazards_tep_dcs_stemp_s3_dcs_stemp_s3_1_0_3\n", "geohazards_tep_dcs_fastvel_wf_fastvel_1_2\n", "geohazards_tep_dcs_rss_snap_s1_insar_snap_s1_ifg_overall_1_5_2\n", "geohazards_tep_mpic_opt_dcs_mpic_opt_1_2_2\n", "geohazards_tep_dcs_rss_snap_s1_insar_snap_s1_ifg_overall_1_6_2\n", "geohazards_tep_dcs_rss_snap_s1_insar_snap_s1_ifg_overall_1_6_0\n", "geohazards_tep_dcs_sar_flood_tool_sar_flood_extraction_1_0\n", "geohazards_tep_tg_geohazards_00002_queue_tg_geohazards_00002_queue_1_1\n", "coordinator_geohazards_tep_tg_geohazards_00002_via_tg_geohazards_00002_via_1_1\n", "geohazards_tep_dcs_gmtsar_mm_envisat_gmtsar_mm_0_3\n", "geohazards_tep_mpic_opt_dcs_mpic_opt_1_2\n", "geohazards_tep_dcs_rss_snap_s1_insar_snap_s1_ifg_overall_1_5_0\n", "geohazards_tep_dcs_fastvel_wf_fastvel_1_3\n", "GetStatus\n", "geohazards_tep_dcs_gmtsar_mm_s1_gmtsar_mm_0_3\n", "geohazards_tep_tg_geohazards_00002_via_tg_geohazards_00002_via_1_1\n", "geohazards_tep_mpic_opt_dcs_mpic_opt_1_2_5\n", "geohazards_tep_dcs_rss_snap_s1_amplitude_change_snap_s1_amplitude_change_1_5\n", "geohazards_tep_mpic_opt_dcs_mpic_opt_1_2_8\n", "geohazards_tep_dcs_satim_minesar_minesarWorkflow_1_0_1\n", "geohazards_tep_dcs_rss_snap_s1_amplitude_change_snap_s1_amplitude_change_1_3\n", "geohazards_tep_mpic_opt_dcs_mpic_opt_1_2_7\n", "geohazards_tep_dcs_psi_post_proc_ground_projection_1_1_4\n", "geohazards_tep_dcs_rss_snap_s1_coin_snap_s1_coh_sigma_1_2_0\n" ] } ], "source": [ "for index, elem in enumerate(wps.processes):\n", " print elem.identifier" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "process_id = 'geohazards_tep_dcs_insar_diapason_s1_dcs_diapason_s1_1_1_1'\n", "\n", "process = wps.describeprocess(process_id)\n" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'DIAPASON InSAR Sentinel-1 TOPSAR(IW,EW)'" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "process.title" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'DIAPASON is an InSAR tool suite developed by the French Space Agency (CNES) and maintained by ALTAMIRA INFORMATION.This service performs an InSAR workflow on Sentinel-1 TOPSAR (IW,EW) data, producing interferograms, amplitude and coherence maps.To run this service , specify master and slave Sentinel-1 SLC images.'" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "process.abstract" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "master\n", "pol\n", "slave\n", "aoi\n", "psfiltx\n", "unwrap\n", "_T2Username\n" ] } ], "source": [ "for input in process.dataInputs:\n", " print(input.identifier)" ] }, { "cell_type": "code", "execution_count": 42, "metadata": {}, "outputs": [], "source": [ "aoi_wkt = 'POLYGON ((22.6115 38.4244, 22.6115 39.4244, 21.6115 39.4244, 21.6115 38.4244, 22.6115 38.4244))'\n", "\n", "polarization = 'VV'\n", "psfiltx = 0.5\n", "unwrap = 'false'" ] }, { "cell_type": "code", "execution_count": 43, "metadata": {}, "outputs": [], "source": [ "pair_coseismic = ['https://catalog.terradue.com/sentinel1/search?format=atom&uid=S1A_IW_SLC__1SDV_20161030T163141_20161030T163208_013722_01603F_4094', 'https://catalog.terradue.com/sentinel1/search?format=atom&uid=S1A_IW_SLC__1SDV_20161018T163141_20161018T163208_013547_015AEB_5994']\n", "\n", "pair_preseismic = ['https://catalog.terradue.com/sentinel1/search?format=atom&uid=S1A_IW_SLC__1SDV_20161018T163141_20161018T163208_013547_015AEB_5994', 'https://catalog.terradue.com/sentinel1/search?format=atom&uid=S1A_IW_SLC__1SDV_20161006T163141_20161006T163208_013372_01554F_F08D']" ] }, { "cell_type": "code", "execution_count": 44, "metadata": {}, "outputs": [], "source": [ "executions = []\n", "status_locations = []\n", "\n", "execution = owslib.wps.WPSExecution(url=wps.url)\n", "\n", "for pair in [pair_coseismic, pair_preseismic]:\n", " \n", " inputs = [('master', pair[0]),\n", " ('slave', pair[1]),\n", " ('pol', polarization),\n", " ('aoi', '%s,%s,%s,%s' % (loads(aoi_wkt).bounds[0],\n", " loads(aoi_wkt).bounds[1],\n", " loads(aoi_wkt).bounds[2],\n", " loads(aoi_wkt).bounds[3])),\n", " ('psfiltx', str(psfiltx)),\n", " ('unwrap', unwrap),\n", " ('_T2Username', 'fbrito')]\n", " \n", " execution = owslib.wps.WPSExecution(url=wps.url)\n", " \n", " execution_request = execution.buildRequest(process_id, \n", " inputs, \n", " output = [('result_osd', False)])\n", " \n", " \n", " execution_response = execution.submitRequest(etree.tostring(execution_request))\n", " \n", " execution.parseResponse(execution_response)\n", " \n", " executions.append(execution)\n", " status_locations.append(execution.statusLocation)" ] }, { "cell_type": "code", "execution_count": 45, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "['http://geohazards-tep-marketplace.terradue.com/zoo-bin/zoo_loader.cgi?request=Execute&service=WPS&version=1.0.0&Identifier=GetStatus&DataInputs=sid=73b8a52a-85df-11e8-a347-0242ac110009&RawDataOutput=Result', 'http://geohazards-tep-marketplace.terradue.com/zoo-bin/zoo_loader.cgi?request=Execute&service=WPS&version=1.0.0&Identifier=GetStatus&DataInputs=sid=73d1011a-85df-11e8-bdf2-0242ac110009&RawDataOutput=Result']\n" ] } ], "source": [ "print status_locations" ] }, { "cell_type": "code", "execution_count": 47, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "True\n", "True\n" ] } ], "source": [ "osds = []\n", "\n", "for execution in executions:\n", " monitorExecution(execution)\n", " print execution.isSucceded()\n", " \n", " osds.append(execution.processOutputs[0].reference)" ] }, { "cell_type": "code", "execution_count": 56, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Download https://store.terradue.com/fbrito/_results/workflows/geohazards_tep_dcs_insar_diapason_s1_dcs_diapason_s1_1_1_1/run/73b8a52a-85df-11e8-a347-0242ac110009/0000133-180619124933648-oozie-oozi-W/amp_13722_13547_ortho.tiff as amp_13722_13547_ortho.tiff\n", "Download https://store.terradue.com/fbrito/_results/workflows/geohazards_tep_dcs_insar_diapason_s1_dcs_diapason_s1_1_1_1/run/73b8a52a-85df-11e8-a347-0242ac110009/0000133-180619124933648-oozie-oozi-W/coh_13722_13547_ortho.tiff as coh_13722_13547_ortho.tiff\n", "Download https://store.terradue.com/fbrito/_results/workflows/geohazards_tep_dcs_insar_diapason_s1_dcs_diapason_s1_1_1_1/run/73b8a52a-85df-11e8-a347-0242ac110009/0000133-180619124933648-oozie-oozi-W/pha_13722_13547_ortho.tiff as pha_13722_13547_ortho.tiff\n", "Download https://store.terradue.com/fbrito/_results/workflows/geohazards_tep_dcs_insar_diapason_s1_dcs_diapason_s1_1_1_1/run/73b8a52a-85df-11e8-a347-0242ac110009/0000133-180619124933648-oozie-oozi-W/logs.zip as logs.zip\n", "Download https://store.terradue.com/fbrito/_results/workflows/geohazards_tep_dcs_insar_diapason_s1_dcs_diapason_s1_1_1_1/run/73d1011a-85df-11e8-bdf2-0242ac110009/0000132-180619124933648-oozie-oozi-W/amp_13547_13372_ortho.tiff as amp_13547_13372_ortho.tiff\n", "Download https://store.terradue.com/fbrito/_results/workflows/geohazards_tep_dcs_insar_diapason_s1_dcs_diapason_s1_1_1_1/run/73d1011a-85df-11e8-bdf2-0242ac110009/0000132-180619124933648-oozie-oozi-W/coh_13547_13372_ortho.tiff as coh_13547_13372_ortho.tiff\n", "Download https://store.terradue.com/fbrito/_results/workflows/geohazards_tep_dcs_insar_diapason_s1_dcs_diapason_s1_1_1_1/run/73d1011a-85df-11e8-bdf2-0242ac110009/0000132-180619124933648-oozie-oozi-W/pha_13547_13372_ortho.tiff as pha_13547_13372_ortho.tiff\n", "Download https://store.terradue.com/fbrito/_results/workflows/geohazards_tep_dcs_insar_diapason_s1_dcs_diapason_s1_1_1_1/run/73d1011a-85df-11e8-bdf2-0242ac110009/0000132-180619124933648-oozie-oozi-W/logs.zip as logs.zip\n" ] } ], "source": [ "access_token = 'eyJ2ZXIiOiIyIiwidHlwIjoiSldUIiwiYWxnIjoiUlMyNTYiLCJraWQiOiJRdldZU0xtOGxiUzBmUUdaN1hrSktROXo3a3BPM1k2UU93cE5sNmkxc25vIn0.eyJzdWIiOiJqZnJ0QDAxYzlnbW5uM3MxcDRmMHBrMHA0eDkwZXkxXC91c2Vyc1wvZmJyaXRvIiwic2NwIjoibWVtYmVyLW9mLWdyb3VwczpmYnJpdG8ub3duZXIgYXBpOioiLCJhdWQiOiJqZnJ0QDAxYzlnbW5uM3MxcDRmMHBrMHA0eDkwZXkxIiwiaXNzIjoiamZydEAwMWM5Z21ubjNzMXA0ZjBwazBwNHg5MGV5MSIsImV4cCI6MTUzMTQyNDE2NCwiaWF0IjoxNTMxNDIwNTY0LCJqdGkiOiI5YWE1ZmU3OS1lMzVjLTRmZjctOWIzMi03ZGM5MjU1NWY1MDAifQ.ACotzfyhI1WAdsx93tg9ePmoHvYn75AIfNHOS1yRBWaQSwrFcu9DQ-0Wpr7Mh1Gq9U6cMSkP0ERje6lGXkhA8JPuY1rRgG2ICrVeDI8y6nGxzzcScrsAQno24Tg6JDhsbscvtVTGM2WmHJbU0Ug_4a6Wx6K4QzwxWfLMrxyh1epttta3GmbJ68Vbwqrrjc6o5oSUxnmfLDup66JspM5cLKnhzmnlERTAu9FVAaXbVArO3XIHBEX0xSySLKppT2qutUVmzfsosBU5xVHy9H586fEJU3BdSoO7-Zuw3pTnY1n9457nn49hOrGn8MTsqZXG3Eel73az51GMobsqs17Pyw'\n", "\n", "headers = {'Authorization': 'Bearer %s' % access_token,\n", " 'User-Agent': 'curl/t2Client'}\n", "\n", "ciop = cioppy.Cioppy()\n", "\n", "for results_osd in osds:\n", " \n", " search_results = ciop.search(end_point=results_osd,\n", " params=[],\n", " output_fields='identifier,enclosure',\n", " model='GeoTime',\n", " timeout=50000)\n", " \n", " for index, elem in enumerate(search_results):\n", " \n", " r = requests.get(elem['enclosure'], headers=headers)\n", " \n", " filename = elem['enclosure'][elem['enclosure'].rfind('/')+1:]\n", " \n", " print ('Download %s as %s' % (elem['enclosure'], filename))\n", " \n", " open(filename, 'wb').write(r.content)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 2", "language": "python", "name": "python2" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.12" } }, "nbformat": 4, "nbformat_minor": 2 }