Skip to content

Commit 2c19769

Browse files
committed
Adjusted the UDP generator to correctly parametrize the spatial_extent.
1 parent 888f26e commit 2c19769

File tree

3 files changed

+24234
-75
lines changed

3 files changed

+24234
-75
lines changed

algorithm_catalog/vito/bap_composite/openeo_udp/bap_composite_UDP generator.ipynb

Lines changed: 59 additions & 75 deletions
Original file line numberDiff line numberDiff line change
@@ -2,27 +2,61 @@
22
"cells": [
33
{
44
"cell_type": "code",
5-
"execution_count": 16,
6-
"id": "2fa66062",
5+
"execution_count": 5,
6+
"id": "2e281cf0",
77
"metadata": {},
88
"outputs": [],
99
"source": [
10-
"import geopandas as gpd\n",
11-
"\n",
12-
"gdf = gpd.read_file('test_area.geojson')\n",
13-
"gdf = gdf.to_crs(epsg=4326)\n",
14-
"area = eval(gdf.to_json())"
10+
"import openeo\n",
11+
"from openeo.processes import if_, is_nan\n",
12+
"from utils_BAP import (calculate_cloud_mask, calculate_cloud_coverage_score,\n",
13+
" calculate_date_score, calculate_distance_to_cloud_score,\n",
14+
" calculate_distance_to_cloud_score, aggregate_BAP_scores,\n",
15+
" create_rank_mask)"
1516
]
1617
},
1718
{
1819
"cell_type": "code",
19-
"execution_count": 17,
20-
"id": "initial_id",
20+
"execution_count": 6,
21+
"id": "4f6f5d9c",
2122
"metadata": {},
2223
"outputs": [],
2324
"source": [
24-
"temporal_extent = [\"2022-07-01\", \"2022-07-31\"]\n",
25-
"max_cloud_cover = 70\n",
25+
"from openeo.api.process import Parameter\n",
26+
"\n",
27+
"temporal_parameter = Parameter.temporal_interval(\"temporal_extent\",description=\"Temporal extent specified as two-element array with start and end date/date-time.\")\n",
28+
"geojson_parameter = Parameter.geojson(\"geometry\",description=\"Geometries specified as GeoJSON object.\")\n",
29+
"#bands_parameter = Parameter.array(\"bands\",description=\"Sentinel-2 L2A bands to include in the composite.\",item_schema=[],default=[\"B04\",\"B03\",\"B02\"],optional=True)\n",
30+
"bands_parameter = Parameter.array(\n",
31+
" \"bands\",\n",
32+
" description=\"Sentinel-2 L2A bands to include in the composite.\",\n",
33+
" item_schema={\"type\": \"string\", \"enum\": [\n",
34+
" \"B02\",\n",
35+
" \"B03\",\n",
36+
" \"B04\",\n",
37+
" \"B05\",\n",
38+
" \"B06\",\n",
39+
" \"B07\",\n",
40+
" \"B08\",\n",
41+
" \"B8A\",\n",
42+
" \"B11\",\n",
43+
" \"B12\"\n",
44+
" ]},\n",
45+
" default=[\"B04\", \"B03\", \"B02\"],\n",
46+
" optional=True\n",
47+
")\n",
48+
"bands_parameter.schema[\"minItems\"] = 1\n",
49+
"\n",
50+
"# Max cloud cover parameter\n",
51+
"max_cloud_cover_parameter = Parameter.integer(\n",
52+
" \"max_cloud_cover\",\n",
53+
" description=\"Maximum cloud cover percentage allowed.\",\n",
54+
" optional=True,\n",
55+
" default=75\n",
56+
")\n",
57+
"max_cloud_cover_parameter.schema[\"minimum\"] = 0\n",
58+
"max_cloud_cover_parameter.schema[\"maximum\"] = 100\n",
59+
"\n",
2660
"spatial_resolution = 20"
2761
]
2862
},
@@ -36,22 +70,7 @@
3670
},
3771
{
3872
"cell_type": "code",
39-
"execution_count": 18,
40-
"id": "0b7ecc8f",
41-
"metadata": {},
42-
"outputs": [],
43-
"source": [
44-
"import openeo\n",
45-
"from openeo.processes import if_, is_nan\n",
46-
"from utils_BAP import (calculate_cloud_mask, calculate_cloud_coverage_score,\n",
47-
" calculate_date_score, calculate_distance_to_cloud_score,\n",
48-
" calculate_distance_to_cloud_score, aggregate_BAP_scores,\n",
49-
" create_rank_mask)"
50-
]
51-
},
52-
{
53-
"cell_type": "code",
54-
"execution_count": 19,
73+
"execution_count": null,
5574
"id": "024e8df8",
5675
"metadata": {},
5776
"outputs": [
@@ -68,57 +87,20 @@
6887
]
6988
},
7089
{
71-
"cell_type": "code",
72-
"execution_count": null,
90+
"cell_type": "markdown",
7391
"id": "10bee4a7",
7492
"metadata": {},
75-
"outputs": [],
7693
"source": [
7794
"Change the parameters of the datacube to be adjustable parameters."
7895
]
7996
},
8097
{
8198
"cell_type": "code",
82-
"execution_count": 20,
99+
"execution_count": null,
83100
"id": "02bed3d6",
84101
"metadata": {},
85102
"outputs": [],
86103
"source": [
87-
"from openeo.api.process import Parameter\n",
88-
"\n",
89-
"temporal_parameter = Parameter.temporal_interval(\"temporal_extent\",description=\"Temporal extent specified as two-element array with start and end date/date-time.\")\n",
90-
"geojson_parameter = Parameter.geojson(\"geometry\",description=\"Geometries specified as GeoJSON object.\")\n",
91-
"#bands_parameter = Parameter.array(\"bands\",description=\"Sentinel-2 L2A bands to include in the composite.\",item_schema=[],default=[\"B04\",\"B03\",\"B02\"],optional=True)\n",
92-
"bands_parameter = Parameter.array(\n",
93-
" \"bands\",\n",
94-
" description=\"Sentinel-2 L2A bands to include in the composite.\",\n",
95-
" item_schema={\"type\": \"string\", \"enum\": [\n",
96-
" \"B02\",\n",
97-
" \"B03\",\n",
98-
" \"B04\",\n",
99-
" \"B05\",\n",
100-
" \"B06\",\n",
101-
" \"B07\",\n",
102-
" \"B08\",\n",
103-
" \"B8A\",\n",
104-
" \"B11\",\n",
105-
" \"B12\"\n",
106-
" ]},\n",
107-
" default=[\"B04\", \"B03\", \"B02\"],\n",
108-
" optional=True\n",
109-
")\n",
110-
"bands_parameter.schema[\"minItems\"] = 1\n",
111-
"\n",
112-
"# Max cloud cover parameter\n",
113-
"max_cloud_cover_parameter = Parameter.integer(\n",
114-
" \"max_cloud_cover\",\n",
115-
" description=\"Maximum cloud cover percentage allowed.\",\n",
116-
" optional=True,\n",
117-
" default=70\n",
118-
")\n",
119-
"max_cloud_cover_parameter.schema[\"minimum\"] = 0\n",
120-
"max_cloud_cover_parameter.schema[\"maximum\"] = 100\n",
121-
"\n",
122104
"scl = c.load_collection(\n",
123105
" \"SENTINEL2_L2A\",\n",
124106
" temporal_extent=temporal_parameter,\n",
@@ -139,7 +121,7 @@
139121
},
140122
{
141123
"cell_type": "code",
142-
"execution_count": 21,
124+
"execution_count": null,
143125
"id": "6917600f",
144126
"metadata": {},
145127
"outputs": [],
@@ -170,12 +152,14 @@
170152
},
171153
{
172154
"cell_type": "code",
173-
"execution_count": 22,
155+
"execution_count": null,
174156
"id": "902b6c0b",
175157
"metadata": {},
176158
"outputs": [],
177159
"source": [
178-
"coverage_score = calculate_cloud_coverage_score(cloud_mask, area, scl)"
160+
"spatial_parameter = Parameter.spatial_extent(\"spatial_extent\",description=\"Spatial extent specified as GeoJSON object.\")\n",
161+
"\n",
162+
"coverage_score = calculate_cloud_coverage_score(cloud_mask, geojson_parameter, scl)"
179163
]
180164
},
181165
{
@@ -196,7 +180,7 @@
196180
},
197181
{
198182
"cell_type": "code",
199-
"execution_count": 23,
183+
"execution_count": null,
200184
"id": "6755378a983548f4",
201185
"metadata": {},
202186
"outputs": [
@@ -232,7 +216,7 @@
232216
},
233217
{
234218
"cell_type": "code",
235-
"execution_count": 24,
219+
"execution_count": null,
236220
"id": "c7296546",
237221
"metadata": {},
238222
"outputs": [],
@@ -258,7 +242,7 @@
258242
},
259243
{
260244
"cell_type": "code",
261-
"execution_count": 25,
245+
"execution_count": null,
262246
"id": "e1a5f38e07ba21b5",
263247
"metadata": {},
264248
"outputs": [],
@@ -286,7 +270,7 @@
286270
},
287271
{
288272
"cell_type": "code",
289-
"execution_count": 26,
273+
"execution_count": null,
290274
"id": "43a33914",
291275
"metadata": {},
292276
"outputs": [],
@@ -304,7 +288,7 @@
304288
},
305289
{
306290
"cell_type": "code",
307-
"execution_count": 27,
291+
"execution_count": null,
308292
"id": "a2933409",
309293
"metadata": {},
310294
"outputs": [],
@@ -329,7 +313,7 @@
329313
},
330314
{
331315
"cell_type": "code",
332-
"execution_count": 29,
316+
"execution_count": null,
333317
"id": "14d62234",
334318
"metadata": {},
335319
"outputs": [],

0 commit comments

Comments
 (0)