Skip to content

Instantly share code, notes, and snippets.

@soxofaan
Last active March 27, 2020 08:08
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save soxofaan/2cda321da19504e4ab6e3dbdd7e77580 to your computer and use it in GitHub Desktop.
Save soxofaan/2cda321da19504e4ab6e3dbdd7e77580 to your computer and use it in GitHub Desktop.
openeo-mask-example.ipynb
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import openeo\n",
"import json\n",
"import rasterio\n",
"import matplotlib.pyplot as plt\n",
"%matplotlib inline"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"backend = \"http://openeo.vgt.vito.be/openeo/0.4.2\"\n",
"# backend = \"https://openeo.vito.be/openeo/0.4.2\"\n",
"\n",
"conn = openeo.connect(backend)"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"dates = (\"2019-07-01\", \"2019-07-07\")\n",
"bbox = dict(west=5.1, east=5.15, south=51.1, north=51.15, crs=\"EPSG:4326\")"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/home/lippenss/src/openeo/openeo-python-client/openeo/imagecollection.py:60: UserWarning: No band metadata under `properties/eo:bands` trying some fallback sources.\n",
" warnings.warn(\"No band metadata under `properties/eo:bands` trying some fallback sources.\")\n"
]
}
],
"source": [
"scene_classification = (\n",
" conn\n",
" .load_collection(\"S2_FAPAR_SCENECLASSIFICATION_V102_PYRAMID\")\n",
" .band('classification')\n",
")"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [],
"source": [
"mask = (scene_classification != 4)"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [],
"source": [
"im = (\n",
" conn\n",
" .load_collection(\"CGS_SENTINEL2_RADIOMETRY_V102_001\")\n",
" .filter_temporal(dates)\n",
" .filter_bbox(**bbox)\n",
" .mask(rastermask=mask)\n",
")"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"scrolled": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"{\n",
" \"loadcollection2\": {\n",
" \"process_id\": \"load_collection\",\n",
" \"arguments\": {\n",
" \"id\": \"CGS_SENTINEL2_RADIOMETRY_V102_001\",\n",
" \"spatial_extent\": null,\n",
" \"temporal_extent\": null\n",
" },\n",
" \"result\": false\n",
" },\n",
" \"filtertemporal1\": {\n",
" \"process_id\": \"filter_temporal\",\n",
" \"arguments\": {\n",
" \"data\": {\n",
" \"from_node\": \"loadcollection2\"\n",
" },\n",
" \"extent\": [\n",
" \"2019-07-01\",\n",
" \"2019-07-07\"\n",
" ]\n",
" },\n",
" \"result\": false\n",
" },\n",
" \"filterbbox1\": {\n",
" \"process_id\": \"filter_bbox\",\n",
" \"arguments\": {\n",
" \"data\": {\n",
" \"from_node\": \"filtertemporal1\"\n",
" },\n",
" \"extent\": {\n",
" \"west\": 5.1,\n",
" \"east\": 5.15,\n",
" \"north\": 51.15,\n",
" \"south\": 51.1,\n",
" \"crs\": \"EPSG:4326\"\n",
" }\n",
" },\n",
" \"result\": false\n",
" },\n",
" \"loadcollection3\": {\n",
" \"process_id\": \"load_collection\",\n",
" \"arguments\": {\n",
" \"id\": \"S2_FAPAR_SCENECLASSIFICATION_V102_PYRAMID\",\n",
" \"spatial_extent\": null,\n",
" \"temporal_extent\": null\n",
" },\n",
" \"result\": false\n",
" },\n",
" \"reduce2\": {\n",
" \"process_id\": \"reduce\",\n",
" \"arguments\": {\n",
" \"data\": {\n",
" \"from_node\": \"loadcollection3\"\n",
" },\n",
" \"dimension\": \"spectral_bands\",\n",
" \"reducer\": {\n",
" \"callback\": {\n",
" \"eq2\": {\n",
" \"process_id\": \"eq\",\n",
" \"arguments\": {\n",
" \"x\": {\n",
" \"from_node\": \"arrayelement1\"\n",
" },\n",
" \"y\": 4\n",
" },\n",
" \"result\": false\n",
" },\n",
" \"arrayelement1\": {\n",
" \"process_id\": \"array_element\",\n",
" \"arguments\": {\n",
" \"data\": {\n",
" \"from_argument\": \"data\"\n",
" },\n",
" \"index\": 0\n",
" },\n",
" \"result\": false\n",
" },\n",
" \"not1\": {\n",
" \"process_id\": \"not\",\n",
" \"arguments\": {\n",
" \"expression\": {\n",
" \"from_node\": \"eq2\"\n",
" }\n",
" },\n",
" \"result\": true\n",
" }\n",
" }\n",
" }\n",
" },\n",
" \"result\": false\n",
" },\n",
" \"mask1\": {\n",
" \"process_id\": \"mask\",\n",
" \"arguments\": {\n",
" \"data\": {\n",
" \"from_node\": \"filterbbox1\"\n",
" },\n",
" \"mask\": {\n",
" \"from_node\": \"reduce2\"\n",
" }\n",
" },\n",
" \"result\": false\n",
" }\n",
"}\n"
]
}
],
"source": [
"print(json.dumps(im.graph, indent=2))"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"CPU times: user 16.1 ms, sys: 24.3 ms, total: 40.3 ms\n",
"Wall time: 18.6 s\n"
]
}
],
"source": [
"%%time\n",
"im.download(\"openeo-mask-example.tiff\")"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"(1, 2, 3, 4)\n"
]
},
{
"data": {
"text/plain": [
"<matplotlib.image.AxesImage at 0x7fa1afe41438>"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"with rasterio.open(\"openeo-mask-example.tiff\") as dataset:\n",
" print(dataset.indexes)\n",
" data = dataset.read(1)\n",
"plt.imshow(data)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "openeo-py36",
"language": "python",
"name": "openeo-py36"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.9"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment