Difference between revisions of "REST API GFMS"
From MyDewetra World
(→API Use Cases) |
(→Use Case 4 - Retrieve a flood product) |
||
| (25 intermediate revisions by the same user not shown) | |||
| Line 7: | Line 7: | ||
# how to get a list of all available product output layers together with their description | # how to get a list of all available product output layers together with their description | ||
# how to get a full list of the available [[PRODUCTS |product output layers]] for a specific ''AOI'' (e.g., Myanmar) | # how to get a full list of the available [[PRODUCTS |product output layers]] for a specific ''AOI'' (e.g., Myanmar) | ||
| − | # how to get all the | + | # how to get all the [[PRODUCTS | product output layers]] for a specific ''AOI '' |
| − | # how to retrieve a specific | + | # how to retrieve a specific [[PRODUCTS | product output layer]] (e.g., [[S-1_Observed_Water_Extent | water_extent]]) |
| − | |||
[[INTRODUCTION | '''GFM''']]'s [https://en.wikipedia.org/wiki/API API] can be accessed at the following URL: | [[INTRODUCTION | '''GFM''']]'s [https://en.wikipedia.org/wiki/API API] can be accessed at the following URL: | ||
| − | + | [https://api.gfm.geoville.com/v1/ https://api.gfm.geoville.com/v1/] | |
| − | + | ||
| − | |||
For the authentication the following token can be used: | For the authentication the following token can be used: | ||
Bearer Q8ajYGdedXVwtbqbkoHD4G1tTTja6PrXVxNgXnZTfL | Bearer Q8ajYGdedXVwtbqbkoHD4G1tTTja6PrXVxNgXnZTfL | ||
| + | |||
In the following use cases this manual will make of use the terms '''products''' and '''output layers''': | In the following use cases this manual will make of use the terms '''products''' and '''output layers''': | ||
* an output layer is one of the eleven [[PRODUCTS | products]] delivered by the service | * an output layer is one of the eleven [[PRODUCTS | products]] delivered by the service | ||
| Line 22: | Line 21: | ||
| − | + | =='''Use Case 1 – Get all available output layer types for flood products'''== | |
The first use case shows how to get a list of all the available [[PRODUCTS | output layer types]] together with their description. | The first use case shows how to get a list of all the available [[PRODUCTS | output layer types]] together with their description. | ||
Expand the | Expand the | ||
| Line 36: | Line 35: | ||
[[File: ep_product4.jpg | 500px]] | [[File: ep_product4.jpg | 500px]] | ||
| − | + | =='''Use Case 2 – Get an Area of Interest (AOI)'''== | |
| − | The second use case is devoted to give users the details through which they can address all ''AOIs''' | + | The second use case is devoted to give users the details through which they can address all ''AOIs'''. After providing the access token, the endpoint provides a list of all stored '''AOIs'''. <br> |
To do that, users have to follow a four-step procedure: | To do that, users have to follow a four-step procedure: | ||
| − | * Step 1: Select the endpoint [[File: ep_product0.jpg | | + | * Step 1: Select the endpoint [[File: ep_product0.jpg | 350px]] |
* Step 2: Press the ''Try it out'' button [[File: ep_product2.jpg | 100px]] | * Step 2: Press the ''Try it out'' button [[File: ep_product2.jpg | 100px]] | ||
* Step 3: Enter the access token | * Step 3: Enter the access token | ||
| Line 48: | Line 47: | ||
"aoi_name": "Myanmar" | "aoi_name": "Myanmar" | ||
| − | After finding out the aoi_id for Myanmar, | + | After finding out the ''aoi_id'' for Myanmar, another endpoint is used to get a list of all available [[PRODUCTS | products]] for this ''AOI''. |
| − | + | =='''Use Case 3 - Get all products for a specific AOI'''== | |
| − | This use case shows how to get a list of all products for | + | This use case shows how to get a list of all the [[PRODUCTS | products]] available for a specific ''AOI''. This endpoint requires the additional path parameter ''aoi_id'' (see the previous Use Case) to address a specific AOI (Myanmar, in the example). <br> |
| − | In order to filter the response, this API endpoint provides the additional query parameter time. This parameter | + | |
| − | + | To do that, users have to follow a four-step procedure: | |
| − | + | * Step 1: Select the endpoint [[File: ep_product-1.jpg | 500px]] | |
| − | + | * Step 2: Press the ''Try it out'' button [[File: ep_product2.jpg | 100px]] | |
| − | The service returns a list of all products | + | * Step 3: Enter the access token |
| − | + | * Step 4: Enter the extra parameters to define the query in a specific time range. In order to filter the response, this API endpoint provides the additional query parameter '''time'''. This parameter can assume three values: | |
| − | + | # '''latest''': returns the latest product for the AOI | |
| + | # '''all''': returns all products for the AOI | ||
| + | # '''range''': returns all products within a specified date range. If applied, two additional query parameters (''to'', ''from'') are required. Please use the format '''YYYY-MM-DDTHH:MM:SS''' to enter a valid date. | ||
| + | |||
| + | * Step 5: Click the “Execute” Button [[File: ep_product3.jpg | 65px]] | ||
| + | |||
| + | The service returns a list of all products that match the filter criteria. In particular, the endpoint provides a '''product_id''' and a timestamp ('''product_time''') for each product. <br> | ||
| + | In the example: | ||
| + | "product_id": 5 | ||
| + | "product_time": "2019-08-16T11:40:09" | ||
| − | + | =='''Use Case 4 - Retrieve a flood product'''== | |
| − | + | This use case describes how to access a specific [[PRODUCTS | output layer]] (in the example: the [[S-1_Observed_Water_Extent | water extent]] layer). <br> | |
| − | + | To do that, users have to follow a four-step procedure: | |
| − | + | * Step 1: Select the endpoint [[File: ep_product-2.jpg | 500px]] | |
| − | + | * Step 2: Press the ''Try it out'' button [[File: ep_product2.jpg | 100px]] | |
| − | + | * Step 3: Enter the access token | |
| + | * Step 4: Enter the extra parameters | ||
| + | ** '''product_id''': the unique product identifier (e.g.: product_id: 5) | ||
| + | ** '''layer_name''': the actual [[PRODUCTS | output layer]] the query is about (e.g.: the [[S-1_Observed_Water_Extent | water extent]] ) | ||
As a result, the user gets a more detailed product description. This description consists of the following information: | As a result, the user gets a more detailed product description. This description consists of the following information: | ||
| − | + | * product_id: Unique product identifier | |
| − | + | * layer_name: names of the [[PRODUCTS | output layer]] | |
| − | + | ||
| − | + | Please note that a comprehensive list of the paramaters defining the [[PRODUCTS | output layer]] is given below: | |
| − | + | * layer_type: Layer type (raster or vector) | |
| − | + | * timestamp: Product date information | |
| − | + | * url_data: URL to download the product | |
| − | + | * url_tiles: URL to access the tile information | |
| − | + | that, in the given example (Myanmar / water_extent) will look like: | |
| − | + | * product_id: 5 | |
| − | + | * layer_name: water_extent | |
| − | + | * layer_type: raster | |
| − | + | * Timestamp: 2019-08-16T11:40:09", | |
| − | https://demo.geoville.com/jrc_gfm_demo/data/OL2_Observed_Water_Extent_Myanmar.tif | + | * url_data: https://demo.geoville.com/jrc_gfm_demo/data/OL2_Observed_Water_Extent_Myanmar.tif |
| − | + | * url_tiles: https://tileserver.geoville.com/jrc-gfms/OL2_S1_OWE_Myanmar/{z}/{x}/{y}.png | |
| − | https://tileserver.geoville.com/jrc-gfms/OL2_S1_OWE_Myanmar/{z}/{x}/{y}.png | ||
| − | + | ===API Specifications - Overview=== | |
| − | |||
| − | API Specifications - Overview | ||
| − | GFM product output layer Product data format Endpoint (latest observation) | + | {| class="wikitable" style="text-align: center; |
| − | flood_extent Product output layers - Raster data | + | | align="center" style="background:#f0f0f0;"|'''GFM product output layer''' |
| − | + | | align="center" style="background:#f0f0f0;"|'''Product data format''' | |
| − | reference_water_mask Raster | + | | align="center" style="background:#f0f0f0;"|'''Endpoint (latest observation)''' |
| − | water_extent Raster | + | |- |
| − | exclusion_mask Raster | + | | flood_extent || Product output layers - Raster data || /v1/flood_extent/{roi-id} |
| − | uncertainty_values Raster | + | |- |
| − | advisory_flags | + | | reference_water_mask||Product output layers - Raster data||/v1/water_mask/{roi-id} |
| − | sentinel-1_metadata | + | |- |
| − | sentinel-1_footprint | + | | [[S-1_Observed_Water_Extent | water_extent]] ||Product output layers - Raster data||/v1/water_extent/{roi-id} |
| − | sentinel-1_schedule | + | |- |
| − | affected_population Raster | + | | exclusion_mask||Product output layers - Raster data||/v1/exclusion_mask/{roi-id} |
| − | affected_landcover Raster | + | |- |
| + | | uncertainty_values||Product output layers - Raster data||/v1/uncertainty_values /{roi-id} | ||
| + | |- | ||
| + | | advisory_flags||Product output layers - GeoJSON data||/v1/advisory_flags/{roi-id} | ||
| + | |- | ||
| + | | sentinel-1_metadata||Product output layers - GeoJSON data||/v1/sentinel-1_metadata/{roi-id} | ||
| + | |- | ||
| + | | sentinel-1_footprint||Product output layers - GeoJSON data||/v1/sentinel-1_footprint/{roi-id} | ||
| + | |- | ||
| + | | sentinel-1_schedule||Product output layers - GeoJSON data||/v1/sentinel-1_schedule/{roi-id} | ||
| + | |- | ||
| + | | affected_population||Product output layers - Raster data||/v1/affected_population/{roi-id} | ||
| + | |- | ||
| + | | affected_landcover||Product output layers - Raster data||/v1/affected_landcover/{roi-id} | ||
| + | |- | ||
| + | | | ||
| + | |} | ||