diff --git a/docs/source/_data/python_lib.txt b/docs/source/_data/python_lib.txt index 227c25aacc..72c395dab0 100644 --- a/docs/source/_data/python_lib.txt +++ b/docs/source/_data/python_lib.txt @@ -1,11 +1,12 @@ # version 2022-11-24 ######## geospatial data analysis ######## scikit-image +packaging==24.0 # scikit-image tries to override the system package. Pinning to prevent scipy shapely shapely-geojson tqdm -GDAL==$GDAL_VERSION +GDAL[numpy]==$GDAL_VERSION bqplot numpy geopandas @@ -13,14 +14,9 @@ matplotlib pandas dask[complete] planet -tensorflow-probability geeadd - -######## Google Earthengine ######## -oauth2client -google-api-python-client==1.12.8 -git+https://github.com/openforis/earthengine-api.git@v0.1.384#egg=earthengine-api&subdirectory=python -oeel +pyotb +uv ######## BFAST dependencies ######## wget @@ -44,7 +40,6 @@ pre-commit ######## web api ######## falcon gunicorn -pyCrypto awscli==1.11.18 # Pinned to prevent backtracking ######## other deps ######## @@ -60,8 +55,8 @@ geeadd geeup cogee xee -torch -torchvision +pystac-client +contextily ######## OSK requirements ######## descartes diff --git a/docs/source/_data/r_packages.sh b/docs/source/_data/r_packages.sh index 6810b15530..6a21215aea 100644 --- a/docs/source/_data/r_packages.sh +++ b/docs/source/_data/r_packages.sh @@ -9,6 +9,9 @@ echo "*****************************" export JAVA_HOME=/usr/local/lib/sdkman/candidates/java/current export JAVA_CPPFLAGS="-I${JAVA_HOME}/include -I${JAVA_HOME}/include/linux" export JAVA_LD_LIBRARY_PATH=${JAVA_HOME}/lib/server:${JAVA_HOME}/lib +export R_DEFAULT_INTERNET_TIMEOUT=7200 + +R -e "install.packages('remotes', dependencies=TRUE, repos='http://localhost:8180/')" R CMD javareconf @@ -260,6 +263,7 @@ R -e "install.packages(c(\ 'tint',\ 'tinytex',\ 'tools',\ + 'torch',\ 'treemap',\ 'tufte',\ 'units',\ @@ -290,19 +294,13 @@ R -e "install.packages(c(\ 'yaml',\ 'zeallot',\ 'zoo' - ), repos='http://r-proxy:8180/')" - -# Install archived packages - this doesn't work through r-proxy -R -e "install.packages('https://cran.r-project.org/src/contrib/Archive/rgdal/rgdal_1.6-7.tar.gz')" -R -e "install.packages('https://cran.r-project.org/src/contrib/Archive/rgeos/rgeos_0.6-4.tar.gz')" - -R -e "install.packages('remotes', dependencies=TRUE, repos='http://r-proxy:8180/')" + ), repos='http://localhost:8180/')" R -e "remotes::install_url(c(\ - 'http://r-proxy:8180/github/r-barnes/dggridR/archive/refs/heads/master.tar.gz',\ - 'http://r-proxy:8180/github/bfast2/bfast/archive/refs/heads/master.tar.gz',\ - 'http://r-proxy:8180/github/azvoleff/gfcanalysis/archive/refs/heads/master.tar.gz',\ - 'http://r-proxy:8180/github/loicdtx/bfastSpatial/archive/refs/heads/master.tar.gz',\ - 'http://r-proxy:8180/github/jreiche/bayts/archive/refs/heads/master.tar.gz',\ - 'http://r-proxy:8180/github/cran/gdalUtils/archive/refs/heads/master.tar.gz'\ - ), repos='http://r-proxy:8180/', build = FALSE)" + 'http://localhost:8180/github/r-barnes/dggridR/archive/refs/heads/master.tar.gz',\ + 'http://localhost:8180/github/bfast2/bfast/archive/refs/heads/master.tar.gz',\ + 'http://localhost:8180/github/azvoleff/gfcanalysis/archive/refs/heads/master.tar.gz',\ + 'http://localhost:8180/github/jreiche/bayts/archive/refs/heads/master.tar.gz'\ + ), repos='http://localhost:8180/', build = FALSE)" + +R -e "torch::install_torch(cuda_version = '12.8')" diff --git a/docs/source/_locale/ar/LC_MESSAGES/cli/env_management.po b/docs/source/_locale/ar/LC_MESSAGES/cli/env_management.po new file mode 100644 index 0000000000..f9ad36aec4 --- /dev/null +++ b/docs/source/_locale/ar/LC_MESSAGES/cli/env_management.po @@ -0,0 +1,338 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: ar\n" +"Language-Team: ar \n" +"Plural-Forms: nplurals=6; plural=(n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : " +"n%100>=3 && n%100<=10 ? 3 : n%100>=0 && n%100<=2 ? 4 : 5);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/cli/env_management.rst:4 +msgid "Python environment management" +msgstr "" + +#: ../../source/cli/env_management.rst:6 +msgid "" +"SEPAL provides two tools for managing Python environments: :guilabel:`uv`" +" and :guilabel:`micromamba`. Both are already installed and both are " +"better choices than the built-in :guilabel:`venv` for work on SEPAL." +msgstr "" + +#: ../../source/cli/env_management.rst:8 +msgid "" +"The core problem with :guilabel:`venv` on a shared platform is that it " +"creates environments tightly coupled to the system Python. When SEPAL " +"upgrades Python — as happened with the Ubuntu Noble upgrade from 3.10 to " +"3.12 — every venv breaks. The tools described on this page do not have " +"this problem." +msgstr "" + +#: ../../source/cli/env_management.rst:12 +msgid "" +"Do not use :guilabel:`venv` for new work on SEPAL. Use :guilabel:`uv` or " +":guilabel:`micromamba` instead." +msgstr "" + +#: ../../source/cli/env_management.rst:17 +msgid "Which tool should I use?" +msgstr "" + +#: ../../source/cli/env_management.rst:19 +msgid "The right choice depends on what your project needs." +msgstr "" + +#: ../../source/cli/env_management.rst:25 +msgid "Your stack includes..." +msgstr "" + +#: ../../source/cli/env_management.rst:26 +msgid "Use" +msgstr "" + +#: ../../source/cli/env_management.rst:27 +msgid "Why" +msgstr "" + +#: ../../source/cli/env_management.rst:28 +msgid "Web frameworks, APIs, pure Python tools" +msgstr "" + +#: ../../source/cli/env_management.rst:29 +#: ../../source/cli/env_management.rst:32 +msgid ":guilabel:`uv`" +msgstr "" + +#: ../../source/cli/env_management.rst:30 +msgid "Fast, lightweight, no overhead" +msgstr "" + +#: ../../source/cli/env_management.rst:31 +msgid "Data science: pandas, scikit-learn, statsmodels" +msgstr "" + +#: ../../source/cli/env_management.rst:33 +msgid "Good PyPI wheel coverage for Python 3.12" +msgstr "" + +#: ../../source/cli/env_management.rst:34 +msgid "Geospatial: GDAL, rasterio, fiona, GEOS" +msgstr "" + +#: ../../source/cli/env_management.rst:35 +#: ../../source/cli/env_management.rst:38 +msgid ":guilabel:`micromamba`" +msgstr "" + +#: ../../source/cli/env_management.rst:36 +msgid "Bundles native libraries inside the environment" +msgstr "" + +#: ../../source/cli/env_management.rst:37 +msgid "GPU / ML: CUDA, cuDNN, PyTorch with CUDA" +msgstr "" + +#: ../../source/cli/env_management.rst:39 +msgid "Pins CUDA runtime inside the environment" +msgstr "" + +#: ../../source/cli/env_management.rst:40 +msgid "Mixed: some native libraries, some pure Python" +msgstr "" + +#: ../../source/cli/env_management.rst:41 +msgid ":guilabel:`micromamba` + pip" +msgstr "" + +#: ../../source/cli/env_management.rst:42 +msgid "micromamba for native libraries, pip for the rest" +msgstr "" + +#: ../../source/cli/env_management.rst:46 +msgid "" +":guilabel:`uv` environments can still break if SEPAL upgrades a system-" +"level native library such as GDAL or CUDA. This is because :guilabel:`uv`" +" installs Python packages from PyPI but cannot bundle the underlying " +"``.so`` files they depend on. If your project uses geospatial or GPU " +"packages, use :guilabel:`micromamba`." +msgstr "" + +#: ../../source/cli/env_management.rst:51 +msgid "uv" +msgstr "" + +#: ../../source/cli/env_management.rst:53 +msgid "" +":guilabel:`uv` is a fast, modern Python and package manager. It manages " +"its own Python versions independently of the system, so a system Python " +"upgrade will not affect your environments." +msgstr "" + +#: ../../source/cli/env_management.rst:56 +msgid "Why use uv" +msgstr "" + +#: ../../source/cli/env_management.rst:58 +msgid "" +"**Survives system Python upgrades.** uv pins the Python version inside " +"the project. If you create an environment with Python 3.12.2, it stays on" +" 3.12.2 regardless of what the system does." +msgstr "" + +#: ../../source/cli/env_management.rst:59 +msgid "" +"**Much faster than pip and venv.** Dependency resolution and installation" +" are typically 10–100× faster due to parallel downloads and a compiled " +"resolver." +msgstr "" + +#: ../../source/cli/env_management.rst:60 +msgid "" +"**Lockfiles for reproducibility.** ``uv lock`` generates a precise, " +"cross-platform lockfile — more reliable than ``pip freeze`` for sharing " +"environments with colleagues." +msgstr "" + +#: ../../source/cli/env_management.rst:61 +msgid "" +"**Drop-in pip compatibility.** ``uv pip install`` works exactly like " +"``pip install``. Any package on PyPI works with uv. No new formats to " +"learn." +msgstr "" + +#: ../../source/cli/env_management.rst:62 +msgid "" +"**Works with standard project files.** Reads ``pyproject.toml`` and " +"``requirements.txt`` natively." +msgstr "" + +#: ../../source/cli/env_management.rst:63 +msgid "" +"**Manages multiple Python versions.** ``uv python install 3.10`` lets you" +" run any Python version without touching the system." +msgstr "" + +#: ../../source/cli/env_management.rst:64 +msgid "" +"**Single lightweight binary.** No base environment, no shell hooks, no " +"overhead." +msgstr "" + +#: ../../source/cli/env_management.rst:67 +msgid "Creating a uv project (recommended)" +msgstr "" + +#: ../../source/cli/env_management.rst:69 +msgid "" +"``uv init`` creates a project with a ``pyproject.toml`` and a lockfile, " +"giving you reproducible installs and clean dependency tracking:" +msgstr "" + +#: ../../source/cli/env_management.rst:83 +msgid "" +"uv automatically creates a ``.venv`` inside the project directory, " +"generates a ``uv.lock`` lockfile, and tracks all dependencies in " +"``pyproject.toml``. You do not need to activate anything — ``uv run`` " +"handles it." +msgstr "" + +#: ../../source/cli/env_management.rst:85 +msgid "To reproduce the environment elsewhere (or after a fresh clone):" +msgstr "" + +#: ../../source/cli/env_management.rst:92 +msgid "Creating a standalone uv environment" +msgstr "" + +#: ../../source/cli/env_management.rst:94 +msgid "" +"If you do not need a full project structure — for example, when working " +"with an existing ``requirements.txt`` — you can create a standalone " +"environment:" +msgstr "" + +#: ../../source/cli/env_management.rst:111 +#: ../../source/cli/env_management.rst:208 +msgid "Adding a Jupyter kernel" +msgstr "" + +#: ../../source/cli/env_management.rst:113 +msgid "Register your environment as a named kernel so it appears in JupyterLab:" +msgstr "" + +#: ../../source/cli/env_management.rst:115 +msgid "**For uv projects:**" +msgstr "" + +#: ../../source/cli/env_management.rst:123 +msgid "**For standalone uv environments:**" +msgstr "" + +#: ../../source/cli/env_management.rst:131 +msgid "Verify it appears:" +msgstr "" + +#: ../../source/cli/env_management.rst:137 +#: ../../source/cli/env_management.rst:224 +msgid "To remove a kernel:" +msgstr "" + +#: ../../source/cli/env_management.rst:146 +msgid "micromamba" +msgstr "" + +#: ../../source/cli/env_management.rst:148 +msgid "" +":guilabel:`micromamba` works like conda (if you have used conda before, " +"you already know how to use micromamba). Unlike :guilabel:`uv`, it " +"bundles native system libraries — GDAL, CUDA, HDF5, and others — inside " +"the environment itself, completely isolated from the system. This makes " +"it the right choice for geospatial and GPU workloads." +msgstr "" + +#: ../../source/cli/env_management.rst:151 +msgid "Why use micromamba" +msgstr "" + +#: ../../source/cli/env_management.rst:153 +msgid "" +"**Complete isolation including native libraries.** GDAL, CUDA, HDF5, " +"GEOS, and other system libraries are installed inside the environment. " +"Upgrading system libraries on SEPAL will not break your environment." +msgstr "" + +#: ../../source/cli/env_management.rst:154 +msgid "" +"**conda-forge provides excellent binary coverage.** conda-forge provides " +"pre-compiled, compatible builds of complex packages across all platforms " +"— often better than what is available on PyPI." +msgstr "" + +#: ../../source/cli/env_management.rst:155 +msgid "" +"**Environment files capture the full stack.** ``environment.yml`` files " +"describe both Python packages and native libraries in one place, making " +"environments fully reproducible by colleagues." +msgstr "" + +#: ../../source/cli/env_management.rst:156 +msgid "" +"**Pins native library versions.** You can pin ``cudatoolkit=11.8`` or " +"``gdal=3.6`` and those exact versions live inside the environment, " +"regardless of what is installed system-wide." +msgstr "" + +#: ../../source/cli/env_management.rst:157 +msgid "" +"**Faster than conda.** Written in C++, micromamba solves and installs " +"dependencies significantly faster than the original conda tool." +msgstr "" + +#: ../../source/cli/env_management.rst:158 +msgid "" +"**No base environment.** micromamba has no base environment that needs " +"updating — cleaner and lighter on disk." +msgstr "" + +#: ../../source/cli/env_management.rst:161 +msgid "Creating a micromamba environment" +msgstr "" + +#: ../../source/cli/env_management.rst:178 +msgid "Using an environment.yml file (recommended)" +msgstr "" + +#: ../../source/cli/env_management.rst:180 +msgid "" +"An ``environment.yml`` file captures the full environment — Python " +"version, native libraries, and Python packages — in one place:" +msgstr "" + +#: ../../source/cli/env_management.rst:197 +msgid "Create or update an environment from the file:" +msgstr "" + +#: ../../source/cli/env_management.rst:233 +msgid "Recovering a broken venv" +msgstr "" + +#: ../../source/cli/env_management.rst:235 +msgid "" +"If you have an existing venv that broke due to the Python upgrade, see " +":ref:`fix_venvs` for step-by-step recovery instructions, including a " +"script to extract your requirements without activating the broken " +"environment." +msgstr "" + diff --git a/docs/source/_locale/ar/LC_MESSAGES/cli/index.po b/docs/source/_locale/ar/LC_MESSAGES/cli/index.po index d8117de3f5..a98f6c4571 100644 --- a/docs/source/_locale/ar/LC_MESSAGES/cli/index.po +++ b/docs/source/_locale/ar/LC_MESSAGES/cli/index.po @@ -1,22 +1,55 @@ + msgid "" msgstr "" -"Project-Id-Version: sepal-doc\n" +"Project-Id-Version: sepal-doc\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-03-07 09:39+0100\n" -"PO-Revision-Date: 2024-03-07 08:55\n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: 2024-03-07 08:55+0000\n" "Last-Translator: \n" +"Language: ar_SA\n" "Language-Team: Arabic\n" +"Plural-Forms: nplurals=6; plural=(n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : " +"n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5);\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.14.0\n" -"Plural-Forms: nplurals=6; plural=(n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5);\n" -"X-Crowdin-Project: sepal-doc\n" -"X-Crowdin-Project-ID: 562097\n" -"X-Crowdin-Language: ar\n" -"X-Crowdin-File: /main/docs/source/_locale/en/LC_MESSAGES/cli/index.po\n" -"X-Crowdin-File-ID: 49\n" -"Language: ar_SA\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/cli/index.rst:10 +msgid "GDAL — Geospatial Data Abstraction Library" +msgstr "" + +#: ../../source/cli/index.rst:10 +msgid "Google Drive" +msgstr "" + +#: ../../source/cli/index.rst:10 +msgid "Google Earth Engine" +msgstr "" + +#: ../../source/cli/index.rst:10 +msgid "GuidosToolbox Workbench" +msgstr "" + +#: ../../source/cli/index.rst:10 +msgid "Open Foris Geospatial Toolkit" +msgstr "" + +#: ../../source/cli/index.rst:10 +msgid "Orfeo ToolBox" +msgstr "" + +#: ../../source/cli/index.rst:10 +msgid "Python" +msgstr "" + +#: ../../source/cli/index.rst:10 +msgid "R" +msgstr "" + +#: ../../source/cli/index.rst:10 +msgid "Python environment management" +msgstr "" #: ../../source/cli/index.rst:2 msgid "CLI" @@ -31,51 +64,72 @@ msgid "CLI tools" msgstr "" #: ../../source/cli/index.rst:8 -msgid "To help resolve specific problems, the SEPAL platform includes a variety of useful command-line interface (CLI) utilities, including:" +msgid "" +"To help resolve specific problems, the SEPAL platform includes a variety " +"of useful command-line interface (CLI) utilities, including:" msgstr "" -#: ../../source/cli/index.rst:22 -msgid "These tools can be called directly from the terminal or via any programming language sending commands to the kernel, including R and Python (installed by default on any SEPAL account)." +#: ../../source/cli/index.rst:23 +msgid "" +"These tools can be called directly from the terminal or via any " +"programming language sending commands to the kernel, including R and " +"Python (installed by default on any SEPAL account)." msgstr "" -#: ../../source/cli/index.rst:29 +#: ../../source/cli/index.rst:30 msgid "The code executed previously on an existing :code:`example.tif` file:" msgstr "" -#: ../../source/cli/index.rst:37 -msgid "If you're running actions from multiple directories or instances, you can open multiple **Terminal** tabs and name them as you see fit." +#: ../../source/cli/index.rst:38 +msgid "" +"If you're running actions from multiple directories or instances, you can" +" open multiple **Terminal** tabs and name them as you see fit." msgstr "" -#: ../../source/cli/index.rst:41 -msgid "If the code you want to execute is taking time, consider running it in the background using :code:`nohup`:" +#: ../../source/cli/index.rst:42 +msgid "" +"If the code you want to execute is taking time, consider running it in " +"the background using :code:`nohup`:" msgstr "" -#: ../../source/cli/index.rst:47 -msgid "All console outputs will be redirected to a :code:`nohup.out` in your home directory, but the execution will be running in the background. You will be able to safely close the terminal or even the browser window without interrupting the process (for more information about :code:`nohup`, see `this article `__)." +#: ../../source/cli/index.rst:48 +msgid "" +"All console outputs will be redirected to a :code:`nohup.out` in your " +"home directory, but the execution will be running in the background. You " +"will be able to safely close the terminal or even the browser window " +"without interrupting the process (for more information about " +":code:`nohup`, see `this article " +"`__)." msgstr "" -#: ../../source/cli/index.rst:50 +#: ../../source/cli/index.rst:51 msgid "Coding tools" msgstr "" -#: ../../source/cli/index.rst:52 -msgid "In the **Apps** section, there are three coding tools at the top of the list:" +#: ../../source/cli/index.rst:53 +msgid "" +"In the **Apps** section, there are three coding tools at the top of the " +"list:" msgstr "" -#: ../../source/cli/index.rst:54 +#: ../../source/cli/index.rst:55 msgid "JupyterLab" msgstr "" -#: ../../source/cli/index.rst:55 +#: ../../source/cli/index.rst:56 msgid "Jupyter Notebook" msgstr "" -#: ../../source/cli/index.rst:56 +#: ../../source/cli/index.rst:57 msgid "RStudio" msgstr "" -#: ../../source/cli/index.rst:61 -msgid "They will allow the user to code wokflows in any of the available languages using the corresponding environment in SEPAL. These environments are fully customizable (view the :code:`Python` or :code:`R` section to know more)." +#: ../../source/cli/index.rst:62 +msgid "" +"They will allow the user to code wokflows in any of the available " +"languages using the corresponding environment in SEPAL. These " +"environments are fully customizable (view the :code:`Python` or :code:`R`" +" section to know more)." msgstr "" #~ msgid "" diff --git a/docs/source/_locale/ar/LC_MESSAGES/cookbook/band_math.po b/docs/source/_locale/ar/LC_MESSAGES/cookbook/band_math.po new file mode 100644 index 0000000000..065ccfdf40 --- /dev/null +++ b/docs/source/_locale/ar/LC_MESSAGES/cookbook/band_math.po @@ -0,0 +1,234 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: ar\n" +"Language-Team: ar \n" +"Plural-Forms: nplurals=6; plural=(n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : " +"n%100>=3 && n%100<=10 ? 3 : n%100>=0 && n%100<=2 ? 4 : 5);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/cookbook/band_math.rst:2 +msgid "Band Math" +msgstr "" + +#: ../../source/cookbook/band_math.rst:4 +msgid "" +"The **Band Math** recipe in SEPAL allows you to derive new raster layers " +"from existing ones by evaluating mathematical expressions. You can " +"combine, scale or subtract spectral bands, build indices or apply logical" +" masks. This guide walks through the Band Math workflow from start to " +"finish and uses a vegetation index as an example. The same steps apply " +"whether you are creating a simple ratio or a complex index." +msgstr "" + +#: ../../source/cookbook/band_math.rst:7 +msgid "Getting started" +msgstr "" + +#: ../../source/cookbook/band_math.rst:9 +msgid "Open `sepal.io `_ in your web browser and sign in." +msgstr "" + +#: ../../source/cookbook/band_math.rst:10 +msgid "" +"Go to the **Process** page where SEPAL lists your recipes. If you have " +"not created any recipes yet this list will be empty." +msgstr "" + +#: ../../source/cookbook/band_math.rst:13 +msgid "Creating a Band Math recipe" +msgstr "" + +#: ../../source/cookbook/band_math.rst:15 +msgid "" +"Click :btn:` Add recipe` in the recipe list and choose " +"**Band Math**. SEPAL opens a new tab for your recipe. On the right‑hand " +"side you will see three vertically stacked tabs labelled :guilabel:`IMG`," +" :guilabel:`CAL` and :guilabel:`OUT` corresponding to *Input imagery*, " +"*Calculations* and *Outputs*." +msgstr "" + +#: ../../source/cookbook/band_math.rst:27 +msgid "" +"Select the :guilabel:`IMG` button. Click :btn:` Add` " +"and then **Earth Engine Asset**. An entry form appears where you can " +"provide a Google Earth Engine image. Paste a valid asset ID into the " +"**Earth Engine asset ID** field (for example the Landsat 8 Level‑2 scene " +"``LANDSAT/LC08/C02/T1_L2/LC08_232064_20200119``). Leave the **Image " +"name** as the default (``i1``) unless you intend to add multiple images. " +"Use the tick icon to validate the ID; if the field turns red the asset is" +" not available. Once it loads successfully you will see a section " +"labelled **CONTINUOUS** listing the available bands." +msgstr "" + +#: ../../source/cookbook/band_math.rst:34 +msgid "" +"Specify which bands you need. Click the green :btn:` " +"Add` button to insert a row, select the band name from the drop‑down list" +" and leave the :guilabel:`TYPE` as **CONTINUOUS**. Repeat this step for " +"every band referenced in your expression. For a vegetation index select " +"the red band ``SR_B4`` and the near‑infrared band ``SR_B5``. When you " +"have added all your bands, click :btn:` Apply` to " +"confirm. The :guilabel:`IMG` tab now lists your Earth Engine asset and " +"the chosen name." +msgstr "" + +#: ../../source/cookbook/band_math.rst:42 +msgid "Defining a calculation" +msgstr "" + +#: ../../source/cookbook/band_math.rst:44 +msgid "" +"Switch to the :guilabel:`CAL` tab and click :btn:` " +"Add`. A dialog appears offering two paths: **Function** and " +"**Expression**. Choose **Function** when you want to compute built‑in " +"statistics (sum, mean, min, max, product) on your bands. Choose " +"**Expression** when you need to write a custom formula. For indices you " +"will almost always select **Expression**." +msgstr "" + +#: ../../source/cookbook/band_math.rst:51 +msgid "" +"In the expression editor type your formula. Refer to each band using its " +"image name and band name, for example ``i1.SR_B5`` for the near‑infrared " +"band of the first image. Parentheses control the order of operations. To " +"compute a vegetation index you can use:" +msgstr "" + +#: ../../source/cookbook/band_math.rst:57 +msgid "" +"You could just as easily substitute other bands or constants, for example" +" the Normalised Difference Water Index (NDWI) ``(i1.SR_B3 - i1.SR_B5) / " +"(i1.SR_B3 + i1.SR_B5)`` or a simple ratio like ``i1.SR_B5 / i1.SR_B4``." +msgstr "" + +#: ../../source/cookbook/band_math.rst:59 +msgid "" +"Enter a short Band name beneath the editor. This will be the label of the" +" resulting layer – for example ``ndvi`` for a vegetation index." +msgstr "" + +#: ../../source/cookbook/band_math.rst:66 +msgid "" +"Click :btn:` Apply`. Your calculation appears in the " +"list with an identifier such as ``c1``. You can add additional " +"calculations by repeating this process; each one becomes a separate " +"output band." +msgstr "" + +#: ../../source/cookbook/band_math.rst:74 +msgid "Managing outputs and naming" +msgstr "" + +#: ../../source/cookbook/band_math.rst:76 +msgid "" +"The :guilabel:`OUT` tab displays the bands produced by your expressions. " +"Check that the band names are correct. You can delete or add them using " +"the icons on the right of each row. Above the map the recipe tab uses a " +"default timestamp; rename it by double‑clicking the label, entering a " +"descriptive name (for example ``Amazon_BandMath``) and pressing " +"**Enter**. When everything looks correct close the :guilabel:`OUT` tab." +msgstr "" + +#: ../../source/cookbook/band_math.rst:84 +msgid "Visualising the results" +msgstr "" + +#: ../../source/cookbook/band_math.rst:86 +msgid "" +"By default your calculation is not drawn on the map. To create a " +"visualisation:" +msgstr "" + +#: ../../source/cookbook/band_math.rst:88 +msgid "" +"Locate the small :btn:`` icon near the bottom centre of" +" the map and click it. This opens the **This recipe** panel. If your " +"derived bands appear here they are ready for visualisation; if not, click" +" the :btn:`` button in that panel to create one." +msgstr "" + +#: ../../source/cookbook/band_math.rst:95 +msgid "" +"A **Visualisation** dialog opens. Choose the band you want to display " +"from the **Band** drop‑down (for example ``ndvi``). Set **Min** and " +"**Max** values to define the stretch – for indices spanning –1 to 1, " +"values such as –0.2 and 0.8 often provide good contrast." +msgstr "" + +#: ../../source/cookbook/band_math.rst:97 +msgid "" +"Select a colour palette. You can load a preset palette from the drop‑down" +" or define your own. To enter custom colours click the :guilabel:`HEX` " +"button; a text box appears containing a comma‑separated list of colour " +"codes. Replace it with your own codes (e.g. ``#ffffcc, #c2e699, #78c679, " +"#31a354, #006837`` for a light‑to‑dark green gradient). Multiple colours " +"create a smooth ramp." +msgstr "" + +#: ../../source/cookbook/band_math.rst:104 +msgid "" +"Click :btn:` Apply`. SEPAL renders the band using your" +" settings and adds a legend bar at the bottom of the map. If the map " +"stays blank for more than a few seconds, ensure you added the correct " +"bands and that the area of interest is not outside the footprint of your " +"image." +msgstr "" + +#: ../../source/cookbook/band_math.rst:113 +msgid "What else can you do with Band Math?" +msgstr "" + +#: ../../source/cookbook/band_math.rst:115 +msgid "" +"Band Math is a general‑purpose calculator for raster bands. Beyond " +"vegetation indices you can:" +msgstr "" + +#: ../../source/cookbook/band_math.rst:117 +msgid "" +"Highlight water bodies by computing the Normalised Difference Water Index" +" (NDWI): ``(i1.SR_B3 - i1.SR_B5) / (i1.SR_B3 + i1.SR_B5)``." +msgstr "" + +#: ../../source/cookbook/band_math.rst:118 +msgid "" +"Assess burn severity with the Normalised Burn Ratio (NBR) using " +"near‑infrared and short‑wave infrared bands: ``(i1.SR_B5 - i1.SR_B7) / " +"(i1.SR_B5 + i1.SR_B7)``." +msgstr "" + +#: ../../source/cookbook/band_math.rst:119 +msgid "" +"Perform arithmetic between bands (for example ``i1.SR_B5 - i1.SR_B4``), " +"multiply by constants to convert digital numbers to reflectance or add " +"bands to create composites." +msgstr "" + +#: ../../source/cookbook/band_math.rst:120 +msgid "" +"Create masks based on conditions – for instance ``i1.SR_B5 > 0.3`` to " +"select highly vegetated pixels – and combine them with logical operators " +"(`and`, `or`)." +msgstr "" + +#: ../../source/cookbook/band_math.rst:122 +msgid "" +"Every expression you add becomes a new band that can be visualised or " +"used in subsequent calculations. By chaining calculations together you " +"can build complex workflows in SEPAL without writing any external code." +msgstr "" + diff --git a/docs/source/_locale/ar/LC_MESSAGES/cookbook/classification.po b/docs/source/_locale/ar/LC_MESSAGES/cookbook/classification.po index 81427da43a..801cc8248c 100644 --- a/docs/source/_locale/ar/LC_MESSAGES/cookbook/classification.po +++ b/docs/source/_locale/ar/LC_MESSAGES/cookbook/classification.po @@ -1,29 +1,28 @@ + msgid "" msgstr "" -"Project-Id-Version: sepal-doc\n" +"Project-Id-Version: sepal-doc\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-03-07 09:39+0100\n" -"PO-Revision-Date: 2024-03-07 08:56\n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: 2024-03-07 08:56+0000\n" "Last-Translator: \n" +"Language: ar_SA\n" "Language-Team: Arabic\n" +"Plural-Forms: nplurals=6; plural=(n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : " +"n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5);\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.14.0\n" -"Plural-Forms: nplurals=6; plural=(n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5);\n" -"X-Crowdin-Project: sepal-doc\n" -"X-Crowdin-Project-ID: 562097\n" -"X-Crowdin-Language: ar\n" -"X-Crowdin-File: /main/docs/source/_locale/en/LC_MESSAGES/cookbook/classification.po\n" -"X-Crowdin-File-ID: 65\n" -"Language: ar_SA\n" +"Generated-By: Babel 2.18.0\n" #: ../../source/cookbook/classification.rst:2 msgid "Classification" msgstr "" #: ../../source/cookbook/classification.rst:3 -msgid "*Build supervised classifications of mosaic images to create easy-to-use user interfaces with the Classification recipe*" +msgid "" +"*Build supervised classifications of mosaic images to create easy-to-use " +"user interfaces with the Classification recipe*" msgstr "" #: ../../source/cookbook/classification.rst:6 @@ -31,7 +30,12 @@ msgid "Overview" msgstr "" #: ../../source/cookbook/classification.rst:8 -msgid "With this recipe, SEPAL helps users build supervised classifications of any mosaic image. It is built on top of the most advanced tools available on Google Earth Engine (GEE) – including the classifiers CART, RandomForest, NaiveBayes and SVM – allowing users to create an easy-to-use user interface to:" +msgid "" +"With this recipe, SEPAL helps users build supervised classifications of " +"any mosaic image. It is built on top of the most advanced tools available" +" on Google Earth Engine (GEE) – including seven classifiers, such as " +"Random Forest, CART and SVM – allowing users to create an easy-to-use " +"user interface to:" msgstr "" #: ../../source/cookbook/classification.rst:10 @@ -39,7 +43,7 @@ msgid "select an image to classify;" msgstr "" #: ../../source/cookbook/classification.rst:11 -msgid "define the class table; and" +msgid "define the legend; and" msgstr "" #: ../../source/cookbook/classification.rst:12 @@ -47,7 +51,10 @@ msgid "add training data from external sources and on-the-fly selection." msgstr "" #: ../../source/cookbook/classification.rst:14 -msgid "In combination with other tools of SEPAL, the **Classification** recipe can help you provide accurate land-use maps, without writing a single line of code." +msgid "" +"In combination with other tools of SEPAL, the **Classification** recipe " +"can help you provide accurate land-use maps, without writing a single " +"line of code." msgstr "" #: ../../source/cookbook/classification.rst:17 @@ -55,15 +62,24 @@ msgid "Start" msgstr "" #: ../../source/cookbook/classification.rst:19 -msgid "Once the **Classification** recipe is selected, SEPAL will show the recipe process in a new tab (see **1** in figure below); the **Image selection** window will appear in the lower right (**2**)." +msgid "" +"Once the **Classification** recipe is selected, SEPAL will show the " +"recipe process in a new tab (see **1** in figure below); the **Image " +"selection** window will appear in the lower right (**2**)." msgstr "" #: ../../source/cookbook/classification.rst:25 -msgid "The first step is to change the name of the recipe. This name will be used to identify your files and recipes in SEPAL folders. Use the best-suited convention for your needs. Simply double-click the tab and enter a new name. It will default to :code:`Classification_`." +msgid "" +"The first step is to change the name of the recipe. This name will be " +"used to identify your files and recipes in SEPAL folders. Use the best-" +"suited convention for your needs. Simply double-click the tab and enter a" +" new name. It will default to :code:`Classification_`." msgstr "" #: ../../source/cookbook/classification.rst:37 -msgid "The SEPAL team recommends using the following naming convention: :code:`__`." +msgid "" +"The SEPAL team recommends using the following naming convention: " +":code:`__`." msgstr "" #: ../../source/cookbook/classification.rst:40 @@ -71,7 +87,9 @@ msgid "Parameters" msgstr "" #: ../../source/cookbook/classification.rst:42 -msgid "In the lower-right corner, the following five tabs are available, allowing you to customize the time series to your needs:" +msgid "" +"In the lower-right corner, the following five tabs are available, " +"allowing you to customize the classification to your needs:" msgstr "" #: ../../source/cookbook/classification.rst:44 @@ -99,19 +117,29 @@ msgid "Image selection" msgstr "" #: ../../source/cookbook/classification.rst:57 -msgid "The first step consists of selecting the image bands on which to apply the classifier. The number of selected bands (i.e. images) is not limited." +msgid "" +"The first step consists of selecting the image bands on which to apply " +"the classifier. The number of selected bands (i.e. images) is not " +"limited." msgstr "" #: ../../source/cookbook/classification.rst:61 -msgid "Keep in mind that increasing the number of bands to analyse will improve the model but slow down the rendering of the final image." +msgid "" +"Keep in mind that increasing the number of bands to analyse will improve " +"the model but slow down the rendering of the final image." msgstr "" #: ../../source/cookbook/classification.rst:65 -msgid "If multiple images are selected, all selected images should overlap. If masked pixels are found in one of the bands, the classifier will mask them." +msgid "" +"If multiple images are selected, all selected images should overlap. If " +"masked pixels are found in one of the bands, the classifier will mask " +"them." msgstr "" #: ../../source/cookbook/classification.rst:67 -msgid "Select :btn:` Add`. The following screen should be displayed:" +msgid "" +"Select :btn:` Add`. The following screen should be " +"displayed:" msgstr "" #: ../../source/cookbook/classification.rst:74 @@ -119,11 +147,15 @@ msgid "Image type" msgstr "" #: ../../source/cookbook/classification.rst:76 -msgid "Users can select images coming from an **Existing recipe** or an exported **GEE asset** (see advantages and disadvantages below). Both should be an :code:`ee.Image`, rather than a :code:`Time series` or :code:`ee.ImageCollection`." +msgid "" +"Users can select images coming from a **Saved SEPAL recipe** or an " +"exported **Earth Engine asset** (see advantages and disadvantages below)." +" Both should be an :code:`ee.Image`, rather than a :code:`Time series` or" +" :code:`ee.ImageCollection`." msgstr "" #: ../../source/cookbook/classification.rst:78 -msgid "**Existing recipe**:" +msgid "**Saved SEPAL recipe**:" msgstr "" #: ../../source/cookbook/classification.rst:80 @@ -136,7 +168,9 @@ msgid "all of the computed bands from SEPAL can be used; and" msgstr "" #: ../../source/cookbook/classification.rst:83 -msgid "any modification to the existing recipe will be propagated in the final classification." +msgid "" +"any modification to the existing recipe will be propagated in the final " +"classification." msgstr "" #: ../../source/cookbook/classification.rst:85 @@ -145,11 +179,14 @@ msgid "Disadvantages:" msgstr "" #: ../../source/cookbook/classification.rst:87 -msgid "the initial recipe will be computed at each rendering step, slowing down the classification process and potentially breaking on-the-fly rendering due to GEE timeout errors." +msgid "" +"the initial recipe will be computed at each rendering step, slowing down " +"the classification process and potentially breaking on-the-fly rendering " +"due to GEE timeout errors." msgstr "" #: ../../source/cookbook/classification.rst:89 -msgid "**GEE asset**:" +msgid "**Earth Engine asset**:" msgstr "" #: ../../source/cookbook/classification.rst:93 @@ -177,11 +214,18 @@ msgid "Select bands" msgstr "" #: ../../source/cookbook/classification.rst:108 -msgid "For this example, we will use a public asset created with the **Optical mosaic** tool from SEPAL. It's a Sentinel-2 mosaic of Eastern Province in Zambia during the dry season from 2012 to 2020. Multiple bands are available." +msgid "" +"For this example, we will use a public asset created with the **Optical " +"mosaic** tool from SEPAL. It's a Sentinel-2 mosaic of Eastern Province in" +" Zambia during the dry season from 2012 to 2021. Multiple bands are " +"available." msgstr "" #: ../../source/cookbook/classification.rst:110 -msgid "Use the following asset name if you want to reproduce our workflow: :code:`projects/sepal-cookbook/assets/classification/zmb-eastern_2012_2021`" +msgid "" +"Use the following asset name if you want to reproduce our workflow: " +":code:`projects/sepal-cookbook/assets/classification/zmb-" +"eastern_2012_2021`" msgstr "" #: ../../source/cookbook/classification.rst:113 @@ -189,7 +233,12 @@ msgid "Image bands" msgstr "" #: ../../source/cookbook/classification.rst:115 -msgid "Once an asset has been selected, SEPAL will load its bands in the interface. You can use any band that is native to the image as input for the classification process. Simply click on the band name to select them. The selected bands are summarized in the expansion panel title (**1**) and displayed in gold in the pane content (**2**)." +msgid "" +"Once an asset has been selected, SEPAL will load its bands in the " +"interface. You can use any band that is native to the image as input for " +"the classification. Open the :guilabel:`Select bands...` dropdown and " +"click a band name to add it (the highlighted option). Each selected band " +"then appears as a removable chip in the **Image bands** panel." msgstr "" #: ../../source/cookbook/classification.rst:117 @@ -205,7 +254,7 @@ msgid ":code:`nir`" msgstr "" #: ../../source/cookbook/classification.rst:121 -msgid ":code:`swir`" +msgid ":code:`swir1`" msgstr "" #: ../../source/cookbook/classification.rst:122 @@ -217,39 +266,54 @@ msgid "Derived bands" msgstr "" #: ../../source/cookbook/classification.rst:131 -msgid "The analysis is not limited to natively available bands. SEPAL can also build additional derived bands on-the-fly." +msgid "" +"The analysis is not limited to natively available bands. SEPAL can also " +"build additional derived bands on-the-fly." msgstr "" #: ../../source/cookbook/classification.rst:133 -msgid "Select :btn:` Derived bands` at the bottom of the pop-up window and select the deriving method. This will add a a new panel to the expansion panel with the selected method name (**1**). The selected method will be applied to the selected bands." +msgid "" +"Select :btn:` Derived bands` at the bottom of the pop-" +"up window and select the deriving method. This adds a new panel named " +"after the selected method (e.g. **Normalized difference**). The method " +"will be applied to the bands you add to that panel." msgstr "" #: ../../source/cookbook/classification.rst:137 -msgid "If more than two bands are selected, the operation will be applied to the Cartesian product of the bands. If you select bands :math:`A`, :math:`B` and :math:`C`, and apply the :code:`Difference` derived bands, you'll add three bands to your analysis:" +msgid "" +"If you select two bands, :math:`A` and :math:`B`, and apply the " +"**Normalized difference** derived band, you'll add one band to your " +"analysis:" msgstr "" #: ../../source/cookbook/classification.rst:139 -msgid ":math:`A - B`" -msgstr "" - -#: ../../source/cookbook/classification.rst:140 -msgid ":math:`A - C`" +msgid ":math:`(A - B) / (A + B)`" msgstr "" #: ../../source/cookbook/classification.rst:141 -msgid ":math:`B - C`" +msgid "Selecting more than two bands applies the operation to each pair of them." msgstr "" #: ../../source/cookbook/classification.rst:149 -msgid "You should notice that in the figure, we compute the normalized difference between :code:`nir` and :code:`red` (i.e. the NDVI). It is also pre-computed in the :code:`Indexes` derived bands." +msgid "" +"You should notice that in the figure, we compute the normalized " +"difference between :code:`nir` and :code:`red` (i.e. the NDVI). It is " +"also pre-computed in the :code:`Indexes` derived bands." msgstr "" #: ../../source/cookbook/classification.rst:151 -msgid "Once image selection is complete, select :btn:` Apply` and the pop-up window will close. The images and bands will be displayed in the :guilabel:`IMG` panel in the lower-right corner of the screen. By selecting the :btn:`` button, you will remove the image and its band from the analysis altogether." +msgid "" +"Once image selection is complete, select :btn:` Apply`" +" and the pop-up window will close. The images and bands will be displayed" +" in the :guilabel:`IMG` panel in the lower-right corner of the screen. By" +" selecting the :btn:`` button, you will remove the " +"image and its bands from the analysis altogether." msgstr "" #: ../../source/cookbook/classification.rst:157 -msgid "From there, select :btn:` Next` to continue to the next step." +msgid "" +"From there, select :btn:` Next` to continue to" +" the next step." msgstr "" #: ../../source/cookbook/classification.rst:160 @@ -257,11 +321,17 @@ msgid "Legend setup" msgstr "" #: ../../source/cookbook/classification.rst:162 -msgid "In this step, the user will specify the legend that should be used in the output classified image. Any categorical classification that associates integer value to a class name will work. SEPAL provides multiple ways to create and customize a legend." +msgid "" +"In this step, the user will specify the legend that should be used in the" +" output classified image. Any categorical classification that associates " +"integer value to a class name will work. SEPAL provides multiple ways to " +"create and customize a legend." msgstr "" #: ../../source/cookbook/classification.rst:170 -msgid "Legends created here are fully compatible with other functionalities of SEPAL, including applications." +msgid "" +"Legends created here are fully compatible with other functionalities of " +"SEPAL, including applications." msgstr "" #: ../../source/cookbook/classification.rst:173 @@ -269,7 +339,9 @@ msgid "Manual legend" msgstr "" #: ../../source/cookbook/classification.rst:175 -msgid "The first and most natural way of building a legend is to do it from scratch." +msgid "" +"The first and most natural way of building a legend is to do it from " +"scratch." msgstr "" #: ../../source/cookbook/classification.rst:177 @@ -281,7 +353,9 @@ msgid "A class is defined by three key elements:" msgstr "" #: ../../source/cookbook/classification.rst:181 -msgid "Color (1): Select the small color square to open the color selector and choose any color (color[s] must be unique)." +msgid "" +"Color (1): Select the small color square to open the color selector and " +"choose any color (color[s] must be unique)." msgstr "" #: ../../source/cookbook/classification.rst:182 @@ -293,15 +367,26 @@ msgid "Class (3): Insert a class description (cannot be empty)." msgstr "" #: ../../source/cookbook/classification.rst:185 -msgid "Select the :btn:` Add` button again to add an extra class line. The :btn:`` button can be used to remove a specific line." +msgid "" +"Select the :btn:` Add` button again to add an extra " +"class line. The :btn:`` button can be used to remove a" +" specific line." msgstr "" #: ../../source/cookbook/classification.rst:189 -msgid "Select :btn:`HEX` (4) to display the hexadecimal value of the selected color. It can also be used to insert a known color palette by utilizing its values." +msgid "" +"Select :btn:`HEX` (4) to display the hexadecimal value of the selected " +"color. It can also be used to insert a known color palette by utilizing " +"its values." msgstr "" #: ../../source/cookbook/classification.rst:191 -msgid "If multiple classes are created and you are not sure which one to use, you can apply colors to them by selecting a preselected color-map (5). They are provided by the `GEE community `__ and will be applied to every existing class in your panel." +msgid "" +"If multiple classes are created and you are not sure which one to use, " +"you can apply colors to them by selecting a preselected color-map (5). " +"They are provided by the `GEE community `__ and will be applied to every existing class in your " +"panel." msgstr "" #: ../../source/cookbook/classification.rst:198 @@ -309,11 +394,16 @@ msgid "Import legend" msgstr "" #: ../../source/cookbook/classification.rst:200 -msgid "If you already have a file describing your legend, you can use it, rather than identifying every legend item individually. Your legend needs to be saved in .csv format and contain the following information:" +msgid "" +"If you already have a file describing your legend, you can use it, rather" +" than identifying every legend item individually. Your legend needs to be" +" saved in .csv format and contain the following information:" msgstr "" #: ../../source/cookbook/classification.rst:202 -msgid "color (stored as a hexadecimal value [e.g. #FFFF00] or in three columns [red, blue, green]);" +msgid "" +"color (stored as a hexadecimal value [e.g. #FFFF00] or in three columns " +"[red, blue, green]);" msgstr "" #: ../../source/cookbook/classification.rst:203 @@ -325,27 +415,43 @@ msgid "class (stored as a string)." msgstr "" #: ../../source/cookbook/classification.rst:208 -msgid "The column names will help SEPAL predict information, but are not compulsory." +msgid "" +"The column names will help SEPAL predict information, but are not " +"compulsory." msgstr "" #: ../../source/cookbook/classification.rst:210 -msgid "For example, a .csv file containing the following information is fully qualified to be used in SEPAL:" +msgid "" +"For example, a .csv file containing the following information is fully " +"qualified to be used in SEPAL:" msgstr "" #: ../../source/cookbook/classification.rst:227 -msgid "Alternatively, a file containing the following information – including RGB-defined colors – is also acceptable:" +msgid "" +"Alternatively, a file containing the following information – including " +"RGB-defined colors – is also acceptable:" msgstr "" #: ../../source/cookbook/classification.rst:244 -msgid "Once the fully qualified legend file has been prepared on your computer, select :btn:`` and then :code:`Import from CSV`, which will open a pop-up window where you can drag and drop the file or select it manually from your computer files." +msgid "" +"Once the fully qualified legend file has been prepared on your computer, " +"select :btn:`` and then :code:`Import from " +"CSV...`, which will open a pop-up window where you can drag and drop the " +"file or select it manually from your computer files." msgstr "" #: ../../source/cookbook/classification.rst:246 -msgid "As shown in the following image, you can then select the columns that are defining your .csv file (select :btn:`Single column` for hexadecimal-defined colors and :btn:`Multiple columns` for RGB-defined colors)." +msgid "" +"As shown in the following image, you can then select the columns that are" +" defining your .csv file (select :btn:`Single column` for hexadecimal-" +"defined colors and :btn:`Multiple columns` for RGB-defined colors)." msgstr "" #: ../../source/cookbook/classification.rst:252 -msgid "Select :btn:` Apply` to validate your selection. The classes will be added to the legend panel and you'll be able to modify the legend using the parameters presented in the previous subsection." +msgid "" +"Select :btn:` Apply` to validate your selection. The " +"classes will be added to the legend panel and you'll be able to modify " +"the legend using the parameters presented in the previous subsection." msgstr "" #: ../../source/cookbook/classification.rst:258 @@ -353,7 +459,12 @@ msgid "Select :btn:` Done` to validate this step." msgstr "" #: ../../source/cookbook/classification.rst:260 -msgid "Every pane should be closed; the colors of the legend should now be displayed at the bottom of the map. No classification is performed, as we didn't provide any training data. Nevertheless, this step is the last mandatory step for setting parameters. Training data can be added using the on-the-fly training functionality." +msgid "" +"Every pane should be closed; the colors of the legend should now be " +"displayed at the bottom of the map. No classification is performed, as we" +" didn't provide any training data. Nevertheless, this step is the last " +"mandatory step for setting parameters. Training data can be added using " +"the on-the-fly training functionality." msgstr "" #: ../../source/cookbook/classification.rst:263 @@ -361,504 +472,956 @@ msgid "Export legend" msgstr "" #: ../../source/cookbook/classification.rst:265 -msgid "Once your legend is validated, select the :btn:`` and then :code:`Export as CSV`." +msgid "" +"Once your legend is validated, select the :btn:``" +" and then :code:`Export as CSV`." msgstr "" #: ../../source/cookbook/classification.rst:267 -msgid "A file will be downloaded to you computer named :code:`_legend.csv`, which will contain the legend information in the following format:" +msgid "" +"A file will be downloaded to your computer named " +":code:`_legend.csv`, which will contain the legend " +"information in the following format:" msgstr "" #: ../../source/cookbook/classification.rst:277 -msgid "Select training data" -msgstr "" - -#: ../../source/cookbook/classification.rst:281 -msgid "This step is not mandatory." +msgid "Training data setup" msgstr "" -#: ../../source/cookbook/classification.rst:283 +#: ../../source/cookbook/classification.rst:279 msgid "Two inputs are required to create the classification output:" msgstr "" -#: ../../source/cookbook/classification.rst:285 +#: ../../source/cookbook/classification.rst:281 msgid "pixel values (e.g. bands) to classify; and" msgstr "" -#: ../../source/cookbook/classification.rst:286 +#: ../../source/cookbook/classification.rst:282 msgid "training data to set up the classification model." msgstr "" -#: ../../source/cookbook/classification.rst:288 -msgid "This menu will help the user manage the training data of the model used. To open it, select :btn:`TRN` in the lower-right side of the window." +#: ../../source/cookbook/classification.rst:284 +msgid "" +"This menu will help the user manage the training data of the model used. " +"To open it, select :btn:`TRN` in the lower-right side of the window." msgstr "" -#: ../../source/cookbook/classification.rst:295 -msgid "Collected reference data" +#: ../../source/cookbook/classification.rst:291 +msgid "Import existing training data" msgstr "" -#: ../../source/cookbook/classification.rst:297 -msgid "Collected reference data are data selected on the fly by the user. The workflow will be explained later in the documentation." +#: ../../source/cookbook/classification.rst:293 +msgid "" +"Instead of collecting all data by hand, SEPAL provides numerous ways to " +"include already existing training data into your analysis. The data can " +"be from multiple formats and will be included in the model to improve the" +" quality of the final map." msgstr "" -#: ../../source/cookbook/classification.rst:299 -msgid "In this pane, this type of data can be managed by the user. The data appear as a pair, associating coordinates to a class value, which will be used to create training data in the classification model." +#: ../../source/cookbook/classification.rst:297 +msgid "" +"The imported files can use an extended version of the legend provided in " +"the previous step, but to avoid unexpected behaviour, at least one of the" +" classes of your legend and the provided training data need to match." msgstr "" #: ../../source/cookbook/classification.rst:301 -msgid "If you're satisfied with the current selection and you want to share the data with others, select :btn:`` and then :code:`Export reference data to csv`. A file will be created and sent to your computer, named :code:`_reference_data.csv`. It will embed all of the gathered point data using the following convention:" +msgid "" +"If the added training data are outside of the image to classify, they " +"will have no impact on the final result (with the exception of the SEPAL " +"recipe)." msgstr "" -#: ../../source/cookbook/classification.rst:309 -msgid "If you are not satisfied with the selected data, select :btn:`` and then :code:`Clear collected reference data` to remove all collected data from the analysis." +#: ../../source/cookbook/classification.rst:303 +msgid "" +"To add new data, select :btn:` Add` and choose the type" +" of data to import:" msgstr "" -#: ../../source/cookbook/classification.rst:313 -msgid "A confirmation pop-up window should prevent you from accidentally deleting everything." +#: ../../source/cookbook/classification.rst:310 +msgid "CSV" msgstr "" -#: ../../source/cookbook/classification.rst:316 -msgid "Existing training data" +#: ../../source/cookbook/classification.rst:312 +msgid "" +"By selecting :btn:`CSV file`, SEPAL will request a file from your " +"computer in :code:`.csv` format. The file needs to include two pieces of " +"information: geographic coordinates and class value." msgstr "" -#: ../../source/cookbook/classification.rst:318 -msgid "Instead of collecting all data by hand, SEPAL provides numerous ways to include already existing training data into your analysis. The data can be from multiple formats and will be included in the model to improve the quality of the final map." +#: ../../source/cookbook/classification.rst:314 +msgid "" +"This can be done using coordinates in :code:`EPSG:4326` latitude and " +"longitude, as well as a `GeoJSON `__ compatible " +"point object. The file can embed other multiple columns that will not be " +"considered during the analysis." +msgstr "" + +#: ../../source/cookbook/classification.rst:316 +msgid "The following table is compatible with SEPAL:" msgstr "" -#: ../../source/cookbook/classification.rst:322 -msgid "The imported files can use an extended version of the legend provided in the previous step, but to avoid unexpected behaviour, at least one of the classes of your legend and the provided training data need to match." +#: ../../source/cookbook/classification.rst:324 +msgid "" +"The columns used to define the X (longitude) and Y (latitude) coordinates" +" are manually set up in the pop-up window. Select :btn:` Next` once every column is filled." msgstr "" -#: ../../source/cookbook/classification.rst:326 -msgid "If the added training data are outside of the image to classify, they will have no impact on the final result (with the exception of the SEPAL recipe)." +#: ../../source/cookbook/classification.rst:332 +msgid "" +"If your file contains a GeoJSON column instead of coordinates, select " +":btn:`GeoJSON column` to switch the interface to one column selection." msgstr "" -#: ../../source/cookbook/classification.rst:328 -msgid "To add new data, select :btn:` Add` and choose the type of data to import:" +#: ../../source/cookbook/classification.rst:334 +msgid "" +"Now that you have set up the coordinates of your points, SEPAL will ask " +"how the class values (not the names) are stored, through the **Class " +"format** selector:" msgstr "" -#: ../../source/cookbook/classification.rst:335 -msgid "CSV" +#: ../../source/cookbook/classification.rst:336 +msgid "" +"**Single column**: all class values are held in a single column — select " +"that column from your file." msgstr "" #: ../../source/cookbook/classification.rst:337 -msgid "By selecting :btn:`csv file`, SEPAL will request a file from your computer in :code:`.csv` format. The file needs to include two pieces of information: geographic coordinates and class value." +msgid "**Column per class**: each class has its own column." msgstr "" -#: ../../source/cookbook/classification.rst:339 -msgid "This can be done using coordinates in :code:`EPSG:4326` latitude and longitude, as well as a `GeoJSON `__ compatible point object. The file can embed other multiple columns that will not be considered during the analysis." +#: ../../source/cookbook/classification.rst:338 +msgid "**Other format**: use this if your data has a different layout." msgstr "" -#: ../../source/cookbook/classification.rst:341 -msgid "The following table is compatible with SEPAL:" +#: ../../source/cookbook/classification.rst:342 +msgid "" +"Using the :code:`Row filter expression` field, you can keep only the rows" +" that meet a condition — a JavaScript-like expression, referencing your " +"columns by name, that evaluates to ``true`` for the rows to keep (leave " +"it empty to keep all). For example, :code:`class == 30` keeps only the " +"rows in class 30, and :code:`class == 10 || class == 20` keeps classes 10" +" and 20." msgstr "" -#: ../../source/cookbook/classification.rst:349 -msgid "The columns used to define the X (longitude) and Y (latitude) coordinates are manually set up in the pop-up window. Select :btn:` Next` once every column is filled." +#: ../../source/cookbook/classification.rst:348 +msgid "" +"Select :btn:` Next` to add the data to the " +"model. SEPAL will provide a summary of the classes in the legend of the " +"classification and the number of training points added by your file." +msgstr "" + +#: ../../source/cookbook/classification.rst:350 +msgid "" +"Selecting the :btn:` Done` button will complete the " +"uploading procedure." msgstr "" #: ../../source/cookbook/classification.rst:357 -msgid "If your file contains a GeoJSON column instead of coordinates, select :btn:`geojson column` to switch the interface to one column selection." +msgid "GEE table" msgstr "" #: ../../source/cookbook/classification.rst:359 -msgid "Now that you have set up the coordinates of your points, SEPAL will request the columns specifying the class value (not the name) in a second frame. Only the single column is supported so far. Select the column from your file that embeds the class values." +msgid "" +"By selecting :btn:`Earth Engine Table`, SEPAL will request a file from " +"your computer in :code:`.csv` format. The file needs to provide two " +"pieces of information: geographic coordinates and class value." msgstr "" -#: ../../source/cookbook/classification.rst:363 -msgid "Using the :code:`row filter expression` text field, one can filter out some lines of the table. Refer to the `features <#>`__ section to learn more." +#: ../../source/cookbook/classification.rst:361 +msgid "" +"The process is nearly the same as found in the documentation above " +"discussing .csv tables. The only difference should be the geometry " +"column, as GEE assets usually embed a :code:`.geojson` column by default." +" If this column exists, it will be autodetected by SEPAL." msgstr "" -#: ../../source/cookbook/classification.rst:369 -msgid "Select :btn:` next` to add the data to the model. SEPAL will provide a summary of the classes in the legend of the classification and the number of training points added by your file." +#: ../../source/cookbook/classification.rst:363 +msgid "" +"For the other steps, please reproduce what was presented in the .csv " +"section above." msgstr "" #: ../../source/cookbook/classification.rst:371 -msgid "Selecting the :btn:` Done` button will complete the uploading procedure." +msgid "" +"To build the documentation example, use this public asset: " +":code:`projects/sepal-" +"cookbook/assets/classification/zmb_eastern_esa_2012_2021_reference_data`." +msgstr "" + +#: ../../source/cookbook/classification.rst:374 +msgid "Sample classification" +msgstr "" + +#: ../../source/cookbook/classification.rst:376 +msgid "" +"Instead of providing dataset points, SEPAL can also extract reference " +"data from an already existing classification – which is a good way to " +"improve an already existing classification system using an image with a " +"better resolution." msgstr "" #: ../../source/cookbook/classification.rst:378 -msgid "GEE table" +msgid "" +"To sample data, SEPAL will randomly select a number of points in each " +"class and extract the class value using the provided resolution." msgstr "" #: ../../source/cookbook/classification.rst:380 -msgid "By selecting :btn:`Earth Engine Table`, SEPAL will request a file from your computer in :code:`.csv` format. The file needs to provide two pieces of information: geographic coordinates and class value." +msgid "" +"Start by selecting :btn:`Sample classification` in the opened pop-up " +"window, where all of the parameters can be set:" msgstr "" #: ../../source/cookbook/classification.rst:382 -msgid "The process is nearly the same as found in the documentation above discussing .csv tables. The only difference should be the geometry column, as GEE assets usually embed a :code:`.goejson` column by default. If this column exists, it will be autodetected by SEPAL." -msgstr "" - -#: ../../source/cookbook/classification.rst:384 -msgid "For the other steps, please reproduce what was presented in the .csv section above." +msgid "" +"**Samples per class**: the number of samples per class of the provided " +"image. The more samples you request, the more accurate the model will be " +"(if too many samples are selected, on-the-fly visualization will never " +"render). The default is :code:`100`, but you can pick other preset " +"values, such as the :code:`1000` used in this example." msgstr "" -#: ../../source/cookbook/classification.rst:392 -msgid "To build the documentation example, use this public asset: :code:`projects/sepal-cookbook/assets/classification/zmb_eastern_esa_2012_2021_reference_data`." +#: ../../source/cookbook/classification.rst:383 +msgid "" +"**Scale to sample in**: the scale used to create the sample in the " +"provided image (it should match the image to classify resolution; default" +" to: :code:`30 m`)." msgstr "" -#: ../../source/cookbook/classification.rst:395 -msgid "Sample classification" +#: ../../source/cookbook/classification.rst:384 +msgid "" +"**Image source**: choose whether to sample from an existing :guilabel:`EE" +" Asset` or a saved :guilabel:`Recipe`." msgstr "" -#: ../../source/cookbook/classification.rst:397 -msgid "Instead of providing dataset points, SEPAL can also extract reference data from an already existing classification – which is a good way to improve an already existing classification system using an image with a better resolution." +#: ../../source/cookbook/classification.rst:385 +msgid "" +"**EE asset ID of classification**: when :guilabel:`EE Asset` is selected," +" the ID of the classification to sample (it should be an :code:`ee.Image`" +" accessible to the user). When :guilabel:`Recipe` is selected instead, " +"choose one of your saved classification recipes to sample." msgstr "" -#: ../../source/cookbook/classification.rst:399 -msgid "To sample data, SEPAL will randomly select a number of points in each class and extract the class value using the provided resolution." +#: ../../source/cookbook/classification.rst:386 +msgid "" +"**Class band**: The class to use for classification value (the dropdown " +"menu will be filled with the bands found in the provided asset or " +"recipe)." msgstr "" -#: ../../source/cookbook/classification.rst:401 -msgid "Start by selecting btn:`Sample classification` in the opened pop-up window, where all of the the parameters can be set:" +#: ../../source/cookbook/classification.rst:394 +msgid "" +"When all of the parameters are selected, it can take time, as SEPAL " +"builds the sampling values on the fly. They will only be displayed once " +"the sampling is validated." msgstr "" -#: ../../source/cookbook/classification.rst:403 -msgid "**Sample per class**: the number of samples per class of the provided image. The more samples you request, the more accurate the model will be (if too many samples are selected, on-the-fly visualization will never render; default to: :code:`1000`)." +#: ../../source/cookbook/classification.rst:396 +msgid "" +"Select :btn:` Next` to display the sampling " +"summary. In this pane, SEPAL displays each class of the legend (as " +"defined in the previous subsection) and the number of samples created for" +" it." msgstr "" -#: ../../source/cookbook/classification.rst:404 -msgid "**Scale to sample in**: the scale used to create the sample in the provided image (it should match the image to classify resolution; default to: :code:`30 m`)." +#: ../../source/cookbook/classification.rst:398 +msgid "" +"Each class shows its sample count next to a green :btn:`` button — use it to change the number of samples for that class. By" +" default, SEPAL ignores the samples with a :code:`Null` value; select " +":btn:`Default` on any class so that these points end up in the default " +"class instead of being ignored." msgstr "" #: ../../source/cookbook/classification.rst:405 -msgid "**EE asset ID**: the ID of the classification to sample (it should be an :code:`ee.Image` accessible to the user)." +msgid "SEPAL recipe" msgstr "" -#: ../../source/cookbook/classification.rst:406 -msgid "**Class band**: The class to use for classification value (the dropdown menu will be filled with the bands found in the provided asset)." +#: ../../source/cookbook/classification.rst:407 +msgid "" +"SEPAL is also able to directly apply a model built in another recipe as " +"training data. In this case, we are not importing the points, but all of " +"the model from the external recipe. It will not add points to the map. " +"It's useful when the same classification needs to be applied on the same " +"area for multiple years. The classification work can be carried out only " +"in the first year and then applied recursively on all the others." msgstr "" -#: ../../source/cookbook/classification.rst:410 -msgid "To reproduce this example, use the following asset as an image to sample: :code:`projects/sepal-cookbook/assets/classification/zmb_copernicus_landcover`." +#: ../../source/cookbook/classification.rst:409 +msgid "" +"Select :btn:`Saved SEPAL recipe` to open the pop-up window. In the " +"dropdown menu, select one of the recipes saved in your SEPAL account." msgstr "" -#: ../../source/cookbook/classification.rst:418 -msgid "When all of the parameters are selected, it can take time, as SEPAL builds the sampling values on the fly. They will only be displayed once the sampling is validated." +#: ../../source/cookbook/classification.rst:413 +msgid "" +"The imported recipe needs to be a **Classification** recipe. If none are " +"found, the dropdown menu will be empty." msgstr "" -#: ../../source/cookbook/classification.rst:420 -msgid "Select :btn:` Next` to display the sampling summary. In this pane, SEPAL displays each class of the legend (as defined in the previous subsection) and the number of samples created for it." +#: ../../source/cookbook/classification.rst:415 +msgid "This recipe cannot come from another SEPAL account." msgstr "" #: ../../source/cookbook/classification.rst:422 -msgid "Select the :btn:`` buttons (**1**) to change the number of samples in a specific class. By default, SEPAL ignores the samples with a :code:`Null` value. One can select :btn:`Default` (**2**) for any of the classes so that these points end up in the default class instead of being ignored." +msgid "Collect Earth Online" +msgstr "" + +#: ../../source/cookbook/classification.rst:427 +msgid "" +"SEPAL can import training data you have collected in a `Collect Earth " +"Online `__ (CEO) project directly, without " +"exporting and re-uploading a file. Select :btn:`Collect Earth Online` to " +"open the panel." msgstr "" #: ../../source/cookbook/classification.rst:429 -msgid "SEPAL recipe" +msgid "**Connect to your CEO account**" msgstr "" #: ../../source/cookbook/classification.rst:431 -msgid "SEPAL is also able to directly apply a model built in another recipe as training data. In this case, we are not importing the points, but all of the model from the external recipe. It will not add points to the map. It's useful when the same classification needs to be applied on the same area for multiple years. The classification work can be carried out only in the first year and then applied recursively on all the others." +msgid "The panel starts as :ceo-disconnected:`Disconnected from CEO`." msgstr "" #: ../../source/cookbook/classification.rst:433 -msgid "Select :btn:`Saved SEPAL recipe` to open the pop-up window. In the dropdown menu, select one of the recipes saved in your SEPAL account." +msgid "" +"Select :btn:`Connect` to open the **Collect Earth Online Authentication**" +" window, enter your :code:`CEO Email` and :code:`CEO Password`, and " +"select :btn:`Connect` again." msgstr "" #: ../../source/cookbook/classification.rst:437 -msgid "The imported recipe needs to be a **Classification** recipe. If none are found, the dropdown menu will be empty." +msgid "" +"Your credentials are never stored on SEPAL servers. When your SEPAL " +"session ends, the CEO connection is terminated automatically. You can " +"also select :btn:`Disconnect` at any time to end it manually." msgstr "" #: ../../source/cookbook/classification.rst:439 -msgid "This recipe cannot come from another SEPAL account." +msgid "**Select the institution and project**" msgstr "" -#: ../../source/cookbook/classification.rst:446 -msgid "Use auxiliary datasets" +#: ../../source/cookbook/classification.rst:441 +msgid "Once connected (:ceo-connected:`You are connected to CEO`), fill in:" +msgstr "" + +#: ../../source/cookbook/classification.rst:443 +msgid "" +"**Institution**: the CEO institution to pull data from. Only institutions" +" where you are both a **member** and an **admin** are listed." msgstr "" -#: ../../source/cookbook/classification.rst:448 -msgid "Some information that could be useful to the classification model is not always included in your image bands. A common example is **Elevation**. In order to improve the quality of the classification, SEPAL can provide some extra datasets to add auxiliary bands to the classification model." +#: ../../source/cookbook/classification.rst:444 +msgid "" +"**Project**: the project within that institution whose collected data you" +" want to use." msgstr "" -#: ../../source/cookbook/classification.rst:450 -msgid "Select :btn:`AUX` to open the **Auxiliaries** tab. Three sources are currently implemented in the platform (any number of them can be selected):" +#: ../../source/cookbook/classification.rst:445 +msgid "" +"**Data type**: whether to import the project's :guilabel:`Plot` " +"(aggregated plot) data or its :guilabel:`Sample` data." msgstr "" -#: ../../source/cookbook/classification.rst:452 -msgid "**Latitude**: On-the-fly latitude dataset built from the coordinates of each pixel's center." +#: ../../source/cookbook/classification.rst:451 +msgid "" +"SEPAL then loads the collected data, ready to be mapped to your legend in" +" the next two steps." msgstr "" #: ../../source/cookbook/classification.rst:453 -msgid "**Terrain**: From the `NASA SRTM Digital Elevation 30 m `__ dataset, SEPAL will use the :code:`Elevation`, :code:`Slope` and :code:`Aspect` bands. It will also add an :code:`Eastness` and :code:`Northness` band derived from :code:`Aspect`." +msgid "**Set the location**" msgstr "" -#: ../../source/cookbook/classification.rst:454 -msgid "**Water**: From the `JRC Global Surface Water Mapping Layers, v1.3 `__ dataset, SEPAL will add the following bands: :code:`occurrence`, :code:`change_abs`, :code:`change_norm`, :code:`seasonality`, :code:`max_extent`, :code:`water_occurrence`, :code:`water_change_abs`, :code:`water_change_norm`, :code:`water_seasonality` and :code:`water_max_extent`." +#: ../../source/cookbook/classification.rst:455 +msgid "" +"SEPAL reads the point locations from the data and pre-fills the " +"**Location type** (:guilabel:`X/Y coordinate columns` or " +":guilabel:`GeoJSON column`) together with the matching coordinate " +"columns. These are detected automatically from the CEO data, so you can " +"usually confirm them as they are." msgstr "" -#: ../../source/cookbook/classification.rst:461 -msgid "Classifier configuration" +#: ../../source/cookbook/classification.rst:457 +msgid "**Set the class format**" msgstr "" -#: ../../source/cookbook/classification.rst:465 -msgid "Customizing the classifier is a section designed for advanced users. Make sure that you thoroughly understand how the classifier you're using works before changing its parameters." +#: ../../source/cookbook/classification.rst:459 +msgid "" +"Tell SEPAL how the class values are stored in the CEO data, through the " +"**Class format** selector:" msgstr "" -#: ../../source/cookbook/classification.rst:469 -msgid "The default value is a **Random Forest** classifier using 25 trees." +#: ../../source/cookbook/classification.rst:461 +msgid "**Single column**: all class values are held in a single column." msgstr "" -#: ../../source/cookbook/classification.rst:471 -msgid "The **Classification** tool used in SEPAL is based on the `Smile - Statistical Machine Intelligence and Learning Engine Javascript `__ library (refer to their documentation for specific descriptions of each model)." +#: ../../source/cookbook/classification.rst:462 +msgid "" +"**Column per class**: each class has its own column. CEO data is mostly " +"organized this way." msgstr "" -#: ../../source/cookbook/classification.rst:473 -msgid "Select :btn:`CLS` to open the **Classification parameter** menu. SEPAL supports seven classifiers:" +#: ../../source/cookbook/classification.rst:463 +msgid "**Other format**: use this if your reference data has a different layout." msgstr "" -#: ../../source/cookbook/classification.rst:475 -msgid "random forest" +#: ../../source/cookbook/classification.rst:465 +msgid "" +"SEPAL pre-selects the format based on the chosen data type, but you can " +"change it." msgstr "" -#: ../../source/cookbook/classification.rst:476 -msgid "gradient tree boost" +#: ../../source/cookbook/classification.rst:467 +msgid "" +"Select :btn:` Next` to reach the class " +"summary, which lists each legend class. For every class, select the :btn" +":`` button to choose the column that corresponds to it," +" then select :btn:` Done` to add the reference data to" +" the model." msgstr "" -#: ../../source/cookbook/classification.rst:477 -msgid "cart" +#: ../../source/cookbook/classification.rst:474 +msgid "Manage collected reference data" msgstr "" -#: ../../source/cookbook/classification.rst:478 -msgid "naive bayes" +#: ../../source/cookbook/classification.rst:476 +msgid "" +"Collected reference data are the points you add directly on the map with " +"the on-the-fly training tool, described in the `On-the-fly training`_ " +"section. Each point pairs a set of coordinates with a class value. Select" +" the :btn:`` button — to the right of the :btn" +":` Add` button in the :btn:`TRN` tab — to manage them:" msgstr "" -#: ../../source/cookbook/classification.rst:479 -msgid "SVM" +#: ../../source/cookbook/classification.rst:478 +msgid "" +"**Export reference data to CSV**: download a " +":code:`_reference_data.csv` file to share your points with " +"others. It will embed all of the gathered point data using the following " +"convention:" msgstr "" -#: ../../source/cookbook/classification.rst:480 -msgid "min distance" +#: ../../source/cookbook/classification.rst:486 +msgid "" +"**Clear collected reference data**: remove every collected point from the" +" analysis." msgstr "" -#: ../../source/cookbook/classification.rst:481 -msgid "decision tree" +#: ../../source/cookbook/classification.rst:490 +msgid "A confirmation pop-up prevents you from accidentally deleting everything." msgstr "" -#: ../../source/cookbook/classification.rst:483 -msgid "For each of them, the workflow is the same:" +#: ../../source/cookbook/classification.rst:493 +msgid "Use auxiliary datasets" msgstr "" -#: ../../source/cookbook/classification.rst:485 -msgid "Select the classifier by clicking on the corresponding name. SEPAL will display some of the parameters available." +#: ../../source/cookbook/classification.rst:495 +msgid "" +"Some information that could be useful to the classification model is not " +"always included in your image bands. A common example is **Elevation**. " +"In order to improve the quality of the classification, SEPAL can provide " +"some extra datasets to add auxiliary bands to the classification model." msgstr "" -#: ../../source/cookbook/classification.rst:486 -msgid "Select :btn:`More` on the lower-left side of the panel to fully customize your classifier. The classification results will be updated on the fly." +#: ../../source/cookbook/classification.rst:497 +msgid "" +"Select :btn:`AUX` to open the **Auxiliaries** tab. Three sources are " +"currently implemented in the platform (any number of them can be " +"selected):" msgstr "" #: ../../source/cookbook/classification.rst:499 -msgid "On-the-fly training" +msgid "" +"**Latitude**: On-the-fly latitude dataset built from the coordinates of " +"each pixel's center." msgstr "" -#: ../../source/cookbook/classification.rst:503 -msgid "This process requires a good understanding of the **Visualization** feature of SEPAL (refer to the `feature <#>`__ section for more information)." +#: ../../source/cookbook/classification.rst:500 +msgid "" +"**Terrain**: From the `NASA SRTM Digital Elevation 30 m " +"`__ dataset, SEPAL will use the " +":code:`Elevation`, :code:`Slope` and :code:`Aspect` bands. It will also " +"add an :code:`Eastness` and :code:`Northness` band derived from " +":code:`Aspect`." msgstr "" -#: ../../source/cookbook/classification.rst:505 -msgid "Once all of the parameters are set, the user is free to add extra training data in the web interface and the new points will be added to the final model, improving the quality of the classification." +#: ../../source/cookbook/classification.rst:501 +msgid "" +"**Water**: From the `JRC Global Surface Water Mapping Layers, v1.3 " +"`__ dataset, SEPAL " +"will add the following bands: :code:`occurrence`, :code:`change_abs`, " +":code:`change_norm`, :code:`seasonality`, :code:`max_extent`, " +":code:`water_occurrence`, :code:`water_change_abs`, " +":code:`water_change_norm`, :code:`water_seasonality` and " +":code:`water_max_extent`." msgstr "" #: ../../source/cookbook/classification.rst:508 -msgid "Set up the view" +msgid "Classifier configuration" msgstr "" -#: ../../source/cookbook/classification.rst:510 -msgid "In order to improve the classification, one must set up the view to display all of the information. While these guidelines could be modified and extended, they are still useful as an introductory resource." +#: ../../source/cookbook/classification.rst:512 +msgid "" +"Customizing the classifier is a section designed for advanced users. Make" +" sure that you thoroughly understand how the classifier you're using " +"works before changing its parameters." msgstr "" -#: ../../source/cookbook/classification.rst:512 -msgid "In the following image, we displayed:" +#: ../../source/cookbook/classification.rst:516 +msgid "The default value is a **Random Forest** classifier using 25 trees." msgstr "" -#: ../../source/cookbook/classification.rst:514 -msgid "The current recipe (**1**) using the class colors in categorical mode." +#: ../../source/cookbook/classification.rst:518 +msgid "" +"The **Classification** tool used in SEPAL is based on the `Smile - " +"Statistical Machine Intelligence and Learning Engine Javascript " +"`__ library (refer to " +"their documentation for specific descriptions of each model)." msgstr "" -#: ../../source/cookbook/classification.rst:515 -msgid "The current image (what you are classifying) (**2**) using the NIR,RED,SWIR band combination." +#: ../../source/cookbook/classification.rst:520 +msgid "" +"Select :btn:`CLS` to open the **Classification parameter** menu. SEPAL " +"supports seven classifiers:" msgstr "" -#: ../../source/cookbook/classification.rst:516 -msgid "The extra visual dataset NICFI Planet Lab data (**3**) from 2021." +#: ../../source/cookbook/classification.rst:522 +msgid "Random Forest" msgstr "" -#: ../../source/cookbook/classification.rst:518 -msgid "The number (4) indicates a cluster of existing training points. Zoom in and they will be displayed as markers using the color of the class they mark (**5**)." +#: ../../source/cookbook/classification.rst:523 +msgid "Gradient tree boost" msgstr "" -#: ../../source/cookbook/classification.rst:522 -msgid "This initial classification has been set using sampled data. Since they are sampled from a larger image, some are out of the image. They will have no impact on the classification as they are applied to masked pixels (**6**)." +#: ../../source/cookbook/classification.rst:524 +msgid "Cart" msgstr "" -#: ../../source/cookbook/classification.rst:530 -msgid "Select points" +#: ../../source/cookbook/classification.rst:525 +msgid "Naive bayes" msgstr "" -#: ../../source/cookbook/classification.rst:532 -msgid "To start adding points, open the training interface by selecting :btn:`` in the upper right of the screen (**1**). Once selected, the background color becomes darker and the pointer of the mouse becomes a :icon:`fa-solid fa-plus`." +#: ../../source/cookbook/classification.rst:526 +msgid "SVM" msgstr "" -#: ../../source/cookbook/classification.rst:534 -msgid "The process to add new training data is as follows:" +#: ../../source/cookbook/classification.rst:527 +msgid "Min distance" msgstr "" -#: ../../source/cookbook/classification.rst:536 -msgid "**Click on the map to select a point**: You can click in any of the panes (not restricted to the **Recipe** pane), but to be useful, the point needs to be within the border of the AOI. If it's not already the case, the **Class selection** panel will appear in the upper right of the window (**2**)." +#: ../../source/cookbook/classification.rst:528 +msgid "Decision tree" msgstr "" -#: ../../source/cookbook/classification.rst:537 -msgid "**Select the class value**: The previous class value is preselected, but you can change it to any other class value from the defined legend. The legend is displayed as :code:` ()`." +#: ../../source/cookbook/classification.rst:530 +msgid "For each of them, the workflow is the same:" msgstr "" -#: ../../source/cookbook/classification.rst:539 -msgid "You can now click elsewhere on the map to add another point. If you are satisfied with the classification, select :btn:` Close` (3) and select :btn:`` again to stop editing the points. Every time a new point is added, the **Classification** map is recomputed and rendered on the left side." +#: ../../source/cookbook/classification.rst:532 +msgid "" +"Select the classifier by clicking on the corresponding name. SEPAL will " +"display some of the parameters available." msgstr "" -#: ../../source/cookbook/classification.rst:546 -msgid "Modify existing points" +#: ../../source/cookbook/classification.rst:533 +msgid "" +"Select :btn:`More` on the lower-left side of the panel to fully customize" +" your classifier. The classification results will be updated on the fly." msgstr "" -#: ../../source/cookbook/classification.rst:548 -msgid "To modify existing points, select the :btn:`` to open the **Point editing** interface. Then:" +#: ../../source/cookbook/classification.rst:546 +msgid "Refine the classification" msgstr "" #: ../../source/cookbook/classification.rst:550 -msgid "**Select a point**: To select a point, click on an existing marker. It will appear bolder than the others. If it's not already the case, the **Class selection** pane will appear in the upper right." +msgid "" +"This process requires a good understanding of the **Visualization** " +"feature of SEPAL (see :doc:`../feature/visualization` for more " +"information)." msgstr "" -#: ../../source/cookbook/classification.rst:551 -msgid "**Change the class value**: The point class will be selected in the **Editing** menu with a :icon:`fa-solid fa-check`. Select any other class value to change it." +#: ../../source/cookbook/classification.rst:552 +msgid "" +"Once all of the parameters are set, you can refine the classification " +"directly on the map: set up the view, add or edit training points on the " +"fly, and check the model's confidence." msgstr "" -#: ../../source/cookbook/classification.rst:554 -msgid "Check the validity" +#: ../../source/cookbook/classification.rst:555 +msgid "Set up the view" msgstr "" -#: ../../source/cookbook/classification.rst:556 -msgid "SEPAL embeds information to help the user understand if the amount of training data is sufficient to produce an accurate classification model. In the **Recipe** window, change the **Band combination** to :code:`Class probability`." +#: ../../source/cookbook/classification.rst:557 +msgid "" +"In order to improve the classification, one must set up the view to " +"display all of the information; you choose what the map shows from the " +"**Layers** panel. Select the :btn:`` layers-to-" +"show icon in the top-right of the screen to open the panel, then:" msgstr "" -#: ../../source/cookbook/classification.rst:558 -msgid "The user now sees the probability of the model (i.e. the confidence level of the level with output class for each pixel)." +#: ../../source/cookbook/classification.rst:559 +msgid "" +"Pick a layout mode — :guilabel:`Grid` to split the map into several panes" +" side by side, or :guilabel:`Stack` to overlay the layers in a single " +"pane." msgstr "" #: ../../source/cookbook/classification.rst:560 -msgid "If the value is high (> 80 percent), then the pixel can be considered valid; if the value is low (< 80 percent), the model needs more training data or extra bands to improve the analysis." +msgid "" +"Drag and drop each layer onto a position (centre, a side, or a corner) to" +" choose where it appears; drag it between positions to rearrange it, or " +"off the areas to remove it." +msgstr "" + +#: ../../source/cookbook/classification.rst:561 +msgid "" +"If the layer you need is not already in the panel, select :btn:` Add` to add a source: **Add a SEPAL recipe**, **Add an Earth " +"Engine asset**, or **Add a Planet account**." msgstr "" -#: ../../source/cookbook/classification.rst:562 -msgid "In the example image, the lake is classified as a **permanent water body** with a confidence of 65 percent, which is higher than the rest of the vegetation around it." +#: ../../source/cookbook/classification.rst:567 +msgid "" +"With your layers arranged, the map displays them together so you can " +"compare them while adding training data." msgstr "" -#: ../../source/cookbook/classification.rst:568 -msgid "This analysis can also be conducted class-by-class using the built-in :code:` %` bands. Select the one corresponding to the class you want to assess (see the following image) and you'll get the percentage of confidence for each pixel to be in the sub-mentioned class." +#: ../../source/cookbook/classification.rst:569 +msgid "In the following image, we displayed:" msgstr "" -#: ../../source/cookbook/classification.rst:575 -msgid "Export" +#: ../../source/cookbook/classification.rst:571 +msgid "The current recipe (**1**) using the class colors in categorical mode." msgstr "" -#: ../../source/cookbook/classification.rst:579 -msgid "You cannot export a recipe as an asset or a :code:`.tiff` file without a small computation quota. If you are a new user, see :doc:`../setup/resource`." +#: ../../source/cookbook/classification.rst:572 +msgid "" +"The current image (what you are classifying) (**2**) using the " +"NIR,RED,SWIR1 band combination." msgstr "" -#: ../../source/cookbook/classification.rst:582 -msgid "Start download" +#: ../../source/cookbook/classification.rst:573 +msgid "The extra visual dataset NICFI Planet Lab data (**3**) from 2021." +msgstr "" + +#: ../../source/cookbook/classification.rst:575 +msgid "" +"The number (4) indicates a cluster of existing training points. Zoom in " +"and they will be displayed as markers using the color of the class they " +"mark (**5**)." msgstr "" -#: ../../source/cookbook/classification.rst:584 -msgid "Selecting the :icon:`fa-solid fa-cloud-arrow-down` tab will open the **Retrieve** pane, where you can select the exportation parameters (**1**)." +#: ../../source/cookbook/classification.rst:583 +msgid "" +"This initial classification has been set using sampled data. Since they " +"are sampled from a larger image, some are out of the image. They will " +"have no impact on the classification as they are applied to masked pixels" +" (**6**)." msgstr "" -#: ../../source/cookbook/classification.rst:586 -msgid "You need to select the band to export (**2**). There is no maximum number of bands; however, exporting useless bands will only increase the size and time of the output." +#: ../../source/cookbook/classification.rst:587 +msgid "On-the-fly training" msgstr "" -#: ../../source/cookbook/classification.rst:588 -msgid "You can set a custom scale for exportation (**3**) by changing the value of the slider in metres (m). (Note: Requesting a smaller resolution than images' native resolution will not improve the quality of the output – just its size; keep in mind that the native resolution of Sentinel data is 10 m, while Landsat is 30 m.)" +#: ../../source/cookbook/classification.rst:589 +msgid "" +"You are free to add extra training data in the web interface; each new " +"point is added to the final model, improving the quality of the " +"classification." msgstr "" -#: ../../source/cookbook/classification.rst:590 -msgid "You can export the image to the :btn:`SEPAL workspace` or to the :btn:`Google Earth Engine Asset` list. The same image will be exported, but for the former, you will find it in :code:`.tif` format in the :code:`Downloads` folder; for the latter, the image will be exported to your **GEE account asset list**." +#: ../../source/cookbook/classification.rst:592 +msgid "Select points" msgstr "" #: ../../source/cookbook/classification.rst:594 -msgid "If :btn:`Google Earth Engine Asset` is not displayed, your GEE account is not connected to SEPAL. Refer to `Connect SEPAL to GEE <../setup/gee.html>`__." +msgid "" +"To start adding points, open the training interface by selecting :btn" +":`` in the upper right of the screen (**1**). " +"Once selected, the background color becomes darker and the pointer of the" +" mouse becomes a :icon:`fa-solid fa-plus`." msgstr "" #: ../../source/cookbook/classification.rst:596 -msgid "Select :btn:` Apply` to start the download process." +msgid "The process to add new training data is as follows:" msgstr "" -#: ../../source/cookbook/classification.rst:603 -msgid "Exportation status" +#: ../../source/cookbook/classification.rst:598 +msgid "" +"**Click on the map to select a point**: You can click in any of the panes" +" (not restricted to the **Recipe** pane), but to be useful, the point " +"needs to be within the border of the AOI. If it's not already the case, " +"the **Class selection** panel will appear in the upper right of the " +"window (**2**)." msgstr "" -#: ../../source/cookbook/classification.rst:605 -msgid "By going to the **Tasks** tab (in the lower-left corner using the :btn:`` or :btn:`` buttons, depending on the loading status), you will see the list of different loading tasks." +#: ../../source/cookbook/classification.rst:599 +msgid "" +"**Select the class value**: The previous class value is preselected, but " +"you can change it to any other class value from the defined legend. The " +"legend is displayed as :code:` ()`." msgstr "" -#: ../../source/cookbook/classification.rst:607 -msgid "The interface will provide you with information about the task progress and display an error if the exportation has failed. If you are unsatisfied with the way we present information, the task can also be monitored using the `GEE task manager `__." +#: ../../source/cookbook/classification.rst:601 +msgid "" +"You can now click elsewhere on the map to add another point. If you are " +"satisfied with the classification, select :btn:` " +"Close` (3) and select :btn:`` again to stop " +"editing the points. Every time a new point is added, the " +"**Classification** map is recomputed and rendered on the left side." msgstr "" -#: ../../source/cookbook/classification.rst:611 -msgid "This operation is running between GEE and SEPAL servers in the background. You can close the SEPAL page without ending the process." +#: ../../source/cookbook/classification.rst:608 +msgid "Modify existing points" msgstr "" -#: ../../source/cookbook/classification.rst:613 -msgid "When the task is finished, the frame will be displayed in green, as shown in the second image below." +#: ../../source/cookbook/classification.rst:610 +msgid "" +"To modify existing points, select the :btn:`` " +"to open the **Point editing** interface. Then:" msgstr "" -#: ../../source/cookbook/classification.rst:626 -msgid "Access" +#: ../../source/cookbook/classification.rst:612 +msgid "" +"**Select a point**: To select a point, click on an existing marker. It " +"will appear bolder than the others. If it's not already the case, the " +"**Class selection** pane will appear in the upper right." msgstr "" -#: ../../source/cookbook/classification.rst:628 -msgid "Once the download process is done, you can access the data in your **SEPAL folders**. The data will be stored in the :code:`Downloads` folder using the following format:" +#: ../../source/cookbook/classification.rst:613 +msgid "" +"**Change the class value**: The point class will be selected in the " +"**Editing** menu with a :icon:`fa-solid fa-check`. Select any other class" +" value to change it." msgstr "" -#: ../../source/cookbook/classification.rst:643 -msgid "Understanding how images are stored in an optical mosaic is only required if you want to manually use them. The SEPAL applications are bound to this tiling system and can digest this information for you." +#: ../../source/cookbook/classification.rst:616 +msgid "Check the validity" msgstr "" -#: ../../source/cookbook/classification.rst:645 -msgid "The data are stored in a folder using the name of the optical mosaic as it was created in the first section of this article. As the data are spatially too big to be exported at once, they are divided into smaller pieces and brought back together in a :code:`_.vrt` file." +#: ../../source/cookbook/classification.rst:618 +msgid "" +"SEPAL embeds information to help the user understand if the amount of " +"training data is sufficient to produce an accurate classification model. " +"In the **Recipe** window, select the :btn:`` button at " +"the bottom centre of the map to open the layer's options, then change the" +" **Bands** selector to :code:`Class probability`." msgstr "" -#: ../../source/cookbook/classification.rst:649 -msgid "The full folder with a consistent tree folder is required to read the `.vrt`." +#: ../../source/cookbook/classification.rst:620 +msgid "" +"The user now sees the probability of the model (i.e. the confidence level" +" of the output class for each pixel)." msgstr "" -#~ msgid "" -#~ "With this recipe, SEPAL will help " -#~ "users build a supervised classification " -#~ "of any mosaic image. It is built" -#~ " on top of the most advanced " -#~ "tools available on Google Earth Engine" -#~ " (including the classifiers CART, " -#~ "RandomForest, NaiveBayes and SVM), allowing" -#~ " users to create an easy-to-use" -#~ " user interface to:" -#~ msgstr "" +#: ../../source/cookbook/classification.rst:622 +msgid "" +"If the value is high (> 80 percent), then the pixel can be considered " +"valid; if the value is low (< 80 percent), the model needs more training " +"data or extra bands to improve the analysis." +msgstr "" -#~ msgid "select the image to classify" -#~ msgstr "" +#: ../../source/cookbook/classification.rst:624 +msgid "" +"In the example image, the lake is classified as a **permanent water " +"body** with a confidence of 65 percent, which is higher than the rest of " +"the vegetation around it." +msgstr "" -#~ msgid "add training data from external sources and on the fly selection" -#~ msgstr "" +#: ../../source/cookbook/classification.rst:630 +msgid "" +"This analysis can also be conducted class-by-class using the built-in " +":code:` %` bands. Select the one corresponding to the class " +"you want to assess (see the following image) and you'll get the " +"percentage of confidence for each pixel to be in the sub-mentioned class." +msgstr "" -#~ msgid "" -#~ "Once the classification recipe is " -#~ "selected, SEPAL will show the recipe " -#~ "process in a new tab (1) and " -#~ "the image selection window will appear" -#~ " on the lower-right side (2)." -#~ msgstr "" +#: ../../source/cookbook/classification.rst:637 +msgid "Export" +msgstr "" -#~ msgid "" +#: ../../source/cookbook/classification.rst:641 +msgid "" +"You cannot export a recipe as an asset or a :code:`.tif` file without a " +"small computation quota. If you are a new user, see " +":doc:`../setup/resource`." +msgstr "" + +#: ../../source/cookbook/classification.rst:644 +msgid "Start download" +msgstr "" + +#: ../../source/cookbook/classification.rst:646 +msgid "" +"Selecting the :icon:`fa-solid fa-cloud-arrow-down` tab will open the " +"**Retrieve** pane where you can select the exportation parameters." +msgstr "" + +#: ../../source/cookbook/classification.rst:653 +msgid "Bands" +msgstr "" + +#: ../../source/cookbook/classification.rst:655 +msgid "" +"You need to select the band(s) to export. There is no maximum number of " +"bands, but exporting useless bands will only increase the size and time " +"of the output. The available bands include the classified Class band, the" +" Class probability band, and the per-class confidence " +"(:code:` %`) bands." +msgstr "" + +#: ../../source/cookbook/classification.rst:658 +msgid "Scale" +msgstr "" + +#: ../../source/cookbook/classification.rst:660 +msgid "" +"You can set a custom scale for exportation by selecting a value in metres" +" (m) (note that requesting a smaller resolution than the images' native " +"resolution will not improve the quality of the output – just its size – " +"keep in mind that the native resolution of Sentinel data is 10 m, while " +"Landsat is 30 m)." +msgstr "" + +#: ../../source/cookbook/classification.rst:663 +msgid "Destination" +msgstr "" + +#: ../../source/cookbook/classification.rst:665 +msgid "Choose a single destination for the export:" +msgstr "" + +#: ../../source/cookbook/classification.rst:667 +msgid "" +":guilabel:`SEPAL workspace`: the image is written to your SEPAL files in " +":code:`.tif` format (by default in the :code:`Downloads` folder)." +msgstr "" + +#: ../../source/cookbook/classification.rst:668 +msgid "" +":guilabel:`Google Earth Engine asset`: the image is exported to your GEE " +"account as an asset. You can export it either as a single " +":guilabel:`Image` or as an :guilabel:`Image collection` (tiled, which is " +"better suited to large exports), and set its sharing to " +":guilabel:`Private` or :guilabel:`Public`." +msgstr "" + +#: ../../source/cookbook/classification.rst:669 +msgid "" +":guilabel:`Google Drive`: the image is exported to the Google Drive of " +"the connected Google account." +msgstr "" + +#: ../../source/cookbook/classification.rst:673 +msgid "" +"The :guilabel:`Google Earth Engine asset` and :guilabel:`Google Drive` " +"destinations are only displayed when a Google account is connected to " +"SEPAL. If they are missing, please refer to `Connect SEPAL to GEE " +"<../setup/gee.html>`__." +msgstr "" + +#: ../../source/cookbook/classification.rst:675 +msgid "Select :guilabel:`Retrieve` to start the export process." +msgstr "" + +#: ../../source/cookbook/classification.rst:678 +msgid "Exportation status" +msgstr "" + +#: ../../source/cookbook/classification.rst:680 +msgid "" +"By going to the **Tasks** tab (in the lower-left corner using the :btn" +":`` or :btn:`` buttons, " +"depending on the loading status), you will see the list of different " +"loading tasks." +msgstr "" + +#: ../../source/cookbook/classification.rst:682 +msgid "" +"The interface will provide you with information about the task progress " +"and display an error if the exportation has failed. If you are " +"unsatisfied with the way we present information, the task can also be " +"monitored using the `GEE task manager " +"`__." +msgstr "" + +#: ../../source/cookbook/classification.rst:686 +msgid "" +"This operation is running between GEE and SEPAL servers in the " +"background. You can close the SEPAL page without ending the process." +msgstr "" + +#: ../../source/cookbook/classification.rst:688 +msgid "" +"When the task is finished, the frame will be displayed in green, as shown" +" in the second image below." +msgstr "" + +#: ../../source/cookbook/classification.rst:701 +msgid "Access" +msgstr "" + +#: ../../source/cookbook/classification.rst:703 +msgid "" +"Once the download process is done, you can access the data in your " +"**SEPAL folders**. The data will be stored in the :code:`Downloads` " +"folder using the following format:" +msgstr "" + +#: ../../source/cookbook/classification.rst:718 +msgid "" +"Understanding how images are stored in an optical mosaic is only required" +" if you want to manually use them. The SEPAL applications are bound to " +"this tiling system and can digest this information for you." +msgstr "" + +#: ../../source/cookbook/classification.rst:720 +msgid "" +"The data are stored in a folder using the name of the optical mosaic as " +"it was created in the first section of this article. As the data are " +"spatially too big to be exported at once, they are divided into smaller " +"pieces and brought back together in a :code:`_.vrt`" +" file." +msgstr "" + +#: ../../source/cookbook/classification.rst:724 +msgid "" +"The full folder with a consistent tree folder is required to read the " +"`.vrt`." +msgstr "" + +#~ msgid "" +#~ "With this recipe, SEPAL will help " +#~ "users build a supervised classification " +#~ "of any mosaic image. It is built" +#~ " on top of the most advanced " +#~ "tools available on Google Earth Engine" +#~ " (including the classifiers CART, " +#~ "RandomForest, NaiveBayes and SVM), allowing" +#~ " users to create an easy-to-use" +#~ " user interface to:" +#~ msgstr "" + +#~ msgid "select the image to classify" +#~ msgstr "" + +#~ msgid "add training data from external sources and on the fly selection" +#~ msgstr "" + +#~ msgid "" +#~ "Once the classification recipe is " +#~ "selected, SEPAL will show the recipe " +#~ "process in a new tab (1) and " +#~ "the image selection window will appear" +#~ " on the lower-right side (2)." +#~ msgstr "" + +#~ msgid "" #~ "The first step is to change the" #~ " name of the recipe. This name " #~ "will be used to identify your " @@ -2394,3 +2957,444 @@ msgstr "" #~ "file." #~ msgstr "" +#~ msgid "" +#~ "With this recipe, SEPAL helps users " +#~ "build supervised classifications of any " +#~ "mosaic image. It is built on top" +#~ " of the most advanced tools available" +#~ " on Google Earth Engine (GEE) – " +#~ "including the classifiers CART, RandomForest," +#~ " NaiveBayes and SVM – allowing users" +#~ " to create an easy-to-use user" +#~ " interface to:" +#~ msgstr "" + +#~ msgid "define the class table; and" +#~ msgstr "" + +#~ msgid "" +#~ "In the lower-right corner, the " +#~ "following five tabs are available, " +#~ "allowing you to customize the time " +#~ "series to your needs:" +#~ msgstr "" + +#~ msgid "" +#~ "Users can select images coming from " +#~ "an **Existing recipe** or an exported" +#~ " **GEE asset** (see advantages and " +#~ "disadvantages below). Both should be an" +#~ " :code:`ee.Image`, rather than a " +#~ ":code:`Time series` or :code:`ee.ImageCollection`." +#~ msgstr "" + +#~ msgid "**Existing recipe**:" +#~ msgstr "" + +#~ msgid "**GEE asset**:" +#~ msgstr "" + +#~ msgid "" +#~ "For this example, we will use a" +#~ " public asset created with the " +#~ "**Optical mosaic** tool from SEPAL. It's" +#~ " a Sentinel-2 mosaic of Eastern " +#~ "Province in Zambia during the dry " +#~ "season from 2012 to 2020. Multiple " +#~ "bands are available." +#~ msgstr "" + +#~ msgid "" +#~ "Once an asset has been selected, " +#~ "SEPAL will load its bands in the" +#~ " interface. You can use any band " +#~ "that is native to the image as " +#~ "input for the classification process. " +#~ "Simply click on the band name to" +#~ " select them. The selected bands are" +#~ " summarized in the expansion panel " +#~ "title (**1**) and displayed in gold " +#~ "in the pane content (**2**)." +#~ msgstr "" + +#~ msgid ":code:`swir`" +#~ msgstr "" + +#~ msgid "" +#~ "Select :btn:` Derived" +#~ " bands` at the bottom of the " +#~ "pop-up window and select the deriving" +#~ " method. This will add a a new" +#~ " panel to the expansion panel with" +#~ " the selected method name (**1**). " +#~ "The selected method will be applied " +#~ "to the selected bands." +#~ msgstr "" + +#~ msgid "" +#~ "If more than two bands are " +#~ "selected, the operation will be applied" +#~ " to the Cartesian product of the " +#~ "bands. If you select bands :math:`A`," +#~ " :math:`B` and :math:`C`, and apply " +#~ "the :code:`Difference` derived bands, you'll" +#~ " add three bands to your analysis:" +#~ msgstr "" + +#~ msgid ":math:`A - B`" +#~ msgstr "" + +#~ msgid ":math:`A - C`" +#~ msgstr "" + +#~ msgid ":math:`B - C`" +#~ msgstr "" + +#~ msgid "" +#~ "Once image selection is complete, select" +#~ " :btn:` Apply` and" +#~ " the pop-up window will close. " +#~ "The images and bands will be " +#~ "displayed in the :guilabel:`IMG` panel " +#~ "in the lower-right corner of the" +#~ " screen. By selecting the :btn:`` button, you will " +#~ "remove the image and its band from" +#~ " the analysis altogether." +#~ msgstr "" + +#~ msgid "" +#~ "Once the fully qualified legend file " +#~ "has been prepared on your computer, " +#~ "select :btn:``" +#~ " and then :code:`Import from CSV`, " +#~ "which will open a pop-up window" +#~ " where you can drag and drop " +#~ "the file or select it manually " +#~ "from your computer files." +#~ msgstr "" + +#~ msgid "" +#~ "A file will be downloaded to you" +#~ " computer named :code:`_legend.csv`, " +#~ "which will contain the legend " +#~ "information in the following format:" +#~ msgstr "" + +#~ msgid "Select training data" +#~ msgstr "" + +#~ msgid "This step is not mandatory." +#~ msgstr "" + +#~ msgid "Collected reference data" +#~ msgstr "" + +#~ msgid "" +#~ "Collected reference data are data " +#~ "selected on the fly by the user." +#~ " The workflow will be explained later" +#~ " in the documentation." +#~ msgstr "" + +#~ msgid "" +#~ "In this pane, this type of data" +#~ " can be managed by the user. " +#~ "The data appear as a pair, " +#~ "associating coordinates to a class " +#~ "value, which will be used to " +#~ "create training data in the " +#~ "classification model." +#~ msgstr "" + +#~ msgid "" +#~ "If you're satisfied with the current " +#~ "selection and you want to share " +#~ "the data with others, select :btn" +#~ ":`` and then" +#~ " :code:`Export reference data to csv`. " +#~ "A file will be created and sent" +#~ " to your computer, named " +#~ ":code:`_reference_data.csv`. It will " +#~ "embed all of the gathered point " +#~ "data using the following convention:" +#~ msgstr "" + +#~ msgid "" +#~ "If you are not satisfied with the" +#~ " selected data, select :btn:`` and then :code:`Clear" +#~ " collected reference data` to remove " +#~ "all collected data from the analysis." +#~ msgstr "" + +#~ msgid "" +#~ "A confirmation pop-up window should " +#~ "prevent you from accidentally deleting " +#~ "everything." +#~ msgstr "" + +#~ msgid "Existing training data" +#~ msgstr "" + +#~ msgid "" +#~ "By selecting :btn:`csv file`, SEPAL will" +#~ " request a file from your computer" +#~ " in :code:`.csv` format. The file " +#~ "needs to include two pieces of " +#~ "information: geographic coordinates and class" +#~ " value." +#~ msgstr "" + +#~ msgid "" +#~ "If your file contains a GeoJSON " +#~ "column instead of coordinates, select " +#~ ":btn:`geojson column` to switch the " +#~ "interface to one column selection." +#~ msgstr "" + +#~ msgid "" +#~ "Now that you have set up the " +#~ "coordinates of your points, SEPAL will" +#~ " request the columns specifying the " +#~ "class value (not the name) in a" +#~ " second frame. Only the single column" +#~ " is supported so far. Select the " +#~ "column from your file that embeds " +#~ "the class values." +#~ msgstr "" + +#~ msgid "" +#~ "Using the :code:`row filter expression` " +#~ "text field, one can filter out " +#~ "some lines of the table. Refer to" +#~ " the `features <#>`__ section to " +#~ "learn more." +#~ msgstr "" + +#~ msgid "" +#~ "Select :btn:`" +#~ " next` to add the data to the" +#~ " model. SEPAL will provide a summary" +#~ " of the classes in the legend " +#~ "of the classification and the number " +#~ "of training points added by your " +#~ "file." +#~ msgstr "" + +#~ msgid "" +#~ "The process is nearly the same as" +#~ " found in the documentation above " +#~ "discussing .csv tables. The only " +#~ "difference should be the geometry " +#~ "column, as GEE assets usually embed " +#~ "a :code:`.goejson` column by default. If" +#~ " this column exists, it will be " +#~ "autodetected by SEPAL." +#~ msgstr "" + +#~ msgid "" +#~ "Start by selecting btn:`Sample classification`" +#~ " in the opened pop-up window, " +#~ "where all of the the parameters " +#~ "can be set:" +#~ msgstr "" + +#~ msgid "" +#~ "**Sample per class**: the number of " +#~ "samples per class of the provided " +#~ "image. The more samples you request, " +#~ "the more accurate the model will " +#~ "be (if too many samples are " +#~ "selected, on-the-fly visualization will" +#~ " never render; default to: :code:`1000`)." +#~ msgstr "" + +#~ msgid "" +#~ "**EE asset ID**: the ID of the " +#~ "classification to sample (it should be" +#~ " an :code:`ee.Image` accessible to the " +#~ "user)." +#~ msgstr "" + +#~ msgid "" +#~ "**Class band**: The class to use " +#~ "for classification value (the dropdown " +#~ "menu will be filled with the bands" +#~ " found in the provided asset)." +#~ msgstr "" + +#~ msgid "" +#~ "To reproduce this example, use the " +#~ "following asset as an image to " +#~ "sample: :code:`projects/sepal-" +#~ "cookbook/assets/classification/zmb_copernicus_landcover`." +#~ msgstr "" + +#~ msgid "" +#~ "Select the :btn:`` " +#~ "buttons (**1**) to change the number " +#~ "of samples in a specific class. By" +#~ " default, SEPAL ignores the samples " +#~ "with a :code:`Null` value. One can " +#~ "select :btn:`Default` (**2**) for any of" +#~ " the classes so that these points " +#~ "end up in the default class " +#~ "instead of being ignored." +#~ msgstr "" + +#~ msgid "random forest" +#~ msgstr "" + +#~ msgid "gradient tree boost" +#~ msgstr "" + +#~ msgid "cart" +#~ msgstr "" + +#~ msgid "naive bayes" +#~ msgstr "" + +#~ msgid "min distance" +#~ msgstr "" + +#~ msgid "decision tree" +#~ msgstr "" + +#~ msgid "" +#~ "This process requires a good " +#~ "understanding of the **Visualization** feature" +#~ " of SEPAL (refer to the `feature " +#~ "<#>`__ section for more information)." +#~ msgstr "" + +#~ msgid "" +#~ "Once all of the parameters are " +#~ "set, the user is free to add " +#~ "extra training data in the web " +#~ "interface and the new points will " +#~ "be added to the final model, " +#~ "improving the quality of the " +#~ "classification." +#~ msgstr "" + +#~ msgid "" +#~ "In order to improve the classification," +#~ " one must set up the view to" +#~ " display all of the information. " +#~ "While these guidelines could be modified" +#~ " and extended, they are still useful" +#~ " as an introductory resource." +#~ msgstr "" + +#~ msgid "" +#~ "The current image (what you are " +#~ "classifying) (**2**) using the NIR,RED,SWIR" +#~ " band combination." +#~ msgstr "" + +#~ msgid "" +#~ "To start adding points, open the " +#~ "training interface by selecting :btn:`` in the " +#~ "upper right of the screen (**1**). " +#~ "Once selected, the background color " +#~ "becomes darker and the pointer of " +#~ "the mouse becomes a :icon:`fa-solid " +#~ "fa-plus`." +#~ msgstr "" + +#~ msgid "" +#~ "You can now click elsewhere on the" +#~ " map to add another point. If " +#~ "you are satisfied with the " +#~ "classification, select :btn:` Close` (3) and select :btn" +#~ ":`` again " +#~ "to stop editing the points. Every " +#~ "time a new point is added, the " +#~ "**Classification** map is recomputed and " +#~ "rendered on the left side." +#~ msgstr "" + +#~ msgid "" +#~ "To modify existing points, select the" +#~ " :btn:`` to" +#~ " open the **Point editing** interface. " +#~ "Then:" +#~ msgstr "" + +#~ msgid "" +#~ "SEPAL embeds information to help the " +#~ "user understand if the amount of " +#~ "training data is sufficient to produce" +#~ " an accurate classification model. In " +#~ "the **Recipe** window, change the **Band" +#~ " combination** to :code:`Class probability`." +#~ msgstr "" + +#~ msgid "" +#~ "The user now sees the probability " +#~ "of the model (i.e. the confidence " +#~ "level of the level with output " +#~ "class for each pixel)." +#~ msgstr "" + +#~ msgid "" +#~ "You cannot export a recipe as an" +#~ " asset or a :code:`.tiff` file " +#~ "without a small computation quota. If" +#~ " you are a new user, see " +#~ ":doc:`../setup/resource`." +#~ msgstr "" + +#~ msgid "" +#~ "Selecting the :icon:`fa-solid fa-" +#~ "cloud-arrow-down` tab will open the" +#~ " **Retrieve** pane, where you can " +#~ "select the exportation parameters (**1**)." +#~ msgstr "" + +#~ msgid "" +#~ "You need to select the band to " +#~ "export (**2**). There is no maximum " +#~ "number of bands; however, exporting " +#~ "useless bands will only increase the " +#~ "size and time of the output." +#~ msgstr "" + +#~ msgid "" +#~ "You can set a custom scale for " +#~ "exportation (**3**) by changing the " +#~ "value of the slider in metres (m)." +#~ " (Note: Requesting a smaller resolution " +#~ "than images' native resolution will not" +#~ " improve the quality of the output" +#~ " – just its size; keep in mind" +#~ " that the native resolution of " +#~ "Sentinel data is 10 m, while " +#~ "Landsat is 30 m.)" +#~ msgstr "" + +#~ msgid "" +#~ "You can export the image to the" +#~ " :btn:`SEPAL workspace` or to the " +#~ ":btn:`Google Earth Engine Asset` list. " +#~ "The same image will be exported, " +#~ "but for the former, you will find" +#~ " it in :code:`.tif` format in the " +#~ ":code:`Downloads` folder; for the latter, " +#~ "the image will be exported to your" +#~ " **GEE account asset list**." +#~ msgstr "" + +#~ msgid "" +#~ "If :btn:`Google Earth Engine Asset` is" +#~ " not displayed, your GEE account is" +#~ " not connected to SEPAL. Refer to " +#~ "`Connect SEPAL to GEE <../setup/gee.html>`__." +#~ msgstr "" + +#~ msgid "Select :btn:` Apply` to start the download process." +#~ msgstr "" + diff --git a/docs/source/_locale/ar/LC_MESSAGES/cookbook/optical_mosaic.po b/docs/source/_locale/ar/LC_MESSAGES/cookbook/optical_mosaic.po index bccd5de45b..b24027c9d1 100644 --- a/docs/source/_locale/ar/LC_MESSAGES/cookbook/optical_mosaic.po +++ b/docs/source/_locale/ar/LC_MESSAGES/cookbook/optical_mosaic.po @@ -1,22 +1,19 @@ + msgid "" msgstr "" -"Project-Id-Version: sepal-doc\n" +"Project-Id-Version: sepal-doc\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-03-07 09:39+0100\n" -"PO-Revision-Date: 2024-03-07 08:56\n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: 2024-03-07 08:56+0000\n" "Last-Translator: \n" +"Language: ar_SA\n" "Language-Team: Arabic\n" +"Plural-Forms: nplurals=6; plural=(n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : " +"n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5);\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.14.0\n" -"Plural-Forms: nplurals=6; plural=(n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5);\n" -"X-Crowdin-Project: sepal-doc\n" -"X-Crowdin-Project-ID: 562097\n" -"X-Crowdin-Language: ar\n" -"X-Crowdin-File: /main/docs/source/_locale/en/LC_MESSAGES/cookbook/optical_mosaic.po\n" -"X-Crowdin-File-ID: 69\n" -"Language: ar_SA\n" +"Generated-By: Babel 2.18.0\n" #: ../../source/cookbook/optical_mosaic.rst:2 msgid "Optical mosaics" @@ -31,11 +28,17 @@ msgid "Overview" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:8 -msgid "A mosaic is a combination or fusion of two or more images. In SEPAL, you can create a single raster dataset from several raster datasets by mosaicing them together. This can be achieved on both contiguous rasters (see first image below) and overlapping images (see second image below)." +msgid "" +"A mosaic is a combination or fusion of two or more images. In SEPAL, you " +"can create a single raster dataset from several raster datasets by " +"mosaicing them together. This can be achieved on both contiguous rasters " +"(see first image below) and overlapping images (see second image below)." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:21 -msgid "These overlay areas can be managed in various ways. For example, you can choose to:" +msgid "" +"These overlay areas can be managed in various ways. For example, you can " +"choose to:" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:23 @@ -55,15 +58,23 @@ msgid "take the maximum or minimum value." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:28 -msgid "In addition, certain corrections can be made to the image to account for clouds, snow and other factors; these operations are complex and repetitive." +msgid "" +"In addition, certain corrections can be made to the image to account for " +"clouds, snow and other factors; these operations are complex and " +"repetitive." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:30 -msgid "SEPAL offers you an interactive and intuitive way to create mosaics in any area of interest (AOI)." +msgid "" +"SEPAL offers you an interactive and intuitive way to create mosaics in " +"any area of interest (AOI)." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:34 -msgid "You won't be able to retrieve the images if your SEPAL and Google Earth Engine (GEE) accounts are not connected. For more information, go to :doc:`../setup/gee`." +msgid "" +"You won't be able to retrieve the images if your SEPAL and Google Earth " +"Engine (GEE) accounts are not connected. For more information, go to " +":doc:`../setup/gee`." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:37 @@ -71,15 +82,25 @@ msgid "Start" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:39 -msgid "Once the mosaic recipe is selected, SEPAL will display the recipe process in a new tab (see **1** in the image below) and the **AOI selection** window will appear in the lower right (**2**)." +msgid "" +"Once the mosaic recipe is selected, SEPAL will display the recipe process" +" in a new tab (see **1** in the image below) and the **AOI selection** " +"window will appear in the lower right (**2**)." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:45 -msgid "The first step is to change the name of the recipe. This name will be used to identify your files and recipes in SEPAL folders. Use the best-suited convention for your needs. Simply double-click the tab and write a new name. It will default to :code:`Optical_mosaic___`." +msgid "" +"The first step is to change the name of the recipe. This name will be " +"used to identify your files and recipes in SEPAL folders. Use the best-" +"suited convention for your needs. Simply double-click the tab and write a" +" new name. It defaults to " +":code:`Optical_mosaic___`." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:57 -msgid "The SEPAL team recommends using the following naming convention: :code:`__`." +msgid "" +"The SEPAL team recommends using the following naming convention: " +":code:`__`." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:60 @@ -87,7 +108,9 @@ msgid "Parameters" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:62 -msgid "In the lower-right corner, five tabs are available, which allow you to customize the mosaic creation to your needs:" +msgid "" +"In the lower-right corner, five tabs are available, which allow you to " +"customize the mosaic creation to your needs:" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:64 @@ -115,7 +138,9 @@ msgid "AOI selection" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:77 -msgid "The data exported by the recipe will be generated from within the bounds of the AOI. There are multiple ways to select the AOI in SEPAL:" +msgid "" +"The data exported by the recipe will be generated from within the bounds " +"of the AOI. There are multiple ways to select the AOI in SEPAL:" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:79 @@ -131,7 +156,9 @@ msgid "Drawn polygons" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:83 -msgid "They are extensively described in our documentation. For more information, read :doc:`../feature/aoi_selector`." +msgid "" +"They are extensively described in our documentation. For more " +"information, read :doc:`../feature/aoi_selector`." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:90 @@ -143,7 +170,10 @@ msgid "Yearly mosaic" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:95 -msgid "In the :guilabel:`DAT` tab, select a year which pixels in the mosaic should come from. Then select the :icon:`fa-solid fa-check` :guilabel:`Apply` button." +msgid "" +"In the :guilabel:`DAT` tab, select a year which pixels in the mosaic " +"should come from. Then select the :icon:`fa-solid fa-check` " +":guilabel:`Apply` button." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:102 @@ -151,23 +181,40 @@ msgid "Seasonal mosaic" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:104 -msgid "Select :guilabel:`More` in the :guilabel:`DAT` panel to expand the date selection tool. Rather than selecting a year, you can select a season of interest." +msgid "" +"Select :guilabel:`More` in the :guilabel:`DAT` panel to expand the date " +"selection tool. Rather than selecting a year, you can select a season of " +"interest." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:106 -msgid "Select the :icon:`fa-solid fa-calendar` (**1**) to open the **Date selection** pop-up window. The selected date will be the target of the mosaic (i.e. the date from which pixels in the mosaic should ideally come from)." +msgid "" +"Select the :icon:`fa-solid fa-calendar` (**1**) to open the **Date " +"selection** pop-up window. The selected date will be the target of the " +"mosaic (i.e. the date from which pixels in the mosaic should ideally come" +" from)." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:108 -msgid "Using the main slider (**2**), define a season around the target date by identifying a start date and end date. SEPAL will then retrieve the mosaic images between those dates." +msgid "" +"Using the main slider (**2**), define a season around the target date by " +"identifying a start date and end date. SEPAL will then retrieve the " +"mosaic images between those dates." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:110 -msgid "The number of images in a single season of one year may not be enough to produce a correct mosaic. SEPAL provides two secondary sliders to increase the pool of images to create the mosaic. Both count the number of seasons SEPAL can retrieve in the past (:code:`Past season` - [**3**]) and in the future (:code:`Future season` - [**4**])." +msgid "" +"The number of images in a single season of one year may not be enough to " +"produce a correct mosaic. SEPAL provides two secondary sliders to " +"increase the pool of images to create the mosaic. Both count the number " +"of seasons SEPAL can retrieve in the past (:code:`Past season` - [**3**])" +" and in the future (:code:`Future season` - [**4**])." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:112 -msgid "When the selection is done, select the :icon:`fa-solid fa-check` :guilabel:`Apply` button." +msgid "" +"When the selection is done, select the :icon:`fa-solid fa-check` " +":guilabel:`Apply` button." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:119 @@ -175,504 +222,865 @@ msgid "Sources" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:121 -msgid "As mentioned in the introduction, a mosaic uses different raster datasets that can be obtained from multiple sources. SEPAL allows you to select data from multiple entry points. Below, you can find a description of these sources (select a link to see the corresponding dataset information):" +msgid "" +"As mentioned in the introduction, a mosaic combines raster datasets that " +"can come from multiple satellite sources. In the :guilabel:`SRC` tab, " +"select one or more **optical** data sources to build the mosaic from." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:123 -msgid ":guilabel:`L8`: `Landsat 8 Tier 1 `__. Landsat scenes with the highest available data quality are placed into **Tier 1** and considered suitable for time-series processing analysis. **Tier 1** includes Level-1 Precision Terrain (L1TP) processed data that have well-characterized radiometry and are intercalibrated across different Landsat sensors. The geo-registration of **Tier 1** scenes will be consistent and within prescribed tolerances (< = 12 m root mean square error [RMSE]). All **Tier 1** Landsat data can be considered consistent and intercalibrated (regardless of the sensor used) across the full collection." +msgid "**Landsat** scenes are distributed in two quality tiers:" +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:125 +msgid "" +"**Tier 1** holds the scenes with the highest data quality. They are " +"processed to Level-1 Precision Terrain (L1TP), have well-characterized " +"radiometry, are intercalibrated across the different Landsat sensors and " +"are geo-registered within prescribed tolerances (12 m root mean square " +"error [RMSE] or less). Tier 1 scenes are consistent across the full " +"collection and suitable for time-series analysis." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:127 -msgid ":guilabel:`L8 T2`: `Landsat 8 Tier 2 `__. Scenes not meeting **Tier 1** criteria during processing are assigned to **Tier 2**. This includes Systematic terrain (L1GT) and Systematic (L1GS) processed scenes, as well as any L1TP scenes that do not meet the **Tier 1** specifications due to significant cloud cover, insufficient ground control and other factors. Users interested in **Tier 2** scenes can analyze the RMSE and other properties to determine the suitability for use in individual applications and studies." +#: ../../source/cookbook/optical_mosaic.rst:126 +msgid "" +"**Tier 2** (marked :guilabel:`T2`) holds scenes that do not meet the Tier" +" 1 criteria, for example because of significant cloud cover, insufficient" +" ground control or systematic-only terrain correction (L1GT/L1GS). They " +"can still be useful; analyze the RMSE and other properties to determine " +"their suitability for your study." +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:128 +msgid "" +"The following optical sources are available (select a link to open the " +"corresponding Google Earth Engine dataset):" +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:130 +msgid "" +":guilabel:`L9`: `Landsat 9 `__ (Tier 1; from 2021)." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:131 -msgid ":guilabel:`L7`: `Landsat 7 Tier 1 `__. Landsat scenes with the highest available data quality are placed into **Tier 1** and are considered suitable for time-series processing analysis. **Tier 1** includes Level-1 Precision Terrain (L1TP) processed data that have well-characterized radiometry and are intercalibrated across different Landsat sensors. The geo-registration of **Tier 1** scenes will be consistent and within prescribed tolerances (< = 12 m RMSE). All **Tier 1** Landsat data can be considered consistent and intercalibrated across the full collection (regardless of the sensor used)." +msgid "" +":guilabel:`L8`: `Landsat 8 `__ (Tier 1; from 2013)." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:135 -msgid ":guilabel:`L7 T2`: `Landsat 7 Tier 2 `__. Scenes not meeting **Tier 1** criteria during processing are assigned to **Tier 2**. This includes Systematic terrain (L1GT) and Systematic (L1GS) processed scenes, as well as any L1TP scenes that do not meet the **Tier 1** specifications due to significant cloud cover, insufficient ground control and other factors. Users interested in **Tier 2** scenes can analyze the RMSE and other properties to determine the suitability for use in individual applications and studies." +#: ../../source/cookbook/optical_mosaic.rst:132 +msgid "" +":guilabel:`L7`: `Landsat 7 `__ (Tier 1; from 1999)." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:139 -msgid ":guilabel:`L4-5`: `Landsat 4 Tier 1 `__ combined with `Landsat 5 Tier 1 `__. Landsat scenes with the highest available data quality are placed into **Tier 1** and are considered suitable for time-series processing analysis. **Tier 1** includes Level-1 Precision Terrain (L1TP) processed data that have well-characterized radiometry and are intercalibrated across different Landsat sensors. The geo-registration of **Tier 1** scenes will be consistent and within prescribed tolerances (< = 12 m RMSE). All **Tier 1** Landsat data can be considered consistent and intercalibrated across the full collection (regardless of the sensor used)." +#: ../../source/cookbook/optical_mosaic.rst:133 +msgid "" +":guilabel:`L4-5`: `Landsat 4 `__ combined with `Landsat" +" 5 `__ (Tier 1; 1982–2012)." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:143 -msgid ":guilabel:`L4-5 T2`: `Landsat 4 TM Tier 2 `__ combined with `Landsat 5 TM Tier 2 `__. Scenes not meeting **Tier 1** criteria during processing are assigned to **Tier 2**. This includes Systematic terrain (L1GT) and Systematic (L1GS) processed scenes, as well as any L1TP scenes that do not meet the **Tier 1** specifications due to significant cloud cover, insufficient ground control and other factors. Users interested in **Tier 2** scenes can analyze the RMSE and other properties to determine the suitability for use in individual applications and studies." +#: ../../source/cookbook/optical_mosaic.rst:134 +msgid "" +":guilabel:`L9 T2`, :guilabel:`L8 T2`, :guilabel:`L7 T2`, :guilabel:`L4-5 " +"T2`: the **Tier 2** equivalents of the datasets listed above." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:147 -msgid ":guilabel:`A+B`: `Sentinel-2 Multispectral instrument `__ is a wide-swath, high-resolution, multispectral imaging mission supporting Copernicus Land Monitoring studies, including the monitoring of vegetation, soil and water cover, as well as the observation of inland waterways and coastal areas." +#: ../../source/cookbook/optical_mosaic.rst:135 +msgid "" +":guilabel:`S2`: `Sentinel-2 `__ (Sentinel-2A and " +"Sentinel-2B; from 2015). A wide-swath, high-resolution, multispectral " +"imaging mission supporting Copernicus Land Monitoring studies, including " +"the monitoring of vegetation, soil and water cover, as well as the " +"observation of inland waterways and coastal areas." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:153 -#: ../../source/cookbook/optical_mosaic.rst:170 -msgid "To validate your selection, select the :icon:`fa-solid fa-check` :guilabel:`Apply` button." +#: ../../source/cookbook/optical_mosaic.rst:139 +msgid "" +"SEPAL uses the Landsat **Collection 2** archive and the **harmonized** " +"Sentinel-2 collection." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:156 -msgid "Scenes" +#: ../../source/cookbook/optical_mosaic.rst:145 +msgid "" +"You can also restrict the imagery with the :code:`Max cloud cover %` " +"slider: scenes whose cloud cover is higher than this threshold are " +"excluded before the mosaic is built." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:160 -msgid "If Sentinel and Landsat data have been selected, you will be forced to use all scenes. As the tiling system from Sentinel and Landsat data are different, it's impossible to select scenes using the tool presented in the following sections." +#: ../../source/cookbook/optical_mosaic.rst:147 +msgid "" +"To validate your selection, select the :icon:`fa-solid fa-check` " +":guilabel:`Apply` button (labelled :guilabel:`Done` when you first create" +" the recipe through the setup wizard)." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:162 -msgid "You can use multiple options to select the best scenes for your mosaic. The most simple is to use every image available based on the date parameters. Select :guilabel:`Use all scenes` and all images will be integrated into the mosaic." +#: ../../source/cookbook/optical_mosaic.rst:150 +msgid "Scenes" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:164 -msgid "Choose :guilabel:`Select scenes` and choose one of the three available :code:`Priority` options, based on the needs of your analysis (SEPAL sorts the images available for each tile):" +#: ../../source/cookbook/optical_mosaic.rst:154 +msgid "" +"If Sentinel and Landsat data have been selected, you will be forced to " +"use all scenes. As the tiling system from Sentinel and Landsat data are " +"different, it's impossible to select scenes using the tool presented in " +"the following sections." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:166 -msgid ":guilabel:`Cloud free`: Prioritizes images with zero or few clouds." +#: ../../source/cookbook/optical_mosaic.rst:156 +msgid "" +"You can use multiple options to select the best scenes for your mosaic. " +"The most simple is to use every image available based on the date " +"parameters. Select :guilabel:`Use all scenes` and all images will be " +"integrated into the mosaic." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:167 -msgid ":guilabel:`Target date`: Prioritizes images that match the target date." +#: ../../source/cookbook/optical_mosaic.rst:158 +msgid "" +"Choose :guilabel:`Select scenes` and pick one of the three available " +":code:`Priority` options, based on the needs of your analysis (SEPAL " +"sorts the images available for each tile):" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:168 -msgid ":guilabel:`Balanced`: Prioritizes images that maximize both cloud and target date." +#: ../../source/cookbook/optical_mosaic.rst:160 +msgid "" +":guilabel:`Cloud free`: Prioritizes imagery as cloud-free as possible, " +"ignoring the date." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:177 -msgid "Composite" +#: ../../source/cookbook/optical_mosaic.rst:161 +msgid "" +":guilabel:`Balanced`: Prioritizes imagery that is neither too cloudy nor " +"too far from the target date." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:181 -msgid "This step is optional. SEPAL provides the following options by default:" +#: ../../source/cookbook/optical_mosaic.rst:162 +msgid "" +":guilabel:`Target date`: Prioritizes imagery as close as possible to the " +"target date." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:183 -msgid "**Correction**: :guilabel:`SR`, :guilabel:`BRDF`" +#: ../../source/cookbook/optical_mosaic.rst:164 +msgid "" +"To validate your selection, select the :icon:`fa-solid fa-check` " +":guilabel:`Apply` button." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:184 -msgid "**Pixel filters**: No filters" +#: ../../source/cookbook/optical_mosaic.rst:171 +msgid "Composite" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:185 -msgid "**Cloud detection**: :guilabel:`QA bands`, :guilabel:`Cloud score`" +#: ../../source/cookbook/optical_mosaic.rst:173 +msgid "" +"The :guilabel:`CMP` tab controls how the selected scenes are corrected, " +"how clouds and snow are masked, and how the final pixel values are " +"computed. The panel opens in a **simple** view showing the most common " +"options; select :guilabel:`More` to reveal the **advanced** options (and " +":guilabel:`Less` to hide them again)." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:186 -msgid "**Cloud masking**: :guilabel:`Moderate`" +#: ../../source/cookbook/optical_mosaic.rst:177 +msgid "This step is optional. By default, SEPAL applies:" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:187 -msgid "**Cloud buffering**: :guilabel:`None`" +#: ../../source/cookbook/optical_mosaic.rst:179 +msgid "**Corrections**: :guilabel:`SR` and :guilabel:`BRDF`" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:188 -msgid "**Snow masking**: :guilabel:`On`" +#: ../../source/cookbook/optical_mosaic.rst:180 +msgid "**Cloud masking**: :guilabel:`Moderate`" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:189 +#: ../../source/cookbook/optical_mosaic.rst:181 msgid "**Composing method**: :guilabel:`Medoid`" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:191 -msgid "To create a mosaic, provide SEPAL with the compositing method to create the final image. See the following image for all possible compositing options available." +#: ../../source/cookbook/optical_mosaic.rst:183 +msgid "" +"The advanced view additionally defaults to no pixel filters, no cloud " +"buffering and snow/ice masking turned on." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:198 -msgid "Corrections" +#: ../../source/cookbook/optical_mosaic.rst +msgid "Show the advanced view (opened with **More**)" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:200 -msgid "This will apply corrections on the stacked pixels to improve the quality of the mosaic." +#: ../../source/cookbook/optical_mosaic.rst:199 +msgid "Corrections" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:202 -msgid ":guilabel:`SR`: Surface reflectance improves comparison between multiple images over the same region by accounting for atmospheric effects such as aerosol scattering and thin clouds, which can help in the detection and characterization of Earth surface change. Top-of-atmosphere images are used if not selected." +#: ../../source/cookbook/optical_mosaic.rst:201 +msgid "" +"Corrections are applied to the stacked pixels to improve the quality of " +"the mosaic." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:203 -msgid ":guilabel:`BRDF`: Uses a bidirectional reflectance distribution function (BRDF) model to characterize surface reflectance anisotropy. For a given land area, the BRDF is established based on selected multi-angular observations of surface reflectance." +msgid "" +":guilabel:`SR`: Surface reflectance improves comparison between multiple " +"images over the same region by accounting for atmospheric effects such as" +" aerosol scattering and thin clouds, which can help in the detection and " +"characterization of Earth surface change. Top-of-atmosphere (TOA) images " +"are used if not selected." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:204 -msgid ":guilabel:`Calibrate`: Calibrates Sentinel and Landsat data to make them compatible." +msgid "" +":guilabel:`BRDF`: Uses a bidirectional reflectance distribution function " +"(BRDF) model to characterize surface reflectance anisotropy. For a given " +"land area, the BRDF is established based on selected multi-angular " +"observations of surface reflectance. When BRDF is enabled, the advanced " +"view shows a :code:`BRDF Multiplier` field that controls how much " +"correction is applied (values of 3–4 usually work well; lower it if the " +"effect is overcompensated, raise it if it is not compensated enough)." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:208 -msgid "This option is only available if:" +#: ../../source/cookbook/optical_mosaic.rst:205 +msgid "" +":guilabel:`Calibrate`: Calibrates the bands to improve a cross-sensor " +"mosaic." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:210 -msgid "Landsat and Sentinel data are mixed; and" +#: ../../source/cookbook/optical_mosaic.rst:209 +msgid "This option is only available if:" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:211 -msgid "BRDF and surface reflectance (SR) corrections are disabled." +msgid "Landsat and Sentinel-2 data are mixed; and" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:214 -msgid "Pixel filters" +#: ../../source/cookbook/optical_mosaic.rst:212 +msgid "surface reflectance (:guilabel:`SR`) correction is disabled." +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:215 +msgid "Cloud masking" +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:217 +msgid "" +"Controls how clouds are detected and masked. In the simple view, choose a" +" preset:" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:216 -msgid "Activating any of the filters will remove some pixels from the stack. Removing pixels improves the quality of the mosaic, as they are not taken into account in the median value computation." +#: ../../source/cookbook/optical_mosaic.rst:219 +msgid "" +":guilabel:`Moderate`: Relies only on the image source QA bands for cloud " +"masking." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:220 -msgid "Each filter is applied iteratively (e.g. if the normalized difference vegetation index [NDVI] is already filtering all pixels but one, there will be nothing left in the stack to be filtered by day of year)." +msgid "" +":guilabel:`Aggressive`: Relies on the image source QA bands together with" +" a cloud-scoring algorithm. This will probably mask out some built-up " +"areas and other bright features." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:222 -msgid "Note as well that adding filters significantly increases the creation time of the mosaic." +#: ../../source/cookbook/optical_mosaic.rst:221 +msgid "" +":guilabel:`Custom`: Automatically selected (and otherwise disabled) when " +"you fine-tune the individual cloud-masking algorithms in the advanced " +"view." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:224 -msgid "**Shadow**: Filters the XX percent darkest pixels of the stack." +#: ../../source/cookbook/optical_mosaic.rst:223 +msgid "" +"In the advanced view you can add and configure the individual cloud-" +"masking algorithms with the :icon:`fa-solid fa-plus` button. The " +"available algorithms depend on the sources you selected:" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:225 -msgid "**Haze**: Computes a haze index and filters the XX percent highest values." +msgid "" +":guilabel:`SEPAL cloud score`: SEPAL's own cloud-scoring algorithm, with " +"a configurable *maximum cloud probability*. Always available." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:226 -msgid "**NDVI**: Computes the NDVI and only keeps the XX percent highest values." +msgid "" +":guilabel:`S2 Cloud Score+`: Sentinel-2 Cloud Score+, with a *maximum " +"cloud probability* and a choice of scoring band — :guilabel:`cs` " +"(instantaneous clear-sky similarity) or :guilabel:`cs_cdf` (likelihood of" +" being clear over time). Sentinel-2 sources only." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:227 -msgid "**Day of the year**: Computes the distance from target day in days and filters out the XX percent farthest." +msgid "" +":guilabel:`S2 Cloud Probability`: the Sentinel-2 cloud-probability " +"dataset, with a configurable *maximum cloud probability*. Sentinel-2 " +"sources only." +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:228 +msgid "" +":guilabel:`Landsat CFMask`: the Landsat CFMask QA bands. You can set " +":code:`Cloud Masking`, :code:`Cloud Shadow Masking` and :code:`Cirrus " +"Masking` each to :guilabel:`Off`, :guilabel:`Moderate` or " +":guilabel:`Aggressive`, and choose whether to :guilabel:`Keep` or " +":guilabel:`Remove` dilated clouds. Landsat sources only." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:230 -msgid "Cloud detection" +#: ../../source/cookbook/optical_mosaic.rst:229 +msgid "" +":guilabel:`Pino 26`: the Pan-Tropical Sentinel-2 cloud-detection " +"algorithm developed by Dario Simonetti (for more information, see `D. " +"Simonetti [2021] `__). Only " +"available for a Sentinel-2-exclusive source when :guilabel:`SR` " +"correction is disabled." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:232 -msgid "Refers to the algorithm used to detect clouds." +msgid "Cloud buffering" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:234 -msgid ":guilabel:`QA bands`: Uses quality assessment (QA) bands to identify clouds in Sentinel data." +msgid "" +"(Advanced view.) When pixels are identified as clouds, SEPAL can also " +"mask a small buffer around them to prevent hazy pixels at the borders of " +"clouds from being included in the mosaic." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:235 -msgid ":guilabel:`Cloud score`: Uses the computed cloud score to identify clouds in Landsat data." +#: ../../source/cookbook/optical_mosaic.rst:238 +msgid "" +"Buffering is done at the pixel level, so using this option significantly " +"increases the creation time of the mosaic." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:236 -msgid ":guilabel:`Pino 26`: Uses the Pino_26 algorithm to identify clouds (for more information, see `D. Simonetti [2021] `__)." +#: ../../source/cookbook/optical_mosaic.rst:240 +msgid ":guilabel:`None`: Doesn't use cloud buffering." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:240 -msgid "This filter is only available for Sentinel exclusive source when both :guilabel:`BRDF` and :guilabel:`SR` correction are disabled." +#: ../../source/cookbook/optical_mosaic.rst:241 +msgid "" +":guilabel:`Moderate`: Masks an additional **120 m** around each larger " +"cloud." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:243 -msgid "Cloud masking" +#: ../../source/cookbook/optical_mosaic.rst:242 +msgid "" +":guilabel:`Aggressive`: Masks an additional **600 m** around each larger " +"cloud." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:245 -msgid "Controls how clouds will be masked based on the cloud detection algorithm selected." +msgid "Snow/ice masking" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:247 -msgid ":guilabel:`off`: Uses cloud-free pixels if possible, but doesn't mask areas without cloud-free pixels." -msgstr "" - -#: ../../source/cookbook/optical_mosaic.rst:248 -msgid ":guilabel:`moderate`: Relies only on image source QA bands for cloud masking (a moderate threshold is used)." +msgid "(Advanced view.) Defines how snowy or icy pixels are masked." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:249 -msgid ":guilabel:`aggressive`: Relies on image source QA bands and a cloud scoring algorithm for cloud masking with an aggressive threshold (this will probably mask out some built-up areas and other bright features)." +msgid "" +":guilabel:`On`: Masks snow. This tends to leave some pixels with shadowy " +"snow." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:252 -msgid "Cloud buffering" +#: ../../source/cookbook/optical_mosaic.rst:250 +msgid "" +":guilabel:`Off`: Doesn't mask snow. Note that some clouds might get " +"misclassified as snow; therefore, disabling snow masking might lead to " +"cloud artifacts." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:254 -msgid "When pixels are identified as clouds, SEPAL can remove pixels in a small buffer around it to prevent hazy pixels at the borders of clouds to be included in the mosaic." +#: ../../source/cookbook/optical_mosaic.rst:253 +msgid "Masked out pixels" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:258 -msgid "Buffering is done on the pixel level, so using this option will significantly increase the creation time of the mosaic." +#: ../../source/cookbook/optical_mosaic.rst:255 +msgid "" +"(Advanced view.) Controls whether a pixel can end up completely masked " +"when every available acquisition is cloudy and/or snowy." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:260 -msgid ":guilabel:`none`: Doesn't use cloud buffering." +#: ../../source/cookbook/optical_mosaic.rst:257 +msgid "" +":guilabel:`Prevent`: Prevents pixels from being completely masked out, " +"keeping the best available (possibly cloudy/snowy) value." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:261 -msgid ":guilabel:`moderate`: Masks an additional **120 m** around each larger cloud." +#: ../../source/cookbook/optical_mosaic.rst:258 +msgid "" +":guilabel:`Allow`: Allows pixels to be completely masked out, leaving " +"holes in the mosaic where no clear observation exists." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:262 -msgid ":guilabel:`aggressive`: Masks an additional **600 m** around each larger cloud." +#: ../../source/cookbook/optical_mosaic.rst:261 +msgid "Pixel filters" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:265 -msgid "Snow masking" +#: ../../source/cookbook/optical_mosaic.rst:263 +msgid "" +"(Advanced view.) Add filters with the :icon:`fa-solid fa-plus` button to " +"remove pixels from the stack before compositing. Each filter excludes a " +"percentage of the stack (set with a slider, defaulting to 50%); removing " +"low-quality pixels improves the quality of the mosaic." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:267 -msgid "Defines how snowy pixels will be masked." +msgid "" +"Each filter is applied iteratively (e.g. if the normalized difference " +"vegetation index [NDVI] is already filtering all pixels but one, there " +"will be nothing left in the stack to be filtered by date)." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:269 -msgid ":guilabel:`on`: Masks snow. This tends to leave some pixels with shadowy snow." +msgid "" +"Note as well that adding filters significantly increases the creation " +"time of the mosaic." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:270 -msgid ":guilabel:`off`: Doesn't mask snow. Note that some clouds might get misclassified as snow; therefore, disabling snow masking might lead to cloud artifacts." +#: ../../source/cookbook/optical_mosaic.rst:271 +msgid "" +"**Shadow**: Excludes the selected percentage of pixels with the most " +"shadow." +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:272 +msgid "" +"**Haze**: Excludes the selected percentage of pixels with the most haze. " +"Only available when :guilabel:`SR` correction is disabled." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:273 -msgid "Composing method" +msgid "**NDVI**: Excludes the selected percentage of pixels with the lowest NDVI." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:275 -msgid "After filtering the stack of pixels, SEPAL will compute the median value on the different bands of the image. The composing method will define how the final pixel value is extracted." +#: ../../source/cookbook/optical_mosaic.rst:274 +msgid "" +"**Date**: Excludes the selected percentage of pixels farthest from the " +"target date." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:277 -msgid ":guilabel:`Medoid`: Uses the closest pixel from the median value. As a real pixel from the stack, the final value will embed metadata (e.g. the date of observation)." +msgid "Sentinel-2 overlap" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:278 -msgid ":guilabel:`Median`: Uses the computed value of the median. If no pixel is matching this value, the pixel will not embed any metadata. It tends to produce smoother mosaics." +#: ../../source/cookbook/optical_mosaic.rst:279 +msgid "" +"(Advanced view; shown only when Sentinel-2 is selected.) Sentinel-2 " +"acquisitions overlap both between orbits and between neighbouring tiles, " +"which can result in duplicated observations." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:281 -msgid "Analysis" +msgid "" +"**Orbit Overlap**: :guilabel:`Keep` the overlap between Sentinel-2 orbits" +" (more data, better models) or :guilabel:`Remove` it." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:283 -msgid "After selecting the parameters, you can start interacting with the scenes and begin the analysis." +#: ../../source/cookbook/optical_mosaic.rst:282 +msgid "" +"**Tile Overlap**: :guilabel:`Keep` the overlap between Sentinel-2 tiles, " +":guilabel:`Quick remove` most of it, or :guilabel:`Remove` all of it. " +"Removing overlap adds an extra preprocessing step." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:285 -msgid "In the upper-right corner, three tabs are available, which allow you to customize the mosaic scene selection and export the final result:" +msgid "Composing method" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:287 -msgid ":btn:``: auto-select scenes" +msgid "" +"After filtering the stack of pixels, the composing method defines how the" +" final pixel value is extracted." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:288 -msgid ":btn:``: clear selected scenes" +#: ../../source/cookbook/optical_mosaic.rst:289 +msgid "" +":guilabel:`Medoid`: Uses the pixel closest to the median value. As a real" +" pixel from the stack, the final value embeds metadata (e.g. the date of " +"observation)." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:289 -msgid ":btn:``: retrieve mosaic" +#: ../../source/cookbook/optical_mosaic.rst:290 +msgid "" +":guilabel:`Median`: Uses the computed median value. If no pixel matches " +"this value, the pixel will not embed any metadata. It tends to produce " +"smoother mosaics." +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:293 +msgid "Analysis" +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:295 +msgid "" +"After selecting the parameters, you can start interacting with the scenes" +" and begin the analysis." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:297 -msgid "If you have not selected the option :guilabel:`Select scenes` in the :guilabel:`SCN` tab, the :icon:`fa-solid fa-wand-magic` button will be disabled and the scene areas will be hidden as no scene selection needs to be performed (see those with a number in a circle on the previous screenshot)." +msgid "" +"In the upper-right corner, three tabs are available, which allow you to " +"customize the mosaic scene selection and export the final result:" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:299 -msgid "If you can't see the image scene area, you probably have selected a small AOI. Zoom out on the map and you will see the number of available images in the circles." +msgid ":btn:``: auto-select scenes" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:302 -msgid "Select scenes" +#: ../../source/cookbook/optical_mosaic.rst:300 +msgid ":btn:``: clear selected scenes" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:304 -msgid "To create a mosaic, select the scenes that will be used to compute each pixel value of the mosaic. SEPAL provides a user-friendly interface that will guide you through the selection process. You don't have to select the stack for every pixel; instead, SEPAL will clip the AOI in smaller pieces called **Tiles**. These tiles correspond to the native tiling system of your dataset and are displayed on the map with circled numbers in their centroid. Each number corresponds to the number of scenes available to build the mosaic tile. Hover over these circles to see the tile boundaries appear." +#: ../../source/cookbook/optical_mosaic.rst:301 +msgid ":btn:``: retrieve mosaic" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:308 -msgid "Landsat and Sentinel datasets have a different grid system, which is why the selection process cannot be used if you have selected both of these datasets. If you have an idea related to the user interface (UI) that could make them work together, let us know in our `issue tracker `__." +#: ../../source/cookbook/optical_mosaic.rst:309 +msgid "" +"If you have not selected the option :guilabel:`Select scenes` in the " +":guilabel:`SCN` tab, the :icon:`fa-solid fa-wand-sparkles` button will be" +" disabled and the scene areas will be hidden as no scene selection needs " +"to be performed (see those with a number in a circle on the previous " +"screenshot)." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:311 +msgid "" +"If you can't see the image scene area, you probably have selected a small" +" AOI. Zoom out on the map and you will see the number of available images" +" in the circles." +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:314 +msgid "Select scenes" +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:316 +msgid "" +"To create a mosaic, select the scenes that will be used to compute each " +"pixel value of the mosaic. SEPAL provides a user-friendly interface that " +"will guide you through the selection process. You don't have to select " +"the stack for every pixel; instead, SEPAL will clip the AOI in smaller " +"pieces called **Tiles**. These tiles correspond to the native tiling " +"system of your dataset and are displayed on the map with circled numbers " +"in their centroid. Each number corresponds to the number of scenes " +"available to build the mosaic tile. Hover over these circles to see the " +"tile boundaries appear." +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:320 +msgid "" +"Landsat and Sentinel datasets have a different grid system, which is why " +"the selection process cannot be used if you have selected both of these " +"datasets. If you have an idea related to the user interface (UI) that " +"could make them work together, let us know in our `issue tracker " +"`__." +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:323 msgid "Auto-select scene" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:313 -msgid "Selecting the :icon:`fa-solid fa-wand-magic` tab will open the **Auto-selection** pane." +#: ../../source/cookbook/optical_mosaic.rst:325 +msgid "" +"Selecting the :icon:`fa-solid fa-wand-sparkles` tab will open the **Auto-" +"selection** pane." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:315 -msgid "Move the sliders to select the minimum and the maximum number of scenes SEPAL should select in a tile. Then, select the :guilabel:`Validate` button to apply the auto-select method." +#: ../../source/cookbook/optical_mosaic.rst:327 +msgid "" +"Move the sliders to set the :code:`Minimum number of scenes` and the " +":code:`Maximum number of scenes` SEPAL should select in a tile. Then, " +"select the :guilabel:`Select scenes` button to apply the auto-select " +"method." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:317 -msgid "SEPAL will use the priority defined in the :guilabel:`SCN` tab to order the scene and collect the optimal number for your request." +#: ../../source/cookbook/optical_mosaic.rst:329 +msgid "" +"SEPAL will use the priority defined in the :guilabel:`SCN` tab to order " +"the scene and collect the optimal number for your request." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:321 -msgid "The result is never perfect but can be used as a starting point for the manual selection of scenes." +#: ../../source/cookbook/optical_mosaic.rst:333 +msgid "" +"The result is never perfect but can be used as a starting point for the " +"manual selection of scenes." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:328 +#: ../../source/cookbook/optical_mosaic.rst:340 msgid "Clear all scenes" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:330 -msgid "If at least one scene is selected, the :icon:`fa-solid fa-trash` tab will be available. Select it to open the **Clear** pane." +#: ../../source/cookbook/optical_mosaic.rst:342 +msgid "" +"If at least one scene is selected, the :icon:`fa-solid fa-trash` tab will" +" be available. Select it to open the **Clear** pane." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:332 -msgid "Select :guilabel:`Clear scenes` to remove all manually and automatically selected scenes." +#: ../../source/cookbook/optical_mosaic.rst:344 +msgid "" +"Select :guilabel:`Clear scenes` to remove all manually and automatically " +"selected scenes." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:339 +#: ../../source/cookbook/optical_mosaic.rst:351 msgid "Manual selection" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:341 -msgid "To open the **Scene selection** menu, hover over a tile circled-number and select it (**1**). The window will be divided into two sections:" +#: ../../source/cookbook/optical_mosaic.rst:353 +msgid "" +"To open the **Scene selection** menu, hover over a tile circled-number " +"and select it (**1**). The window will be divided into two sections:" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:343 -msgid "**Available scene** (**2**): All the available scenes according to the parameters you selected. These scenes are ordered using the :code:`priority` parameter you set in the :guilabel:`SCN` tab." +#: ../../source/cookbook/optical_mosaic.rst:355 +msgid "" +"**Available scene** (**2**): All the available scenes according to the " +"parameters you selected. These scenes are ordered using the " +":code:`priority` parameter you set in the :guilabel:`SCN` tab." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:344 +#: ../../source/cookbook/optical_mosaic.rst:356 msgid "**Selected scenes** (**3**): The scenes that are currently selected." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:350 -msgid "Each thumbnail represents a scene of the tile stack. You have the option to include them in the mosaic. The scenes located on the left side are the **Available scenes**; the **Selected scenes** are on the right side. In both cases, the following information can be found on the thumbnail:" +#: ../../source/cookbook/optical_mosaic.rst:362 +msgid "" +"Each thumbnail represents a scene of the tile stack. You have the option " +"to include them in the mosaic. The scenes located on the left side are " +"the **Available scenes**; the **Selected scenes** are on the right side. " +"In both cases, the following information can be found on the thumbnail:" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:352 -msgid "A small preview of the scene in the *red, blue, green* band combination." +#: ../../source/cookbook/optical_mosaic.rst:364 +msgid "" +"A small preview of the scene in the *red, green, blue* (true-colour) band" +" combination." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:353 +#: ../../source/cookbook/optical_mosaic.rst:365 msgid "The exact date in YYYY-MM-DD of the scene." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:354 +#: ../../source/cookbook/optical_mosaic.rst:366 msgid "The satellite name :icon:`fa-solid fa-satellite-dish`." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:355 -msgid "The cloud coverage of the scene in percent and its position in the stack values :icon:`fa-solid fa-cloud`." +#: ../../source/cookbook/optical_mosaic.rst:367 +msgid "" +"The cloud coverage of the scene in percent and its position in the stack " +"values :icon:`fa-solid fa-cloud`." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:356 -msgid "The distance from target day in days within the season and its position in the stack values :icon:`fa-solid fa-calendar-check`." +#: ../../source/cookbook/optical_mosaic.rst:368 +msgid "" +"The distance from target day in days within the season and its position " +"in the stack values :icon:`fa-solid fa-calendar-check`." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:368 -msgid "You can decide to move the scene to the **Selected scene** area by selecting :icon:`fa-solid fa-plus`:guilabel:`Add` or moving it back to **Available scene** pane by selecting :icon:`fa-solid fa-minus` :guilabel:`Remove`." +#: ../../source/cookbook/optical_mosaic.rst:380 +msgid "" +"You can decide to move the scene to the **Selected scene** area by " +"selecting :icon:`fa-solid fa-plus` :guilabel:`Add` or moving it back to " +"the **Available scene** pane by selecting :icon:`fa-solid fa-minus` " +":guilabel:`Remove`." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:382 -msgid "Scenes are moved from one side to the other so they are not duplicated and cannot be selected twice. Be careful if your connection is slow; wait for the thumbnail to move before clicking again (if you click too fast, you could select two different images instead of one)." +#: ../../source/cookbook/optical_mosaic.rst:394 +msgid "" +"Scenes are moved from one side to the other so they are not duplicated " +"and cannot be selected twice. Be careful if your connection is slow; wait" +" for the thumbnail to move before clicking again (if you click too fast, " +"you could select two different images instead of one)." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:384 -msgid "Once you are happy with your selection, select the :guilabel:`Apply` button to close the window and use the selected scenes to compute the mosaic on this tile. When the window is closed, SEPAL resets the rendering of all tiles." +#: ../../source/cookbook/optical_mosaic.rst:396 +msgid "" +"Once you are happy with your selection, select the :guilabel:`Apply` " +"button to close the window and use the selected scenes to compute the " +"mosaic on this tile. When the window is closed, SEPAL resets the " +"rendering of all tiles." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:387 +#: ../../source/cookbook/optical_mosaic.rst:399 msgid "Retrieve" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:391 -msgid "You cannot export a recipe as an asset or a :code:`.tiff` file without a small computation quota. If you are a new user, see :doc:`../setup/resource`." +#: ../../source/cookbook/optical_mosaic.rst:403 +msgid "" +"You cannot export a recipe as an asset or a :code:`.tif` file without a " +"small computation quota. If you are a new user, see " +":doc:`../setup/resource`." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:393 -msgid "Selecting the :icon:`fa-solid fa-cloud-arrow-down` tab will open the **Retrieve** pane where you can select the exportation parameters." +#: ../../source/cookbook/optical_mosaic.rst:405 +msgid "" +"Selecting the :icon:`fa-solid fa-cloud-arrow-down` tab will open the " +"**Retrieve** pane where you can select the exportation parameters." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:400 +#: ../../source/cookbook/optical_mosaic.rst:412 msgid "Bands" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:402 -msgid "You need to select the band(s) to export with the mosaic. There is no maximum number of bands, but exporting useless bands will only increase the size and time of the output. To discover the full list of available bands with SEPAL, see :doc:`../feature/bands`." +#: ../../source/cookbook/optical_mosaic.rst:414 +msgid "" +"You need to select the band(s) to export with the mosaic. There is no " +"maximum number of bands, but exporting useless bands will only increase " +"the size and time of the output. To discover the full list of available " +"bands with SEPAL, see :doc:`../feature/optical_bands`." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:406 -msgid "There is no fixed rule to the band selection. Each index is more adapted to a set of analyses in a defined biome. The knowledge of the study area, the evolution expected and the careful selection of an adapted band combination will improve the quality of downstream analysis." +#: ../../source/cookbook/optical_mosaic.rst:418 +msgid "" +"There is no fixed rule to the band selection. Each index is more adapted " +"to a set of analyses in a defined biome. The knowledge of the study area," +" the evolution expected and the careful selection of an adapted band " +"combination will improve the quality of downstream analysis." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:409 +#: ../../source/cookbook/optical_mosaic.rst:421 msgid "Dates" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:411 -msgid ":guilabel:`dayofyear`: the Julian calendar date (day of the year)" +#: ../../source/cookbook/optical_mosaic.rst:423 +msgid ":guilabel:`dayOfYear`: the Julian calendar date (day of the year)" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:412 -msgid ":guilabel:`dayfromtarget`: the distance to the target date within the season in days" +#: ../../source/cookbook/optical_mosaic.rst:424 +msgid "" +":guilabel:`daysFromTarget`: the distance to the target date within the " +"season in days" +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:428 +msgid "" +"These metadata bands are only available when the :guilabel:`Medoid` " +"composing method is used (the :guilabel:`Median` method produces " +"artificial pixels that carry no metadata)." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:415 +#: ../../source/cookbook/optical_mosaic.rst:431 msgid "Scale" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:417 -msgid "You can set a custom scale for exportation by changing the value of the slider in metres (m) (note that requesting a smaller resolution than images' native resolution will not improve the quality of the output – just its size – keep in mind that the native resolution of Sentinel data is 10 m, while Landsat is 30 m.)" +#: ../../source/cookbook/optical_mosaic.rst:433 +msgid "" +"You can set a custom scale for exportation by selecting a value in metres" +" (m) (note that requesting a smaller resolution than the images' native " +"resolution will not improve the quality of the output – just its size – " +"keep in mind that the native resolution of Sentinel data is 10 m, while " +"Landsat is 30 m)." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:420 +#: ../../source/cookbook/optical_mosaic.rst:436 msgid "Destination" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:422 -msgid "You can export the image to the :guilabel:`SEPAL workspace` or to the ;guilabel:`Google Earth Engine Asset` folder. The same image will be exported to both; however, for the former, you will find it in :code:`.tif` format in the :code:`Downloads` folder; for the latter, the image will be exported to your GEE account asset list." +#: ../../source/cookbook/optical_mosaic.rst:438 +msgid "Choose a single destination for the export:" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:426 -msgid "If :guilabel:`Google Earth Engine Asset` is not displayed, it means that your GEE account is not connected to SEPAL. Please refer to `Connect SEPAL to GEE <../setup/gee.html>`__." +#: ../../source/cookbook/optical_mosaic.rst:440 +msgid "" +":guilabel:`SEPAL workspace`: the image is written to your SEPAL files in " +":code:`.tif` format (by default in the :code:`Downloads` folder)." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:428 -msgid "Select :guilabel:`Apply` to start the download process." +#: ../../source/cookbook/optical_mosaic.rst:441 +msgid "" +":guilabel:`Google Earth Engine asset`: the image is exported to your GEE " +"account as an asset. You can export it either as a single " +":guilabel:`Image` or as an :guilabel:`Image collection` (tiled, which is " +"better suited to large exports), and set its sharing to " +":guilabel:`Private` or :guilabel:`Public`." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:431 +#: ../../source/cookbook/optical_mosaic.rst:442 +msgid "" +":guilabel:`Google Drive`: the image is exported to the Google Drive of " +"the connected Google account." +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:446 +msgid "" +"The :guilabel:`Google Earth Engine asset` and :guilabel:`Google Drive` " +"destinations are only displayed when a Google account is connected to " +"SEPAL. If they are missing, please refer to `Connect SEPAL to GEE " +"<../setup/gee.html>`__." +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:448 +msgid "Select :guilabel:`Retrieve` to start the export process." +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:451 msgid "Exportation status" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:433 -msgid "In the **Tasks** tab (lower-left corner using the :icon:`fa-solid fa-list-check` or :icon:`fa-solid fa-spinner` buttons, depending on the loading status), you will see the list of the different loading tasks. The interface will provide you with information about task progress and display an error if the exportation has failed." +#: ../../source/cookbook/optical_mosaic.rst:453 +msgid "" +"In the **Tasks** tab (lower-left corner using the :icon:`fa-solid fa-" +"list-check` or :icon:`fa-solid fa-spinner` buttons, depending on the " +"loading status), you will see the list of the different loading tasks. " +"The interface will provide you with information about task progress and " +"display an error if the exportation has failed." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:435 -msgid "If you are unsatisfied with the way we present information, the task can also be monitored using the `GEE task manager `__." +#: ../../source/cookbook/optical_mosaic.rst:455 +msgid "" +"If you are unsatisfied with the way we present information, the task can " +"also be monitored using the `GEE task manager " +"`__." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:439 -msgid "This operation is running between GEE and SEPAL servers in the background. You can close the SEPAL page without stopping the process." +#: ../../source/cookbook/optical_mosaic.rst:459 +msgid "" +"This operation is running between GEE and SEPAL servers in the " +"background. You can close the SEPAL page without stopping the process." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:441 -msgid "When the task is finished, the frame will be displayed in green, as shown on the second image below." +#: ../../source/cookbook/optical_mosaic.rst:461 +msgid "" +"When the task is finished, the frame will be displayed in green, as shown" +" on the second image below." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:454 +#: ../../source/cookbook/optical_mosaic.rst:474 msgid "Access" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:456 -msgid "Once the download process is complete, you can access the data in your SEPAL folders. The data will be stored in the :code:`Downloads` folder using the following format:" +#: ../../source/cookbook/optical_mosaic.rst:476 +msgid "" +"Once the download process is complete, you can access the data in your " +"SEPAL folders. The data will be stored in the :code:`Downloads` folder " +"using the following format:" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:471 -msgid "Understanding how images are stored in an optical mosaic is only required if you want to manually use them. The SEPAL applications are bound to this tiling system and can digest the information for you." +#: ../../source/cookbook/optical_mosaic.rst:491 +msgid "" +"Understanding how images are stored in an optical mosaic is only required" +" if you want to manually use them. The SEPAL applications are bound to " +"this tiling system and can digest the information for you." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:473 -msgid "The data are stored in a folder using the name of the optical mosaic as it was created in the first section of this article. As the number of data is spatially too big to be exported at once, the data are divided into smaller pieces and brought back together in a :code:`_.vrt` file." +#: ../../source/cookbook/optical_mosaic.rst:493 +msgid "" +"The data are stored in a folder using the name of the optical mosaic as " +"it was created in the first section of this article. As the number of " +"data is spatially too big to be exported at once, the data are divided " +"into smaller pieces and brought back together in a :code:`_.vrt` file." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:477 -msgid "The full folder with a consistent tree folder is required to read the `.vrt`" +#: ../../source/cookbook/optical_mosaic.rst:497 +msgid "" +"The full folder with a consistent tree folder is required to read the " +"`.vrt`" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:481 -msgid "Now that you have downloaded the optical mosaic to your SEPAL and/or GEE account, it can be downloaded to your computer using `FileZilla <../setup.filezilla.html>`__ or used in other SEPAL workflows." +#: ../../source/cookbook/optical_mosaic.rst:501 +msgid "" +"Now that you have exported the optical mosaic to your SEPAL workspace, it" +" can be downloaded to your computer using `file exchange options " +"<../setup/filezilla.html>`__ or used in other SEPAL workflows." msgstr "" #~ msgid "Optical mosaic" @@ -1794,3 +2202,539 @@ msgstr "" #~ " SEPAL workflows." #~ msgstr "" +#~ msgid "" +#~ "The first step is to change the" +#~ " name of the recipe. This name " +#~ "will be used to identify your " +#~ "files and recipes in SEPAL folders. " +#~ "Use the best-suited convention for " +#~ "your needs. Simply double-click the " +#~ "tab and write a new name. It " +#~ "will default to " +#~ ":code:`Optical_mosaic___`." +#~ msgstr "" + +#~ msgid "" +#~ "As mentioned in the introduction, a " +#~ "mosaic uses different raster datasets " +#~ "that can be obtained from multiple " +#~ "sources. SEPAL allows you to select " +#~ "data from multiple entry points. Below," +#~ " you can find a description of " +#~ "these sources (select a link to " +#~ "see the corresponding dataset information):" +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`L8`: `Landsat 8 Tier 1 " +#~ "`__. Landsat " +#~ "scenes with the highest available data" +#~ " quality are placed into **Tier 1**" +#~ " and considered suitable for time-" +#~ "series processing analysis. **Tier 1** " +#~ "includes Level-1 Precision Terrain (L1TP) " +#~ "processed data that have well-" +#~ "characterized radiometry and are " +#~ "intercalibrated across different Landsat " +#~ "sensors. The geo-registration of **Tier" +#~ " 1** scenes will be consistent and" +#~ " within prescribed tolerances (< = 12" +#~ " m root mean square error [RMSE])." +#~ " All **Tier 1** Landsat data can " +#~ "be considered consistent and intercalibrated" +#~ " (regardless of the sensor used) " +#~ "across the full collection." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`L8 T2`: `Landsat 8 Tier 2 " +#~ "`__. Scenes " +#~ "not meeting **Tier 1** criteria during" +#~ " processing are assigned to **Tier " +#~ "2**. This includes Systematic terrain " +#~ "(L1GT) and Systematic (L1GS) processed " +#~ "scenes, as well as any L1TP scenes" +#~ " that do not meet the **Tier " +#~ "1** specifications due to significant " +#~ "cloud cover, insufficient ground control " +#~ "and other factors. Users interested in" +#~ " **Tier 2** scenes can analyze the" +#~ " RMSE and other properties to " +#~ "determine the suitability for use in " +#~ "individual applications and studies." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`L7`: `Landsat 7 Tier 1 " +#~ "`__. Landsat " +#~ "scenes with the highest available data" +#~ " quality are placed into **Tier 1**" +#~ " and are considered suitable for " +#~ "time-series processing analysis. **Tier 1**" +#~ " includes Level-1 Precision Terrain (L1TP)" +#~ " processed data that have well-" +#~ "characterized radiometry and are " +#~ "intercalibrated across different Landsat " +#~ "sensors. The geo-registration of **Tier" +#~ " 1** scenes will be consistent and" +#~ " within prescribed tolerances (< = 12" +#~ " m RMSE). All **Tier 1** Landsat " +#~ "data can be considered consistent and" +#~ " intercalibrated across the full collection" +#~ " (regardless of the sensor used)." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`L7 T2`: `Landsat 7 Tier 2 " +#~ "`__. Scenes " +#~ "not meeting **Tier 1** criteria during" +#~ " processing are assigned to **Tier " +#~ "2**. This includes Systematic terrain " +#~ "(L1GT) and Systematic (L1GS) processed " +#~ "scenes, as well as any L1TP scenes" +#~ " that do not meet the **Tier " +#~ "1** specifications due to significant " +#~ "cloud cover, insufficient ground control " +#~ "and other factors. Users interested in" +#~ " **Tier 2** scenes can analyze the" +#~ " RMSE and other properties to " +#~ "determine the suitability for use in " +#~ "individual applications and studies." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`L4-5`: `Landsat 4 Tier 1 " +#~ "`__ combined " +#~ "with `Landsat 5 Tier 1 " +#~ "`__. Landsat " +#~ "scenes with the highest available data" +#~ " quality are placed into **Tier 1**" +#~ " and are considered suitable for " +#~ "time-series processing analysis. **Tier 1**" +#~ " includes Level-1 Precision Terrain (L1TP)" +#~ " processed data that have well-" +#~ "characterized radiometry and are " +#~ "intercalibrated across different Landsat " +#~ "sensors. The geo-registration of **Tier" +#~ " 1** scenes will be consistent and" +#~ " within prescribed tolerances (< = 12" +#~ " m RMSE). All **Tier 1** Landsat " +#~ "data can be considered consistent and" +#~ " intercalibrated across the full collection" +#~ " (regardless of the sensor used)." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`L4-5 T2`: `Landsat 4 TM Tier" +#~ " 2 `__ combined " +#~ "with `Landsat 5 TM Tier 2 " +#~ "`__. Scenes " +#~ "not meeting **Tier 1** criteria during" +#~ " processing are assigned to **Tier " +#~ "2**. This includes Systematic terrain " +#~ "(L1GT) and Systematic (L1GS) processed " +#~ "scenes, as well as any L1TP scenes" +#~ " that do not meet the **Tier " +#~ "1** specifications due to significant " +#~ "cloud cover, insufficient ground control " +#~ "and other factors. Users interested in" +#~ " **Tier 2** scenes can analyze the" +#~ " RMSE and other properties to " +#~ "determine the suitability for use in " +#~ "individual applications and studies." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`A+B`: `Sentinel-2 Multispectral " +#~ "instrument `__ is a " +#~ "wide-swath, high-resolution, multispectral " +#~ "imaging mission supporting Copernicus Land " +#~ "Monitoring studies, including the monitoring" +#~ " of vegetation, soil and water cover," +#~ " as well as the observation of " +#~ "inland waterways and coastal areas." +#~ msgstr "" + +#~ msgid "" +#~ "Choose :guilabel:`Select scenes` and choose" +#~ " one of the three available " +#~ ":code:`Priority` options, based on the " +#~ "needs of your analysis (SEPAL sorts " +#~ "the images available for each tile):" +#~ msgstr "" + +#~ msgid ":guilabel:`Cloud free`: Prioritizes images with zero or few clouds." +#~ msgstr "" + +#~ msgid ":guilabel:`Target date`: Prioritizes images that match the target date." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`Balanced`: Prioritizes images that " +#~ "maximize both cloud and target date." +#~ msgstr "" + +#~ msgid "This step is optional. SEPAL provides the following options by default:" +#~ msgstr "" + +#~ msgid "**Correction**: :guilabel:`SR`, :guilabel:`BRDF`" +#~ msgstr "" + +#~ msgid "**Pixel filters**: No filters" +#~ msgstr "" + +#~ msgid "**Cloud detection**: :guilabel:`QA bands`, :guilabel:`Cloud score`" +#~ msgstr "" + +#~ msgid "**Cloud buffering**: :guilabel:`None`" +#~ msgstr "" + +#~ msgid "**Snow masking**: :guilabel:`On`" +#~ msgstr "" + +#~ msgid "" +#~ "To create a mosaic, provide SEPAL " +#~ "with the compositing method to create" +#~ " the final image. See the following" +#~ " image for all possible compositing " +#~ "options available." +#~ msgstr "" + +#~ msgid "" +#~ "This will apply corrections on the " +#~ "stacked pixels to improve the quality" +#~ " of the mosaic." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`SR`: Surface reflectance improves " +#~ "comparison between multiple images over " +#~ "the same region by accounting for " +#~ "atmospheric effects such as aerosol " +#~ "scattering and thin clouds, which can" +#~ " help in the detection and " +#~ "characterization of Earth surface change. " +#~ "Top-of-atmosphere images are used " +#~ "if not selected." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`BRDF`: Uses a bidirectional " +#~ "reflectance distribution function (BRDF) model" +#~ " to characterize surface reflectance " +#~ "anisotropy. For a given land area, " +#~ "the BRDF is established based on " +#~ "selected multi-angular observations of " +#~ "surface reflectance." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`Calibrate`: Calibrates Sentinel and " +#~ "Landsat data to make them compatible." +#~ msgstr "" + +#~ msgid "Landsat and Sentinel data are mixed; and" +#~ msgstr "" + +#~ msgid "BRDF and surface reflectance (SR) corrections are disabled." +#~ msgstr "" + +#~ msgid "" +#~ "Activating any of the filters will " +#~ "remove some pixels from the stack. " +#~ "Removing pixels improves the quality of" +#~ " the mosaic, as they are not " +#~ "taken into account in the median " +#~ "value computation." +#~ msgstr "" + +#~ msgid "" +#~ "Each filter is applied iteratively (e.g." +#~ " if the normalized difference vegetation" +#~ " index [NDVI] is already filtering " +#~ "all pixels but one, there will be" +#~ " nothing left in the stack to " +#~ "be filtered by day of year)." +#~ msgstr "" + +#~ msgid "**Shadow**: Filters the XX percent darkest pixels of the stack." +#~ msgstr "" + +#~ msgid "" +#~ "**Haze**: Computes a haze index and " +#~ "filters the XX percent highest values." +#~ msgstr "" + +#~ msgid "" +#~ "**NDVI**: Computes the NDVI and only " +#~ "keeps the XX percent highest values." +#~ msgstr "" + +#~ msgid "" +#~ "**Day of the year**: Computes the " +#~ "distance from target day in days " +#~ "and filters out the XX percent " +#~ "farthest." +#~ msgstr "" + +#~ msgid "Cloud detection" +#~ msgstr "" + +#~ msgid "Refers to the algorithm used to detect clouds." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`QA bands`: Uses quality assessment" +#~ " (QA) bands to identify clouds in " +#~ "Sentinel data." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`Cloud score`: Uses the computed " +#~ "cloud score to identify clouds in " +#~ "Landsat data." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`Pino 26`: Uses the Pino_26 " +#~ "algorithm to identify clouds (for more" +#~ " information, see `D. Simonetti [2021] " +#~ "`__)." +#~ msgstr "" + +#~ msgid "" +#~ "This filter is only available for " +#~ "Sentinel exclusive source when both " +#~ ":guilabel:`BRDF` and :guilabel:`SR` correction " +#~ "are disabled." +#~ msgstr "" + +#~ msgid "" +#~ "Controls how clouds will be masked " +#~ "based on the cloud detection algorithm" +#~ " selected." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`off`: Uses cloud-free pixels " +#~ "if possible, but doesn't mask areas " +#~ "without cloud-free pixels." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`moderate`: Relies only on image " +#~ "source QA bands for cloud masking " +#~ "(a moderate threshold is used)." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`aggressive`: Relies on image source" +#~ " QA bands and a cloud scoring " +#~ "algorithm for cloud masking with an " +#~ "aggressive threshold (this will probably " +#~ "mask out some built-up areas and" +#~ " other bright features)." +#~ msgstr "" + +#~ msgid "" +#~ "When pixels are identified as clouds," +#~ " SEPAL can remove pixels in a " +#~ "small buffer around it to prevent " +#~ "hazy pixels at the borders of " +#~ "clouds to be included in the " +#~ "mosaic." +#~ msgstr "" + +#~ msgid "" +#~ "Buffering is done on the pixel " +#~ "level, so using this option will " +#~ "significantly increase the creation time " +#~ "of the mosaic." +#~ msgstr "" + +#~ msgid ":guilabel:`none`: Doesn't use cloud buffering." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`moderate`: Masks an additional " +#~ "**120 m** around each larger cloud." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`aggressive`: Masks an additional " +#~ "**600 m** around each larger cloud." +#~ msgstr "" + +#~ msgid "Snow masking" +#~ msgstr "" + +#~ msgid "Defines how snowy pixels will be masked." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`on`: Masks snow. This tends " +#~ "to leave some pixels with shadowy " +#~ "snow." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`off`: Doesn't mask snow. Note " +#~ "that some clouds might get misclassified" +#~ " as snow; therefore, disabling snow " +#~ "masking might lead to cloud artifacts." +#~ msgstr "" + +#~ msgid "" +#~ "After filtering the stack of pixels, " +#~ "SEPAL will compute the median value " +#~ "on the different bands of the " +#~ "image. The composing method will define" +#~ " how the final pixel value is " +#~ "extracted." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`Medoid`: Uses the closest pixel " +#~ "from the median value. As a real" +#~ " pixel from the stack, the final " +#~ "value will embed metadata (e.g. the " +#~ "date of observation)." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`Median`: Uses the computed value" +#~ " of the median. If no pixel is" +#~ " matching this value, the pixel will" +#~ " not embed any metadata. It tends " +#~ "to produce smoother mosaics." +#~ msgstr "" + +#~ msgid ":btn:``: auto-select scenes" +#~ msgstr "" + +#~ msgid "" +#~ "If you have not selected the " +#~ "option :guilabel:`Select scenes` in the " +#~ ":guilabel:`SCN` tab, the :icon:`fa-solid " +#~ "fa-wand-magic` button will be " +#~ "disabled and the scene areas will " +#~ "be hidden as no scene selection " +#~ "needs to be performed (see those " +#~ "with a number in a circle on " +#~ "the previous screenshot)." +#~ msgstr "" + +#~ msgid "" +#~ "Selecting the :icon:`fa-solid fa-" +#~ "wand-magic` tab will open the " +#~ "**Auto-selection** pane." +#~ msgstr "" + +#~ msgid "" +#~ "Move the sliders to select the " +#~ "minimum and the maximum number of " +#~ "scenes SEPAL should select in a " +#~ "tile. Then, select the :guilabel:`Validate`" +#~ " button to apply the auto-select " +#~ "method." +#~ msgstr "" + +#~ msgid "" +#~ "A small preview of the scene in" +#~ " the *red, blue, green* band " +#~ "combination." +#~ msgstr "" + +#~ msgid "" +#~ "You can decide to move the scene" +#~ " to the **Selected scene** area by" +#~ " selecting :icon:`fa-solid fa-" +#~ "plus`:guilabel:`Add` or moving it back " +#~ "to **Available scene** pane by selecting" +#~ " :icon:`fa-solid fa-minus` " +#~ ":guilabel:`Remove`." +#~ msgstr "" + +#~ msgid "" +#~ "You cannot export a recipe as an" +#~ " asset or a :code:`.tiff` file " +#~ "without a small computation quota. If" +#~ " you are a new user, see " +#~ ":doc:`../setup/resource`." +#~ msgstr "" + +#~ msgid "" +#~ "You need to select the band(s) to" +#~ " export with the mosaic. There is " +#~ "no maximum number of bands, but " +#~ "exporting useless bands will only " +#~ "increase the size and time of the" +#~ " output. To discover the full list" +#~ " of available bands with SEPAL, see" +#~ " :doc:`../feature/bands`." +#~ msgstr "" + +#~ msgid ":guilabel:`dayofyear`: the Julian calendar date (day of the year)" +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`dayfromtarget`: the distance to the" +#~ " target date within the season in " +#~ "days" +#~ msgstr "" + +#~ msgid "" +#~ "You can set a custom scale for " +#~ "exportation by changing the value of " +#~ "the slider in metres (m) (note " +#~ "that requesting a smaller resolution " +#~ "than images' native resolution will not" +#~ " improve the quality of the output" +#~ " – just its size – keep in " +#~ "mind that the native resolution of " +#~ "Sentinel data is 10 m, while " +#~ "Landsat is 30 m.)" +#~ msgstr "" + +#~ msgid "" +#~ "You can export the image to the" +#~ " :guilabel:`SEPAL workspace` or to the " +#~ ";guilabel:`Google Earth Engine Asset` folder." +#~ " The same image will be exported " +#~ "to both; however, for the former, " +#~ "you will find it in :code:`.tif` " +#~ "format in the :code:`Downloads` folder; " +#~ "for the latter, the image will be" +#~ " exported to your GEE account asset" +#~ " list." +#~ msgstr "" + +#~ msgid "" +#~ "If :guilabel:`Google Earth Engine Asset` " +#~ "is not displayed, it means that " +#~ "your GEE account is not connected " +#~ "to SEPAL. Please refer to `Connect " +#~ "SEPAL to GEE <../setup/gee.html>`__." +#~ msgstr "" + +#~ msgid "Select :guilabel:`Apply` to start the download process." +#~ msgstr "" + +#~ msgid "" +#~ "Now that you have downloaded the " +#~ "optical mosaic to your SEPAL and/or " +#~ "GEE account, it can be downloaded " +#~ "to your computer using `FileZilla " +#~ "<../setup.filezilla.html>`__ or used in other" +#~ " SEPAL workflows." +#~ msgstr "" + diff --git a/docs/source/_locale/ar/LC_MESSAGES/cookbook/time_series.po b/docs/source/_locale/ar/LC_MESSAGES/cookbook/time_series.po index 6f20c6ea93..d644be3ebb 100644 --- a/docs/source/_locale/ar/LC_MESSAGES/cookbook/time_series.po +++ b/docs/source/_locale/ar/LC_MESSAGES/cookbook/time_series.po @@ -1,29 +1,28 @@ + msgid "" msgstr "" -"Project-Id-Version: sepal-doc\n" +"Project-Id-Version: sepal-doc\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-03-07 09:39+0100\n" -"PO-Revision-Date: 2024-03-07 08:56\n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: 2024-03-07 08:56+0000\n" "Last-Translator: \n" +"Language: ar_SA\n" "Language-Team: Arabic\n" +"Plural-Forms: nplurals=6; plural=(n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : " +"n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5);\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.14.0\n" -"Plural-Forms: nplurals=6; plural=(n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5);\n" -"X-Crowdin-Project: sepal-doc\n" -"X-Crowdin-Project-ID: 562097\n" -"X-Crowdin-Language: ar\n" -"X-Crowdin-File: /main/docs/source/_locale/en/LC_MESSAGES/cookbook/time_series.po\n" -"X-Crowdin-File-ID: 75\n" -"Language: ar_SA\n" +"Generated-By: Babel 2.18.0\n" #: ../../source/cookbook/time_series.rst:2 msgid "Time series" msgstr "" #: ../../source/cookbook/time_series.rst:4 -msgid "*Create and retrieve SITS to study patterns and key changes in landscape evolution over time*" +msgid "" +"*Create and retrieve SITS to study patterns and key changes in landscape " +"evolution over time*" msgstr "" #: ../../source/cookbook/time_series.rst:7 @@ -31,23 +30,48 @@ msgid "Overview" msgstr "" #: ../../source/cookbook/time_series.rst:9 -msgid "A Satellite Image Time Series (SITS) is a set of satellite images taken of the same scene at different times. A SITS makes use of different satellite sources to obtain a larger data series with a short time interval between two images. In this case, it is fundamental to observe the spatial resolution and registration constraints." +msgid "" +"A Satellite Image Time Series (SITS) is a set of satellite images taken " +"of the same scene at different times. A SITS makes use of different " +"satellite sources to obtain a larger data series with a short time " +"interval between two images. In this case, it is fundamental to observe " +"the spatial resolution and registration constraints." msgstr "" #: ../../source/cookbook/time_series.rst:11 -msgid "Satellite observations offer opportunities for understanding how the Earth is changing, determining the causes of these changes and predicting future changes. Remotely sensed data, combined with information from ecosystem models, offer an opportunity for predicting and understanding the behaviour of Earth's ecosystems. Sensors with high spatial and temporal resolutions make the observation of precise spatio-temporal structures in dynamic scenes more accessible. Temporal components integrated with spectral and spatial dimensions allow the identification of complex patterns concerning applications connected with environmental monitoring and analysis of land cover dynamics." +msgid "" +"Satellite observations offer opportunities for understanding how the " +"Earth is changing, determining the causes of these changes and predicting" +" future changes. Remotely sensed data, combined with information from " +"ecosystem models, offer an opportunity for predicting and understanding " +"the behaviour of Earth's ecosystems. Sensors with high spatial and " +"temporal resolutions make the observation of precise spatio-temporal " +"structures in dynamic scenes more accessible. Temporal components " +"integrated with spectral and spatial dimensions allow the identification " +"of complex patterns concerning applications connected with environmental " +"monitoring and analysis of land cover dynamics." msgstr "" #: ../../source/cookbook/time_series.rst:13 -msgid "Change detection can only provide a \"before and after\" scenario; a time-series analysis provides an opportunity to study patterns and key changes in the landscape evolution over time." +msgid "" +"Change detection can only provide a \"before and after\" scenario; a " +"time-series analysis provides an opportunity to study patterns and key " +"changes in the landscape evolution over time." msgstr "" #: ../../source/cookbook/time_series.rst:15 -msgid "This SEPAL recipe allows users to create and retrieve SITS based on `Landsat `__ and `Copernicus `__ programmes' imagery using the Google Earth Engine (GEE) datacube." +msgid "" +"This SEPAL recipe allows users to create and retrieve SITS based on " +"`Landsat `__ and `Copernicus `__ programmes' " +"imagery using the Google Earth Engine (GEE) datacube." msgstr "" #: ../../source/cookbook/time_series.rst:19 -msgid "You won't be able to download images if your SEPAL and GEE account aren't connected. To learn more, go to `Connect SEPAL to GEE <../setup/gee.html>`__." +msgid "" +"You won't be able to download images if your SEPAL and GEE account aren't" +" connected. To learn more, go to `Connect SEPAL to GEE " +"<../setup/gee.html>`__." msgstr "" #: ../../source/cookbook/time_series.rst:22 @@ -55,15 +79,27 @@ msgid "Start" msgstr "" #: ../../source/cookbook/time_series.rst:24 -msgid "Once the **Time series** recipe is selected, SEPAL will open the recipe process in a new tab (see **1** in the following figure). The base map will change to Google high-resolution imagery and the **Area of interest (AOI)** selection window will appear in the lower right (**2**)." +msgid "" +"Once the **Time series** recipe is selected, SEPAL will open the recipe " +"process in a new tab (see **1** in the following figure). The base map " +"will change to Google high-resolution imagery and the **Area of interest " +"(AOI)** selection window will appear in the lower right (**2**)." msgstr "" #: ../../source/cookbook/time_series.rst:30 -msgid "The first step is to change the name of the recipe. This name will be used to identify your files and recipes in the SEPAL folders. Use the best-suited convention for your needs. Simply double-click the tab and enter a new name. It will default to :code:`Time_series___`." +msgid "" +"The first step is to change the name of the recipe. This name will be " +"used to identify your files and recipes in the SEPAL folders. Use the " +"best-suited convention for your needs. Simply double-click the tab and " +"enter a new name. It will default to " +":code:`Time_series___`." msgstr "" #: ../../source/cookbook/time_series.rst:42 -msgid "The SEPAL team recommends using the following naming convention: :code:`___` (e.g. :code:`sgp_2012-2018_ndfi_l78`)." +msgid "" +"The SEPAL team recommends using the following naming convention: " +":code:`___` (e.g. " +":code:`sgp_2012-2018_ndfi_l78`)." msgstr "" #: ../../source/cookbook/time_series.rst:45 @@ -72,7 +108,9 @@ msgid "Parameters" msgstr "" #: ../../source/cookbook/time_series.rst:47 -msgid "In the lower-right corner, four tabs are available, allowing you to customize the time series to your needs:" +msgid "" +"In the lower-right corner, four tabs are available, allowing you to " +"customize the time series to your needs:" msgstr "" #: ../../source/cookbook/time_series.rst:49 @@ -96,7 +134,9 @@ msgid "AOI selection" msgstr "" #: ../../source/cookbook/time_series.rst:61 -msgid "The data exported by the recipe will be confined to the bounds of the AOI. There are multiple ways to select the AOI in SEPAL:" +msgid "" +"The data exported by the recipe will be confined to the bounds of the " +"AOI. There are multiple ways to select the AOI in SEPAL:" msgstr "" #: ../../source/cookbook/time_series.rst:63 @@ -120,7 +160,12 @@ msgid "Dates" msgstr "" #: ../../source/cookbook/time_series.rst:76 -msgid "In the :guilabel:`DAT` tab, you will be asked to select the start date and end date of the time series. Select the **Date** text field to open a pop-up window. Choose the :btn:` Select` button to choose a date. When both dates have been chosen, select the :btn:` Apply` button." +msgid "" +"In the :guilabel:`DAT` tab, you will be asked to select the start date " +"and end date of the time series. Select the **Date** text field to open a" +" pop-up window. Choose the :btn:` Select` button to " +"choose a date. When both dates have been chosen, select the :btn:` Apply` button." msgstr "" #: ../../source/cookbook/time_series.rst:89 @@ -128,11 +173,18 @@ msgid "Sources" msgstr "" #: ../../source/cookbook/time_series.rst:91 -msgid "As mentioned in the introduction, a SITS makes use of different satellite sources to obtain a larger data series with a shorter time interval between the images. To meet this objective, SEPAL allows you to select data from multiple entry points. You can select multiple sources from :btn:`Radar`, :btn:`Optical` or :btn:`Planet` datasets." +msgid "" +"As mentioned in the introduction, a SITS makes use of different satellite" +" sources to obtain a larger data series with a shorter time interval " +"between the images. To meet this objective, SEPAL allows you to select " +"data from multiple entry points. You can select multiple sources from " +":btn:`Radar`, :btn:`Optical` or :btn:`Planet` datasets." msgstr "" #: ../../source/cookbook/time_series.rst:93 -msgid "When all of the data has been selected, select :btn:` Apply`." +msgid "" +"When all of the data has been selected, select :btn:` " +"Apply`." msgstr "" #: ../../source/cookbook/time_series.rst:100 @@ -160,7 +212,12 @@ msgid "Snow masking: :guilabel:`on`" msgstr "" #: ../../source/cookbook/time_series.rst:111 -msgid "Multiple pre-processing parameters can be set to improve the quality of the provided images. SEPAL has gathered four of them in the form of these interactive buttons. If you think others should be added, tell us in the `issue tracker `__." +msgid "" +"Multiple pre-processing parameters can be set to improve the quality of " +"the provided images. SEPAL has gathered four of them in the form of these" +" interactive buttons. If you think others should be added, tell us in the" +" `issue tracker " +"`__." msgstr "" #: ../../source/cookbook/time_series.rst:113 @@ -168,11 +225,15 @@ msgid "**Correction**" msgstr "" #: ../../source/cookbook/time_series.rst:115 -msgid ":guilabel:`Surface reflectance`: Use scenes' atmospherically corrected surface reflectance." +msgid "" +":guilabel:`Surface reflectance`: Use scenes' atmospherically corrected " +"surface reflectance." msgstr "" #: ../../source/cookbook/time_series.rst:116 -msgid ":guilabel:`BRDF correction`: Correct for bidirectional reflectance distribution function (BRDF) effects." +msgid "" +":guilabel:`BRDF correction`: Correct for bidirectional reflectance " +"distribution function (BRDF) effects." msgstr "" #: ../../source/cookbook/time_series.rst:118 @@ -180,7 +241,9 @@ msgid "**Cloud detection**" msgstr "" #: ../../source/cookbook/time_series.rst:120 -msgid ":guilabel:`QA bands`: Use previously created quality assessment (QA) bands from datasets." +msgid "" +":guilabel:`QA bands`: Use previously created quality assessment (QA) " +"bands from datasets." msgstr "" #: ../../source/cookbook/time_series.rst:121 @@ -192,11 +255,16 @@ msgid "**Cloud masking**" msgstr "" #: ../../source/cookbook/time_series.rst:125 -msgid ":guilabel:`Moderate`: Rely only on image source QA bands for cloud masking." +msgid "" +":guilabel:`Moderate`: Rely only on image source QA bands for cloud " +"masking." msgstr "" #: ../../source/cookbook/time_series.rst:126 -msgid ":guilabel:`Aggressive`: Rely on image source QA bands and a cloud-scoring algorithm for cloud masking (this will probably \"mask\" some built-up areas and other bright features)." +msgid "" +":guilabel:`Aggressive`: Rely on image source QA bands and a cloud-scoring" +" algorithm for cloud masking (this will probably \"mask\" some built-up " +"areas and other bright features)." msgstr "" #: ../../source/cookbook/time_series.rst:128 @@ -204,11 +272,16 @@ msgid "**Snow masking**" msgstr "" #: ../../source/cookbook/time_series.rst:130 -msgid ":guilabel:`On`: Mask snow (this tends to leave some pixels with shadowy snow)." +msgid "" +":guilabel:`On`: Mask snow (this tends to leave some pixels with shadowy " +"snow)." msgstr "" #: ../../source/cookbook/time_series.rst:131 -msgid ":guilabel:`Off`: Don't mask snow (some clouds might get misclassified as snow, and because of this, disabling snow masking might lead to cloud artefacts)." +msgid "" +":guilabel:`Off`: Don't mask snow (some clouds might get misclassified as " +"snow, and because of this, disabling snow masking might lead to cloud " +"artefacts)." msgstr "" #: ../../source/cookbook/time_series.rst:138 @@ -220,7 +293,11 @@ msgid "The wavelength of each band is dependent on the satellite used." msgstr "" #: ../../source/cookbook/time_series.rst:144 -msgid "The time series will use a single observation for each pixel. This observation can be one of the available bands in SEPAL. To discover the full list of available bands, see :doc:`../feature/bands`." +msgid "" +"The time series will use a single observation for each pixel. This " +"observation can be one of the available bands in SEPAL. To discover the " +"full list of available bands, see :doc:`../feature/optical_bands` and " +"`../feature/radar_bands`." msgstr "" #: ../../source/cookbook/time_series.rst:147 @@ -228,11 +305,16 @@ msgid "Analysis" msgstr "" #: ../../source/cookbook/time_series.rst:149 -msgid "Once all parameters are set, you can generate data from the recipe. Some can be directly generated on the fly from the interface; the rest require retrieving the data from SEPAL folders." +msgid "" +"Once all parameters are set, you can generate data from the recipe. Some " +"can be directly generated on the fly from the interface; the rest require" +" retrieving the data from SEPAL folders." msgstr "" #: ../../source/cookbook/time_series.rst:151 -msgid "The analysis icons can be found in the upper-right corner of the SEPAL interface:" +msgid "" +"The analysis icons can be found in the upper-right corner of the SEPAL " +"interface:" msgstr "" #: ../../source/cookbook/time_series.rst:153 @@ -244,7 +326,10 @@ msgid ":btn:``: Retrieve data." msgstr "" #: ../../source/cookbook/time_series.rst:162 -msgid "The **Download** icon is only enabled when the data parameters are complete. If the button is disabled, check your parameters, as some might be missing." +msgid "" +"The **Download** icon is only enabled when the data parameters are " +"complete. If the button is disabled, check your parameters, as some might" +" be missing." msgstr "" #: ../../source/cookbook/time_series.rst:165 @@ -252,7 +337,11 @@ msgid "Plot" msgstr "" #: ../../source/cookbook/time_series.rst:167 -msgid "Select :btn:`` to start the plotting tool. Move the pointer to the main map; the pointer will be transformed into a :icon:`fa-solid fa-plus`. Click anywhere in the AOI to plot data for this specific location in the following pop-up window." +msgid "" +"Select :btn:`` to start the plotting tool. Move " +"the pointer to the main map; the pointer will be transformed into a :icon" +":`fa-solid fa-plus`. Click anywhere in the AOI to plot data for this " +"specific location in the following pop-up window." msgstr "" #: ../../source/cookbook/time_series.rst:169 @@ -260,15 +349,23 @@ msgid "The plotting area is dynamic and can be customized by the user." msgstr "" #: ../../source/cookbook/time_series.rst:171 -msgid "Using the slider (1), the temporal width displayed can be changed. It cannot exceed the start and/or end date of the time series." +msgid "" +"Using the slider (1), the temporal width displayed can be changed. It " +"cannot exceed the start and/or end date of the time series." msgstr "" #: ../../source/cookbook/time_series.rst:173 -msgid "You can also select the observation feature by selecting one of the available measures in the dropdown selector in the upper-left corner (2). The available bands are the same as those described previously." +msgid "" +"You can also select the observation feature by selecting one of the " +"available measures in the dropdown selector in the upper-left corner (2)." +" The available bands are the same as those described previously." msgstr "" #: ../../source/cookbook/time_series.rst:175 -msgid "On the main graph, each point represents one valid observation (based on the pre-processing filters). Hover over the point to let the tooltip describe the value and date of the observation (3)." +msgid "" +"On the main graph, each point represents one valid observation (based on " +"the pre-processing filters). Hover over the point to let the tooltip " +"describe the value and date of the observation (3)." msgstr "" #: ../../source/cookbook/time_series.rst:179 @@ -276,7 +373,13 @@ msgid "The coordinates of the point are displayed at the top of the chart window msgstr "" #: ../../source/cookbook/time_series.rst:187 -msgid "Since the plot feature is retrieving information from GEE on the fly and presenting it in an interactive window, this operation can take time, depending on the number of available observations and the complexity of the selected pre-processing parameters. If a spinning wheel appears in the pop-up window, you may have to wait up to two minutes to see the data displayed." +msgid "" +"Since the plot feature is retrieving information from GEE on the fly and " +"presenting it in an interactive window, this operation can take time, " +"depending on the number of available observations and the complexity of " +"the selected pre-processing parameters. If a spinning wheel appears in " +"the pop-up window, you may have to wait up to two minutes to see the data" +" displayed." msgstr "" #: ../../source/cookbook/time_series.rst:194 @@ -284,27 +387,47 @@ msgid "Export" msgstr "" #: ../../source/cookbook/time_series.rst:196 -msgid "In order for the data generated by the recipe to be used in other workflows, it needs to be retrieved from GEE and uploaded to SEPAL." +msgid "" +"In order for the data generated by the recipe to be used in other " +"workflows, it needs to be retrieved from GEE and uploaded to SEPAL." msgstr "" #: ../../source/cookbook/time_series.rst:200 -msgid "You cannot export a recipe as an asset or a :code:`.tiff` file without a small computation quota. If you are a new user, see :doc:`../setup/resource`." +msgid "" +"You cannot export a recipe as an asset or a :code:`.tiff` file without a " +"small computation quota. If you are a new user, see " +":doc:`../setup/resource`." msgstr "" #: ../../source/cookbook/time_series.rst:204 -msgid "Select :btn:`` to open the **Download parameters** window. You will be able to select the measure to use on each observation of the time series. This measure can be selected in the list of available bands presented above in a previous section." +msgid "" +"Select :btn:`` to open the **Download " +"parameters** window. You will be able to select the measure to use on " +"each observation of the time series. This measure can be selected in the " +"list of available bands presented above in a previous section." msgstr "" #: ../../source/cookbook/time_series.rst:208 -msgid "There is no fixed rule to the measure selection. Each index is more adapted to a set of analyses in a defined biome. The knowledge of the study area, the evolution expected and the careful selection of an adapted measure will improve the quality of downstream analysis." +msgid "" +"There is no fixed rule to the measure selection. Each index is more " +"adapted to a set of analyses in a defined biome. The knowledge of the " +"study area, the evolution expected and the careful selection of an " +"adapted measure will improve the quality of downstream analysis." msgstr "" #: ../../source/cookbook/time_series.rst:210 -msgid "You can set a custom scale for exportation by changing the value of the slider in metres (m). Keep in mind that Sentinel data native resolution is 10 m and Landsat is 30 m." +msgid "" +"You can set a custom scale for exportation by changing the value of the " +"slider in metres (m). Keep in mind that Sentinel data native resolution " +"is 10 m and Landsat is 30 m." msgstr "" #: ../../source/cookbook/time_series.rst:212 -msgid "When all the data is selected, select the :btn:` apply` button. Notice that the task tab in the lower-left corner of the screen (1) will change from :btn:`` to :btn:``, meaning that the tasks are loading." +msgid "" +"When all the data is selected, select the :btn:` " +"apply` button. Notice that the task tab in the lower-left corner of the " +"screen (1) will change from :btn:`` to :btn:``, meaning that the tasks are loading." msgstr "" #: ../../source/cookbook/time_series.rst:220 @@ -312,15 +435,27 @@ msgid "Exportation status" msgstr "" #: ../../source/cookbook/time_series.rst:222 -msgid "By selecting the **Tasks** tab (lower-left corner using the :btn:`` or :btn:`` buttons, depending on the loading status), you will see the list of different tasks loading. The interface will provide you with information about the task progress and display an error if the exportation has failed. If you are unsatisfied with the way we present information, the task can also be monitored using the `GEE task manager `__." +msgid "" +"By selecting the **Tasks** tab (lower-left corner using the :btn:`` or :btn:`` buttons, depending " +"on the loading status), you will see the list of different tasks loading." +" The interface will provide you with information about the task progress " +"and display an error if the exportation has failed. If you are " +"unsatisfied with the way we present information, the task can also be " +"monitored using the `GEE task manager " +"`__." msgstr "" #: ../../source/cookbook/time_series.rst:226 -msgid "This operation is running between GEE and SEPAL servers in the background, so you can close the SEPAL page without ending the process." +msgid "" +"This operation is running between GEE and SEPAL servers in the " +"background, so you can close the SEPAL page without ending the process." msgstr "" #: ../../source/cookbook/time_series.rst:228 -msgid "When the task is finished, the frame will be displayed in green, as shown in the second image below." +msgid "" +"When the task is finished, the frame will be displayed in green, as shown" +" in the second image below." msgstr "" #: ../../source/cookbook/time_series.rst:241 @@ -328,43 +463,82 @@ msgid "Access" msgstr "" #: ../../source/cookbook/time_series.rst:243 -msgid "Once the download process is done, you can access the data in your **SEPAL folders** in :code:`Downloads`, using the following format:" +msgid "" +"Once the download process is done, you can access the data in your " +"**SEPAL folders** in :code:`Downloads`, using the following format:" msgstr "" #: ../../source/cookbook/time_series.rst:268 -msgid "Understanding how images are stored in a time series is only required if you want to manually use them. The SEPAL applications are bound to this tiling system and can digest this information for you." +msgid "" +"Understanding how images are stored in a time series is only required if " +"you want to manually use them. The SEPAL applications are bound to this " +"tiling system and can digest this information for you." msgstr "" #: ../../source/cookbook/time_series.rst:270 -msgid "The data are stored in a folder using the name of the time series as it was labeled in the first section of this document. The SEPAL team was forced to use this folder structure as GEE is unable to export an :code:`ee.ImageCollection`. As the data is spatially too big to be exported at once, they are divided into smaller pieces and reassembled in a :code:`stack.vrt` file." +msgid "" +"The data are stored in a folder using the name of the time series as it " +"was labeled in the first section of this document. The SEPAL team was " +"forced to use this folder structure as GEE is unable to export an " +":code:`ee.ImageCollection`. As the data is spatially too big to be " +"exported at once, they are divided into smaller pieces and reassembled in" +" a :code:`stack.vrt` file." msgstr "" #: ../../source/cookbook/time_series.rst:272 -msgid "The AOI provided by the user will be divided into multiple SEPAL tiles. The AOI is a :code:`ee.FeatureCollection`; each feature is downloaded in a different tile. If the tile is bigger than 2° x 2° (EPSG:4326), then the feature is divided again until all of the tiles are smaller than the maximum 2° size. The tiles are identified by their :code:``." +msgid "" +"The AOI provided by the user will be divided into multiple SEPAL tiles. " +"The AOI is a :code:`ee.FeatureCollection`; each feature is downloaded in " +"a different tile. If the tile is bigger than 2° x 2° (EPSG:4326), then " +"the feature is divided again until all of the tiles are smaller than the " +"maximum 2° size. The tiles are identified by their :code:``." msgstr "" #: ../../source/cookbook/time_series.rst:274 -msgid "To limit the size of the downloaded images, in each SEPAL tile, the time period is divided into **Chunks** of 3 months. They are identified by their :code:`_`. **Chunks** are image folders. As a SEPAL tile is still bigger than what GEE can download at once, the images are divided into GEE tiles. This tiling process uses its own identification system (000000xxxx-000000xxxx). Consequently, **Chunks** contain tile raster images. Each one of these images is composed of one band per observation date, with the value of the measure for each pixel. The bands are named with the date." +msgid "" +"To limit the size of the downloaded images, in each SEPAL tile, the time " +"period is divided into **Chunks** of 3 months. They are identified by " +"their :code:`_`. **Chunks** are image folders. As a " +"SEPAL tile is still bigger than what GEE can download at once, the images" +" are divided into GEE tiles. This tiling process uses its own " +"identification system (000000xxxx-000000xxxx). Consequently, **Chunks** " +"contain tile raster images. Each one of these images is composed of one " +"band per observation date, with the value of the measure for each pixel. " +"The bands are named with the date." msgstr "" #: ../../source/cookbook/time_series.rst:276 -msgid "To gather all these rasters together, a first aggregation on time is performed. One :code:`stack.vrt` is created per GEE tile, meaning that each :code:`stack.vrt` file contains all the :code:`*.tif` contained in each **Chunk**, reconstituting the full time period on the smallest spatial unit: the GEE tile. Each file is stored in a folder called :code:`tile-`." +msgid "" +"To gather all these rasters together, a first aggregation on time is " +"performed. One :code:`stack.vrt` is created per GEE tile, meaning that " +"each :code:`stack.vrt` file contains all the :code:`*.tif`" +" contained in each **Chunk**, reconstituting the full time period on the " +"smallest spatial unit: the GEE tile. Each file is stored in a folder " +"called :code:`tile-`." msgstr "" #: ../../source/cookbook/time_series.rst:278 -msgid "Finally, information is gathered spatially at the SEPAL tile level in the main :code:`stack.vrt` file." +msgid "" +"Finally, information is gathered spatially at the SEPAL tile level in the" +" main :code:`stack.vrt` file." msgstr "" #: ../../source/cookbook/time_series.rst:280 -msgid "The last file, :code:`date.csv`, gathers all the observation dates in chronological order." +msgid "" +"The last file, :code:`date.csv`, gathers all the observation dates in " +"chronological order." msgstr "" #: ../../source/cookbook/time_series.rst:284 -msgid "The dates contained in :code:`date.csv` can differ from one SEPAL tile to another, due to data availability and pre-processing filters." +msgid "" +"The dates contained in :code:`date.csv` can differ from one SEPAL tile to" +" another, due to data availability and pre-processing filters." msgstr "" #: ../../source/cookbook/time_series.rst:288 -msgid "The full folder with a consistent treefolder is required to read the `.vrt`" +msgid "" +"The full folder with a consistent treefolder is required to read the " +"`.vrt`" msgstr "" #: ../../source/cookbook/time_series.rst:290 @@ -372,7 +546,11 @@ msgid "Here is an example of a real TS folder:" msgstr "" #: ../../source/cookbook/time_series.rst:315 -msgid "Now that you have downloaded the TS to your SEPAL account, it can be downloaded to your computer using `FileZilla <../setup.filezilla.html>`__ or used in one of our `Time-series analysis modules <../modules/time-series.html>`__." +msgid "" +"Now that you have downloaded the TS to your SEPAL account, it can be " +"downloaded to your computer using `FileZilla <../setup.filezilla.html>`__" +" or used in one of our `Time-series analysis modules <../modules/time-" +"series.html>`__." msgstr "" #~ msgid "" @@ -961,3 +1139,12 @@ msgstr "" #~ "analysis modules <../modules/time-series.html>`__." #~ msgstr "" +#~ msgid "" +#~ "The time series will use a single" +#~ " observation for each pixel. This " +#~ "observation can be one of the " +#~ "available bands in SEPAL. To discover" +#~ " the full list of available bands," +#~ " see :doc:`../feature/bands`." +#~ msgstr "" + diff --git a/docs/source/_locale/ar/LC_MESSAGES/developers/apps/app_catalog.po b/docs/source/_locale/ar/LC_MESSAGES/developers/apps/app_catalog.po new file mode 100644 index 0000000000..f591054764 --- /dev/null +++ b/docs/source/_locale/ar/LC_MESSAGES/developers/apps/app_catalog.po @@ -0,0 +1,479 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: ar\n" +"Language-Team: ar \n" +"Plural-Forms: nplurals=6; plural=(n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : " +"n%100>=3 && n%100<=10 ? 3 : n%100>=0 && n%100<=2 ? 4 : 5);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/developers/apps/app_catalog.rst:4 +msgid "Request a new app" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:5 +msgid "*Add your app to the SEPAL apps catalog so it appears on the platform*" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:8 +msgid "The catalog" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:10 +msgid "" +"The list of apps SEPAL runs lives in a dedicated repository, `dfguerrerom" +"/sepal-apps-catalog `__. For docker apps the catalog pins the exact commit SEPAL will" +" run; for jupyter apps it records the ``branch`` and SEPAL runs its tip. " +"Either way, adding or updating an app means opening a pull request " +"against this catalog, where a maintainer reviews the change before it " +"goes live." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:17 +msgid "The catalog ships two files:" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:19 +msgid "" +"``apps.test.json`` — apps available on test.sepal.io (the staging " +"environment used to validate changes before they reach end users)" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:21 +msgid "" +"``apps.prod.json`` — apps available on sepal.io (the production " +"environment)" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:23 +msgid "" +"New apps always land in ``apps.test.json`` first and are promoted to " +"``apps.prod.json`` only once they behave correctly on test.sepal.io." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:27 +msgid "Anatomy of a catalog entry" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:29 +msgid "" +"An app is a JSON object in the ``apps`` array. The schema only enforces " +"``id`` and ``label`` as universally required, plus a docker-specific " +"block — but the catalog convention is to **fill every field** so each " +"entry carries a complete dashboard listing. The only practical " +"exceptions:" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:34 +msgid "``port`` applies only to docker apps (and is required there)." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:35 +msgid "" +"For hidden kernel-only apps (see :ref:`developers_apps_kernels`) the " +"user-facing presentation fields (``description``, ``tagline``, " +"``logoRef``, ``projectLink``, ``author``, ``tags``) can be omitted, since" +" they are never shown." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:41 +msgid "Identification and routing" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:47 +#: ../../source/developers/apps/app_catalog.rst:84 +#: ../../source/developers/apps/app_catalog.rst:110 +#: ../../source/developers/apps/app_catalog.rst:144 +msgid "Field" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:48 +#: ../../source/developers/apps/app_catalog.rst:85 +#: ../../source/developers/apps/app_catalog.rst:111 +#: ../../source/developers/apps/app_catalog.rst:145 +msgid "When" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:49 +#: ../../source/developers/apps/app_catalog.rst:86 +#: ../../source/developers/apps/app_catalog.rst:112 +#: ../../source/developers/apps/app_catalog.rst:146 +msgid "Meaning" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:50 +msgid "``id``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:51 +#: ../../source/developers/apps/app_catalog.rst:54 +msgid "always (schema)" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:52 +msgid "Unique identifier across the catalog (``[A-Za-z0-9_.-]+``)." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:53 +msgid "``label``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:55 +msgid "Display name shown on the apps dashboard." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:56 +msgid "``endpoint``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:57 +#: ../../source/developers/apps/app_catalog.rst:62 +#: ../../source/developers/apps/app_catalog.rst:66 +#: ../../source/developers/apps/app_catalog.rst:69 +msgid "always" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:58 +msgid "" +"How SEPAL runs the app: ``jupyter`` or ``docker`` for new apps — " +"``shiny`` is legacy and ``rstudio`` is reserved for the built-in tool. " +"See :ref:`developers_apps_types`." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:61 +msgid "``repository``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:63 +msgid "" +"``https://github.com//`` of the app source. SEPAL clones it " +"to run the app." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:65 +msgid "``branch``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:67 +msgid "Branch the app tracks (commonly ``release``)." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:68 +msgid "``path``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:70 +msgid "" +"Entry point the app-launcher routes to. For jupyter, the Voila URL of the" +" notebook (e.g. " +"``/sandbox/jupyter/voila/render/shared/apps//ui.ipynb``); for " +"docker, **must equal** ``/api/app-launcher/`` exactly — the schema " +"enforces the prefix and ``check-docker-rules.js`` enforces that ```` " +"matches the entry's ``id``." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:78 +msgid "Docker-only fields" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:87 +msgid "``commit``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:88 +#: ../../source/developers/apps/app_catalog.rst:93 +msgid "docker only (schema)" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:89 +msgid "" +"Full 40-character lowercase commit SHA. Required for ``endpoint: " +"docker``; not allowed for other endpoints, which track the branch tip." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:92 +msgid "``port``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:94 +msgid "" +"Container port the docker app listens on. Integer 1–65535. Must be unique" +" across ``apps.test.json`` and ``apps.prod.json``; ``check-docker-" +"rules.js`` enforces this and prints ``Next free port: N`` on a violation." +" New apps take the next free port — ``max(existing_ports) + 1``." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:101 +msgid "Presentation" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:103 +msgid "" +"These fields populate the dashboard tile and the app's detail page. Skip " +"them *only* on hidden kernel-only entries." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:113 +msgid "``author``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:114 +#: ../../source/developers/apps/app_catalog.rst:117 +#: ../../source/developers/apps/app_catalog.rst:120 +#: ../../source/developers/apps/app_catalog.rst:123 +#: ../../source/developers/apps/app_catalog.rst:127 +#: ../../source/developers/apps/app_catalog.rst:130 +msgid "visible apps" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:115 +msgid "Who maintains the app (free-form string)." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:116 +msgid "``description``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:118 +msgid "Long-form description shown on the app's detail page." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:119 +msgid "``tagline``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:121 +msgid "One-line summary shown on the dashboard tile." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:122 +msgid "``logoRef``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:124 +msgid "Filename of the logo asset bundled with the catalog (e.g. ``my-app.svg``)." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:126 +msgid "``projectLink``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:128 +msgid "URL to the project's home page, docs, or upstream repository." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:129 +msgid "``tags``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:131 +msgid "" +"Array of tag values defined in the catalog's top-level ``tags`` block " +"(e.g. ``[\"TOOLS\", \"TIME_SERIES\"]``)." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:135 +msgid "Behaviour flags" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:137 +msgid "" +"Optional booleans that alter how the app is listed or launched. Defaults " +"are all ``false``." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:147 +msgid "``hidden``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:148 +#: ../../source/developers/apps/app_catalog.rst:152 +#: ../../source/developers/apps/app_catalog.rst:155 +#: ../../source/developers/apps/app_catalog.rst:158 +#: ../../source/developers/apps/app_catalog.rst:162 +msgid "optional" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:149 +msgid "" +"If ``true``, the app builds but does not show a dashboard tile. Used for " +"packaged kernels — see :ref:`developers_apps_kernels`." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:151 +msgid "``pinned``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:153 +msgid "Pin the app to the top of the dashboard." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:154 +msgid "``googleAccountRequired``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:156 +msgid "The app needs a connected Google account (e.g. for GEE)." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:157 +msgid "``single``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:159 +msgid "" +"Only one instance of this app can run at a time per user (used by the " +"built-in ``jupyter-notebook``, ``jupyter-lab`` and ``rstudio`` tools)." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:161 +msgid "``skip``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:163 +msgid "Temporarily skip building/serving this app without removing the entry." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:165 +msgid "" +"A typical jupyter entry — every field a user sees on the dashboard is " +"filled in:" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:187 +msgid "" +"A docker entry adds the docker-only ``commit``, ``port`` and the schema-" +"enforced ``/api/app-launcher/`` path; the presentation fields are the" +" same:" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:213 +msgid "Adding the app" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:215 +msgid "" +"Open a pull request adding your entry to ``apps.test.json``. The fastest " +"way is to edit the file directly on GitHub: `edit apps.test.json " +"`__. For a docker app, ``commit`` must " +"be a full 40-character SHA that exists on the declared ``branch``." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:220 +msgid "" +"The ``Validate catalog`` and ``Review helper`` workflows run " +"automatically. Validation is a blocking gate (schema, canonical " +"formatting, and — for docker apps — a check that the commit is reachable " +"from its branch). The review helper posts a single PR comment with a per-" +"app diff and *risk flags* (new dependencies, network calls, shell-outs) " +"to help maintainers review safely." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:226 +msgid "" +"A SEPAL maintainer reviews and merges. Once merged, the app appears on " +"test.sepal.io within minutes." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:228 +msgid "" +"When you are happy with its behaviour on test.sepal.io, promote it to " +"production — see `Promoting to production`_." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:232 +msgid "Promoting to production" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:234 +msgid "" +"Promotion copies the *exact same pinned reference* (commit for docker, " +"branch for the others) from ``apps.test.json`` into ``apps.prod.json``. " +"Two paths, either of which produces the same promotion PR for a " +"maintainer to merge:" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:239 +msgid "Self-service ``/promote`` comment (recommended)" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:241 +msgid "" +"The catalog has a single pinned issue titled *\"Promotion requests — " +"comment ``/promote `` here\"*, labeled ``promote-request``. Find " +"it in the catalog's `issues tab `__ " +"(there is only ever one) and comment:" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:251 +msgid "" +"The ``Promote app on /promote comment`` workflow then verifies the " +"commenter is authorized for the app's source repository and, if so, opens" +" the promotion PR. Authorization uses public GitHub data only:" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:255 +msgid "If the source repo is owned by a User, the commenter must equal that user." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:256 +msgid "" +"If it is owned by an Organization, the commenter must be a **public** " +"member of that org. If your membership is private, make it public at " +"``https://github.com/orgs//people`` or use the manual-PR path below." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:260 +msgid "A maintainer still merges the PR." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:263 +msgid "Manual PR" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:265 +msgid "" +"Open a pull request copying the entry's ``commit`` (or whole object) from" +" ``apps.test.json`` into ``apps.prod.json``. The same validation and " +"review checks run; a maintainer merges." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:270 +msgid "Working on the catalog locally" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:272 +msgid "" +"The catalog files use canonical ``JSON.stringify(parsed, null, 2)`` " +"formatting (2-space indent, one-element arrays expanded, trailing " +"newline). A ``.prettierignore`` keeps editor formatters off them, and CI " +"rejects PRs that don't match. Install the pre-commit hooks once so " +"problems are caught before they fail CI:" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:284 +msgid "To re-canonicalize a file before pushing:" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:292 +msgid "" +"The catalog's own ``docs/contributing.md`` and ``docs/ci.md`` document " +"every workflow, check, and script in detail." +msgstr "" + diff --git a/docs/source/_locale/ar/LC_MESSAGES/developers/apps/app_types.po b/docs/source/_locale/ar/LC_MESSAGES/developers/apps/app_types.po new file mode 100644 index 0000000000..6a53e250d2 --- /dev/null +++ b/docs/source/_locale/ar/LC_MESSAGES/developers/apps/app_types.po @@ -0,0 +1,291 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: ar\n" +"Language-Team: ar \n" +"Plural-Forms: nplurals=6; plural=(n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : " +"n%100>=3 && n%100<=10 ? 3 : n%100>=0 && n%100<=2 ? 4 : 5);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/developers/apps/app_types.rst:4 +msgid "Docker vs. Jupyter apps" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:5 +msgid "*The two endpoints you'll choose between, and where each one fits*" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:7 +msgid "" +"Every catalog entry declares an ``endpoint`` that tells SEPAL how to run " +"the app. For new apps the practical choice is between ``docker`` and " +"``jupyter``." +msgstr "" + +#: ../../source/developers/apps/app_types.rst:12 +msgid "" +"``shiny`` is a legacy endpoint and is no longer recommended for new apps " +"— package the same UX as a Jupyter/Voila app instead. ``rstudio`` is " +"reserved for the built-in RStudio tool. Both still work, but neither " +"should be picked for anything new." +msgstr "" + +#: ../../source/developers/apps/app_types.rst:18 +msgid "At a glance" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:25 +msgid "Docker app" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:26 +msgid "Jupyter app" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:27 +msgid "``endpoint``" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:28 +msgid "``docker``" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:29 +msgid "``jupyter``" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:30 +msgid "Where it runs" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:31 +msgid "Its own container, on its own port, on the shared SEPAL server" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:32 +msgid "Inside the user's own SEPAL instance (sandbox), served through Voila" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:33 +msgid "Where compute happens" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:34 +msgid "On the shared SEPAL server — all users hit the same instance" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:35 +msgid "On the user's own SEPAL instance, at the size they have provisioned" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:36 +msgid "Versioning" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:37 +msgid "Pinned to a commit SHA (required)" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:38 +msgid "Tracks the catalog's ``branch``; no commit pin" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:39 +msgid "Code location" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:40 +msgid "Cloned from ``repository`` into the container" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:41 +msgid "" +"Cloned from ``repository`` into the shared sandbox at ``/home/sepal-" +"user/shared/apps//``" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:43 +msgid "Isolation" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:44 +msgid "Strong — separate container and dependencies" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:45 +msgid "" +"Own micromamba kernel built from ``sepal_environment.yml`` (see " +":ref:`developers_apps_kernels`)" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:47 +msgid "Update trigger" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:48 +msgid "" +"Catalog PR bumps ``commit`` → app-launcher checks out that commit on the " +"next launch" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:50 +msgid "" +"app-manager refreshes the clone to the branch tip and rebuilds the kernel" +" if the env file changed" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:54 +msgid "Docker apps" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:56 +msgid "" +"A docker app lives in its own repository and runs in its own container " +"with a dedicated ``port`` on the shared SEPAL server. Because it is fully" +" isolated, the catalog schema requires ``repository``, ``branch``, " +"``commit``, ``port`` and ``path`` for every ``endpoint: docker`` entry." +msgstr "" + +#: ../../source/developers/apps/app_types.rst:61 +msgid "When SEPAL launches the app it runs the equivalent of:" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:68 +msgid "" +"That is why the pinned ``commit`` must be reachable from ``branch`` (see " +":ref:`developers_apps_releases`). The app's dependencies are baked into " +"its container, so its update cycle is independent of the rest of the " +"platform — it changes only when you bump its commit in the catalog." +msgstr "" + +#: ../../source/developers/apps/app_types.rst:73 +msgid "" +"Because the docker app runs on the shared SEPAL server, every user hits " +"the same instance. That makes docker a good fit for **lightweight, low-" +"compute apps that act as a single service for many users** — interfaces " +"over a small API, lookups, light visualizations, dashboards. It is *not* " +"a good fit for heavy per-user compute: there is only one container " +"backing all users." +msgstr "" + +#: ../../source/developers/apps/app_types.rst:80 +msgid "Jupyter apps" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:82 +msgid "" +"A jupyter app does not get its own container. Its code is cloned from the" +" ``repository`` into the shared sandbox under ``/home/sepal-" +"user/shared/apps//``, and its ``ui.ipynb`` notebook is rendered with" +" `Voila `__ (hence catalog paths such as " +"``/sandbox/jupyter/voila/render/shared/apps//ui.ipynb``). Crucially," +" it runs **inside each user's own SEPAL instance** — so the compute " +"budget is whatever the user has provisioned for themselves." +msgstr "" + +#: ../../source/developers/apps/app_types.rst:90 +msgid "" +"Versioning is by branch, not by commit: the app-manager keeps the cloned " +"``shared/apps//`` working tree on the tip of the catalog's " +"``branch`` and rebuilds the app's kernel whenever " +"``sepal_environment.yml`` (or ``requirements.txt``) changes — see " +":ref:`developers_apps_kernels`. Pushing to that branch is enough to ship " +"a new version; no catalog PR is required (the catalog PR is only needed " +"to *list* the app in the first place)." +msgstr "" + +#: ../../source/developers/apps/app_types.rst:97 +msgid "" +"Because compute lives on the user's instance, a jupyter app is the right " +"choice for **heavy, scalable, per-user workloads**: anything where the " +"user needs to be able to size their machine to the job — training " +"pipelines, large geospatial analyses, model inference, parallel " +"processing." +msgstr "" + +#: ../../source/developers/apps/app_types.rst:103 +msgid "When to use which" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:105 +msgid "A simple rule of thumb:" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:112 +msgid "Use ``docker``" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:113 +msgid "Use ``jupyter``" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:114 +msgid "Compute profile" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:115 +msgid "Light; same load no matter who is using it" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:116 +msgid "Heavy or variable; each user should be able to scale their own instance" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:118 +msgid "Usage pattern" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:119 +msgid "Single backend service serving many users" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:120 +msgid "Per-user notebook session, isolated per user" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:121 +msgid "Versioning needs" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:122 +msgid "You want strict, audited control of *exactly* which commit is live" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:123 +msgid "Push-to-branch is a fine release model" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:124 +msgid "Runtime needs" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:125 +msgid "Custom system stack, services, ports, or a non-Python runtime" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:126 +msgid "" +"Standard SEPAL geospatial / scientific Python stack (extended via " +"``sepal_environment.yml``)" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:129 +msgid "" +"If the answer to most of these points the same way, that's your endpoint." +" If the app is genuinely a notebook UI doing heavy compute, jupyter is " +"almost always the right pick — that is the most common pattern on SEPAL." +msgstr "" + diff --git a/docs/source/_locale/ar/LC_MESSAGES/developers/apps/index.po b/docs/source/_locale/ar/LC_MESSAGES/developers/apps/index.po new file mode 100644 index 0000000000..8206be81e8 --- /dev/null +++ b/docs/source/_locale/ar/LC_MESSAGES/developers/apps/index.po @@ -0,0 +1,73 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: ar\n" +"Language-Team: ar \n" +"Plural-Forms: nplurals=6; plural=(n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : " +"n%100>=3 && n%100<=10 ? 3 : n%100>=0 && n%100<=2 ? 4 : 5);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/developers/apps/index.rst:48 +msgid "Docker vs. Jupyter apps" +msgstr "" + +#: ../../source/developers/apps/index.rst:48 +msgid "Request a new app" +msgstr "" + +#: ../../source/developers/apps/index.rst:48 +msgid "Request a new kernel" +msgstr "" + +#: ../../source/developers/apps/index.rst:48 +msgid "Create a release" +msgstr "" + +#: ../../source/developers/apps/index.rst:4 +msgid "Develop apps" +msgstr "" + +#: ../../source/developers/apps/index.rst:5 +msgid "*Build, release and publish your own apps on the SEPAL platform*" +msgstr "" + +#: ../../source/developers/apps/index.rst:7 +msgid "" +"These pages explain how SEPAL decides which app code to run and how that " +"code reaches the platform — useful when you want to add an app, ship a " +"new version of an existing one, or package a reusable environment for a " +"notebook or workflow." +msgstr "" + +#: ../../source/developers/apps/index.rst:14 +msgid "" +"The set of apps SEPAL runs is curated in the `dfguerrerom/sepal-apps-" +"catalog `__ " +"repository. Getting an app onto SEPAL — or updating one — means opening a" +" pull request there. For docker apps, the catalog also pins the *exact " +"commit* SEPAL will run; for jupyter apps, the catalog records the " +"``branch`` and SEPAL still runs the tip of that branch. The pages below " +"walk through both flows." +msgstr "" + +#: ../../source/developers/apps/index.rst:23 +msgid "How an app reaches SEPAL" +msgstr "" + +#: ../../source/developers/apps/index.rst:46 +msgid "Contents" +msgstr "" + diff --git a/docs/source/_locale/ar/LC_MESSAGES/developers/apps/kernels.po b/docs/source/_locale/ar/LC_MESSAGES/developers/apps/kernels.po new file mode 100644 index 0000000000..a7a0803202 --- /dev/null +++ b/docs/source/_locale/ar/LC_MESSAGES/developers/apps/kernels.po @@ -0,0 +1,261 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: ar\n" +"Language-Team: ar \n" +"Plural-Forms: nplurals=6; plural=(n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : " +"n%100>=3 && n%100<=10 ? 3 : n%100>=0 && n%100<=2 ? 4 : 5);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/developers/apps/kernels.rst:4 +msgid "Request a new kernel" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:5 +msgid "" +"*Package an environment once and share it with every SEPAL user as a " +"named Jupyter kernel*" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:7 +#, python-format +msgid "" +"A \"kernel\" in the SEPAL catalog is really just a special-purpose " +"jupyter app: the same catalog entry, the same :ref:`PR flow " +"`, the same :ref:`release lifecycle " +"`. The only difference is *intent* — " +"the deliverable is the environment (and, often, training notebooks and " +"data alongside it), not an app UI. If you have read " +":ref:`developers_apps_catalog`, you already know 90% of how to ship one." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:15 +msgid "Why request a kernel" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:17 +msgid "" +"Some notebooks need a large or unusual environment: a deep-learning " +"stack, a pinned GDAL build, a model with awkward native dependencies. " +"Asking every user — or every training participant — to build that " +"environment by hand is slow, fragile, and easy to get subtly wrong." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:22 +msgid "" +"A shared kernel solves that. You package the environment once, in a " +"repository; SEPAL builds it centrally and exposes it as a named Jupyter " +"kernel that lives in the shared sandbox. Every user then simply *selects*" +" that kernel for the relevant notebook — no per-user installation, and " +"everyone runs the same, reproducible environment." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:28 +msgid "This is the right approach when:" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:30 +msgid "" +"You are preparing a notebook or workflow for a training and want every " +"participant on an identical environment." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:32 +msgid "" +"A notebook needs heavy dependencies (GPU/ML, large geospatial stacks) " +"that are wasteful to rebuild per user." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:34 +msgid "You want a stable, named environment that several notebooks can share." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:36 +msgid "" +"It is *not* the right approach for quick, personal experiments. For an " +"environment only you need, build it yourself with :guilabel:`uv` or " +":guilabel:`micromamba` — see :ref:`env_management`." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:41 +msgid "It's the same flow as a jupyter app" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:43 +msgid "A kernel-only entry in the catalog is just a jupyter app that:" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:45 +msgid "has ``\"hidden\": true`` (no dashboard tile — see below), and" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:46 +msgid "ships a ``sepal_environment.yml`` at the root of its repository." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:48 +msgid "" +"Everything else — the PR against ``apps.test.json``, the validation and " +"review-helper workflows, the promotion to ``apps.prod.json`` — works " +"exactly as described in :ref:`developers_apps_catalog`." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:52 +msgid "" +"The one extra behaviour, which fires automatically whenever the app-" +"manager updates a jupyter app, is the kernel build itself: if the cloned " +"repository contains a ``sepal_environment.yml`` (or a legacy " +"``requirements.txt``), SEPAL builds an isolated environment from it and " +"registers it as a named Jupyter kernel. For a ``sepal_environment.yml`` " +"the build is, in essence:" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:63 +msgid "" +"The script then writes a ``kernel.json`` so the environment shows up in " +"JupyterLab as ``(venv) ``, and wires the geospatial " +"environment variables (``PROJ_LIB``, ``PROJ_DATA``, ``GDAL_DATA``) to the" +" environment's own data directories. The kernel is rebuilt only when the " +"environment file changes (the script compares timestamps against an " +"``.installed`` marker), so unchanged apps don't pay a rebuild cost on " +"every update." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:71 +msgid "Hiding the app" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:73 +msgid "" +"A packaged kernel usually has no dashboard UI of its own — it exists to " +"back *other* notebooks. Set ``\"hidden\": true`` on its catalog entry so " +"SEPAL builds the environment and registers the kernel without showing a " +"tile in the apps dashboard." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:81 +msgid "Ship notebooks and data alongside the kernel" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:83 +msgid "" +"The same clone the app-manager uses to build the kernel lands at ``/home" +"/sepal-user/shared/apps//`` **inside every user's sandbox**. " +"Anything you put in the repository is therefore reachable from every " +"user's JupyterLab — not just the ``sepal_environment.yml``." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:88 +msgid "" +"This makes the same mechanism useful for a second job: shipping " +"**training notebooks and supporting data** to a cohort of users. For a " +"workshop or a training, you can put the curriculum in the repo alongside " +"the environment file. Each participant gets the notebooks already on " +"their instance under ``shared/apps//``, with the matching " +"``(venv) `` kernel pre-built and ready to select — no per-" +"user clone, no per-user pip install, no \"it works on my machine\"." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:96 +msgid "Practical conventions for that case:" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:98 +msgid "" +"Keep notebook files at the top level (or in a clearly named subdirectory)" +" so participants can find them via ``shared/apps//``." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:100 +msgid "" +"Keep sample inputs in the repo only if they are small. For larger " +"datasets, point notebooks at a shared SEPAL location or an external URL " +"so the clone stays light." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:103 +msgid "" +"Tag a ``release`` branch for each cohort you run, so an in-flight push to" +" ``main`` does not surprise a session that is already underway. See " +":ref:`developers_apps_releases_branch`." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:107 +msgid "" +"The catalog entry itself stays the same — ``\"hidden\": true``, " +"``\"endpoint\": \"jupyter\"``, ``sepal_environment.yml`` in the repo. The" +" notebooks just ride along in the same clone." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:112 +msgid "Worked example: ``sepal-sam``" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:114 +msgid "" +"The catalog entry below is a real, hidden kernel app. Its description is " +"simply *\"SAM environment\"* — it ships the environment for SAM-based " +"notebooks and never appears in the dashboard:" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:130 +msgid "" +"Because the ``sepal-sam`` repository contains a " +"``sepal_environment.yml``, SEPAL builds its micromamba environment and " +"registers a ``(venv) Sepal SAM`` kernel. Any notebook a user opens can " +"then select that kernel and run against the SAM stack immediately." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:138 +msgid "Recommended: ``sepal_environment.yml``" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:140 +msgid "" +"Declare your kernel with a ``sepal_environment.yml`` at the root of the " +"app repository. It is a standard conda/micromamba environment file, and " +"it is the preferred way to define a SEPAL kernel because micromamba " +"bundles native libraries (GDAL, GEOS, CUDA, HDF5, …) inside the " +"environment — so it keeps working when SEPAL upgrades system-level " +"libraries. A plain ``requirements.txt`` is still supported for backward " +"compatibility, but it installs into a system-Python venv and can break on" +" platform upgrades." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:148 +msgid "A minimal example:" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:164 +msgid "" +"You do not need to add ``ipykernel`` yourself — SEPAL installs it into " +"the environment when it builds the kernel." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:167 +msgid "" +"Once the file is in your repository and the app is in the catalog (see " +":ref:`developers_apps_catalog`), every release that changes " +"``sepal_environment.yml`` triggers a rebuild of the shared kernel on the " +"next update." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:174 +msgid "" +":ref:`env_management` — managing your *own* environments and kernels " +"interactively, when you don't need a shared, centrally built one." +msgstr "" + diff --git a/docs/source/_locale/ar/LC_MESSAGES/developers/apps/releases.po b/docs/source/_locale/ar/LC_MESSAGES/developers/apps/releases.po new file mode 100644 index 0000000000..bed44041c9 --- /dev/null +++ b/docs/source/_locale/ar/LC_MESSAGES/developers/apps/releases.po @@ -0,0 +1,215 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: ar\n" +"Language-Team: ar \n" +"Plural-Forms: nplurals=6; plural=(n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : " +"n%100>=3 && n%100<=10 ? 3 : n%100>=0 && n%100<=2 ? 4 : 5);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/developers/apps/releases.rst:4 +msgid "Create a release" +msgstr "" + +#: ../../source/developers/apps/releases.rst:5 +msgid "*Ship a new version of an app already in the SEPAL catalog*" +msgstr "" + +#: ../../source/developers/apps/releases.rst:7 +msgid "" +"Once your app is in the catalog (see :ref:`developers_apps_catalog`), the" +" way you ship a new version depends on the app's ``endpoint`` (see " +":ref:`developers_apps_types`):" +msgstr "" + +#: ../../source/developers/apps/releases.rst:11 +msgid "" +"**Jupyter apps** (and :ref:`kernels `, which are" +" just hidden jupyter apps) are not pinned to a commit. The app-manager " +"checks out the tip of the catalog's ``branch`` (defaulting to ``HEAD``) " +"every time the sandbox refreshes the app, so a release is just a push to " +"that branch in your source repository — no catalog change is needed." +msgstr "" + +#: ../../source/developers/apps/releases.rst:16 +msgid "" +"**Docker apps** are pinned in the catalog to an exact commit SHA. SEPAL " +"keeps running the old commit until that ``commit`` field is advanced, so " +"a release is, in practice, a pull request against the catalog." +msgstr "" + +#: ../../source/developers/apps/releases.rst:20 +msgid "The rest of this page describes each flow in turn." +msgstr "" + +#: ../../source/developers/apps/releases.rst:25 +msgid "Jupyter and kernel apps" +msgstr "" + +#: ../../source/developers/apps/releases.rst:27 +msgid "" +"These endpoints don't take a ``commit`` field in the catalog — only " +"``branch`` (which defaults to ``HEAD``). On every sandbox refresh the " +"app-manager runs the equivalent of ``git fetch`` + checkout of that " +"branch's tip, so whatever is at the head of the tracked branch is what " +"users get." +msgstr "" + +#: ../../source/developers/apps/releases.rst:33 +msgid "Releasing a new version" +msgstr "" + +#: ../../source/developers/apps/releases.rst:35 +msgid "" +"Push the change to the branch the catalog tracks for your app. The next " +"time the user's sandbox refreshes the app, the new tip is picked up " +"automatically. No catalog PR is required." +msgstr "" + +#: ../../source/developers/apps/releases.rst:42 +#: ../../source/developers/apps/releases.rst:68 +msgid "The release branch convention" +msgstr "" + +#: ../../source/developers/apps/releases.rst:44 +msgid "" +"Because every push to the tracked branch is effectively a release, most " +"contributors keep a dedicated ``release`` branch and pin ``\"branch\": " +"\"release\"`` in the catalog rather than ``main``. You develop on " +"``main`` and merge into ``release`` only when you intend to publish — " +"that way unreviewed work on ``main`` doesn't go live the moment it is " +"pushed." +msgstr "" + +#: ../../source/developers/apps/releases.rst:50 +msgid "" +"This is a convention, not a requirement. Any branch works; if you pin " +"``main``, every push to ``main`` is a release." +msgstr "" + +#: ../../source/developers/apps/releases.rst:56 +msgid "Docker apps" +msgstr "" + +#: ../../source/developers/apps/releases.rst:58 +msgid "" +"Docker apps carry a required ``commit`` SHA in the catalog. The app-" +"launcher runs ``git fetch origin `` followed by ``git checkout " +"--detach ``, so SEPAL only ever runs that exact commit — " +"regardless of what is at the tip of ``branch``. Shipping a new version " +"therefore means advancing the ``commit`` field in the catalog." +msgstr "" + +#: ../../source/developers/apps/releases.rst:64 +msgid "" +"There are two ways to do that: a manual pull request, or an automated " +"bump triggered when your source repository publishes a release." +msgstr "" + +#: ../../source/developers/apps/releases.rst:70 +msgid "" +"Many docker apps pin ``\"branch\": \"release\"`` rather than ``main``. " +"Since the catalog validation requires the pinned ``commit`` to be " +"reachable from ``branch``, keeping a dedicated ``release`` branch lets " +"you continue developing on ``main`` while controlling exactly which " +"commits are eligible to be pinned: you merge into ``release`` only when " +"you intend to publish, and that merge commit is the one you pin." +msgstr "" + +#: ../../source/developers/apps/releases.rst:77 +msgid "" +"This is a convention, not a requirement — any branch works as long as the" +" pinned commit is reachable from it." +msgstr "" + +#: ../../source/developers/apps/releases.rst:81 +msgid "Manual release" +msgstr "" + +#: ../../source/developers/apps/releases.rst:83 +msgid "" +"Push the code you want to ship and note the commit SHA on your release " +"branch." +msgstr "" + +#: ../../source/developers/apps/releases.rst:85 +msgid "" +"Open a PR against ``apps.test.json`` changing the ``commit`` field of " +"your app's entry (and ``branch`` if it moved)." +msgstr "" + +#: ../../source/developers/apps/releases.rst:87 +msgid "" +"The ``Review helper`` bot posts a compare link showing exactly what " +"changed upstream between the old and new commit, with risk flags. A " +"maintainer reviews and merges; the change goes live on test.sepal.io." +msgstr "" + +#: ../../source/developers/apps/releases.rst:90 +msgid "" +"Promote to sepal.io with a second PR against ``apps.prod.json`` (or the " +"``Promote app to production`` workflow)." +msgstr "" + +#: ../../source/developers/apps/releases.rst:95 +msgid "" +"Validation requires the new commit to be an *ancestor of* (or equal to) " +"the branch tip — exactly what the app-launcher needs, since it runs ``git" +" fetch origin `` then ``git checkout --detach ``. You can" +" spot-check this before opening the PR:" +msgstr "" + +#: ../../source/developers/apps/releases.rst:106 +msgid "Automated release from your source repo" +msgstr "" + +#: ../../source/developers/apps/releases.rst:108 +msgid "" +"The catalog can bump a docker app automatically when your repository " +"publishes a GitHub release. The catalog's ``update-from-release.yml`` " +"workflow listens for a ``repository_dispatch`` event of type ``bump-" +"app``; on receipt it updates the app's ``commit`` in ``apps.test.json`` " +"and opens a pull request for a maintainer to review." +msgstr "" + +#: ../../source/developers/apps/releases.rst:114 +msgid "" +"To wire this up, add a workflow to your app's repository that sends the " +"dispatch on release. The snippet below is a starting point — adjust the " +"app ``id`` and the catalog repository to match your setup:" +msgstr "" + +#: ../../source/developers/apps/releases.rst:139 +msgid "" +"The token must have permission to dispatch to the catalog repository. The" +" bump only updates ``commit`` — never ``branch`` — and still goes through" +" the normal validation, risk-flag review, and maintainer merge before " +"reaching test." +msgstr "" + +#: ../../source/developers/apps/releases.rst:145 +msgid "" +"The exact ``client_payload`` fields the catalog expects may evolve. " +"Confirm against the catalog's ``update-from-release.yml`` and " +"``docs/ci.md`` before relying on this in production." +msgstr "" + +#: ../../source/developers/apps/releases.rst:151 +msgid "" +"The end-to-end lifecycle diagram lives on the section landing page — " +":ref:`developers_apps`." +msgstr "" + diff --git a/docs/source/_locale/ar/LC_MESSAGES/developers/index.po b/docs/source/_locale/ar/LC_MESSAGES/developers/index.po new file mode 100644 index 0000000000..eb83dc5b68 --- /dev/null +++ b/docs/source/_locale/ar/LC_MESSAGES/developers/index.po @@ -0,0 +1,46 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: ar\n" +"Language-Team: ar \n" +"Plural-Forms: nplurals=6; plural=(n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : " +"n%100>=3 && n%100<=10 ? 3 : n%100>=0 && n%100<=2 ? 4 : 5);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/developers/index.rst:11 +msgid "Command-line tools" +msgstr "" + +#: ../../source/developers/index.rst:11 +msgid "Develop apps" +msgstr "" + +#: ../../source/developers/index.rst:4 +msgid "For developers" +msgstr "" + +#: ../../source/developers/index.rst:5 +msgid "*Tools, conventions and workflows for building on the SEPAL platform*" +msgstr "" + +#: ../../source/developers/index.rst:7 +msgid "" +"This section is for developers and trainers working on SEPAL rather than " +"just using it: scripting against the sandbox from the command line, " +"packaging environments for shared use, and publishing apps that other " +"users can run." +msgstr "" + diff --git a/docs/source/_locale/ar/LC_MESSAGES/feature/index.po b/docs/source/_locale/ar/LC_MESSAGES/feature/index.po index 8a81c04fed..5da1eaca97 100644 --- a/docs/source/_locale/ar/LC_MESSAGES/feature/index.po +++ b/docs/source/_locale/ar/LC_MESSAGES/feature/index.po @@ -1,33 +1,54 @@ + msgid "" msgstr "" -"Project-Id-Version: sepal-doc\n" +"Project-Id-Version: sepal-doc\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-03-07 09:39+0100\n" -"PO-Revision-Date: 2024-03-07 08:56\n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: 2024-03-07 08:56+0000\n" "Last-Translator: \n" +"Language: ar_SA\n" "Language-Team: Arabic\n" +"Plural-Forms: nplurals=6; plural=(n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : " +"n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5);\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.14.0\n" -"Plural-Forms: nplurals=6; plural=(n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5);\n" -"X-Crowdin-Project: sepal-doc\n" -"X-Crowdin-Project-ID: 562097\n" -"X-Crowdin-Language: ar\n" -"X-Crowdin-File: /main/docs/source/_locale/en/LC_MESSAGES/feature/index.po\n" -"X-Crowdin-File-ID: 81\n" -"Language: ar_SA\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/feature/index.rst:9 +msgid "Organize recipes" +msgstr "" + +#: ../../source/feature/index.rst:9 +msgid "AOI selection" +msgstr "" + +#: ../../source/feature/index.rst:9 +msgid "Optical bands" +msgstr "" + +#: ../../source/feature/index.rst:9 +msgid "Radar bands" +msgstr "" + +#: ../../source/feature/index.rst:9 +msgid "Visualization" +msgstr "" #: ../../source/feature/index.rst:2 msgid "Features" msgstr "" #: ../../source/feature/index.rst:3 -msgid "*Analyse, combine and visualize different types of data with SEPAL features*" +msgid "" +"*Analyse, combine and visualize different types of data with SEPAL " +"features*" msgstr "" #: ../../source/feature/index.rst:5 -msgid "Since these features can be accessed across various recipes and modules, they are described extensively in this section of the documentation." +msgid "" +"Since these features can be accessed across various recipes and modules, " +"they are described extensively in this section of the documentation." msgstr "" #: ../../source/feature/index.rst:7 diff --git a/docs/source/_locale/ar/LC_MESSAGES/feature/optical_bands.po b/docs/source/_locale/ar/LC_MESSAGES/feature/optical_bands.po new file mode 100644 index 0000000000..cb3a063edd --- /dev/null +++ b/docs/source/_locale/ar/LC_MESSAGES/feature/optical_bands.po @@ -0,0 +1,954 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: ar\n" +"Language-Team: ar \n" +"Plural-Forms: nplurals=6; plural=(n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : " +"n%100>=3 && n%100<=10 ? 3 : n%100>=0 && n%100<=2 ? 4 : 5);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/feature/optical_bands.rst:2 +msgid "Optical Satellite bands, transformations, and indices" +msgstr "" + +#: ../../source/feature/optical_bands.rst:4 +msgid "" +"When exporting an optical satellite image in SEPAL, you can choose from a" +" variety of bands, transformations, and indices to enhance your analysis " +"and visualization. Understanding the characteristics and applications of " +"different bands can help you optimize your image processing workflow and " +"extract valuable insights from satellite data." +msgstr "" + +#: ../../source/feature/optical_bands.rst:13 +msgid "Bands" +msgstr "" + +#: ../../source/feature/optical_bands.rst:15 +msgid "" +"Satellite imagery is composed of multiple bands, each capturing light in " +"specific wavelengths. Depending on the satellite sensor and mission, " +"SEPAL offers a range of bands that can be used for export and analysis." +msgstr "" + +#: ../../source/feature/optical_bands.rst:18 +msgid "Band" +msgstr "" + +#: ../../source/feature/optical_bands.rst:18 +msgid "Sentinel 2" +msgstr "" + +#: ../../source/feature/optical_bands.rst:18 +msgid "Landsat 9" +msgstr "" + +#: ../../source/feature/optical_bands.rst:18 +msgid "Landsat 8" +msgstr "" + +#: ../../source/feature/optical_bands.rst:18 +msgid "Landsat 7" +msgstr "" + +#: ../../source/feature/optical_bands.rst:18 +msgid "Landsat TM" +msgstr "" + +#: ../../source/feature/optical_bands.rst:20 +msgid "pan" +msgstr "" + +#: ../../source/feature/optical_bands.rst:20 +#: ../../source/feature/optical_bands.rst:22 +#: ../../source/feature/optical_bands.rst:32 +#: ../../source/feature/optical_bands.rst:34 +#: ../../source/feature/optical_bands.rst:36 +#: ../../source/feature/optical_bands.rst:38 +#: ../../source/feature/optical_bands.rst:44 +#: ../../source/feature/optical_bands.rst:46 +#: ../../source/feature/optical_bands.rst:48 +#: ../../source/feature/optical_bands.rst:50 +msgid "❌" +msgstr "" + +#: ../../source/feature/optical_bands.rst:20 +#: ../../source/feature/optical_bands.rst:22 +#: ../../source/feature/optical_bands.rst:24 +#: ../../source/feature/optical_bands.rst:26 +#: ../../source/feature/optical_bands.rst:28 +#: ../../source/feature/optical_bands.rst:30 +#: ../../source/feature/optical_bands.rst:32 +#: ../../source/feature/optical_bands.rst:34 +#: ../../source/feature/optical_bands.rst:36 +#: ../../source/feature/optical_bands.rst:38 +#: ../../source/feature/optical_bands.rst:40 +#: ../../source/feature/optical_bands.rst:42 +#: ../../source/feature/optical_bands.rst:44 +#: ../../source/feature/optical_bands.rst:46 +#: ../../source/feature/optical_bands.rst:48 +#: ../../source/feature/optical_bands.rst:50 +#: ../../source/feature/optical_bands.rst:52 +#: ../../source/feature/optical_bands.rst:54 +#: ../../source/feature/optical_bands.rst:56 +#: ../../source/feature/optical_bands.rst:58 +#: ../../source/feature/optical_bands.rst:60 +#: ../../source/feature/optical_bands.rst:62 +msgid "✅" +msgstr "" + +#: ../../source/feature/optical_bands.rst:22 +msgid "aerosol" +msgstr "" + +#: ../../source/feature/optical_bands.rst:24 +msgid "blue" +msgstr "" + +#: ../../source/feature/optical_bands.rst:26 +msgid "green" +msgstr "" + +#: ../../source/feature/optical_bands.rst:28 +msgid "red" +msgstr "" + +#: ../../source/feature/optical_bands.rst:30 +msgid "nir" +msgstr "" + +#: ../../source/feature/optical_bands.rst:32 +msgid "redEdge1" +msgstr "" + +#: ../../source/feature/optical_bands.rst:34 +msgid "redEdge2" +msgstr "" + +#: ../../source/feature/optical_bands.rst:36 +msgid "redEdge3" +msgstr "" + +#: ../../source/feature/optical_bands.rst:38 +msgid "redEdge4" +msgstr "" + +#: ../../source/feature/optical_bands.rst:40 +msgid "swir1" +msgstr "" + +#: ../../source/feature/optical_bands.rst:42 +msgid "swir2" +msgstr "" + +#: ../../source/feature/optical_bands.rst:44 +msgid "cirrus" +msgstr "" + +#: ../../source/feature/optical_bands.rst:46 +msgid "thermal" +msgstr "" + +#: ../../source/feature/optical_bands.rst:48 +msgid "thermal2" +msgstr "" + +#: ../../source/feature/optical_bands.rst:50 +msgid "waterVapor" +msgstr "" + +#: ../../source/feature/optical_bands.rst:52 +msgid "brightness" +msgstr "" + +#: ../../source/feature/optical_bands.rst:54 +msgid "greenness" +msgstr "" + +#: ../../source/feature/optical_bands.rst:56 +msgid "wetness" +msgstr "" + +#: ../../source/feature/optical_bands.rst:58 +msgid "fourth" +msgstr "" + +#: ../../source/feature/optical_bands.rst:60 +msgid "fifth" +msgstr "" + +#: ../../source/feature/optical_bands.rst:62 +msgid "sixth" +msgstr "" + +#: ../../source/feature/optical_bands.rst:66 +msgid "Description" +msgstr "" + +#: ../../source/feature/optical_bands.rst:68 +msgid "**Pan (Panchromatic)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:69 +msgid "" +"**Description**: Captures data in a single broad wavelength band, " +"offering higher spatial resolution." +msgstr "" + +#: ../../source/feature/optical_bands.rst:70 +#: ../../source/feature/optical_bands.rst:76 +#: ../../source/feature/optical_bands.rst:83 +#: ../../source/feature/optical_bands.rst:90 +#: ../../source/feature/optical_bands.rst:97 +#: ../../source/feature/optical_bands.rst:104 +#: ../../source/feature/optical_bands.rst:111 +#: ../../source/feature/optical_bands.rst:117 +#: ../../source/feature/optical_bands.rst:124 +#: ../../source/feature/optical_bands.rst:131 +#: ../../source/feature/optical_bands.rst:138 +#: ../../source/feature/optical_bands.rst:144 +msgid "**Wavelengths**:" +msgstr "" + +#: ../../source/feature/optical_bands.rst:71 +msgid "0.500-0.680 µm, only for Landsat." +msgstr "" + +#: ../../source/feature/optical_bands.rst:72 +msgid "**Usage**: High-resolution imaging for mapping and urban planning." +msgstr "" + +#: ../../source/feature/optical_bands.rst:74 +msgid "**Aerosol**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:75 +msgid "" +"**Description**: Used for detecting aerosols (tiny particles) in the " +"atmosphere, which can be crucial for air quality monitoring and climate " +"studies." +msgstr "" + +#: ../../source/feature/optical_bands.rst:77 +msgid "0.433-0.453 µm for Landsat 8 and 9." +msgstr "" + +#: ../../source/feature/optical_bands.rst:78 +msgid "0.443-0.463 µm for Sentinel-2." +msgstr "" + +#: ../../source/feature/optical_bands.rst:79 +msgid "**Usage**: Air pollution assessment, wildfire smoke tracking." +msgstr "" + +#: ../../source/feature/optical_bands.rst:81 +msgid "**Blue**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:82 +msgid "**Description**: Captures light in the blue wavelength." +msgstr "" + +#: ../../source/feature/optical_bands.rst:84 +msgid "0.450-0.510 µm for Landsat 8 and 9." +msgstr "" + +#: ../../source/feature/optical_bands.rst:85 +msgid "0.490-0.555 µm for Sentinel-2." +msgstr "" + +#: ../../source/feature/optical_bands.rst:86 +msgid "" +"**Usage**: Coastal water mapping, vegetation health monitoring, and " +"identification of shallow water bodies." +msgstr "" + +#: ../../source/feature/optical_bands.rst:88 +msgid "**Green**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:89 +msgid "**Description**: Captures light in the green wavelength." +msgstr "" + +#: ../../source/feature/optical_bands.rst:91 +msgid "0.530-0.590 µm for Landsat 8 and 9." +msgstr "" + +#: ../../source/feature/optical_bands.rst:92 +msgid "0.560-0.595 µm for Sentinel-2." +msgstr "" + +#: ../../source/feature/optical_bands.rst:93 +msgid "**Usage**: Mapping vegetation, water bodies, and urban areas." +msgstr "" + +#: ../../source/feature/optical_bands.rst:95 +msgid "**Red**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:96 +msgid "**Description**: Captures light in the red wavelength." +msgstr "" + +#: ../../source/feature/optical_bands.rst:98 +msgid "0.640-0.670 µm for Landsat 8 and 9." +msgstr "" + +#: ../../source/feature/optical_bands.rst:99 +msgid "0.665-0.695 µm for Sentinel-2." +msgstr "" + +#: ../../source/feature/optical_bands.rst:100 +msgid "" +"**Usage**: Vegetation analysis, especially in calculating vegetation " +"indices like NDVI." +msgstr "" + +#: ../../source/feature/optical_bands.rst:102 +msgid "**NIR (Near-Infrared)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:103 +msgid "**Description**: Captures light in the near-infrared spectrum." +msgstr "" + +#: ../../source/feature/optical_bands.rst:105 +msgid "0.850-0.880 µm for Landsat 8 and 9." +msgstr "" + +#: ../../source/feature/optical_bands.rst:106 +msgid "0.780-0.900 µm for Sentinel-2." +msgstr "" + +#: ../../source/feature/optical_bands.rst:107 +msgid "" +"**Usage**: Differentiating between vegetation and water, and monitoring " +"vegetation health." +msgstr "" + +#: ../../source/feature/optical_bands.rst:109 +msgid "**Red Edge (4)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:110 +msgid "" +"**Description**: 4 narrow Bands in the VNIR vegetation red edge spectral " +"domain: Red edge 1, Red edge 2, Red edge 3, Red edge 4, is a region of " +"the electromagnetic spectrum where the spectral reflectance of green " +"vegetation changes rapidly" +msgstr "" + +#: ../../source/feature/optical_bands.rst:112 +msgid "~704nm,~740nm, ~783nm and ~865nm, only for Sentinel-2." +msgstr "" + +#: ../../source/feature/optical_bands.rst:113 +msgid "" +"**Usage**: Detailed vegetation health monitoring, particularly for " +"precision agriculture." +msgstr "" + +#: ../../source/feature/optical_bands.rst:115 +msgid "**SWIR 1 (Shortwave Infrared 1)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:116 +#: ../../source/feature/optical_bands.rst:123 +msgid "**Description**: Captures light in the shortwave infrared spectrum." +msgstr "" + +#: ../../source/feature/optical_bands.rst:118 +msgid "1.570-1.650 µm for Landsat 8 and 9." +msgstr "" + +#: ../../source/feature/optical_bands.rst:119 +msgid "1.560-1.660 µm for Sentinel-2." +msgstr "" + +#: ../../source/feature/optical_bands.rst:120 +msgid "" +"**Usage**: Detecting moisture content in soil and vegetation, mapping " +"burned areas." +msgstr "" + +#: ../../source/feature/optical_bands.rst:122 +msgid "**SWIR 2 (Shortwave Infrared 2)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:125 +msgid "2.110-2.290 µm for Landsat 8 and 9." +msgstr "" + +#: ../../source/feature/optical_bands.rst:126 +msgid "2.100-2.280 µm for Sentinel-2." +msgstr "" + +#: ../../source/feature/optical_bands.rst:127 +msgid "" +"**Usage**: Distinguishing snow from clouds, mapping geological features, " +"and burn scars." +msgstr "" + +#: ../../source/feature/optical_bands.rst:129 +msgid "**Cirrus**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:130 +msgid "**Description**: A band designed to detect high-altitude cirrus clouds." +msgstr "" + +#: ../../source/feature/optical_bands.rst:132 +msgid "1.360-1.380 µm for Landsat 8 and 9." +msgstr "" + +#: ../../source/feature/optical_bands.rst:133 +msgid "1.360-1.390 µm for Sentinel-2." +msgstr "" + +#: ../../source/feature/optical_bands.rst:134 +msgid "" +"**Usage**: Cloud screening in high-altitude regions to improve " +"atmospheric correction." +msgstr "" + +#: ../../source/feature/optical_bands.rst:136 +msgid "**Thermal 1**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:137 +#: ../../source/feature/optical_bands.rst:143 +msgid "" +"**Description**: Measures thermal radiation emitted by the Earth's " +"surface." +msgstr "" + +#: ../../source/feature/optical_bands.rst:139 +msgid "10.60-11.19 µm for Landsat 8 and 9." +msgstr "" + +#: ../../source/feature/optical_bands.rst:140 +#: ../../source/feature/optical_bands.rst:146 +msgid "" +"**Usage**: Monitoring land surface temperature, detecting fires, and " +"assessing volcanic activity." +msgstr "" + +#: ../../source/feature/optical_bands.rst:142 +msgid "**Thermal 2**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:145 +msgid "11.50-12.51 µm for Landsat 8 and 9." +msgstr "" + +#: ../../source/feature/optical_bands.rst:148 +msgid "**Water Vapor**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:149 +msgid "" +"**Description**: Sensitive to atmospheric water vapor absorption, " +"commonly used for weather and climate studies." +msgstr "" + +#: ../../source/feature/optical_bands.rst:150 +msgid "**Usage**: Studying cloud formation, precipitation, and humidity levels." +msgstr "" + +#: ../../source/feature/optical_bands.rst:154 +msgid "Tasseled Cap Transformation" +msgstr "" + +#: ../../source/feature/optical_bands.rst:156 +msgid "" +"The Tasseled Cap Transformation is a method to transform satellite " +"imagery into three brightness components (Brightness, Greenness, and " +"Wetness) and three color components (Red, Green, and Blue). This " +"transformation is particularly useful for analyzing land cover changes, " +"vegetation health, and urban development over time." +msgstr "" + +#: ../../source/feature/optical_bands.rst:158 +msgid "**Brightness**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:159 +msgid "" +"**Description**: Measures the brightness band measures the overall " +"brightness of the image, specifically the soil." +msgstr "" + +#: ../../source/feature/optical_bands.rst:160 +msgid "" +"**Usage**: this band is often used to identify bare or partially covered " +"soil, man-made features, and natural features like asphalt, concrete, " +"gravel, and rock outcrops." +msgstr "" + +#: ../../source/feature/optical_bands.rst:162 +msgid "**Greenness**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:163 +msgid "" +"**Description**: Measures the density and health of vegetation by " +"capitalizing on the chlorophyll absorption in the red band and the high " +"reflectance in the near-infrared band. It enhances the contrast between " +"vegetated areas and non-vegetated areas." +msgstr "" + +#: ../../source/feature/optical_bands.rst:164 +msgid "" +"**Usage**: Widely used in assessing plant health, monitoring crop " +"conditions, tracking forest cover changes, and managing natural " +"resources." +msgstr "" + +#: ../../source/feature/optical_bands.rst:166 +msgid "**Wetness**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:167 +msgid "" +"**Description**: Captures moisture content in both soil and vegetation. " +"This band is sensitive to the moisture continuum from dry to wet " +"surfaces, helping to differentiate moist soils and saturated vegetation " +"from dry areas." +msgstr "" + +#: ../../source/feature/optical_bands.rst:168 +msgid "" +"**Usage**: Important for identifying wetlands, managing irrigation in " +"agriculture, detecting flood-prone areas, and conducting soil moisture " +"studies." +msgstr "" + +#: ../../source/feature/optical_bands.rst:170 +msgid "**Fourth Component**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:171 +msgid "" +"**Description**: Often calibrated to highlight additional properties of " +"vegetation or soil, such as senescence or specific soil types. The exact " +"nature of this band can vary depending on the coefficients and sensor " +"used." +msgstr "" + +#: ../../source/feature/optical_bands.rst:172 +msgid "" +"**Usage**: Can be used to differentiate between types of vegetation or " +"stages of crop maturity, and to detect stressed vegetation in forestry " +"and agriculture." +msgstr "" + +#: ../../source/feature/optical_bands.rst:174 +msgid "**Fifth Component**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:175 +msgid "" +"**Description**: Typically emphasizes land disturbance or variability in " +"land cover types, providing a finer distinction between different types " +"of ground cover and land use." +msgstr "" + +#: ../../source/feature/optical_bands.rst:176 +msgid "" +"**Usage**: Useful in monitoring land cover changes over time, detecting " +"disturbances like deforestation or urban expansion, and enhancing land " +"cover classification schemes." +msgstr "" + +#: ../../source/feature/optical_bands.rst:178 +msgid "**Sixth Component**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:179 +msgid "" +"**Description**: This band often captures more subtle or residual " +"information that the other bands do not emphasize. It can be less " +"directly interpretable and might be seen as highlighting noise or " +"anomalies in the data." +msgstr "" + +#: ../../source/feature/optical_bands.rst:180 +msgid "" +"**Usage**: Potentially useful for detecting subtle ecological changes, " +"analyzing noise in the data for improved image processing, and refining " +"classifications by providing additional context." +msgstr "" + +#: ../../source/feature/optical_bands.rst:184 +msgid "Vegetation Indices" +msgstr "" + +#: ../../source/feature/optical_bands.rst:186 +msgid "" +"Vegetation indices are mathematical transformations of satellite data " +"that highlight specific vegetation properties, such as chlorophyll " +"content, leaf area, or vegetation health. These indices are widely used " +"in agriculture, forestry, and environmental monitoring to assess plant " +"growth, detect stress, and monitor land cover changes." +msgstr "" + +#: ../../source/feature/optical_bands.rst:188 +msgid "**NDVI (Normalized Difference Vegetation Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:189 +msgid "" +"**Description**: Measures the density and health of vegetation by " +"calculating the difference between the near-infrared (NIR) and red light " +"reflected by vegetation. Healthy vegetation absorbs most of the visible " +"light and reflects a large portion of the NIR." +msgstr "" + +#: ../../source/feature/optical_bands.rst:190 +msgid "" +"**Usage**: Used to assess vegetation health, monitor drought, and manage " +"agricultural operations." +msgstr "" + +#: ../../source/feature/optical_bands.rst:191 +msgid "**Formula**: (NIR - Red) / (NIR + Red)" +msgstr "" + +#: ../../source/feature/optical_bands.rst:193 +msgid "**NDMI (Normalized Difference Moisture Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:194 +msgid "" +"**Description**: Highlights moisture content in vegetation by utilizing " +"the NIR and short-wave infrared (SWIR1) bands. It is sensitive to " +"moisture content in vegetation." +msgstr "" + +#: ../../source/feature/optical_bands.rst:195 +msgid "" +"**Usage**: Useful in monitoring vegetation hydration and managing " +"irrigation in agricultural contexts." +msgstr "" + +#: ../../source/feature/optical_bands.rst:196 +msgid "**Formula**: (NIR - SWIR1) / (NIR + SWIR1)" +msgstr "" + +#: ../../source/feature/optical_bands.rst:198 +msgid "**NDWI (Normalized Difference Water Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:199 +msgid "" +"**Description**: Designed to identify and monitor changes in water " +"content in vegetation, leveraging the green and NIR bands to maximize the" +" reflection differences." +msgstr "" + +#: ../../source/feature/optical_bands.rst:200 +msgid "" +"**Usage**: Employed in monitoring water stress in crops, detecting water " +"bodies, and managing wetland areas." +msgstr "" + +#: ../../source/feature/optical_bands.rst:201 +msgid "**Formula**: (Green - NIR) / (Green + NIR)" +msgstr "" + +#: ../../source/feature/optical_bands.rst:203 +msgid "**MNDWI (Modified Normalized Difference Water Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:204 +msgid "" +"**Description**: Enhances the detection of surface water by using the " +"green and SWIR1 bands, reducing the influence of built-up land that can " +"be confused with water in traditional NDWI." +msgstr "" + +#: ../../source/feature/optical_bands.rst:205 +msgid "" +"**Usage**: Used to map and monitor surface water bodies, crucial for " +"flood mapping and water resource management." +msgstr "" + +#: ../../source/feature/optical_bands.rst:206 +msgid "**Formula**: (Green - SWIR1) / (Green + SWIR1)" +msgstr "" + +#: ../../source/feature/optical_bands.rst:208 +msgid "**NDFI (Normalized Difference Fraction Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:209 +msgid "" +"**Description**: Typically used to distinguish between different types of" +" vegetation and non-vegetation elements, providing a measure of " +"vegetation cover fraction." +msgstr "" + +#: ../../source/feature/optical_bands.rst:210 +msgid "" +"**Usage**: Utilized in forest management and land cover classification " +"tasks." +msgstr "" + +#: ../../source/feature/optical_bands.rst:211 +msgid "**Formula**: Index-specific, varies based on application." +msgstr "" + +#: ../../source/feature/optical_bands.rst:213 +msgid "**EVI (Enhanced Vegetation Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:214 +msgid "" +"**Description**: Improves the NDVI by optimizing the vegetation signal " +"with improved sensitivity in high biomass regions and reducing background" +" and atmospheric noise." +msgstr "" + +#: ../../source/feature/optical_bands.rst:215 +msgid "" +"**Usage**: Frequently used in areas where vegetation monitoring requires " +"greater sensitivity to biomass." +msgstr "" + +#: ../../source/feature/optical_bands.rst:216 +msgid "**Formula**: 2.5 * (NIR - Red) / (NIR + 6 * Red - 7.5 * Blue + 1)" +msgstr "" + +#: ../../source/feature/optical_bands.rst:218 +msgid "**EVI2 (Enhanced Vegetation Index 2)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:219 +msgid "" +"**Description**: A refinement of EVI that uses only red and NIR bands, " +"designed for areas where blue band data may not be reliable." +msgstr "" + +#: ../../source/feature/optical_bands.rst:220 +msgid "" +"**Usage**: Ideal for vegetation monitoring through dense atmosphere or " +"where the blue band is unavailable." +msgstr "" + +#: ../../source/feature/optical_bands.rst:221 +msgid "**Formula**: 2.5 * (NIR - Red) / (NIR + 2.4 * Red + 1)" +msgstr "" + +#: ../../source/feature/optical_bands.rst:223 +msgid "**SAVI (Soil-Adjusted Vegetation Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:224 +msgid "" +"**Description**: Adjusts the NDVI for the influence of soil brightness, " +"particularly useful in areas with sparse vegetation where soil is " +"visible." +msgstr "" + +#: ../../source/feature/optical_bands.rst:225 +msgid "" +"**Usage**: Applied in semi-arid regions to improve the accuracy of " +"vegetation assessments." +msgstr "" + +#: ../../source/feature/optical_bands.rst:226 +msgid "**Formula**: (1.5 * (NIR - Red) / (NIR + Red + 0.5))" +msgstr "" + +#: ../../source/feature/optical_bands.rst:228 +msgid "**NBR (Normalized Burn Ratio)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:229 +msgid "" +"**Description**: Utilizes NIR and SWIR2 bands to assess the severity of " +"burn damage and the delineation of burned areas." +msgstr "" + +#: ../../source/feature/optical_bands.rst:230 +msgid "" +"**Usage**: Key for assessing post-fire recovery in forested areas and " +"mapping burn severity." +msgstr "" + +#: ../../source/feature/optical_bands.rst:231 +msgid "**Formula**: (NIR - SWIR2) / (NIR + SWIR2)" +msgstr "" + +#: ../../source/feature/optical_bands.rst:233 +msgid "**MVI (Mangrove Vegetation Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:234 +msgid "" +"**Description**: Specifically designed to enhance the detection and " +"monitoring of mangrove forests by using NIR and green bands." +msgstr "" + +#: ../../source/feature/optical_bands.rst:235 +msgid "" +"**Usage**: Used in coastal management and conservation of mangrove " +"ecosystems." +msgstr "" + +#: ../../source/feature/optical_bands.rst:236 +msgid "**Formula**: 0.1 * (NIR - Green) / abs(SWIR1 - Green)" +msgstr "" + +#: ../../source/feature/optical_bands.rst:238 +msgid "**UI (Urban Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:239 +msgid "" +"**Description**: Highlights urban areas by exploiting the differences in " +"reflection between SWIR2 and NIR bands." +msgstr "" + +#: ../../source/feature/optical_bands.rst:240 +msgid "" +"**Usage**: Useful for urban mapping and monitoring changes in urban land " +"use." +msgstr "" + +#: ../../source/feature/optical_bands.rst:241 +msgid "**Formula**: (SWIR2 - NIR) / (SWIR2 + NIR)" +msgstr "" + +#: ../../source/feature/optical_bands.rst:243 +msgid "**NDBI (Normalized Difference Built-up Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:244 +msgid "" +"**Description**: Differentiates urban and built-up areas from natural " +"land cover by using NIR and SWIR1 bands." +msgstr "" + +#: ../../source/feature/optical_bands.rst:245 +msgid "**Usage**: Employed in urban planning and studying urban heat islands." +msgstr "" + +#: ../../source/feature/optical_bands.rst:246 +msgid "**Formula**: (SWIR1 - NIR) / (SWIR1 + NIR)" +msgstr "" + +#: ../../source/feature/optical_bands.rst:248 +msgid "**IBI (Index-based Built-up Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:249 +msgid "" +"**Description**: Combines NDBI with SAVI and MNDWI to provide a more " +"comprehensive measure of built-up areas." +msgstr "" + +#: ../../source/feature/optical_bands.rst:250 +msgid "**Usage**: Useful in detailed urban analysis and land use classification." +msgstr "" + +#: ../../source/feature/optical_bands.rst:251 +msgid "**Formula**: (NDBI - (SAVI + MNDWI) / 2) / (NDBI + (SAVI + MNDWI) / 2)" +msgstr "" + +#: ../../source/feature/optical_bands.rst:253 +msgid "**NBI (New Built-up Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:254 +msgid "" +"**Description**: Employs red, NIR, and SWIR1 bands to enhance the " +"detection of built-up areas." +msgstr "" + +#: ../../source/feature/optical_bands.rst:255 +msgid "**Usage**: Applied in urban growth monitoring and land use planning." +msgstr "" + +#: ../../source/feature/optical_bands.rst:256 +msgid "**Formula**: Red * SWIR1 / NIR" +msgstr "" + +#: ../../source/feature/optical_bands.rst:258 +msgid "**EBBI (Enhanced Built-Up and Bareness Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:259 +msgid "" +"**Description**: Focuses on urban areas and bare land by incorporating " +"thermal and SWIR1 bands to detect built-up regions." +msgstr "" + +#: ../../source/feature/optical_bands.rst:260 +msgid "" +"**Usage**: Crucial for urban mapping and identifying heat-stressed areas " +"in cities." +msgstr "" + +#: ../../source/feature/optical_bands.rst:261 +msgid "**Formula**: (SWIR1 - NIR) / (10 * sqrt(SWIR1 + Thermal))" +msgstr "" + +#: ../../source/feature/optical_bands.rst:263 +msgid "**BUI (Built-Up Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:264 +msgid "" +"**Description**: Combines multiple SWIR bands to enhance the detection " +"and differentiation of built-up areas." +msgstr "" + +#: ../../source/feature/optical_bands.rst:265 +msgid "" +"**Usage**: Employed in urban and regional planning to delineate built-up " +"from natural areas." +msgstr "" + +#: ../../source/feature/optical_bands.rst:266 +msgid "" +"**Formula**: (Red - SWIR1) / (Red + SWIR1) + (SWIR2 - SWIR1) / (SWIR2 + " +"SWIR1)" +msgstr "" + +#: ../../source/feature/optical_bands.rst:268 +msgid "**KNDVI (Kernel Normalized Difference Vegetation Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:269 +msgid "" +"**Description**: Applies a kernel function to traditional NDVI to improve" +" sensitivity and accuracy in vegetation monitoring." +msgstr "" + +#: ../../source/feature/optical_bands.rst:270 +msgid "" +"**Usage**: Used in precision agriculture and detailed vegetation studies " +"where standard NDVI is not sufficient." +msgstr "" + +#: ../../source/feature/optical_bands.rst:271 +msgid "" +"**Formula**: Kernel-function applied to NDVI, specific implementation " +"details vary." +msgstr "" + diff --git a/docs/source/_locale/ar/LC_MESSAGES/feature/project.po b/docs/source/_locale/ar/LC_MESSAGES/feature/project.po index 7a32b9d066..45a2e2971f 100644 --- a/docs/source/_locale/ar/LC_MESSAGES/feature/project.po +++ b/docs/source/_locale/ar/LC_MESSAGES/feature/project.po @@ -1,33 +1,35 @@ + msgid "" msgstr "" -"Project-Id-Version: sepal-doc\n" +"Project-Id-Version: sepal-doc\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-03-07 09:39+0100\n" -"PO-Revision-Date: 2024-03-07 08:56\n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: 2024-03-07 08:56+0000\n" "Last-Translator: \n" +"Language: ar_SA\n" "Language-Team: Arabic\n" +"Plural-Forms: nplurals=6; plural=(n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : " +"n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5);\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.14.0\n" -"Plural-Forms: nplurals=6; plural=(n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5);\n" -"X-Crowdin-Project: sepal-doc\n" -"X-Crowdin-Project-ID: 562097\n" -"X-Crowdin-Language: ar\n" -"X-Crowdin-File: /main/docs/source/_locale/en/LC_MESSAGES/feature/project.po\n" -"X-Crowdin-File-ID: 83\n" -"Language: ar_SA\n" +"Generated-By: Babel 2.18.0\n" #: ../../source/feature/project.rst:2 -msgid "Recipe projects" +msgid "Organize Recipes by projects" msgstr "" #: ../../source/feature/project.rst:4 -msgid "When interacting with SEPAL processes, a user creates **Recipes**, which can work together and be interconnected inside a single project (e.g. :code:`Mosaics` used in a :code:`Classification`)." +msgid "" +"When interacting with SEPAL processes, a user creates **Recipes**, which " +"can work together and be interconnected inside a single project (e.g. " +":code:`Mosaics` used in a :code:`Classification`)." msgstr "" #: ../../source/feature/project.rst:6 -msgid "To help with these interconnections, the SEPAL platform provides a :code:`Project` system to organize users' work." +msgid "" +"To help with these interconnections, the SEPAL platform provides a " +":code:`Project` system to organize users' work." msgstr "" #: ../../source/feature/project.rst:9 @@ -39,7 +41,9 @@ msgid "Go to the **Processes** interface of SEPAL (:btn:``)." msgstr "" #: ../../source/feature/project.rst:13 -msgid "(You should see the following. If you've already created recipes in previous releases, you will see a list of existing recipes)." +msgid "" +"(You should see the following. If you've already created recipes in " +"previous releases, you will see a list of existing recipes)." msgstr "" #: ../../source/feature/project.rst:20 @@ -67,7 +71,9 @@ msgid "Edit recipes" msgstr "" #: ../../source/feature/project.rst:28 -msgid "Read the following section to understand how users can create a new project and manage existing projects in the SEPAL platform." +msgid "" +"Read the following section to understand how users can create a new " +"project and manage existing projects in the SEPAL platform." msgstr "" #: ../../source/feature/project.rst:31 @@ -75,19 +81,29 @@ msgid "Project" msgstr "" #: ../../source/feature/project.rst:35 -msgid "Projects are personal. They cannot be shared and they are not visible to other users." +msgid "" +"Projects are personal. They cannot be shared and they are not visible to " +"other users." msgstr "" #: ../../source/feature/project.rst:39 -msgid "For every user, a :code:`[no project]` project is created during registration. This project will be the fallback for every recipe that was created before the publication of the feature. It cannot be deleted or renamed." +msgid "" +"For every user, a :code:`[no project]` project is created during " +"registration. This project will be the fallback for every recipe that was" +" created before the publication of the feature. It cannot be deleted or " +"renamed." msgstr "" #: ../../source/feature/project.rst:41 -msgid "To create a project, select :btn:` Projects`, which opens the interface (see figure below)." +msgid "" +"To create a project, select :btn:` Projects`, " +"which opens the interface (see figure below)." msgstr "" #: ../../source/feature/project.rst:43 -msgid "Then, select :btn:` Add` to create a new project. Enter the name and select :btn:` Apply`." +msgid "" +"Then, select :btn:` Add` to create a new project. " +"Enter the name and select :btn:` Apply`." msgstr "" #: ../../source/feature/project.rst:45 @@ -95,7 +111,10 @@ msgid "The newly created project will now appear in the list." msgstr "" #: ../../source/feature/project.rst:57 -msgid "To remove a project, select the :btn:`` icon (located beside its name), which will destroy all recipes included in the process as well." +msgid "" +"To remove a project, select the :btn:`` icon (located " +"beside its name), which will destroy all recipes included in the process " +"as well." msgstr "" #: ../../source/feature/project.rst:65 @@ -103,7 +122,11 @@ msgid "Recipes" msgstr "" #: ../../source/feature/project.rst:67 -msgid "When entering the **Process** interface, no projects are selected by default, meaning that users will see all recipes available in their SEPAL accounts. All recipes are displayed using the following prototype: :code:` / `." +msgid "" +"When entering the **Process** interface, no projects are selected by " +"default, meaning that users will see all recipes available in their SEPAL" +" accounts. All recipes are displayed using the following prototype: " +":code:` / `." msgstr "" #: ../../source/feature/project.rst:74 @@ -115,23 +138,36 @@ msgid "Filter recipes" msgstr "" #: ../../source/feature/project.rst:79 -msgid "Select (3) to filter recipes according to your project. Once selected, only the recipes included in the project will be displayed. The field is clearable (i.e. you can go back to the unfiltered state and select another project). Also, :code:`[no project]` can be selected." +msgid "" +"Select (3) to filter recipes according to your project. Once selected, " +"only the recipes included in the project will be displayed. The field is " +"clearable (i.e. you can go back to the unfiltered state and select " +"another project). Also, :code:`[no project]` can be selected." msgstr "" #: ../../source/feature/project.rst:86 -msgid "Once a project is selected, it will appear as **Current project** in the project list (see figure below)." +msgid "" +"Once a project is selected, it will appear as **Current project** in the " +"project list (see figure below)." msgstr "" #: ../../source/feature/project.rst:93 -msgid "Once a project is selected and a recipe is created, it will belong to the selected project." +msgid "" +"Once a project is selected and a recipe is created, it will belong to the" +" selected project." msgstr "" #: ../../source/feature/project.rst:97 -msgid "If you don't want your recipe to be associated with any project, unfilter the list before selecting :btn:` Add recipe`." +msgid "" +"If you don't want your recipe to be associated with any project, unfilter" +" the list before selecting :btn:` Add recipe`." msgstr "" #: ../../source/feature/project.rst:102 -msgid "Recipe behaviour can be edited directly from this view. Select the :btn:` Edit` button to open the **Editing** interface." +msgid "" +"Recipe behaviour can be edited directly from this view. Select the :btn" +":` Edit` button to open the **Editing** " +"interface." msgstr "" #: ../../source/feature/project.rst:109 @@ -139,11 +175,16 @@ msgid "From this interface, you can:" msgstr "" #: ../../source/feature/project.rst:111 -msgid ":btn:` Select`: Select/unselect all recipes shown on the screen. Any other editing operation will only be applied to the selected recipe(s)." +msgid "" +":btn:` Select`: Select/unselect all recipes shown on " +"the screen. Any other editing operation will only be applied to the " +"selected recipe(s)." msgstr "" #: ../../source/feature/project.rst:112 -msgid ":btn:` Move`: Move the selected recipe(s) to another project." +msgid "" +":btn:` Move`: Move the selected recipe(s) to another" +" project." msgstr "" #: ../../source/feature/project.rst:113 @@ -151,7 +192,9 @@ msgid ":btn:` Remove`: Delete the recipe(s) permanently." msgstr "" #: ../../source/feature/project.rst:117 -msgid "Before deleting individual recipes, make sure that they are not used as inputs in others." +msgid "" +"Before deleting individual recipes, make sure that they are not used as " +"inputs in others." msgstr "" #: ../../source/feature/project.rst:120 @@ -159,11 +202,18 @@ msgid "Connect recipes" msgstr "" #: ../../source/feature/project.rst:122 -msgid "When creating recipes such as :code:`Classification`, users can use other recipes as inputs for the process. To avoid flooding the dropdown list with too many values, only the recipes from the same project will be displayed (see following figure on the left)." +msgid "" +"When creating recipes such as :code:`Classification`, users can use other" +" recipes as inputs for the process. To avoid flooding the dropdown list " +"with too many values, only the recipes from the same project will be " +"displayed (see following figure on the left)." msgstr "" #: ../../source/feature/project.rst:124 -msgid "If one still wants to see all of the recipes in the dropdown list, select :btn:`All` and all recipes will be displayed using project names as headers (see following figure on right)." +msgid "" +"If one still wants to see all of the recipes in the dropdown list, select" +" :btn:`All` and all recipes will be displayed using project names as " +"headers (see following figure on right)." msgstr "" #~ msgid "" @@ -490,3 +540,6 @@ msgstr "" #~ " (see following figure on right)." #~ msgstr "" +#~ msgid "Recipe projects" +#~ msgstr "" + diff --git a/docs/source/_locale/ar/LC_MESSAGES/feature/radar_bands.po b/docs/source/_locale/ar/LC_MESSAGES/feature/radar_bands.po new file mode 100644 index 0000000000..b3dafa7648 --- /dev/null +++ b/docs/source/_locale/ar/LC_MESSAGES/feature/radar_bands.po @@ -0,0 +1,122 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: ar\n" +"Language-Team: ar \n" +"Plural-Forms: nplurals=6; plural=(n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : " +"n%100>=3 && n%100<=10 ? 3 : n%100>=0 && n%100<=2 ? 4 : 5);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/feature/radar_bands.rst:2 +msgid "Sentinel-1 Radar Bands" +msgstr "" + +#: ../../source/feature/radar_bands.rst:4 +msgid "" +"When exporting a radar mosaic from the SEPAL platform, the following " +"radar band metrics are available for analysis:" +msgstr "" + +#: ../../source/feature/radar_bands.rst:13 +msgid "Basic Radar Metrics (VV and VH Polarizations)" +msgstr "" + +#: ../../source/feature/radar_bands.rst:15 +msgid "**Metrics Included**:" +msgstr "" + +#: ../../source/feature/radar_bands.rst:16 +msgid "" +"*VV_min, VV_max, VV_mean, VV_std, VV_med*: Statistics of the VV " +"polarization signal, covering minimum, maximum, mean, standard deviation," +" and median." +msgstr "" + +#: ../../source/feature/radar_bands.rst:17 +msgid "" +"*VH_min, VH_max, VH_mean, VH_std, VH_med*: Similar statistics for the VH " +"polarization." +msgstr "" + +#: ../../source/feature/radar_bands.rst:18 +msgid "" +"*ratio_VV_med_VH_med*: The ratio of the median values of VV to VH " +"polarizations, indicating surface roughness and moisture." +msgstr "" + +#: ../../source/feature/radar_bands.rst:19 +msgid "" +"*VV_cv, VH_cv*: Coefficient of variation for VV and VH, showing the " +"variability relative to the mean." +msgstr "" + +#: ../../source/feature/radar_bands.rst:20 +msgid "" +"*NDCV (Normalized Difference Coefficient of Variation)*: A normalized " +"measure that highlights differences in texture or moisture content " +"between VV and VH returns." +msgstr "" + +#: ../../source/feature/radar_bands.rst:21 +msgid "" +"*orbit*: The orbit direction (ascending or descending), which can affect " +"the radar's observation angle and thus the backscatter properties." +msgstr "" + +#: ../../source/feature/radar_bands.rst:23 +msgid "" +"**Description**: These metrics are essential for analyzing surface " +"features, moisture content, vegetation, and other land cover " +"characteristics using radar backscatter properties." +msgstr "" + +#: ../../source/feature/radar_bands.rst:24 +msgid "" +"**Usage**: Widely used in agricultural monitoring, flood mapping, forest " +"monitoring, and urban expansion studies." +msgstr "" + +#: ../../source/feature/radar_bands.rst:27 +msgid "Harmonic Analysis Metrics (Conditional on Data Availability)" +msgstr "" + +#: ../../source/feature/radar_bands.rst:29 +msgid "**Metrics Included** (Only if harmonic dependents are available):" +msgstr "" + +#: ../../source/feature/radar_bands.rst:30 +msgid "" +"*VV_phase, VV_amp, VV_res*: Phase, amplitude, and residuals of the VV " +"signal following harmonic analysis." +msgstr "" + +#: ../../source/feature/radar_bands.rst:31 +msgid "*VH_phase, VH_amp, VH_res*: Similar metrics for the VH signal." +msgstr "" + +#: ../../source/feature/radar_bands.rst:32 +msgid "" +"**Description**: Harmonic analysis metrics help in understanding seasonal" +" variations and temporal patterns in the radar signal, useful for long-" +"term monitoring." +msgstr "" + +#: ../../source/feature/radar_bands.rst:33 +msgid "" +"**Usage**: Ideal for studying seasonal changes in vegetation, detecting " +"changes in water bodies over time, and monitoring environmental changes." +msgstr "" + diff --git a/docs/source/_locale/ar/LC_MESSAGES/feature/visualization.po b/docs/source/_locale/ar/LC_MESSAGES/feature/visualization.po new file mode 100644 index 0000000000..2a4289ce93 --- /dev/null +++ b/docs/source/_locale/ar/LC_MESSAGES/feature/visualization.po @@ -0,0 +1,162 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: ar\n" +"Language-Team: ar \n" +"Plural-Forms: nplurals=6; plural=(n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : " +"n%100>=3 && n%100<=10 ? 3 : n%100>=0 && n%100<=2 ? 4 : 5);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/feature/visualization.rst:2 +msgid "Visualization in SEPAL" +msgstr "" + +#: ../../source/feature/visualization.rst:4 +msgid "**Natural color: red, green, blue**" +msgstr "" + +#: ../../source/feature/visualization.rst:5 +msgid "" +"**Description**: Represents the true color of the terrain as human eyes " +"would see it, using the red, green, and blue bands." +msgstr "" + +#: ../../source/feature/visualization.rst:6 +msgid "" +"**Usage**: Used for general mapping and visual inspections where true " +"color representation is necessary." +msgstr "" + +#: ../../source/feature/visualization.rst:8 +msgid "**False color: nir, red, green**" +msgstr "" + +#: ../../source/feature/visualization.rst:9 +msgid "" +"**Description**: Uses near-infrared, red, and green bands. Vegetation " +"appears red due to the high reflection of NIR by healthy vegetation, " +"helpful for distinguishing vegetative areas." +msgstr "" + +#: ../../source/feature/visualization.rst:10 +msgid "" +"**Usage**: Commonly used in vegetation studies to easily distinguish live" +" green vegetation, which reflects NIR strongly." +msgstr "" + +#: ../../source/feature/visualization.rst:12 +msgid "**False color: nir, swir1, red**" +msgstr "" + +#: ../../source/feature/visualization.rst:13 +msgid "" +"**Description**: Combines near-infrared, short-wave infrared, and red " +"bands. This combination is effective in highlighting vegetation and " +"differentiating moisture levels and geological features." +msgstr "" + +#: ../../source/feature/visualization.rst:14 +msgid "" +"**Usage**: Useful in geological mapping, vegetation health assessment, " +"and moisture content analysis." +msgstr "" + +#: ../../source/feature/visualization.rst:16 +msgid "**False color: swir2, nir, red**" +msgstr "" + +#: ../../source/feature/visualization.rst:17 +msgid "" +"**Description**: Utilizes short-wave infrared, near-infrared, and red " +"bands. It enhances the differentiation between mineral types and can " +"indicate burn severity in post-fire assessments." +msgstr "" + +#: ../../source/feature/visualization.rst:18 +msgid "" +"**Usage**: Often used in mineralogical mapping, soil and rock " +"differentiation, and detecting burned areas." +msgstr "" + +#: ../../source/feature/visualization.rst:20 +msgid "**False color: swir2, swir1, red**" +msgstr "" + +#: ../../source/feature/visualization.rst:21 +msgid "" +"**Description**: Involves short-wave infrared bands and red band. This " +"setup enhances geological features and is sensitive to water content and " +"urban areas." +msgstr "" + +#: ../../source/feature/visualization.rst:22 +msgid "" +"**Usage**: Ideal for enhanced geological mapping, urban sprawl studies, " +"and discriminating between different water bodies." +msgstr "" + +#: ../../source/feature/visualization.rst:24 +msgid "**False color: swir2, nir, green**" +msgstr "" + +#: ../../source/feature/visualization.rst:25 +msgid "" +"**Description**: Features short-wave infrared, near-infrared, and green " +"bands. This visualization aids in the analysis of vegetation health and " +"soil/water interactions." +msgstr "" + +#: ../../source/feature/visualization.rst:26 +msgid "" +"**Usage**: Useful for detailed vegetation health monitoring and " +"differentiating water stress in plants." +msgstr "" + +#: ../../source/feature/visualization.rst:28 +msgid "**Tasseled cap: brightness, greenness, wetness**" +msgstr "" + +#: ../../source/feature/visualization.rst:29 +msgid "" +"**Description**: Applies the Tasseled Cap transformation to highlight " +"physical properties of the land surface such as brightness " +"(reflectivity), greenness (vegetation), and wetness (moisture content)." +msgstr "" + +#: ../../source/feature/visualization.rst:30 +msgid "" +"**Usage**: Extensively used in environmental monitoring, land cover " +"classification, and assessing vegetation and water content dynamics." +msgstr "" + +#: ../../source/feature/visualization.rst:32 +msgid "**Tasseled cap: fifth, sixth, fourth**" +msgstr "" + +#: ../../source/feature/visualization.rst:33 +msgid "" +"**Description**: Another Tasseled Cap visualization focusing on the " +"additional components that might reflect other surface properties not " +"captured by the primary three bands." +msgstr "" + +#: ../../source/feature/visualization.rst:34 +msgid "" +"**Usage**: Useful for specialized studies in vegetation dynamics, soil " +"properties, and other environmental monitoring where standard Tasseled " +"Cap indices might need supplementation." +msgstr "" + diff --git a/docs/source/_locale/ar/LC_MESSAGES/index.po b/docs/source/_locale/ar/LC_MESSAGES/index.po index 5240b64fbe..3a5ad5ca8f 100644 --- a/docs/source/_locale/ar/LC_MESSAGES/index.po +++ b/docs/source/_locale/ar/LC_MESSAGES/index.po @@ -1,24 +1,21 @@ + msgid "" msgstr "" -"Project-Id-Version: sepal-doc\n" +"Project-Id-Version: sepal-doc\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-03-07 09:39+0100\n" -"PO-Revision-Date: 2024-03-07 08:56\n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: 2024-03-07 08:56+0000\n" "Last-Translator: \n" +"Language: ar_SA\n" "Language-Team: Arabic\n" +"Plural-Forms: nplurals=6; plural=(n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : " +"n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5);\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.14.0\n" -"Plural-Forms: nplurals=6; plural=(n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5);\n" -"X-Crowdin-Project: sepal-doc\n" -"X-Crowdin-Project-ID: 562097\n" -"X-Crowdin-Language: ar\n" -"X-Crowdin-File: /main/docs/source/_locale/en/LC_MESSAGES/index.po\n" -"X-Crowdin-File-ID: 87\n" -"Language: ar_SA\n" +"Generated-By: Babel 2.18.0\n" -#: ../../source/index.rst:20 ../../source/index.rst:54 +#: ../../source/index.rst:20 ../../source/index.rst:55 msgid "Getting started" msgstr "" @@ -31,15 +28,19 @@ msgid "Modules" msgstr "" #: ../../source/index.rst:20 -msgid "CLI" +msgid "Workflows" msgstr "" #: ../../source/index.rst:20 -msgid "Workflows" +msgid "Features" msgstr "" #: ../../source/index.rst:20 -msgid "Features" +msgid "Troubleshooting" +msgstr "" + +#: ../../source/index.rst:20 +msgid "Developers" msgstr "" #: ../../source/index.rst:20 @@ -50,140 +51,176 @@ msgstr "" msgid "Documentation" msgstr "" -#: ../../source/index.rst:36 -msgid "The System for Earth Observation Data Access, Processing and Analysis for Land Monitoring (**SEPAL**) is an open-source project and platform empowering people around the world to gain a better understanding of land cover dynamics by facilitating the efficient access and use of Earth observation data – without the need of coding knowledge." +#: ../../source/index.rst:37 +msgid "" +"The System for Earth Observation Data Access, Processing and Analysis for" +" Land Monitoring (**SEPAL**) is an open-source project and platform " +"empowering people around the world to gain a better understanding of land" +" cover dynamics by facilitating the efficient access and use of Earth " +"observation data – without the need of coding knowledge." msgstr "" -#: ../../source/index.rst:47 +#: ../../source/index.rst:48 msgid "Learn how to use the platform with SEPAL documentation" msgstr "" -#: ../../source/index.rst:49 -msgid "The SEPAL team developed this GitHub page to help users get the most out of the interface." +#: ../../source/index.rst:50 +msgid "" +"The SEPAL team developed this GitHub page to help users get the most out " +"of the interface." msgstr "" -#: ../../source/index.rst:59 +#: ../../source/index.rst:60 msgid "Register to SEPAL" msgstr "" -#: ../../source/index.rst:62 +#: ../../source/index.rst:63 msgid "Set up your SEPAL account and request additional resources." msgstr "" -#: ../../source/index.rst:64 +#: ../../source/index.rst:65 msgid "Connect to GEE" msgstr "" -#: ../../source/index.rst:67 +#: ../../source/index.rst:68 msgid "Register with Google Earth Engine (GEE) and connect your account to SEPAL." msgstr "" -#: ../../source/index.rst:69 +#: ../../source/index.rst:70 msgid "Connect to NICFI–PlanetLab imagery" msgstr "" -#: ../../source/index.rst:72 -msgid "Sign up to use Norway’s International Climate and Forests Initiative (NICFI) – PlanetLab data and connect your account to GEE." +#: ../../source/index.rst:73 +msgid "" +"Sign up to use Norway’s International Climate and Forests Initiative " +"(NICFI) – PlanetLab data and connect your account to GEE." msgstr "" -#: ../../source/index.rst:77 +#: ../../source/index.rst:78 msgid "Recipes and modules" msgstr "" -#: ../../source/index.rst:82 +#: ../../source/index.rst:83 msgid "Start a recipe" msgstr "" -#: ../../source/index.rst:85 +#: ../../source/index.rst:86 msgid "Run analysis with recipes – the foundation of SEPAL processes." msgstr "" -#: ../../source/index.rst:87 +#: ../../source/index.rst:88 msgid "Start a module" msgstr "" -#: ../../source/index.rst:90 -msgid "Run integrated workflows with modules – no need of coding experience required." +#: ../../source/index.rst:91 +msgid "" +"Run integrated workflows with modules – no need of coding experience " +"required." msgstr "" -#: ../../source/index.rst:92 +#: ../../source/index.rst:93 msgid "Use the se.plan module" msgstr "" -#: ../../source/index.rst:95 -msgid "Compute your restoration index with se.plan, a spatially explicit online tool designed to support forest restoration planning decisions by restoration stakeholders." +#: ../../source/index.rst:96 +msgid "" +"Compute your restoration index with se.plan, a spatially explicit online " +"tool designed to support forest restoration planning decisions by " +"restoration stakeholders." msgstr "" -#: ../../source/index.rst:100 +#: ../../source/index.rst:101 msgid "Other resources" msgstr "" -#: ../../source/index.rst:105 +#: ../../source/index.rst:106 msgid "SEPAL website" msgstr "" -#: ../../source/index.rst:108 +#: ../../source/index.rst:109 msgid "Discover the impact of the project." msgstr "" -#: ../../source/index.rst:110 +#: ../../source/index.rst:111 msgid "SEPAL platform" msgstr "" -#: ../../source/index.rst:113 +#: ../../source/index.rst:114 msgid "Learn more about the interface." msgstr "" -#: ../../source/index.rst:115 +#: ../../source/index.rst:116 msgid "Open Foris" msgstr "" -#: ../../source/index.rst:118 +#: ../../source/index.rst:119 msgid "Browse the Suite of Tools." msgstr "" -#: ../../source/index.rst:123 +#: ../../source/index.rst:124 msgid "SEPAL is always improving" msgstr "" -#: ../../source/index.rst:125 -msgid "Encounter a problem? See an issue? Need help? Help our team members enhance user experience by improving the platform and its documentation." +#: ../../source/index.rst:126 +msgid "" +"Encounter a problem? See an issue? Need help? Help our team members " +"enhance user experience by improving the platform and its documentation." msgstr "" -#: ../../source/index.rst:132 +#: ../../source/index.rst:133 msgid "For general support, ask the Google Group community" msgstr "" -#: ../../source/index.rst:135 +#: ../../source/index.rst:136 msgid "For documentation improvement, use the GitHub Issue Tracker" msgstr "" -#: ../../source/index.rst:138 +#: ../../source/index.rst:139 msgid "For usage questions, ask the GIS StackExchange community" msgstr "" -#: ../../source/index.rst:141 -msgid "For training, register for the SEPAL Forest and Land Monitoring for Climate Action e-learning course" +#: ../../source/index.rst:142 +msgid "" +"For training, register for the SEPAL Forest and Land Monitoring for " +"Climate Action e-learning course" msgstr "" -#: ../../source/index.rst:147 +#: ../../source/index.rst:148 msgid "About the platform" msgstr "" -#: ../../source/index.rst:149 -msgid "SEPAL is part of the `Open Foris `__ Suite of Tools. The platform allows users to query and process satellite data quickly and efficiently, tailor their products for local needs, and produce sophisticated and relevant geospatial analyses. Harnessing cloud-based supercomputers and modern geospatial data infrastructures (e.g. GEE), the interface enables users to access and process historical satellite data as well as newer data from Landsat and higher-resolution data from Europe’s Copernicus programme." +#: ../../source/index.rst:150 +msgid "" +"SEPAL is part of the `Open Foris `__ Suite of " +"Tools. The platform allows users to query and process satellite data " +"quickly and efficiently, tailor their products for local needs, and " +"produce sophisticated and relevant geospatial analyses. Harnessing cloud-" +"based supercomputers and modern geospatial data infrastructures (e.g. " +"GEE), the interface enables users to access and process historical " +"satellite data as well as newer data from Landsat and higher-resolution " +"data from Europe’s Copernicus programme." msgstr "" -#: ../../source/index.rst:151 -msgid "SEPAL is a cloud computing-based platform for autonomous land monitoring using remotely sensed data. It is a combination of GEE and open-source software such as GDAL, Jupyter, the Open Foris Geospatial Toolkit, ORFEO Toolbox, Python, R, R Shiny Server, R Studio Server, and the SNAP Toolkit. The platform allows users to access powerful cloud-computing resources to query, access and process satellite data quickly and efficiently for conducting advanced analyses." +#: ../../source/index.rst:152 +msgid "" +"SEPAL is a cloud computing-based platform for autonomous land monitoring " +"using remotely sensed data. It is a combination of GEE and open-source " +"software such as GDAL, Jupyter, the Open Foris Geospatial Toolkit, ORFEO " +"Toolbox, Python, R, R Shiny Server, R Studio Server, and the SNAP " +"Toolkit. The platform allows users to access powerful cloud-computing " +"resources to query, access and process satellite data quickly and " +"efficiently for conducting advanced analyses." msgstr "" -#: ../../source/index.rst:156 +#: ../../source/index.rst:157 msgid "Supporting institutions" msgstr "" -#: ../../source/index.rst:158 -msgid "SEPAL is a project funded by the Government of Norway from the Forestry Department of the Food and Agriculture Organization of the United Nations (FAO)." +#: ../../source/index.rst:159 +msgid "" +"SEPAL is a project funded by the Government of Norway from the Forestry " +"Department of the Food and Agriculture Organization of the United Nations" +" (FAO)." msgstr "" #~ msgid "Modules" @@ -478,3 +515,6 @@ msgstr "" #~ "for creating advanced analyses." #~ msgstr "" +#~ msgid "CLI" +#~ msgstr "" + diff --git a/docs/source/_locale/ar/LC_MESSAGES/troubleshooting/fix_venvs.po b/docs/source/_locale/ar/LC_MESSAGES/troubleshooting/fix_venvs.po new file mode 100644 index 0000000000..e293cef5c5 --- /dev/null +++ b/docs/source/_locale/ar/LC_MESSAGES/troubleshooting/fix_venvs.po @@ -0,0 +1,382 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: ar\n" +"Language-Team: ar \n" +"Plural-Forms: nplurals=6; plural=(n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : " +"n%100>=3 && n%100<=10 ? 3 : n%100>=0 && n%100<=2 ? 4 : 5);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/troubleshooting/fix_venvs.rst:4 +msgid "Recovering broken Python environments" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:6 +msgid "" +"On 5 March 2026, SEPAL sandboxes upgraded from Ubuntu Jammy to Ubuntu " +"Noble. As part of this upgrade, the system Python changed from version " +"3.10 to 3.12. This was a deliberate and necessary change: Python 3.10 " +"reaches end of life in October 2026, meaning it will no longer receive " +"security patches, and an increasing number of libraries are dropping " +"support for it and requiring Python 3.11 or newer. Staying on 3.10 would " +"eventually mean being locked out of updated packages and exposed to " +"unpatched security issues." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:8 +msgid "" +"If you created Python virtual environments using ``python -m venv`` on " +"SEPAL before this upgrade, those environments are now broken. This page " +"explains why, and how to recover." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:12 +msgid "" +"This only affects environments created with ``python -m venv``. " +"Environments created with :guilabel:`uv` or :guilabel:`micromamba` are " +"not affected." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:14 +msgid "" +"See :ref:`env_management` for full guidance on using :guilabel:`uv` and " +":guilabel:`micromamba` — better alternatives that will not break when " +"SEPAL upgrades Python in the future." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:18 +msgid "" +"Python 3.10 reaches end of life on 4 October 2026. Rather than putting " +"effort into restoring environments on the old version, consider migrating" +" to Python 3.12 at the same time." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:23 +msgid "Why venvs break after a Python upgrade" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:25 +msgid "" +"A venv is not a fully self-contained copy of Python. It is a lightweight " +"directory structure that relies on the system Python being present at a " +"specific path. When you run ``python -m venv myenv``, it records the " +"exact path to the Python binary (e.g. ``/usr/bin/python3.10``) and " +"creates symbolic links inside the environment's ``bin/`` directory " +"pointing back to it. Installed packages land in a versioned subdirectory," +" for example ``lib/python3.10/site-packages/``." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:27 +msgid "" +"When the system Python changes from 3.10 to 3.12, two things go wrong " +"simultaneously:" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:29 +msgid "" +"The symlinks inside ``bin/`` now point to a Python binary that no longer " +"exists at the recorded path, so the environment cannot start correctly." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:30 +msgid "" +"Any packages with compiled C extensions (numpy, scipy, cryptography, " +"etc.) were built against the Python 3.10 ABI. Python 3.12 has a different" +" ABI, so those compiled ``.so`` files are no longer valid and will crash " +"or fail to load." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:32 +msgid "" +"The package files themselves — the pure Python code and the package " +"metadata — are still intact on disk. Only the wiring is broken, which is " +"why it is possible to extract a list of what was installed without " +"activating the environment." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:37 +msgid "Why Jupyter kernels disappear" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:39 +msgid "" +"When you register a venv as a Jupyter kernel using ``ipykernel``, Jupyter" +" saves a small ``kernel.json`` file under " +"``~/.local/share/jupyter/kernels//``. This file contains the " +"absolute path to the Python binary inside the environment." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:41 +msgid "" +"After the upgrade, Jupyter still finds the ``kernel.json`` file and may " +"still show the kernel in the launcher — but when you try to start it, it " +"attempts to launch the Python binary at the recorded path. Because that " +"binary no longer works, the kernel either fails to start or starts and " +"immediately crashes, which JupyterLab reports as the kernel repeatedly " +"dying." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:43 +msgid "" +"In some cases the kernel disappears from the launcher entirely. In others" +" it appears but cannot be used. Either way, notebooks that relied on it " +"cannot run." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:48 +msgid "Symptoms of a broken environment" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:50 +msgid "You may see any of the following:" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:52 +msgid "" +"A Jupyter kernel that was previously available has disappeared from the " +"launcher, or starts and immediately dies" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:53 +msgid "``ModuleNotFoundError: No module named 'pip'`` when running pip commands" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:54 +msgid "Packages that were previously installed fail to import" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:55 +msgid "Compiled packages (numpy, scipy, etc.) segfault or raise ``ImportError``" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:56 +msgid "" +"``python --version`` inside the activated environment shows 3.12 even " +"though it was created with 3.10" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:58 +msgid "" +"All of these have the same root cause: the environment's internal " +"symlinks and compiled extensions were built against Python 3.10 and are " +"no longer valid." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:63 +msgid "Recovery" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:68 +msgid "Extract your requirements" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:70 +msgid "" +"You cannot activate the broken environment, but the package metadata is " +"still readable on disk. SEPAL provides a script that extracts the list of" +" installed packages from a broken environment. Run it from the terminal:" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:76 +msgid "" +"This scans the package metadata inside the broken environment and writes " +"a ``requirements.txt`` with pinned versions. Verify the output:" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:85 +msgid "Recreate the environment with uv" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:87 +msgid "" +":guilabel:`uv` is a fast, modern Python package manager already installed" +" on SEPAL. Unlike venv, it manages its own Python versions independently " +"of the system, so future upgrades will not break your environments." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:91 +msgid "" +"See :ref:`env_management` for full guidance on :guilabel:`uv` and other " +"environment tools available on SEPAL." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:93 +msgid "You have two options:" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:98 +msgid "Option A — Recreate on Python 3.10" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:100 +msgid "" +"*Fewer compatibility issues — use this if you need to get back up and " +"running quickly and cannot yet deal with package compatibility on 3.12.*" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:110 +msgid "" +"The ``requirements.txt`` referenced here is the file you extracted in the" +" previous step." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:115 +msgid "Option B — Migrate to Python 3.12" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:117 +msgid "" +"*Better long-term choice — most pure-Python packages work on 3.12 without" +" any changes.*" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:127 +msgid "" +"The ``requirements.txt`` referenced here is the file you extracted in the" +" first step." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:132 +msgid "Handling package version conflicts (Option B)" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:134 +msgid "" +"When migrating to Python 3.12, the ``requirements.txt`` from the first " +"step contains fully pinned versions (e.g. ``numpy==1.23.4``). Some of " +"these may not have wheels available for Python 3.12. If installation " +"fails, try removing the version pins:" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:142 +msgid "" +"The following packages are known to cause issues when moving from 3.10 to" +" 3.12:" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:148 +msgid "Package" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:149 +msgid "Issue" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:150 +msgid "Fix" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:151 +msgid "``numpy < 1.24``" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:152 +#: ../../source/troubleshooting/fix_venvs.rst:155 +msgid "No Python 3.12 wheels available" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:153 +msgid "Unpin: ``numpy``" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:154 +msgid "``scipy < 1.11``" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:156 +msgid "Unpin: ``scipy``" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:157 +msgid "Packages using ``distutils``" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:158 +msgid "``distutils`` was removed in Python 3.12" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:159 +msgid "Upgrade or replace the package" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:160 +msgid "Old Cython extensions" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:161 +msgid "ABI mismatch, segfaults at import" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:162 +msgid "``uv pip install --force-reinstall ``" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:163 +msgid "``cryptography`` (old versions)" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:164 +msgid "Needs a recent version for the 3.12 ABI" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:165 +msgid "Unpin: ``cryptography``" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:170 +msgid "Re-register your Jupyter kernel" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:172 +msgid "" +"JupyterLab discovers environments through kernel specifications — small " +"JSON files that point to a specific Python binary. When you recreate an " +"environment, the old kernel specification still points to the broken " +"binary, so JupyterLab cannot find or use the new environment. You need to" +" remove the old specification and register a new one." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:174 +msgid "First, list existing kernels and remove the broken one:" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:184 +msgid "Then register the new environment as a kernel:" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:192 +msgid "" +"After restarting JupyterLab, the new kernel will appear in the launcher " +"and notebooks that reference it by name will work again." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:197 +msgid "Going forward" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:199 +msgid "" +"To avoid this problem in the future, stop using venv. :guilabel:`uv` " +"manages Python versions independently of the system and will not break " +"when SEPAL upgrades Python." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:201 +msgid "" +"See :ref:`env_management` for full guidance on creating and managing " +"environments, including how to add Jupyter kernels." +msgstr "" + diff --git a/docs/source/_locale/ar/LC_MESSAGES/troubleshooting/index.po b/docs/source/_locale/ar/LC_MESSAGES/troubleshooting/index.po new file mode 100644 index 0000000000..a42a3c65be --- /dev/null +++ b/docs/source/_locale/ar/LC_MESSAGES/troubleshooting/index.po @@ -0,0 +1,43 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: ar\n" +"Language-Team: ar \n" +"Plural-Forms: nplurals=6; plural=(n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : " +"n%100>=3 && n%100<=10 ? 3 : n%100>=0 && n%100<=2 ? 4 : 5);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/troubleshooting/index.rst:7 +msgid "Recovering broken Python environments" +msgstr "" + +#: ../../source/troubleshooting/index.rst:2 +msgid "Troubleshooting" +msgstr "" + +#: ../../source/troubleshooting/index.rst:3 +msgid "*Solve common issues on the SEPAL platform*" +msgstr "" + +#: ../../source/troubleshooting/index.rst:5 +msgid "" +"This section covers known issues and step-by-step solutions for problems " +"you may encounter while using SEPAL. If your issue is not listed here, " +"ask the `Google Group community `__ or report it on the `GitHub Issue Tracker " +"`__." +msgstr "" + diff --git a/docs/source/_locale/ar/LC_MESSAGES/workflows/mangrove_mapping.po b/docs/source/_locale/ar/LC_MESSAGES/workflows/mangrove_mapping.po new file mode 100644 index 0000000000..e45ba7fd40 --- /dev/null +++ b/docs/source/_locale/ar/LC_MESSAGES/workflows/mangrove_mapping.po @@ -0,0 +1,1851 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: ar\n" +"Language-Team: ar \n" +"Plural-Forms: nplurals=6; plural=(n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : " +"n%100>=3 && n%100<=10 ? 3 : n%100>=0 && n%100<=2 ? 4 : 5);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/workflows/mangrove_mapping.rst:4 +msgid "Mangrove mapping with SEPAL" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:6 +msgid "" +"This article describes a complete workflow for mapping mangroves using " +"SEPAL — FAO's free, open-source, web-based cloud platform for satellite " +"data analysis. The approach combines multi-sensor satellite data, global " +"mangrove reference datasets, and machine learning classification to " +"produce locally relevant mangrove maps and detect change over time. An " +"optional extension covers above-ground biomass (AGB) mapping." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:10 +msgid "" +"**Author:** Erik Lindquist, Forestry Officer, Food and Agriculture " +"Organization of the United Nations (FAO)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:13 +msgid "Overview" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:15 +msgid "The workflow consists of the following stages:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:17 +msgid ":ref:`Registration and setup `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:18 +msgid ":ref:`Request SEPAL resources `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:19 +msgid ":ref:`Define the area of interest `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:20 +msgid ":ref:`Build an optical mosaic (optional) `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:21 +msgid ":ref:`Build a radar mosaic (optional) `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:22 +msgid ":ref:`Load global mangrove reference datasets `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:23 +msgid "" +":ref:`Create the high-confidence mangrove reference map `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:24 +msgid ":ref:`Generate training data `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:25 +msgid ":ref:`Incorporate Google Satellite Embeddings `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:26 +msgid ":ref:`Classify mangroves `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:27 +msgid ":ref:`Map above-ground biomass (optional) `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:28 +msgid ":ref:`Detect change using CCDC `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:29 +msgid ":ref:`Download and export results `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:32 +msgid "Why use SEPAL for mangrove mapping?" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:34 +msgid "" +"SEPAL democratises access to satellite data and analysis tools, enabling " +"autonomous land monitoring without the need for local compute " +"infrastructure. For mangrove mapping specifically, SEPAL provides:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:36 +msgid "" +"**Multi-sensor data access** – seamless integration of optical " +"(Sentinel-2, Landsat, NICFI/Planet) and synthetic aperture radar (SAR) " +"(Sentinel-1 C-band, ALOS L-band) imagery" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:37 +msgid "" +"**Multi-temporal analysis** – time-series processing and change detection" +" using the Continuous Change Detection and Classification (CCDC) " +"algorithm" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:38 +msgid "" +"**Cloud-based classification** – machine learning classification recipes " +"powered by Google Earth Engine (GEE)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:39 +msgid "" +"**Global reference data** – integration with existing global mangrove " +"products to generate locally relevant training data automatically" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:40 +msgid "" +"**Team collaboration** – data saved as GEE assets can be shared across a " +"team, allowing one person to build a composite that all team members can " +"access and classify" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:45 +msgid "1. Registration and setup" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:47 +msgid "Before starting, create accounts on two platforms." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:50 +msgid "1.1 Google Earth Engine" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:52 +msgid "SEPAL's processing recipes run on GEE. A free GEE account is required." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:54 +msgid "Go to `earthengine.google.com `__." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:55 +msgid "Sign up using a Gmail account." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:56 +msgid "Wait for approval (usually within a few hours to a few days)." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:59 +msgid "1.2 SEPAL" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:61 +msgid "Go to `sepal.io `__ and register for a free account." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:62 +msgid "Connect the GEE account within SEPAL settings." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:66 +msgid "" +"For a step-by-step walkthrough of SEPAL setup, see " +":doc:`../setup/register`." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:71 +msgid "2. Request SEPAL resources" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:73 +msgid "" +"SEPAL is always free to use; however, downloading data and running high-" +"performance computing in the cloud requires resources to be allocated to " +"an account. Resources are requested via the **User report** button " +"(displayed as **$ 0/h**) in the lower-right corner of the **SEPAL " +"interface**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:75 +msgid "To request resources:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:77 +msgid "" +"Select the **User report** button in the lower-right corner of the " +"**SEPAL interface**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:78 +msgid "Select **Request additional resources**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:79 +msgid "" +"Enter the requested amounts. For most mapping work, the following is a " +"reasonable starting point:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:81 +msgid "**Processing:** $10 USD/month of cloud compute time" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:82 +msgid "**Storage:** $10 USD/month" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:83 +msgid "**Workspace:** 10 gigabytes (GB) of personal SEPAL workspace storage" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:85 +msgid "Enter a short message describing the work (e.g. \"Mangrove mapping\")." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:86 +msgid "Select **Apply**. The SEPAL team will review and approve the request." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:88 +msgid "" +"Once resources are approved, the **Download** button (displayed as a " +"cloud with an arrow icon) will become active in all recipes. Even $1 of " +"resources is sufficient to activate downloading to GEE or Google Drive." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:92 +msgid "" +"SEPAL supports requests for larger amounts of resources for intensive " +"work, such as training machine learning models. Describe the use case in " +"the request message if needed." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:97 +msgid "3. Define the area of interest" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:99 +msgid "" +"Use the same area of interest (AOI) for all downstream recipes to ensure " +"composites, reference layers, and classification outputs are spatially " +"aligned." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:101 +msgid "Open **Process** in the **SEPAL interface**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:102 +msgid "" +"Set the AOI using an administrative boundary, an uploaded geometry, or a " +"drawn polygon." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:107 +msgid "4. Build an optical mosaic (optional)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:111 +msgid "" +"This step is only required if Google Satellite Embeddings are **not** " +"used as the classification input (see :ref:`Section 9 `). If using embeddings, proceed directly to :ref:`Section 6 " +"`." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:113 +msgid "" +"A cloud-free optical mosaic provides the spectral bands used for " +"classification. In SEPAL, all processing starts with a *recipe*. Open a " +"new recipe from the recipe book by selecting the **+** button, then the " +"green **Add recipe** button." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:116 +msgid "Recommended data sources" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:122 +msgid "Source" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:123 +msgid "Spatial resolution" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:124 +msgid "Temporal resolution" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:125 +msgid "Bands" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:126 +#: ../../source/workflows/mangrove_mapping.rst:361 +msgid "Sentinel-2" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:127 +msgid "10 m" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:128 +msgid "5 days" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:129 +msgid "12" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:130 +msgid "Landsat (8/9)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:131 +msgid "30 m" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:132 +msgid "16 days" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:133 +msgid "8" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:134 +msgid "NICFI/Planet" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:135 +msgid "4.5 m" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:136 +msgid "Monthly" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:137 +msgid "4" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:140 +msgid "Recommended bands and indices" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:142 +msgid "" +"For Sentinel-2, include bands: **B2, B3, B4, B5, B6, B7, B8, B8A, B11, " +"B12**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:144 +msgid "Suggested derived indices:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:146 +msgid "normalized difference vegetation index (NDVI)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:147 +msgid "normalized difference moisture index (NDMI)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:148 +msgid "normalized difference water index (NDWI)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:149 +msgid "modified normalized difference water index (MNDWI)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:150 +msgid "red-edge NDVI variants" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:151 +msgid "Tasseled Cap Brightness, Greenness and Wetness" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:152 +msgid "short-wave infrared (SWIR) ratios (B11/B8, B12/B11)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:153 +msgid "enhanced vegetation index (EVI)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:157 +msgid "" +"Avoid the **Aerosol** band for vegetation mapping — it captures " +"atmospheric rather than surface conditions. The near-infrared (NIR) and " +"SWIR bands are particularly important for mangroves: NIR is sensitive to " +"chlorophyll and vegetation health; SWIR helps distinguish inundated " +"vegetation from upland forest and open water." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:160 +msgid "Composite method" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:162 +msgid "" +"Use the **Medoid** composite method, which selects actual observed pixel " +"values rather than statistical summaries, preserving spectral integrity. " +"Save the recipe with a meaningful name (e.g. ``Optical_Medoid_2023``) so " +"it can be referenced in the classification recipe." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:166 +msgid "" +"See :doc:`../cookbook/optical_mosaic` for full instructions on the SEPAL " +"optical mosaic recipe." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:171 +msgid "5. Build a radar mosaic (optional)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:175 +msgid "" +"This step is only required if Google Satellite Embeddings are **not** " +"used as the classification input." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:177 +msgid "" +"SAR data penetrates cloud cover and is sensitive to canopy structure and " +"soil moisture — making it a valuable complement to optical data in " +"tropical coastal environments where persistent cloud cover limits optical" +" data availability." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:180 +msgid "Recommended data source" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:182 +msgid "" +"The primary radar source used in this workflow is **Sentinel-1 C-band " +"SAR**:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:184 +msgid "spatial resolution: 10 m" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:185 +msgid "temporal resolution: 12 days" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:186 +msgid "bands: VV and VH polarisations" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:188 +msgid "" +"ALOS PALSAR L-band mosaics (25 m, yearly) can be added where available " +"for additional structural information." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:191 +msgid "Recommended statistics to include" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:197 +msgid "Band" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:198 +#: ../../source/workflows/mangrove_mapping.rst:448 +msgid "Description" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:199 +msgid "VV mean" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:200 +msgid "Average VV backscatter across the year" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:201 +msgid "VH mean" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:202 +msgid "Average VH backscatter across the year" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:203 +msgid "VV/VH ratio" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:204 +msgid "Structural differentiation" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:205 +msgid "VH standard deviation" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:206 +msgid "Seasonal variability; helps distinguish vegetation types" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:208 +msgid "Save the recipe as ``Radar_Mosaic_YYYY``." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:212 +msgid "" +"See :doc:`../cookbook/radar_mosaic` for full instructions on the SEPAL " +"radar mosaic recipe." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:217 +msgid "6. Load global mangrove reference datasets" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:219 +msgid "" +"Load three global datasets as **EE Asset** recipes in SEPAL to build the " +"high-confidence reference map in :ref:`Section 7 `. " +"Each dataset is available in the GEE catalog or the Awesome GEE Community" +" Catalog." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:221 +msgid "To add an **EE Asset** recipe:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:223 +#: ../../source/workflows/mangrove_mapping.rst:391 +msgid "Add a new recipe and select **EE Asset**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:224 +#: ../../source/workflows/mangrove_mapping.rst:392 +msgid "Set the AOI." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:225 +msgid "Search for the asset by name or paste the asset path." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:226 +#: ../../source/workflows/mangrove_mapping.rst:394 +msgid "Select **Done**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:227 +msgid "" +"To visualise, open the **Menu** (☰) → select **+** → select the band → " +"set min/max values → select **Apply**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:228 +msgid "Save the recipe with the name indicated below." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:231 +msgid "6.1 Global Mangrove Watch (GMW) v3 — 2020 extent" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:236 +#: ../../source/workflows/mangrove_mapping.rst:251 +#: ../../source/workflows/mangrove_mapping.rst:266 +#: ../../source/workflows/mangrove_mapping.rst:382 +msgid "**Asset path**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:237 +#: ../../source/workflows/mangrove_mapping.rst:683 +msgid "``projects/sat-io/open-datasets/GMW/extent/GMW_V3``" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:238 +#: ../../source/workflows/mangrove_mapping.rst:253 +#: ../../source/workflows/mangrove_mapping.rst:268 +#: ../../source/workflows/mangrove_mapping.rst:530 +msgid "**Band**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:239 +msgid "``b1`` (1 = mangrove, 0 = non-mangrove)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:240 +msgid "**Date filter**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:241 +msgid "2020-01-01 to 2020-12-31; select first image" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:242 +#: ../../source/workflows/mangrove_mapping.rst:257 +#: ../../source/workflows/mangrove_mapping.rst:270 +#: ../../source/workflows/mangrove_mapping.rst:388 +#: ../../source/workflows/mangrove_mapping.rst:534 +msgid "**Save as**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:243 +msgid "``GMW_2020_EEAsset``" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:246 +msgid "6.2 ESA WorldCover land cover — 2021" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:252 +#: ../../source/workflows/mangrove_mapping.rst:686 +msgid "``ESA/WorldCover/v200``" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:254 +msgid "``Map``" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:255 +msgid "**Mangrove class value**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:256 +msgid "95" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:258 +msgid "``WorldCover_2021_EEAsset``" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:261 +msgid "6.3 Digital elevation model (MERIT DEM)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:267 +#: ../../source/workflows/mangrove_mapping.rst:689 +msgid "``MERIT/DEM/v1_0_3``" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:269 +msgid "``dem``" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:271 +msgid "``MERIT_DEM_EEAsset``" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:273 +msgid "" +"The digital elevation model (DEM) provides an elevation constraint — " +"mangroves occupy low-lying intertidal zones, so pixels above 40 m " +"elevation are excluded from the high-confidence product in :ref:`Section " +"7 `." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:278 +msgid "7. Create the high-confidence mangrove reference map" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:280 +msgid "" +"This step converts the three global datasets into a single high-" +"confidence binary map of mangrove and non-mangrove, which is then used to" +" automatically generate training data for the local classification." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:282 +msgid "" +"If multiple independent global datasets agree that a pixel is mangrove " +"(or non-mangrove), confidence in that label is much higher than if only " +"one dataset indicates this. The elevation constraint further removes " +"unlikely mangrove locations." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:285 +msgid "Remapping rules" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:287 +msgid "In SEPAL, use the **Remapping** recipe with the following logic:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:293 +msgid "Output class" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:294 +msgid "Condition" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:295 +msgid "**Class 1 – Mangrove**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:296 +msgid "GMW ``b1`` = 1 **AND** WorldCover ``Map`` = 95 **AND** DEM ``dem`` < 40 m" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:297 +msgid "**Class 2 – Non-mangrove**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:298 +msgid "GMW ``b1`` = 0 **AND** WorldCover ``Map`` ≠ 95 **AND** DEM ``dem`` < 40 m" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:299 +msgid "*(No data)*" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:300 +msgid "Pixels that do not meet either condition are excluded" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:302 +msgid "**Output band:** ``class`` (1 = mangrove, 2 = non-mangrove)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:304 +msgid "**Save as:** ``Mangrove_HighConfidence_Remapping``" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:308 +msgid "" +"The DEM < 40 m filter restricts both mangrove and non-mangrove samples to" +" the intertidal zone, improving the relevance of the non-mangrove class " +"and avoiding confusion with upland forest." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:312 +msgid "" +"Use the divided interface (multi-view panel) to inspect the high-" +"confidence product against the optical and radar mosaics before " +"proceeding. Confirm that the mangrove extent looks reasonable for the " +"area." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:317 +msgid "8. Generate training data" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:319 +msgid "" +"With the high-confidence reference map produced, generate training data " +"automatically by stratified sampling — more efficiently and at greater " +"scale than manual digitising." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:321 +msgid "" +"In SEPAL, training data is generated within the **Classification** recipe" +" using the **Sample classification** option:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:323 +msgid "Open a new **Classification** recipe." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:324 +msgid "In the training data tab, select **Add** > **Sample classification**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:325 +msgid "" +"Set the sampling source to ``Mangrove_HighConfidence_Remapping`` (recipe " +"reference) or an exported GEE asset of the same (band: ``class``)." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:326 +msgid "Use balanced (stratified) sampling — equal numbers of samples per class." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:327 +msgid "Set a random seed for reproducibility." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:330 +msgid "Recommended sample sizes" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:336 +msgid "Area of interest" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:337 +msgid "Samples per class" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:338 +msgid "Small AOI" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:339 +msgid "300–800" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:340 +msgid "Subnational/national AOI" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:341 +msgid "1000–2000" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:342 +msgid "Very large or heterogeneous AOI" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:343 +msgid "5000–10000" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:345 +msgid "" +"After sampling, inspect the training points visually against the imagery " +"in the multi-view panel. If contaminated points are observed (e.g. " +"mangrove samples landing on water), resample or remove them before " +"running the classification." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:350 +msgid "9. Incorporate Google Satellite Embeddings (AlphaEarth Foundations)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:354 +msgid "" +"These are referred to as \"Alpha Earth Embeddings\" in some training " +"materials. They are now publicly available as the **Google Satellite " +"Embedding dataset**, powered by `AlphaEarth Foundations " +"`__ — a geospatial artificial " +"intelligence (AI) model developed by Google and Google DeepMind." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:357 +msgid "What are satellite embeddings?" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:359 +msgid "" +"Satellite embeddings are pre-computed, AI-generated feature vectors that " +"summarise multi-sensor, multi-temporal Earth observation data into a " +"compact representation. Each 10 m pixel is described by a 64-dimensional " +"embedding vector encoding a full year of observations from:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:362 +msgid "Landsat" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:363 +msgid "Sentinel-1 SAR" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:364 +msgid "Copernicus DEM (elevation)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:365 +msgid "ERA5 (climate)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:366 +msgid "GEDI LiDAR (vegetation structure)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:368 +msgid "Key advantages for mangrove mapping:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:370 +msgid "" +"**Fewer training samples needed** – embeddings encode rich spatial and " +"temporal context, reducing the labelled points required for accurate " +"classification;" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:371 +msgid "" +"**Cloud-robust** – embeddings summarise an entire year of acquisitions, " +"making them more robust to cloud contamination than single-date " +"composites;" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:372 +msgid "" +"**No deep learning infrastructure required** – pre-computed and analysis-" +"ready; compatible with SEPAL's built-in classifiers;" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:373 +msgid "" +"**Faster classification** – typically faster than classifying equivalent " +"optical and radar inputs separately; and" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:374 +msgid "**Temporal coverage** – annual embeddings available from 2017 onwards." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:377 +msgid "Loading embeddings as an EE Asset recipe" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:383 +#: ../../source/workflows/mangrove_mapping.rst:680 +msgid "``GOOGLE/SATELLITE_EMBEDDING/V1/ANNUAL``" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:384 +msgid "**Asset type**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:385 +msgid "ImageCollection — mosaic or select target year" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:386 +msgid "**Bands**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:387 +msgid "All 64 embedding bands" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:389 +msgid "``AlphaEarth_Embeddings_EEAsset``" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:393 +msgid "" +"Search for ``embeddings`` and select **Satellite Embeddings V1**, or " +"paste the asset path above." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:395 +msgid "" +"To confirm data is loading: open the **Menu** (☰) → select **+** → select" +" any band (e.g. ``Z00``) → select **Apply**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:396 +msgid "Save the recipe as ``AlphaEarth_Embeddings_EEAsset``." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:399 +msgid "When to use embeddings vs. optical/radar mosaics" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:401 +msgid "" +"Use **embeddings** when an annual classification is needed and good " +"results are required with limited training data or compute time. When " +"embeddings are used, optical and radar mosaics are **not** needed as " +"classifier inputs." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:402 +msgid "" +"Use **optical and radar mosaics** when classification at a specific sub-" +"annual time point is needed, or when within-year temporal detail is " +"important." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:403 +msgid "Both approaches can be combined if desired." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:407 +msgid "" +"`GEE Data Catalog: Satellite Embedding V1 `__" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:408 +msgid "" +"`GEE tutorial series: Introduction to Satellite Embeddings " +"`__" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:409 +msgid "Brown et al. (2025)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:414 +msgid "10. Classify mangroves" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:416 +msgid "" +"With training data and image inputs prepared, run the SEPAL " +"**Classification** recipe to produce a mangrove/non-mangrove map." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:419 +msgid "10.1 Set up the classification recipe" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:421 +msgid "Add a new recipe and select **Classification**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:422 +msgid "When asked which image to classify, choose one of the following:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:424 +msgid "" +"**Embeddings approach:** ``AlphaEarth_Embeddings_EEAsset`` only (do " +"**not** add optical or radar mosaics)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:425 +msgid "" +"**Optical/radar approach:** the optical mosaic recipe plus the radar " +"mosaic recipe" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:426 +msgid "**Combined approach:** embeddings plus optical and/or radar mosaics" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:429 +msgid "10.2 Select input bands" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:431 +msgid "For the **embeddings approach**, add all 64 embedding bands." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:433 +msgid "For the **optical/radar approach**, recommended bands are:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:435 +msgid "" +"Sentinel-2: B2, B3, B4, B5, B6, B7, B8, B8A, B11, B12, plus derived " +"indices (NDVI, NDMI, NDWI, Tasseled Cap)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:436 +msgid "Sentinel-1: VV mean, VH mean, VH standard deviation" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:439 +msgid "10.3 Define classification classes" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:441 +msgid "For mangrove mapping, a three-class legend is recommended:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:447 +msgid "Class" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:449 +msgid "Mangrove" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:450 +msgid "Mangrove forest" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:451 +msgid "Non-mangrove" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:452 +msgid "All other land cover" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:453 +msgid "Water" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:454 +msgid "Open water" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:456 +msgid "" +"Keep classes distinct — overlapping or ambiguous classes reduce " +"classification accuracy. Assign recognisable colours (e.g. green for " +"mangrove, blue for water)." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:459 +msgid "10.4 Add training data" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:461 +msgid "" +"Reference the ``Mangrove_HighConfidence_Remapping`` recipe (or exported " +"asset) generated in :ref:`Section 7 ` and sampled in " +":ref:`Section 8 `. In the training data tab, select " +"**Add** > **Sample classification**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:463 +msgid "" +"Add manual training points using the **Marker** icon if local knowledge " +"suggests corrections are needed." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:467 +msgid "" +"The classification updates in real time as training points are added or " +"modified, allowing the impact of each change to be seen immediately." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:470 +msgid "10.5 Configure the classifier" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:472 +msgid "SEPAL uses **Random Forest** by default. Recommended settings:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:478 +msgid "Parameter" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:479 +msgid "Recommended value" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:480 +msgid "Number of trees" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:481 +msgid "~300 (use 25 for exploration; increase for production)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:482 +msgid "Variables per split (mTry)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:483 +msgid "Default/auto" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:484 +msgid "Probability outputs" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:485 +msgid "Enable if available" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:488 +msgid "10.6 Interpret and refine results" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:490 +msgid "Use the **Menu** (☰) to switch between display bands:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:492 +msgid "**Class** – the final classified map (one class per pixel)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:493 +msgid "" +"**Mangrove percent** – the probability that each pixel belongs to the " +"mangrove class; more informative than the binary class map for " +"understanding model uncertainty" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:495 +msgid "To improve results, iterate by:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:497 +msgid "" +"tightening the high-confidence mask criteria in the **Remapping** recipe " +"(:ref:`Section 7 `) and resampling (:ref:`Section 8 " +"`);" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:498 +msgid "adding more training samples;" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:499 +msgid "increasing the number of Random Forest trees; or" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:500 +msgid "adjusting the input data stack." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:504 +msgid "" +"See :doc:`../cookbook/classification` for full instructions on the SEPAL " +"classification recipe." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:509 +msgid "11. Map above-ground biomass (optional)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:511 +msgid "" +"In addition to mangrove extent, SEPAL can produce wall-to-wall maps of " +"above-ground biomass (AGB) by combining point-based biomass measurements " +"with satellite embeddings using a **Regression** recipe." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:514 +msgid "11.1 Approach" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:516 +msgid "" +"Where biomass measurements are available (from field plots or GEDI " +"LiDAR), and where the 64 embedding bands are available, the known biomass" +" values can be statistically related to the embedding values and applied " +"to every pixel across the AOI — producing a continuous biomass estimate " +"map." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:519 +msgid "11.2 Option A – Using GEDI LiDAR data" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:521 +msgid "" +"The Global Ecosystem Dynamics Investigation (GEDI) is a full-waveform " +"LiDAR instrument on the International Space Station, capturing vegetation" +" height, canopy structure, and above-ground biomass density. GEDI data " +"are point samples rather than wall-to-wall, but can be used as training " +"data to produce a continuous biomass map." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:523 +msgid "To load GEDI L4A as an EE Asset recipe:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:528 +msgid "**Asset**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:529 +msgid "GEDI L4A Above Ground Biomass Density v2.1" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:531 +msgid "``AGBD`` (above-ground biomass density, Mg/ha)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:532 +msgid "**Visualisation**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:533 +msgid "Thermal colour palette, min = 0, max = ~194" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:535 +msgid "``GEDI_L4A_EEAsset``" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:537 +msgid "To run the biomass regression:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:539 +#: ../../source/workflows/mangrove_mapping.rst:564 +msgid "Add a new recipe and select **Regression**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:540 +#: ../../source/workflows/mangrove_mapping.rst:565 +msgid "Select ``AlphaEarth_Embeddings_EEAsset`` as the image (all 64 bands)." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:541 +msgid "In the training data tab, select **Add** > **Sample image**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:542 +msgid "" +"Select ``GEDI_L4A_EEAsset`` as the source, with ``AGBD`` as the target " +"band." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:543 +msgid "Set the number of samples (increase for production results)." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:544 +#: ../../source/workflows/mangrove_mapping.rst:569 +msgid "Select **Apply** and run." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:548 +msgid "" +"If the study area is changing rapidly, match the GEDI acquisition year to" +" the target image year. For more stable mangrove areas, using all " +"available GEDI data is acceptable." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:551 +msgid "11.3 Option B – Using field-collected AGB data" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:553 +msgid "" +"Field-collected plot data with geographic coordinates can be uploaded to " +"GEE as an asset table and used as training data in the **Regression** " +"recipe." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:555 +msgid "To upload field data to GEE:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:557 +msgid "In the GEE Code Editor, go to the **Assets** tab." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:558 +msgid "Select **New** > **CSV file**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:559 +msgid "Upload the data file — GEE handles reprojection automatically." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:560 +msgid "Note the asset ID from the asset details panel." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:562 +msgid "To run the regression using field data:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:566 +msgid "In the training data tab, select **Add** > **Earth Engine table**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:567 +msgid "Paste the field data table asset ID." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:568 +msgid "Select the AGB column as the target value band." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:572 +msgid "11.4 Interpreting biomass results" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:574 +#, python-format +msgid "" +"The regression produces a continuous map of estimated above-ground " +"biomass (Mg/ha). Results improve significantly with more training samples" +" and more trees in the Random Forest model. Consider reserving 20–30% of " +"samples for independent validation." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:579 +msgid "12. Detect change using CCDC" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:581 +msgid "" +"To map mangrove loss or gain over time, this workflow uses the Continuous" +" Change Detection and Classification (CCDC) algorithm (Zhu and Woodcock, " +"2014). CCDC fits a time-series model to each pixel using all available " +"satellite observations and detects structural breaks — making it well " +"suited to detecting mangrove conversion events." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:584 +msgid "12.1 Create a CCDC asset" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:586 +msgid "Add a new recipe and select **CCDC Asset**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:587 +msgid "Define the AOI and date range." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:588 +msgid "Select input imagery (Sentinel-2 and/or Landsat recommended)." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:589 +msgid "Run the recipe and save the result as a GEE asset." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:593 +msgid "" +"Pre-built CCDC assets for specific study areas may be shared by the SEPAL" +" team or colleagues as GEE asset links, avoiding the need to run this " +"computationally intensive step independently." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:597 +msgid "" +"See :doc:`../cookbook/ccdc_slice` for full instructions on creating a " +"CCDC asset." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:600 +msgid "12.2 Extract CCDC slices" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:602 +msgid "" +"A *CCDC slice* is a snapshot of the fitted time-series model at a " +"specific date — providing harmonised, cloud-free spectral values " +"consistent across dates. CCDC slices can be used:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:604 +msgid "" +"as additional input bands in the **Classification** recipe (:ref:`Section" +" 10 `) for improved accuracy using spatio-" +"temporal descriptors; or" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:605 +msgid "from two different dates to detect change between them." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:609 +msgid "" +"See :doc:`../cookbook/ccdc_slice` for full instructions on using CCDC " +"slices." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:612 +msgid "12.3 Run change detection" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:614 +msgid "**Option A – Index Change recipe (two-date comparison):**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:616 +msgid "Add a new recipe and select **Index Change**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:617 +msgid "Load CCDC slices from two target dates (e.g. 2015 and 2023)." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:618 +msgid "Run the recipe to produce a map of positive and negative spectral change." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:619 +msgid "Interpret positive and negative values as mangrove gain or loss." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:621 +msgid "**Option B – Near-real-time alert recipe:**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:623 +msgid "" +"SEPAL includes an alert recipe based on CCDC that compares the time-" +"series model to very recent observations (last few days to weeks), " +"enabling near-real-time detection of mangrove disturbance events for " +"operational monitoring." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:628 +msgid "13. Download and export results" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:631 +msgid "13.1 Export destinations" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:633 +msgid "" +"Select the **Download** button (cloud with arrow icon) in any recipe to " +"open the export dialog. Choose:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:635 +msgid "" +"**Bands to export** – e.g. ``class`` for a classified map, or " +"``mangrove_percent`` for a probability map;" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:636 +msgid "" +"**Scale** – spatial resolution in metres (e.g. 10 m for Sentinel-2 or " +"embeddings-based results); and" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:637 +msgid "**Destination:**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:639 +msgid "" +"**Google Earth Engine asset** – exports to the GEE asset folder; " +"recommended for further analysis or sharing;" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:640 +msgid "**Google Drive** – exports to Google Drive for local download; or" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:641 +msgid "" +"**SEPAL workspace** – exports to the SEPAL workspace; use if running " +"further analysis inside SEPAL." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:644 +msgid "13.2 Monitor export tasks" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:646 +msgid "" +"After selecting **Retrieve**, a spinning icon appears on the purple task " +"button. A green check mark indicates completion. Monitor tasks in the GEE" +" Code Editor under the **Tasks** tab." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:649 +msgid "13.3 Upload data to GEE" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:651 +msgid "" +"To use local raster or vector data in SEPAL (e.g. field plots, " +"administrative boundaries, existing maps):" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:653 +msgid "In the GEE Code Editor, go to the **Assets** tab and select **New**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:654 +msgid "Select the file type:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:656 +msgid "**GeoTIFF** for raster data;" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:657 +msgid "" +"**Shapefile** – upload ``.shp``, ``.shx``, ``.dbf``, and ``.prj`` files " +"together; or" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:658 +msgid "**CSV** for tabular data with geographic coordinates." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:660 +msgid "GEE handles reprojection automatically." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:661 +msgid "" +"Copy the asset ID and use it in any SEPAL **EE Asset** recipe or training" +" data input." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:664 +msgid "Summary: recommended input data stack" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:670 +msgid "Layer" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:671 +msgid "Asset/source" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:672 +msgid "Purpose" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:673 +msgid "Optical mosaic (Medoid)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:674 +msgid "Sentinel-2 (B2–B12 + indices)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:675 +msgid "Spectral features (if not using embeddings)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:676 +msgid "Radar mosaic" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:677 +msgid "Sentinel-1 (VV mean, VH mean, VH STD)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:678 +msgid "Structural features (if not using embeddings)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:679 +msgid "Google Satellite Embeddings" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:681 +msgid "AI-derived multi-sensor features (64 bands)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:682 +msgid "Global Mangrove Watch v3" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:684 +msgid "Reference mangrove mask" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:685 +msgid "ESA WorldCover v2" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:687 +msgid "Reference land cover (mangrove class = 95)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:688 +msgid "MERIT DEM" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:690 +msgid "Elevation constraint (< 40 m)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:691 +msgid "High-confidence reference map" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:692 +msgid "Remapping recipe output" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:693 +msgid "Training data source" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:694 +msgid "GEDI L4A" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:695 +msgid "GEE catalog" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:696 +#: ../../source/workflows/mangrove_mapping.rst:699 +msgid "Biomass regression training (optional)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:697 +msgid "Field AGB plots" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:698 +msgid "User-uploaded GEE table" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:700 +msgid "CCDC asset" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:701 +msgid "SEPAL CCDC Asset recipe" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:702 +msgid "Change detection" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:705 +msgid "Additional resources" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:711 +msgid "Resource" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:712 +msgid "Link" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:713 +msgid "SEPAL platform" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:714 +msgid "`sepal.io `__" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:715 +msgid "SEPAL documentation" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:716 +msgid "`docs.sepal.io `__" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:717 +msgid "SEPAL certified online course" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:718 +msgid "" +"`FAO SEPAL course `__" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:719 +msgid "FAO SEPAL brochure" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:720 +msgid "`fao.org/in-action/sepal `__" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:721 +msgid "Global Mangrove Watch v3.0" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:722 +msgid "" +"`JAXA GMW " +"`__" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:723 +msgid "ESA WorldCover" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:724 +msgid "`ESA WorldCover `__" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:725 +msgid "GEDI L4A AGB dataset" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:726 +msgid "" +"`GEDI L4A on GEE `__" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:727 +msgid "GEE Satellite Embeddings catalog" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:728 +msgid "" +"`GEE Data Catalog `__" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:729 +msgid "AlphaEarth Foundations" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:730 +msgid "" +"`Google DeepMind blog `__" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:731 +msgid "Contact" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:732 +msgid "sepal@fao.org" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:735 +msgid "References" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:737 +msgid "" +"Brown, C.F., Kazmierski, M.R., Pasquarella, V.J., et al. 2025. AlphaEarth" +" Foundations: An embedding field model for accurate and efficient global " +"mapping from sparse label data. *arXiv preprint* arXiv:2507.22291." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:739 +msgid "" +"Simard, M., Fatoyinbo, L., Smetanka, C., Rivera-Monroy, V.H., Castañeda-" +"Moya, E., Thomas, N. and Van der Stocken, T. 2019. Mangrove canopy height" +" globally related to precipitation, temperature and cyclone frequency. " +"*Nature Geoscience*, 12: 40–45." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:741 +msgid "" +"Zhu, Z. and Woodcock, C.E. 2014. Continuous change detection and " +"classification of land cover using all available Landsat data. *Remote " +"Sensing of Environment*, 144: 152–171." +msgstr "" + diff --git a/docs/source/_locale/ar/LC_MESSAGES/workflows/proms.po b/docs/source/_locale/ar/LC_MESSAGES/workflows/proms.po new file mode 100644 index 0000000000..93378ab92e --- /dev/null +++ b/docs/source/_locale/ar/LC_MESSAGES/workflows/proms.po @@ -0,0 +1,457 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: ar\n" +"Language-Team: ar \n" +"Plural-Forms: nplurals=6; plural=(n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : " +"n%100>=3 && n%100<=10 ? 3 : n%100>=0 && n%100<=2 ? 4 : 5);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/workflows/proms.rst:2 +msgid "Probability Map Subtraction (PROMS)" +msgstr "" + +#: ../../source/workflows/proms.rst:5 +msgid "Overview" +msgstr "" + +#: ../../source/workflows/proms.rst:7 +msgid "" +"This tutorial provides a step-by-step guide to estimate forest change " +"areas between two dates using an improved area estimation technique. The " +"method leverages a statistically optimized stratification of forest and " +"forest change areas using continuous probability layers and sample " +"allocation." +msgstr "" + +#: ../../source/workflows/proms.rst:17 +msgid "In lighter green optional data and steps." +msgstr "" + +#: ../../source/workflows/proms.rst:21 +msgid "Workflow Steps" +msgstr "" + +#: ../../source/workflows/proms.rst:24 +msgid "Input Data Collection for Time 1 and Time 2" +msgstr "" + +#: ../../source/workflows/proms.rst:25 +msgid "" +"Training data on Stable Forest and Stable Non-Forest between Time 1 And " +"Time 2" +msgstr "" + +#: ../../source/workflows/proms.rst:26 +msgid "Forest Probability Classification at Time 1 and Time 2" +msgstr "" + +#: ../../source/workflows/proms.rst:27 +msgid "Forest Change Probability Calculation" +msgstr "" + +#: ../../source/workflows/proms.rst:28 +msgid "Inclusive Forest Mask Application (Optional)" +msgstr "" + +#: ../../source/workflows/proms.rst:29 +msgid "Stratification" +msgstr "" + +#: ../../source/workflows/proms.rst:30 +msgid "Sample Allocation" +msgstr "" + +#: ../../source/workflows/proms.rst:31 +msgid "Sample Interpretation and analysis" +msgstr "" + +#: ../../source/workflows/proms.rst:35 +msgid "Summary Approach" +msgstr "" + +#: ../../source/workflows/proms.rst:37 +msgid "" +"In this tutorial, we will demonstrate the methodology applied to the " +"region of Alto Paraguay, aiming to estimate the forest change area " +"between the years 2018 (Time 1) and 2020 (Time 2)." +msgstr "" + +#: ../../source/workflows/proms.rst:40 +msgid "Step 1: Input Data" +msgstr "" + +#: ../../source/workflows/proms.rst:42 +msgid "" +"The first step is to select the input imagery for classification. A " +"minimum of one type of data source is required; however, for optimal " +"classification results, a combination of sensors is recommended. The " +"selection depends on data availability and quality for your study area. " +"To capture changes occurring between Time 1 and Time 2, it is recommended" +" to create annual composites for one year before and one year after each " +"respective time point. This approach includes all possible changes that " +"occurred during Time 1 and Time 2." +msgstr "" + +#: ../../source/workflows/proms.rst:45 +msgid "SEPAL Tools for Image Combination:" +msgstr "" + +#: ../../source/workflows/proms.rst:47 +msgid "" +"SEPAL offers several tools to combine images from several sensors into " +"single raster:" +msgstr "" + +#: ../../source/workflows/proms.rst:49 +msgid "" +"**Optical Mosaics**: For creating optical mosaics, refer to the `Optical " +"Mosaics tool " +"`__." +msgstr "" + +#: ../../source/workflows/proms.rst:50 +msgid "" +"**Radar Mosaics**: For creating radar mosaics, use the `Radar Mosaics " +"tool `__." +msgstr "" + +#: ../../source/workflows/proms.rst:51 +msgid "" +"**Planet Mosaic**: For creating optical mosaics with high-resolution " +"imagery, see the `Planet Mosaic tool " +"`__." +msgstr "" + +#: ../../source/workflows/proms.rst:53 +msgid "" +"For areas with seasonal vegetation variations (e.g., dry forests), " +"consider using Continuous Change Detection and Classification (CCDC). " +"Refer to `CCDC Asset Creation " +"`__ for" +" more information." +msgstr "" + +#: ../../source/workflows/proms.rst:56 +msgid "Case Study Data Preparation:" +msgstr "" + +#: ../../source/workflows/proms.rst:58 +msgid "In our case study, we created:" +msgstr "" + +#: ../../source/workflows/proms.rst:60 +msgid "Planet Mosaics, Sentinel-1 Time Scans, Sentinel-2 Mosaics in SEPAL." +msgstr "" + +#: ../../source/workflows/proms.rst:61 +msgid "" +"ALOS-2 Time Scans in Google Earth Engine (`Link to Script " +"`__)" +msgstr "" + +#: ../../source/workflows/proms.rst:63 +msgid "" +"These datasets were prepared for both years 2017 and 2021 (one year " +"before and one year after Time 1 and Time 2, respectively)." +msgstr "" + +#: ../../source/workflows/proms.rst:71 +msgid "Step 2: Training Data" +msgstr "" + +#: ../../source/workflows/proms.rst:73 +msgid "" +"Create training data on the presence and absence of forest for your " +"period of interest. Depending on availability, training data can be " +"sourced from:" +msgstr "" + +#: ../../source/workflows/proms.rst:75 +msgid "**Existing Maps**: Extract samples from global or regional forest maps." +msgstr "" + +#: ../../source/workflows/proms.rst:76 +msgid "**Field Data**: Use ground-truth data collected from field surveys." +msgstr "" + +#: ../../source/workflows/proms.rst:77 +msgid "**Other Sources**: Extract samples from datasets like GEDI or GLANCE." +msgstr "" + +#: ../../source/workflows/proms.rst:80 +msgid "Step 3: Forest Probability Classification" +msgstr "" + +#: ../../source/workflows/proms.rst:82 +msgid "" +"Obtain forest probability maps for Time 1 and Time 2 through supervised " +"classification of your input data, using training data on forest and non-" +"forest classes. It is preferable to use stable samples from the period " +"between Time 1 and Time 2." +msgstr "" + +#: ../../source/workflows/proms.rst:85 +msgid "Using SEPAL's Classification Tool:" +msgstr "" + +#: ../../source/workflows/proms.rst:87 +msgid "" +"SEPAL offers a user-friendly `Classification tool " +"`__ for " +"building supervised classifications." +msgstr "" + +#: ../../source/workflows/proms.rst:90 ../../source/workflows/proms.rst:215 +#: ../../source/workflows/proms.rst:256 +msgid "Case Study Implementation:" +msgstr "" + +#: ../../source/workflows/proms.rst:92 +msgid "" +"Auxiliary Data: Added terrain data from the `MERIT Digital Elevation " +"Model `__ to the " +"mosaic stack for both years. Classifier: Used a Random Forest Classifier " +"in probability output mode. Output: Generated forest probability maps for" +" 2017 and 2021." +msgstr "" + +#: ../../source/workflows/proms.rst:96 +msgid "" +"If the number of samples that changed class between Time 1 and Time 2 is " +"small relative to the total number, it won’t significantly affect Random " +"Forest results due to its multiple decision trees and bootstrapping " +"method." +msgstr "" + +#: ../../source/workflows/proms.rst:103 +msgid "Step 4: Forest Change Probability Calculation" +msgstr "" + +#: ../../source/workflows/proms.rst:105 +msgid "" +"Calculate the forest change probability map by finding the difference " +"between the forest probability maps of Time 1 and Time 2." +msgstr "" + +#: ../../source/workflows/proms.rst:108 +msgid "Using SEPAL's Band Math Tool:" +msgstr "" + +#: ../../source/workflows/proms.rst:110 +msgid "" +"The `Band Math tool " +"`__ allows for " +"mathematical operations on images from SEPAL or Google Earth Engine." +msgstr "" + +#: ../../source/workflows/proms.rst:113 +msgid "Case Study Calculation:" +msgstr "" + +#: ../../source/workflows/proms.rst:115 +msgid "" +"Operation: Subtracted the forest probability band (probability_1) of the " +"2021 image from the 2017 image as an absolute value." +msgstr "" + +#: ../../source/workflows/proms.rst:116 +msgid "" +"Result: High values indicate a high probability of forest change, both " +"possible ‘forest losses’ and ‘forest gains’; low values indicate " +"stability." +msgstr "" + +#: ../../source/workflows/proms.rst:124 +msgid "For Multiple Monitoring Dates:" +msgstr "" + +#: ../../source/workflows/proms.rst:126 +msgid "" +"When intermediate dates are available, calculate the maximum forest " +"change probability:" +msgstr "" + +#: ../../source/workflows/proms.rst:140 +#, python-brace-format +msgid "" +"\\text{Max Change Probability} = \\max(\\text{probabilities over all " +"dates}) - \\min(\\text{probabilities over all dates})\n" +"\n" +msgstr "" + +#: ../../source/workflows/proms.rst:147 +msgid "With only two dates:" +msgstr "" + +#: ../../source/workflows/proms.rst:149 +#, python-brace-format +msgid "" +"\\text{Change Probability} = |\\text{Probability at Time 1} - " +"\\text{Probability at Time 2}|\n" +"\n" +msgstr "" + +#: ../../source/workflows/proms.rst:157 +msgid "Step 5: Inclusive Forest Mask Application (optional)" +msgstr "" + +#: ../../source/workflows/proms.rst:159 +msgid "" +"Apply a ‘forest mask’ to exclude areas with very low forest probability, " +"focusing the stratification on relevant areas." +msgstr "" + +#: ../../source/workflows/proms.rst:163 +msgid "" +"This mask should not be regarded as a commonly used forest mask but " +"rather as a highly conservative one, designed to include all areas where " +"forest could potentially exist at both Time 1 and Time 2, while excluding" +" areas where forest is definitively absent, such as deserts, croplands, " +"or built-up areas, especially when these categories constitute a " +"significant portion of the total area)." +msgstr "" + +#: ../../source/workflows/proms.rst:166 +msgid "Using SEPAL’s Band Math Tool:" +msgstr "" + +#: ../../source/workflows/proms.rst:168 +msgid "" +"Calculate Maximum Forest Probability: Use the Band Math tool to find the " +"maximum probability across all dates (Time 1 and Time 2 in the case " +"study)." +msgstr "" + +#: ../../source/workflows/proms.rst:172 +msgid "Using SEPAL’s Remapping Tool:" +msgstr "" + +#: ../../source/workflows/proms.rst:174 +msgid "" +"Remap Values: With the Remapping tool, classify areas as 'forest' where " +"the maximum forest probability exceeds a specified threshold, and mask " +"out areas that fall below this threshold." +msgstr "" + +#: ../../source/workflows/proms.rst:182 +msgid "Case study implementation:" +msgstr "" + +#: ../../source/workflows/proms.rst:184 +msgid "" +"In our case study we used a 10% maximum forest probability threshold that" +" masked out cropland areas." +msgstr "" + +#: ../../source/workflows/proms.rst:188 +msgid "Using SEPAL’s Masking Tool:" +msgstr "" + +#: ../../source/workflows/proms.rst:190 +msgid "" +"Apply Mask: Use the Masking tool to apply the ‘forest mask’ to the forest" +" change probability layer." +msgstr "" + +#: ../../source/workflows/proms.rst:200 +msgid "Step 6: Stratification" +msgstr "" + +#: ../../source/workflows/proms.rst:203 +msgid "" +"Convert the continuous forest change probability map into a categorical " +"map using the SEPAL's `Unsupervised Classification tool " +"`__" +" tool to create a stratification layer." +msgstr "" + +#: ../../source/workflows/proms.rst:207 +msgid "Using SEPAL’s Unsupervised Classification tool" +msgstr "" + +#: ../../source/workflows/proms.rst:210 +msgid "" +"**Sampling**: Number of Samples: Use a high number (e.g., 100,000) for " +"better representation, especially when areas with high forest change " +"probability are small. Sampling Scale: Consider the forest definition " +"(e.g., 70 meters aligning with a 0.5-hectare MMU)." +msgstr "" + +#: ../../source/workflows/proms.rst:211 +msgid "" +"**Clusterer**: Algorithm: Use the k-means algorithm. Number of Clusters: " +"Five classes are recommended (Kozak, 2011)." +msgstr "" + +#: ../../source/workflows/proms.rst:217 +msgid "" +"Samples: 100,000 samples to train the clusterer. Sampling Scale: 70 " +"meters." +msgstr "" + +#: ../../source/workflows/proms.rst:225 +msgid "Apply to Forest Areas Only:" +msgstr "" + +#: ../../source/workflows/proms.rst:227 +msgid "" +"The stratification could be applied exclusively to areas where forest " +"could potentially exist during the period of interest (both stable and " +"changing) using the masked forest change probability map as input image." +msgstr "" + +#: ../../source/workflows/proms.rst:235 +msgid "Step 7: Sample allocation" +msgstr "" + +#: ../../source/workflows/proms.rst:237 +msgid "" +"Select the sample points for interpretation on the stratification layer " +"using Neyman's method. The samples are optimally distributed according to" +" the variability and area of each stratum:" +msgstr "" + +#: ../../source/workflows/proms.rst:239 +msgid "" +":math:`n_h = \\left( \\frac{\\text{sd} \\cdot \\text{área del " +"estrato}}{\\sum (\\text{sd} \\cdot \\text{área})} \\right) \\cdot " +"\\text{targetSampleSize}`" +msgstr "" + +#: ../../source/workflows/proms.rst:242 +msgid "Using Google Earth Engine" +msgstr "" + +#: ../../source/workflows/proms.rst:244 +msgid "" +"The sample allocation can be applied either to the unmasked " +"stratification layer (as shown in the image above) or to the masked " +"stratification layer (as depicted in the image below)." +msgstr "" + +#: ../../source/workflows/proms.rst:258 +msgid "Total number of samples to select: 3000. Spatial resolution: 70m." +msgstr "" + +#: ../../source/workflows/proms.rst:261 +msgid "Step 8: Sample interpretation and analysis" +msgstr "" + +#: ../../source/workflows/proms.rst:263 +msgid "Estimate the forest change area." +msgstr "" + diff --git a/docs/source/_locale/en/LC_MESSAGES/cli/env_management.po b/docs/source/_locale/en/LC_MESSAGES/cli/env_management.po new file mode 100644 index 0000000000..15e9540620 --- /dev/null +++ b/docs/source/_locale/en/LC_MESSAGES/cli/env_management.po @@ -0,0 +1,337 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: en\n" +"Language-Team: en \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/cli/env_management.rst:4 +msgid "Python environment management" +msgstr "" + +#: ../../source/cli/env_management.rst:6 +msgid "" +"SEPAL provides two tools for managing Python environments: :guilabel:`uv`" +" and :guilabel:`micromamba`. Both are already installed and both are " +"better choices than the built-in :guilabel:`venv` for work on SEPAL." +msgstr "" + +#: ../../source/cli/env_management.rst:8 +msgid "" +"The core problem with :guilabel:`venv` on a shared platform is that it " +"creates environments tightly coupled to the system Python. When SEPAL " +"upgrades Python — as happened with the Ubuntu Noble upgrade from 3.10 to " +"3.12 — every venv breaks. The tools described on this page do not have " +"this problem." +msgstr "" + +#: ../../source/cli/env_management.rst:12 +msgid "" +"Do not use :guilabel:`venv` for new work on SEPAL. Use :guilabel:`uv` or " +":guilabel:`micromamba` instead." +msgstr "" + +#: ../../source/cli/env_management.rst:17 +msgid "Which tool should I use?" +msgstr "" + +#: ../../source/cli/env_management.rst:19 +msgid "The right choice depends on what your project needs." +msgstr "" + +#: ../../source/cli/env_management.rst:25 +msgid "Your stack includes..." +msgstr "" + +#: ../../source/cli/env_management.rst:26 +msgid "Use" +msgstr "" + +#: ../../source/cli/env_management.rst:27 +msgid "Why" +msgstr "" + +#: ../../source/cli/env_management.rst:28 +msgid "Web frameworks, APIs, pure Python tools" +msgstr "" + +#: ../../source/cli/env_management.rst:29 +#: ../../source/cli/env_management.rst:32 +msgid ":guilabel:`uv`" +msgstr "" + +#: ../../source/cli/env_management.rst:30 +msgid "Fast, lightweight, no overhead" +msgstr "" + +#: ../../source/cli/env_management.rst:31 +msgid "Data science: pandas, scikit-learn, statsmodels" +msgstr "" + +#: ../../source/cli/env_management.rst:33 +msgid "Good PyPI wheel coverage for Python 3.12" +msgstr "" + +#: ../../source/cli/env_management.rst:34 +msgid "Geospatial: GDAL, rasterio, fiona, GEOS" +msgstr "" + +#: ../../source/cli/env_management.rst:35 +#: ../../source/cli/env_management.rst:38 +msgid ":guilabel:`micromamba`" +msgstr "" + +#: ../../source/cli/env_management.rst:36 +msgid "Bundles native libraries inside the environment" +msgstr "" + +#: ../../source/cli/env_management.rst:37 +msgid "GPU / ML: CUDA, cuDNN, PyTorch with CUDA" +msgstr "" + +#: ../../source/cli/env_management.rst:39 +msgid "Pins CUDA runtime inside the environment" +msgstr "" + +#: ../../source/cli/env_management.rst:40 +msgid "Mixed: some native libraries, some pure Python" +msgstr "" + +#: ../../source/cli/env_management.rst:41 +msgid ":guilabel:`micromamba` + pip" +msgstr "" + +#: ../../source/cli/env_management.rst:42 +msgid "micromamba for native libraries, pip for the rest" +msgstr "" + +#: ../../source/cli/env_management.rst:46 +msgid "" +":guilabel:`uv` environments can still break if SEPAL upgrades a system-" +"level native library such as GDAL or CUDA. This is because :guilabel:`uv`" +" installs Python packages from PyPI but cannot bundle the underlying " +"``.so`` files they depend on. If your project uses geospatial or GPU " +"packages, use :guilabel:`micromamba`." +msgstr "" + +#: ../../source/cli/env_management.rst:51 +msgid "uv" +msgstr "" + +#: ../../source/cli/env_management.rst:53 +msgid "" +":guilabel:`uv` is a fast, modern Python and package manager. It manages " +"its own Python versions independently of the system, so a system Python " +"upgrade will not affect your environments." +msgstr "" + +#: ../../source/cli/env_management.rst:56 +msgid "Why use uv" +msgstr "" + +#: ../../source/cli/env_management.rst:58 +msgid "" +"**Survives system Python upgrades.** uv pins the Python version inside " +"the project. If you create an environment with Python 3.12.2, it stays on" +" 3.12.2 regardless of what the system does." +msgstr "" + +#: ../../source/cli/env_management.rst:59 +msgid "" +"**Much faster than pip and venv.** Dependency resolution and installation" +" are typically 10–100× faster due to parallel downloads and a compiled " +"resolver." +msgstr "" + +#: ../../source/cli/env_management.rst:60 +msgid "" +"**Lockfiles for reproducibility.** ``uv lock`` generates a precise, " +"cross-platform lockfile — more reliable than ``pip freeze`` for sharing " +"environments with colleagues." +msgstr "" + +#: ../../source/cli/env_management.rst:61 +msgid "" +"**Drop-in pip compatibility.** ``uv pip install`` works exactly like " +"``pip install``. Any package on PyPI works with uv. No new formats to " +"learn." +msgstr "" + +#: ../../source/cli/env_management.rst:62 +msgid "" +"**Works with standard project files.** Reads ``pyproject.toml`` and " +"``requirements.txt`` natively." +msgstr "" + +#: ../../source/cli/env_management.rst:63 +msgid "" +"**Manages multiple Python versions.** ``uv python install 3.10`` lets you" +" run any Python version without touching the system." +msgstr "" + +#: ../../source/cli/env_management.rst:64 +msgid "" +"**Single lightweight binary.** No base environment, no shell hooks, no " +"overhead." +msgstr "" + +#: ../../source/cli/env_management.rst:67 +msgid "Creating a uv project (recommended)" +msgstr "" + +#: ../../source/cli/env_management.rst:69 +msgid "" +"``uv init`` creates a project with a ``pyproject.toml`` and a lockfile, " +"giving you reproducible installs and clean dependency tracking:" +msgstr "" + +#: ../../source/cli/env_management.rst:83 +msgid "" +"uv automatically creates a ``.venv`` inside the project directory, " +"generates a ``uv.lock`` lockfile, and tracks all dependencies in " +"``pyproject.toml``. You do not need to activate anything — ``uv run`` " +"handles it." +msgstr "" + +#: ../../source/cli/env_management.rst:85 +msgid "To reproduce the environment elsewhere (or after a fresh clone):" +msgstr "" + +#: ../../source/cli/env_management.rst:92 +msgid "Creating a standalone uv environment" +msgstr "" + +#: ../../source/cli/env_management.rst:94 +msgid "" +"If you do not need a full project structure — for example, when working " +"with an existing ``requirements.txt`` — you can create a standalone " +"environment:" +msgstr "" + +#: ../../source/cli/env_management.rst:111 +#: ../../source/cli/env_management.rst:208 +msgid "Adding a Jupyter kernel" +msgstr "" + +#: ../../source/cli/env_management.rst:113 +msgid "Register your environment as a named kernel so it appears in JupyterLab:" +msgstr "" + +#: ../../source/cli/env_management.rst:115 +msgid "**For uv projects:**" +msgstr "" + +#: ../../source/cli/env_management.rst:123 +msgid "**For standalone uv environments:**" +msgstr "" + +#: ../../source/cli/env_management.rst:131 +msgid "Verify it appears:" +msgstr "" + +#: ../../source/cli/env_management.rst:137 +#: ../../source/cli/env_management.rst:224 +msgid "To remove a kernel:" +msgstr "" + +#: ../../source/cli/env_management.rst:146 +msgid "micromamba" +msgstr "" + +#: ../../source/cli/env_management.rst:148 +msgid "" +":guilabel:`micromamba` works like conda (if you have used conda before, " +"you already know how to use micromamba). Unlike :guilabel:`uv`, it " +"bundles native system libraries — GDAL, CUDA, HDF5, and others — inside " +"the environment itself, completely isolated from the system. This makes " +"it the right choice for geospatial and GPU workloads." +msgstr "" + +#: ../../source/cli/env_management.rst:151 +msgid "Why use micromamba" +msgstr "" + +#: ../../source/cli/env_management.rst:153 +msgid "" +"**Complete isolation including native libraries.** GDAL, CUDA, HDF5, " +"GEOS, and other system libraries are installed inside the environment. " +"Upgrading system libraries on SEPAL will not break your environment." +msgstr "" + +#: ../../source/cli/env_management.rst:154 +msgid "" +"**conda-forge provides excellent binary coverage.** conda-forge provides " +"pre-compiled, compatible builds of complex packages across all platforms " +"— often better than what is available on PyPI." +msgstr "" + +#: ../../source/cli/env_management.rst:155 +msgid "" +"**Environment files capture the full stack.** ``environment.yml`` files " +"describe both Python packages and native libraries in one place, making " +"environments fully reproducible by colleagues." +msgstr "" + +#: ../../source/cli/env_management.rst:156 +msgid "" +"**Pins native library versions.** You can pin ``cudatoolkit=11.8`` or " +"``gdal=3.6`` and those exact versions live inside the environment, " +"regardless of what is installed system-wide." +msgstr "" + +#: ../../source/cli/env_management.rst:157 +msgid "" +"**Faster than conda.** Written in C++, micromamba solves and installs " +"dependencies significantly faster than the original conda tool." +msgstr "" + +#: ../../source/cli/env_management.rst:158 +msgid "" +"**No base environment.** micromamba has no base environment that needs " +"updating — cleaner and lighter on disk." +msgstr "" + +#: ../../source/cli/env_management.rst:161 +msgid "Creating a micromamba environment" +msgstr "" + +#: ../../source/cli/env_management.rst:178 +msgid "Using an environment.yml file (recommended)" +msgstr "" + +#: ../../source/cli/env_management.rst:180 +msgid "" +"An ``environment.yml`` file captures the full environment — Python " +"version, native libraries, and Python packages — in one place:" +msgstr "" + +#: ../../source/cli/env_management.rst:197 +msgid "Create or update an environment from the file:" +msgstr "" + +#: ../../source/cli/env_management.rst:233 +msgid "Recovering a broken venv" +msgstr "" + +#: ../../source/cli/env_management.rst:235 +msgid "" +"If you have an existing venv that broke due to the Python upgrade, see " +":ref:`fix_venvs` for step-by-step recovery instructions, including a " +"script to extract your requirements without activating the broken " +"environment." +msgstr "" + diff --git a/docs/source/_locale/en/LC_MESSAGES/cli/index.po b/docs/source/_locale/en/LC_MESSAGES/cli/index.po index 2da467f6d7..85f8c275f9 100644 --- a/docs/source/_locale/en/LC_MESSAGES/cli/index.po +++ b/docs/source/_locale/en/LC_MESSAGES/cli/index.po @@ -8,14 +8,50 @@ msgid "" msgstr "" "Project-Id-Version: SEPAL \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-03-07 09:39+0100\n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.14.0\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/cli/index.rst:10 +msgid "GDAL — Geospatial Data Abstraction Library" +msgstr "" + +#: ../../source/cli/index.rst:10 +msgid "Google Drive" +msgstr "" + +#: ../../source/cli/index.rst:10 +msgid "Google Earth Engine" +msgstr "" + +#: ../../source/cli/index.rst:10 +msgid "GuidosToolbox Workbench" +msgstr "" + +#: ../../source/cli/index.rst:10 +msgid "Open Foris Geospatial Toolkit" +msgstr "" + +#: ../../source/cli/index.rst:10 +msgid "Orfeo ToolBox" +msgstr "" + +#: ../../source/cli/index.rst:10 +msgid "Python" +msgstr "" + +#: ../../source/cli/index.rst:10 +msgid "R" +msgstr "" + +#: ../../source/cli/index.rst:10 +msgid "Python environment management" +msgstr "" #: ../../source/cli/index.rst:2 msgid "CLI" @@ -35,30 +71,30 @@ msgid "" "of useful command-line interface (CLI) utilities, including:" msgstr "" -#: ../../source/cli/index.rst:22 +#: ../../source/cli/index.rst:23 msgid "" "These tools can be called directly from the terminal or via any " "programming language sending commands to the kernel, including R and " "Python (installed by default on any SEPAL account)." msgstr "" -#: ../../source/cli/index.rst:29 +#: ../../source/cli/index.rst:30 msgid "The code executed previously on an existing :code:`example.tif` file:" msgstr "" -#: ../../source/cli/index.rst:37 +#: ../../source/cli/index.rst:38 msgid "" "If you're running actions from multiple directories or instances, you can" " open multiple **Terminal** tabs and name them as you see fit." msgstr "" -#: ../../source/cli/index.rst:41 +#: ../../source/cli/index.rst:42 msgid "" "If the code you want to execute is taking time, consider running it in " "the background using :code:`nohup`:" msgstr "" -#: ../../source/cli/index.rst:47 +#: ../../source/cli/index.rst:48 msgid "" "All console outputs will be redirected to a :code:`nohup.out` in your " "home directory, but the execution will be running in the background. You " @@ -68,29 +104,29 @@ msgid "" "`__)." msgstr "" -#: ../../source/cli/index.rst:50 +#: ../../source/cli/index.rst:51 msgid "Coding tools" msgstr "" -#: ../../source/cli/index.rst:52 +#: ../../source/cli/index.rst:53 msgid "" "In the **Apps** section, there are three coding tools at the top of the " "list:" msgstr "" -#: ../../source/cli/index.rst:54 +#: ../../source/cli/index.rst:55 msgid "JupyterLab" msgstr "" -#: ../../source/cli/index.rst:55 +#: ../../source/cli/index.rst:56 msgid "Jupyter Notebook" msgstr "" -#: ../../source/cli/index.rst:56 +#: ../../source/cli/index.rst:57 msgid "RStudio" msgstr "" -#: ../../source/cli/index.rst:61 +#: ../../source/cli/index.rst:62 msgid "" "They will allow the user to code wokflows in any of the available " "languages using the corresponding environment in SEPAL. These " diff --git a/docs/source/_locale/en/LC_MESSAGES/cookbook/band_math.po b/docs/source/_locale/en/LC_MESSAGES/cookbook/band_math.po new file mode 100644 index 0000000000..90c18f3837 --- /dev/null +++ b/docs/source/_locale/en/LC_MESSAGES/cookbook/band_math.po @@ -0,0 +1,233 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: en\n" +"Language-Team: en \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/cookbook/band_math.rst:2 +msgid "Band Math" +msgstr "" + +#: ../../source/cookbook/band_math.rst:4 +msgid "" +"The **Band Math** recipe in SEPAL allows you to derive new raster layers " +"from existing ones by evaluating mathematical expressions. You can " +"combine, scale or subtract spectral bands, build indices or apply logical" +" masks. This guide walks through the Band Math workflow from start to " +"finish and uses a vegetation index as an example. The same steps apply " +"whether you are creating a simple ratio or a complex index." +msgstr "" + +#: ../../source/cookbook/band_math.rst:7 +msgid "Getting started" +msgstr "" + +#: ../../source/cookbook/band_math.rst:9 +msgid "Open `sepal.io `_ in your web browser and sign in." +msgstr "" + +#: ../../source/cookbook/band_math.rst:10 +msgid "" +"Go to the **Process** page where SEPAL lists your recipes. If you have " +"not created any recipes yet this list will be empty." +msgstr "" + +#: ../../source/cookbook/band_math.rst:13 +msgid "Creating a Band Math recipe" +msgstr "" + +#: ../../source/cookbook/band_math.rst:15 +msgid "" +"Click :btn:` Add recipe` in the recipe list and choose " +"**Band Math**. SEPAL opens a new tab for your recipe. On the right‑hand " +"side you will see three vertically stacked tabs labelled :guilabel:`IMG`," +" :guilabel:`CAL` and :guilabel:`OUT` corresponding to *Input imagery*, " +"*Calculations* and *Outputs*." +msgstr "" + +#: ../../source/cookbook/band_math.rst:27 +msgid "" +"Select the :guilabel:`IMG` button. Click :btn:` Add` " +"and then **Earth Engine Asset**. An entry form appears where you can " +"provide a Google Earth Engine image. Paste a valid asset ID into the " +"**Earth Engine asset ID** field (for example the Landsat 8 Level‑2 scene " +"``LANDSAT/LC08/C02/T1_L2/LC08_232064_20200119``). Leave the **Image " +"name** as the default (``i1``) unless you intend to add multiple images. " +"Use the tick icon to validate the ID; if the field turns red the asset is" +" not available. Once it loads successfully you will see a section " +"labelled **CONTINUOUS** listing the available bands." +msgstr "" + +#: ../../source/cookbook/band_math.rst:34 +msgid "" +"Specify which bands you need. Click the green :btn:` " +"Add` button to insert a row, select the band name from the drop‑down list" +" and leave the :guilabel:`TYPE` as **CONTINUOUS**. Repeat this step for " +"every band referenced in your expression. For a vegetation index select " +"the red band ``SR_B4`` and the near‑infrared band ``SR_B5``. When you " +"have added all your bands, click :btn:` Apply` to " +"confirm. The :guilabel:`IMG` tab now lists your Earth Engine asset and " +"the chosen name." +msgstr "" + +#: ../../source/cookbook/band_math.rst:42 +msgid "Defining a calculation" +msgstr "" + +#: ../../source/cookbook/band_math.rst:44 +msgid "" +"Switch to the :guilabel:`CAL` tab and click :btn:` " +"Add`. A dialog appears offering two paths: **Function** and " +"**Expression**. Choose **Function** when you want to compute built‑in " +"statistics (sum, mean, min, max, product) on your bands. Choose " +"**Expression** when you need to write a custom formula. For indices you " +"will almost always select **Expression**." +msgstr "" + +#: ../../source/cookbook/band_math.rst:51 +msgid "" +"In the expression editor type your formula. Refer to each band using its " +"image name and band name, for example ``i1.SR_B5`` for the near‑infrared " +"band of the first image. Parentheses control the order of operations. To " +"compute a vegetation index you can use:" +msgstr "" + +#: ../../source/cookbook/band_math.rst:57 +msgid "" +"You could just as easily substitute other bands or constants, for example" +" the Normalised Difference Water Index (NDWI) ``(i1.SR_B3 - i1.SR_B5) / " +"(i1.SR_B3 + i1.SR_B5)`` or a simple ratio like ``i1.SR_B5 / i1.SR_B4``." +msgstr "" + +#: ../../source/cookbook/band_math.rst:59 +msgid "" +"Enter a short Band name beneath the editor. This will be the label of the" +" resulting layer – for example ``ndvi`` for a vegetation index." +msgstr "" + +#: ../../source/cookbook/band_math.rst:66 +msgid "" +"Click :btn:` Apply`. Your calculation appears in the " +"list with an identifier such as ``c1``. You can add additional " +"calculations by repeating this process; each one becomes a separate " +"output band." +msgstr "" + +#: ../../source/cookbook/band_math.rst:74 +msgid "Managing outputs and naming" +msgstr "" + +#: ../../source/cookbook/band_math.rst:76 +msgid "" +"The :guilabel:`OUT` tab displays the bands produced by your expressions. " +"Check that the band names are correct. You can delete or add them using " +"the icons on the right of each row. Above the map the recipe tab uses a " +"default timestamp; rename it by double‑clicking the label, entering a " +"descriptive name (for example ``Amazon_BandMath``) and pressing " +"**Enter**. When everything looks correct close the :guilabel:`OUT` tab." +msgstr "" + +#: ../../source/cookbook/band_math.rst:84 +msgid "Visualising the results" +msgstr "" + +#: ../../source/cookbook/band_math.rst:86 +msgid "" +"By default your calculation is not drawn on the map. To create a " +"visualisation:" +msgstr "" + +#: ../../source/cookbook/band_math.rst:88 +msgid "" +"Locate the small :btn:`` icon near the bottom centre of" +" the map and click it. This opens the **This recipe** panel. If your " +"derived bands appear here they are ready for visualisation; if not, click" +" the :btn:`` button in that panel to create one." +msgstr "" + +#: ../../source/cookbook/band_math.rst:95 +msgid "" +"A **Visualisation** dialog opens. Choose the band you want to display " +"from the **Band** drop‑down (for example ``ndvi``). Set **Min** and " +"**Max** values to define the stretch – for indices spanning –1 to 1, " +"values such as –0.2 and 0.8 often provide good contrast." +msgstr "" + +#: ../../source/cookbook/band_math.rst:97 +msgid "" +"Select a colour palette. You can load a preset palette from the drop‑down" +" or define your own. To enter custom colours click the :guilabel:`HEX` " +"button; a text box appears containing a comma‑separated list of colour " +"codes. Replace it with your own codes (e.g. ``#ffffcc, #c2e699, #78c679, " +"#31a354, #006837`` for a light‑to‑dark green gradient). Multiple colours " +"create a smooth ramp." +msgstr "" + +#: ../../source/cookbook/band_math.rst:104 +msgid "" +"Click :btn:` Apply`. SEPAL renders the band using your" +" settings and adds a legend bar at the bottom of the map. If the map " +"stays blank for more than a few seconds, ensure you added the correct " +"bands and that the area of interest is not outside the footprint of your " +"image." +msgstr "" + +#: ../../source/cookbook/band_math.rst:113 +msgid "What else can you do with Band Math?" +msgstr "" + +#: ../../source/cookbook/band_math.rst:115 +msgid "" +"Band Math is a general‑purpose calculator for raster bands. Beyond " +"vegetation indices you can:" +msgstr "" + +#: ../../source/cookbook/band_math.rst:117 +msgid "" +"Highlight water bodies by computing the Normalised Difference Water Index" +" (NDWI): ``(i1.SR_B3 - i1.SR_B5) / (i1.SR_B3 + i1.SR_B5)``." +msgstr "" + +#: ../../source/cookbook/band_math.rst:118 +msgid "" +"Assess burn severity with the Normalised Burn Ratio (NBR) using " +"near‑infrared and short‑wave infrared bands: ``(i1.SR_B5 - i1.SR_B7) / " +"(i1.SR_B5 + i1.SR_B7)``." +msgstr "" + +#: ../../source/cookbook/band_math.rst:119 +msgid "" +"Perform arithmetic between bands (for example ``i1.SR_B5 - i1.SR_B4``), " +"multiply by constants to convert digital numbers to reflectance or add " +"bands to create composites." +msgstr "" + +#: ../../source/cookbook/band_math.rst:120 +msgid "" +"Create masks based on conditions – for instance ``i1.SR_B5 > 0.3`` to " +"select highly vegetated pixels – and combine them with logical operators " +"(`and`, `or`)." +msgstr "" + +#: ../../source/cookbook/band_math.rst:122 +msgid "" +"Every expression you add becomes a new band that can be visualised or " +"used in subsequent calculations. By chaining calculations together you " +"can build complex workflows in SEPAL without writing any external code." +msgstr "" + diff --git a/docs/source/_locale/en/LC_MESSAGES/cookbook/classification.po b/docs/source/_locale/en/LC_MESSAGES/cookbook/classification.po index d6d05f1e80..74f211eec0 100644 --- a/docs/source/_locale/en/LC_MESSAGES/cookbook/classification.po +++ b/docs/source/_locale/en/LC_MESSAGES/cookbook/classification.po @@ -8,14 +8,14 @@ msgid "" msgstr "" "Project-Id-Version: SEPAL \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-03-07 09:39+0100\n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.14.0\n" +"Generated-By: Babel 2.18.0\n" #: ../../source/cookbook/classification.rst:2 msgid "Classification" @@ -35,9 +35,9 @@ msgstr "" msgid "" "With this recipe, SEPAL helps users build supervised classifications of " "any mosaic image. It is built on top of the most advanced tools available" -" on Google Earth Engine (GEE) – including the classifiers CART, " -"RandomForest, NaiveBayes and SVM – allowing users to create an easy-to-" -"use user interface to:" +" on Google Earth Engine (GEE) – including seven classifiers, such as " +"Random Forest, CART and SVM – allowing users to create an easy-to-use " +"user interface to:" msgstr "" #: ../../source/cookbook/classification.rst:10 @@ -45,7 +45,7 @@ msgid "select an image to classify;" msgstr "" #: ../../source/cookbook/classification.rst:11 -msgid "define the class table; and" +msgid "define the legend; and" msgstr "" #: ../../source/cookbook/classification.rst:12 @@ -91,7 +91,7 @@ msgstr "" #: ../../source/cookbook/classification.rst:42 msgid "" "In the lower-right corner, the following five tabs are available, " -"allowing you to customize the time series to your needs:" +"allowing you to customize the classification to your needs:" msgstr "" #: ../../source/cookbook/classification.rst:44 @@ -150,14 +150,14 @@ msgstr "" #: ../../source/cookbook/classification.rst:76 msgid "" -"Users can select images coming from an **Existing recipe** or an exported" -" **GEE asset** (see advantages and disadvantages below). Both should be " -"an :code:`ee.Image`, rather than a :code:`Time series` or " -":code:`ee.ImageCollection`." +"Users can select images coming from a **Saved SEPAL recipe** or an " +"exported **Earth Engine asset** (see advantages and disadvantages below)." +" Both should be an :code:`ee.Image`, rather than a :code:`Time series` or" +" :code:`ee.ImageCollection`." msgstr "" #: ../../source/cookbook/classification.rst:78 -msgid "**Existing recipe**:" +msgid "**Saved SEPAL recipe**:" msgstr "" #: ../../source/cookbook/classification.rst:80 @@ -188,7 +188,7 @@ msgid "" msgstr "" #: ../../source/cookbook/classification.rst:89 -msgid "**GEE asset**:" +msgid "**Earth Engine asset**:" msgstr "" #: ../../source/cookbook/classification.rst:93 @@ -219,7 +219,7 @@ msgstr "" msgid "" "For this example, we will use a public asset created with the **Optical " "mosaic** tool from SEPAL. It's a Sentinel-2 mosaic of Eastern Province in" -" Zambia during the dry season from 2012 to 2020. Multiple bands are " +" Zambia during the dry season from 2012 to 2021. Multiple bands are " "available." msgstr "" @@ -238,9 +238,9 @@ msgstr "" msgid "" "Once an asset has been selected, SEPAL will load its bands in the " "interface. You can use any band that is native to the image as input for " -"the classification process. Simply click on the band name to select them." -" The selected bands are summarized in the expansion panel title (**1**) " -"and displayed in gold in the pane content (**2**)." +"the classification. Open the :guilabel:`Select bands...` dropdown and " +"click a band name to add it (the highlighted option). Each selected band " +"then appears as a removable chip in the **Image bands** panel." msgstr "" #: ../../source/cookbook/classification.rst:117 @@ -256,7 +256,7 @@ msgid ":code:`nir`" msgstr "" #: ../../source/cookbook/classification.rst:121 -msgid ":code:`swir`" +msgid ":code:`swir1`" msgstr "" #: ../../source/cookbook/classification.rst:122 @@ -276,29 +276,24 @@ msgstr "" #: ../../source/cookbook/classification.rst:133 msgid "" "Select :btn:` Derived bands` at the bottom of the pop-" -"up window and select the deriving method. This will add a a new panel to " -"the expansion panel with the selected method name (**1**). The selected " -"method will be applied to the selected bands." +"up window and select the deriving method. This adds a new panel named " +"after the selected method (e.g. **Normalized difference**). The method " +"will be applied to the bands you add to that panel." msgstr "" #: ../../source/cookbook/classification.rst:137 msgid "" -"If more than two bands are selected, the operation will be applied to the" -" Cartesian product of the bands. If you select bands :math:`A`, :math:`B`" -" and :math:`C`, and apply the :code:`Difference` derived bands, you'll " -"add three bands to your analysis:" +"If you select two bands, :math:`A` and :math:`B`, and apply the " +"**Normalized difference** derived band, you'll add one band to your " +"analysis:" msgstr "" #: ../../source/cookbook/classification.rst:139 -msgid ":math:`A - B`" -msgstr "" - -#: ../../source/cookbook/classification.rst:140 -msgid ":math:`A - C`" +msgid ":math:`(A - B) / (A + B)`" msgstr "" #: ../../source/cookbook/classification.rst:141 -msgid ":math:`B - C`" +msgid "Selecting more than two bands applies the operation to each pair of them." msgstr "" #: ../../source/cookbook/classification.rst:149 @@ -314,7 +309,7 @@ msgid "" " and the pop-up window will close. The images and bands will be displayed" " in the :guilabel:`IMG` panel in the lower-right corner of the screen. By" " selecting the :btn:`` button, you will remove the " -"image and its band from the analysis altogether." +"image and its bands from the analysis altogether." msgstr "" #: ../../source/cookbook/classification.rst:157 @@ -442,9 +437,9 @@ msgstr "" #: ../../source/cookbook/classification.rst:244 msgid "" "Once the fully qualified legend file has been prepared on your computer, " -"select :btn:`` and then :code:`Import from CSV`, " -"which will open a pop-up window where you can drag and drop the file or " -"select it manually from your computer files." +"select :btn:`` and then :code:`Import from " +"CSV...`, which will open a pop-up window where you can drag and drop the " +"file or select it manually from your computer files." msgstr "" #: ../../source/cookbook/classification.rst:246 @@ -486,81 +481,38 @@ msgstr "" #: ../../source/cookbook/classification.rst:267 msgid "" -"A file will be downloaded to you computer named " +"A file will be downloaded to your computer named " ":code:`_legend.csv`, which will contain the legend " "information in the following format:" msgstr "" #: ../../source/cookbook/classification.rst:277 -msgid "Select training data" -msgstr "" - -#: ../../source/cookbook/classification.rst:281 -msgid "This step is not mandatory." +msgid "Training data setup" msgstr "" -#: ../../source/cookbook/classification.rst:283 +#: ../../source/cookbook/classification.rst:279 msgid "Two inputs are required to create the classification output:" msgstr "" -#: ../../source/cookbook/classification.rst:285 +#: ../../source/cookbook/classification.rst:281 msgid "pixel values (e.g. bands) to classify; and" msgstr "" -#: ../../source/cookbook/classification.rst:286 +#: ../../source/cookbook/classification.rst:282 msgid "training data to set up the classification model." msgstr "" -#: ../../source/cookbook/classification.rst:288 +#: ../../source/cookbook/classification.rst:284 msgid "" "This menu will help the user manage the training data of the model used. " "To open it, select :btn:`TRN` in the lower-right side of the window." msgstr "" -#: ../../source/cookbook/classification.rst:295 -msgid "Collected reference data" -msgstr "" - -#: ../../source/cookbook/classification.rst:297 -msgid "" -"Collected reference data are data selected on the fly by the user. The " -"workflow will be explained later in the documentation." -msgstr "" - -#: ../../source/cookbook/classification.rst:299 -msgid "" -"In this pane, this type of data can be managed by the user. The data " -"appear as a pair, associating coordinates to a class value, which will be" -" used to create training data in the classification model." +#: ../../source/cookbook/classification.rst:291 +msgid "Import existing training data" msgstr "" -#: ../../source/cookbook/classification.rst:301 -msgid "" -"If you're satisfied with the current selection and you want to share the " -"data with others, select :btn:`` and then " -":code:`Export reference data to csv`. A file will be created and sent to " -"your computer, named :code:`_reference_data.csv`. It will " -"embed all of the gathered point data using the following convention:" -msgstr "" - -#: ../../source/cookbook/classification.rst:309 -msgid "" -"If you are not satisfied with the selected data, select :btn:`` and then :code:`Clear collected reference data` to remove" -" all collected data from the analysis." -msgstr "" - -#: ../../source/cookbook/classification.rst:313 -msgid "" -"A confirmation pop-up window should prevent you from accidentally " -"deleting everything." -msgstr "" - -#: ../../source/cookbook/classification.rst:316 -msgid "Existing training data" -msgstr "" - -#: ../../source/cookbook/classification.rst:318 +#: ../../source/cookbook/classification.rst:293 msgid "" "Instead of collecting all data by hand, SEPAL provides numerous ways to " "include already existing training data into your analysis. The data can " @@ -568,38 +520,38 @@ msgid "" " quality of the final map." msgstr "" -#: ../../source/cookbook/classification.rst:322 +#: ../../source/cookbook/classification.rst:297 msgid "" "The imported files can use an extended version of the legend provided in " "the previous step, but to avoid unexpected behaviour, at least one of the" " classes of your legend and the provided training data need to match." msgstr "" -#: ../../source/cookbook/classification.rst:326 +#: ../../source/cookbook/classification.rst:301 msgid "" "If the added training data are outside of the image to classify, they " "will have no impact on the final result (with the exception of the SEPAL " "recipe)." msgstr "" -#: ../../source/cookbook/classification.rst:328 +#: ../../source/cookbook/classification.rst:303 msgid "" "To add new data, select :btn:` Add` and choose the type" " of data to import:" msgstr "" -#: ../../source/cookbook/classification.rst:335 +#: ../../source/cookbook/classification.rst:310 msgid "CSV" msgstr "" -#: ../../source/cookbook/classification.rst:337 +#: ../../source/cookbook/classification.rst:312 msgid "" -"By selecting :btn:`csv file`, SEPAL will request a file from your " +"By selecting :btn:`CSV file`, SEPAL will request a file from your " "computer in :code:`.csv` format. The file needs to include two pieces of " "information: geographic coordinates and class value." msgstr "" -#: ../../source/cookbook/classification.rst:339 +#: ../../source/cookbook/classification.rst:314 msgid "" "This can be done using coordinates in :code:`EPSG:4326` latitude and " "longitude, as well as a `GeoJSON `__ compatible " @@ -607,88 +559,104 @@ msgid "" "considered during the analysis." msgstr "" -#: ../../source/cookbook/classification.rst:341 +#: ../../source/cookbook/classification.rst:316 msgid "The following table is compatible with SEPAL:" msgstr "" -#: ../../source/cookbook/classification.rst:349 +#: ../../source/cookbook/classification.rst:324 msgid "" "The columns used to define the X (longitude) and Y (latitude) coordinates" " are manually set up in the pop-up window. Select :btn:` Next` once every column is filled." msgstr "" -#: ../../source/cookbook/classification.rst:357 +#: ../../source/cookbook/classification.rst:332 msgid "" "If your file contains a GeoJSON column instead of coordinates, select " -":btn:`geojson column` to switch the interface to one column selection." +":btn:`GeoJSON column` to switch the interface to one column selection." msgstr "" -#: ../../source/cookbook/classification.rst:359 +#: ../../source/cookbook/classification.rst:334 msgid "" -"Now that you have set up the coordinates of your points, SEPAL will " -"request the columns specifying the class value (not the name) in a second" -" frame. Only the single column is supported so far. Select the column " -"from your file that embeds the class values." +"Now that you have set up the coordinates of your points, SEPAL will ask " +"how the class values (not the names) are stored, through the **Class " +"format** selector:" msgstr "" -#: ../../source/cookbook/classification.rst:363 +#: ../../source/cookbook/classification.rst:336 +msgid "" +"**Single column**: all class values are held in a single column — select " +"that column from your file." +msgstr "" + +#: ../../source/cookbook/classification.rst:337 +msgid "**Column per class**: each class has its own column." +msgstr "" + +#: ../../source/cookbook/classification.rst:338 +msgid "**Other format**: use this if your data has a different layout." +msgstr "" + +#: ../../source/cookbook/classification.rst:342 msgid "" -"Using the :code:`row filter expression` text field, one can filter out " -"some lines of the table. Refer to the `features <#>`__ section to learn " -"more." +"Using the :code:`Row filter expression` field, you can keep only the rows" +" that meet a condition — a JavaScript-like expression, referencing your " +"columns by name, that evaluates to ``true`` for the rows to keep (leave " +"it empty to keep all). For example, :code:`class == 30` keeps only the " +"rows in class 30, and :code:`class == 10 || class == 20` keeps classes 10" +" and 20." msgstr "" -#: ../../source/cookbook/classification.rst:369 +#: ../../source/cookbook/classification.rst:348 msgid "" -"Select :btn:` next` to add the data to the " +"Select :btn:` Next` to add the data to the " "model. SEPAL will provide a summary of the classes in the legend of the " "classification and the number of training points added by your file." msgstr "" -#: ../../source/cookbook/classification.rst:371 +#: ../../source/cookbook/classification.rst:350 msgid "" "Selecting the :btn:` Done` button will complete the " "uploading procedure." msgstr "" -#: ../../source/cookbook/classification.rst:378 +#: ../../source/cookbook/classification.rst:357 msgid "GEE table" msgstr "" -#: ../../source/cookbook/classification.rst:380 +#: ../../source/cookbook/classification.rst:359 msgid "" "By selecting :btn:`Earth Engine Table`, SEPAL will request a file from " "your computer in :code:`.csv` format. The file needs to provide two " "pieces of information: geographic coordinates and class value." msgstr "" -#: ../../source/cookbook/classification.rst:382 +#: ../../source/cookbook/classification.rst:361 msgid "" "The process is nearly the same as found in the documentation above " "discussing .csv tables. The only difference should be the geometry " -"column, as GEE assets usually embed a :code:`.goejson` column by default." +"column, as GEE assets usually embed a :code:`.geojson` column by default." " If this column exists, it will be autodetected by SEPAL." msgstr "" -#: ../../source/cookbook/classification.rst:384 +#: ../../source/cookbook/classification.rst:363 msgid "" "For the other steps, please reproduce what was presented in the .csv " "section above." msgstr "" -#: ../../source/cookbook/classification.rst:392 +#: ../../source/cookbook/classification.rst:371 msgid "" "To build the documentation example, use this public asset: " ":code:`projects/sepal-" "cookbook/assets/classification/zmb_eastern_esa_2012_2021_reference_data`." msgstr "" -#: ../../source/cookbook/classification.rst:395 +#: ../../source/cookbook/classification.rst:374 msgid "Sample classification" msgstr "" -#: ../../source/cookbook/classification.rst:397 +#: ../../source/cookbook/classification.rst:376 msgid "" "Instead of providing dataset points, SEPAL can also extract reference " "data from an already existing classification – which is a good way to " @@ -696,60 +664,63 @@ msgid "" "better resolution." msgstr "" -#: ../../source/cookbook/classification.rst:399 +#: ../../source/cookbook/classification.rst:378 msgid "" "To sample data, SEPAL will randomly select a number of points in each " "class and extract the class value using the provided resolution." msgstr "" -#: ../../source/cookbook/classification.rst:401 +#: ../../source/cookbook/classification.rst:380 msgid "" -"Start by selecting btn:`Sample classification` in the opened pop-up " -"window, where all of the the parameters can be set:" +"Start by selecting :btn:`Sample classification` in the opened pop-up " +"window, where all of the parameters can be set:" msgstr "" -#: ../../source/cookbook/classification.rst:403 +#: ../../source/cookbook/classification.rst:382 msgid "" -"**Sample per class**: the number of samples per class of the provided " +"**Samples per class**: the number of samples per class of the provided " "image. The more samples you request, the more accurate the model will be " "(if too many samples are selected, on-the-fly visualization will never " -"render; default to: :code:`1000`)." +"render). The default is :code:`100`, but you can pick other preset " +"values, such as the :code:`1000` used in this example." msgstr "" -#: ../../source/cookbook/classification.rst:404 +#: ../../source/cookbook/classification.rst:383 msgid "" "**Scale to sample in**: the scale used to create the sample in the " "provided image (it should match the image to classify resolution; default" " to: :code:`30 m`)." msgstr "" -#: ../../source/cookbook/classification.rst:405 +#: ../../source/cookbook/classification.rst:384 msgid "" -"**EE asset ID**: the ID of the classification to sample (it should be an " -":code:`ee.Image` accessible to the user)." +"**Image source**: choose whether to sample from an existing :guilabel:`EE" +" Asset` or a saved :guilabel:`Recipe`." msgstr "" -#: ../../source/cookbook/classification.rst:406 +#: ../../source/cookbook/classification.rst:385 msgid "" -"**Class band**: The class to use for classification value (the dropdown " -"menu will be filled with the bands found in the provided asset)." +"**EE asset ID of classification**: when :guilabel:`EE Asset` is selected," +" the ID of the classification to sample (it should be an :code:`ee.Image`" +" accessible to the user). When :guilabel:`Recipe` is selected instead, " +"choose one of your saved classification recipes to sample." msgstr "" -#: ../../source/cookbook/classification.rst:410 +#: ../../source/cookbook/classification.rst:386 msgid "" -"To reproduce this example, use the following asset as an image to sample:" -" :code:`projects/sepal-" -"cookbook/assets/classification/zmb_copernicus_landcover`." +"**Class band**: The class to use for classification value (the dropdown " +"menu will be filled with the bands found in the provided asset or " +"recipe)." msgstr "" -#: ../../source/cookbook/classification.rst:418 +#: ../../source/cookbook/classification.rst:394 msgid "" "When all of the parameters are selected, it can take time, as SEPAL " "builds the sampling values on the fly. They will only be displayed once " "the sampling is validated." msgstr "" -#: ../../source/cookbook/classification.rst:420 +#: ../../source/cookbook/classification.rst:396 msgid "" "Select :btn:` Next` to display the sampling " "summary. In this pane, SEPAL displays each class of the legend (as " @@ -757,20 +728,20 @@ msgid "" " it." msgstr "" -#: ../../source/cookbook/classification.rst:422 +#: ../../source/cookbook/classification.rst:398 msgid "" -"Select the :btn:`` buttons (**1**) to change the number" -" of samples in a specific class. By default, SEPAL ignores the samples " -"with a :code:`Null` value. One can select :btn:`Default` (**2**) for any " -"of the classes so that these points end up in the default class instead " -"of being ignored." +"Each class shows its sample count next to a green :btn:`` button — use it to change the number of samples for that class. By" +" default, SEPAL ignores the samples with a :code:`Null` value; select " +":btn:`Default` on any class so that these points end up in the default " +"class instead of being ignored." msgstr "" -#: ../../source/cookbook/classification.rst:429 +#: ../../source/cookbook/classification.rst:405 msgid "SEPAL recipe" msgstr "" -#: ../../source/cookbook/classification.rst:431 +#: ../../source/cookbook/classification.rst:407 msgid "" "SEPAL is also able to directly apply a model built in another recipe as " "training data. In this case, we are not importing the points, but all of " @@ -780,27 +751,176 @@ msgid "" "in the first year and then applied recursively on all the others." msgstr "" -#: ../../source/cookbook/classification.rst:433 +#: ../../source/cookbook/classification.rst:409 msgid "" "Select :btn:`Saved SEPAL recipe` to open the pop-up window. In the " "dropdown menu, select one of the recipes saved in your SEPAL account." msgstr "" -#: ../../source/cookbook/classification.rst:437 +#: ../../source/cookbook/classification.rst:413 msgid "" "The imported recipe needs to be a **Classification** recipe. If none are " "found, the dropdown menu will be empty." msgstr "" -#: ../../source/cookbook/classification.rst:439 +#: ../../source/cookbook/classification.rst:415 msgid "This recipe cannot come from another SEPAL account." msgstr "" -#: ../../source/cookbook/classification.rst:446 +#: ../../source/cookbook/classification.rst:422 +msgid "Collect Earth Online" +msgstr "" + +#: ../../source/cookbook/classification.rst:427 +msgid "" +"SEPAL can import training data you have collected in a `Collect Earth " +"Online `__ (CEO) project directly, without " +"exporting and re-uploading a file. Select :btn:`Collect Earth Online` to " +"open the panel." +msgstr "" + +#: ../../source/cookbook/classification.rst:429 +msgid "**Connect to your CEO account**" +msgstr "" + +#: ../../source/cookbook/classification.rst:431 +msgid "The panel starts as :ceo-disconnected:`Disconnected from CEO`." +msgstr "" + +#: ../../source/cookbook/classification.rst:433 +msgid "" +"Select :btn:`Connect` to open the **Collect Earth Online Authentication**" +" window, enter your :code:`CEO Email` and :code:`CEO Password`, and " +"select :btn:`Connect` again." +msgstr "" + +#: ../../source/cookbook/classification.rst:437 +msgid "" +"Your credentials are never stored on SEPAL servers. When your SEPAL " +"session ends, the CEO connection is terminated automatically. You can " +"also select :btn:`Disconnect` at any time to end it manually." +msgstr "" + +#: ../../source/cookbook/classification.rst:439 +msgid "**Select the institution and project**" +msgstr "" + +#: ../../source/cookbook/classification.rst:441 +msgid "Once connected (:ceo-connected:`You are connected to CEO`), fill in:" +msgstr "" + +#: ../../source/cookbook/classification.rst:443 +msgid "" +"**Institution**: the CEO institution to pull data from. Only institutions" +" where you are both a **member** and an **admin** are listed." +msgstr "" + +#: ../../source/cookbook/classification.rst:444 +msgid "" +"**Project**: the project within that institution whose collected data you" +" want to use." +msgstr "" + +#: ../../source/cookbook/classification.rst:445 +msgid "" +"**Data type**: whether to import the project's :guilabel:`Plot` " +"(aggregated plot) data or its :guilabel:`Sample` data." +msgstr "" + +#: ../../source/cookbook/classification.rst:451 +msgid "" +"SEPAL then loads the collected data, ready to be mapped to your legend in" +" the next two steps." +msgstr "" + +#: ../../source/cookbook/classification.rst:453 +msgid "**Set the location**" +msgstr "" + +#: ../../source/cookbook/classification.rst:455 +msgid "" +"SEPAL reads the point locations from the data and pre-fills the " +"**Location type** (:guilabel:`X/Y coordinate columns` or " +":guilabel:`GeoJSON column`) together with the matching coordinate " +"columns. These are detected automatically from the CEO data, so you can " +"usually confirm them as they are." +msgstr "" + +#: ../../source/cookbook/classification.rst:457 +msgid "**Set the class format**" +msgstr "" + +#: ../../source/cookbook/classification.rst:459 +msgid "" +"Tell SEPAL how the class values are stored in the CEO data, through the " +"**Class format** selector:" +msgstr "" + +#: ../../source/cookbook/classification.rst:461 +msgid "**Single column**: all class values are held in a single column." +msgstr "" + +#: ../../source/cookbook/classification.rst:462 +msgid "" +"**Column per class**: each class has its own column. CEO data is mostly " +"organized this way." +msgstr "" + +#: ../../source/cookbook/classification.rst:463 +msgid "**Other format**: use this if your reference data has a different layout." +msgstr "" + +#: ../../source/cookbook/classification.rst:465 +msgid "" +"SEPAL pre-selects the format based on the chosen data type, but you can " +"change it." +msgstr "" + +#: ../../source/cookbook/classification.rst:467 +msgid "" +"Select :btn:` Next` to reach the class " +"summary, which lists each legend class. For every class, select the :btn" +":`` button to choose the column that corresponds to it," +" then select :btn:` Done` to add the reference data to" +" the model." +msgstr "" + +#: ../../source/cookbook/classification.rst:474 +msgid "Manage collected reference data" +msgstr "" + +#: ../../source/cookbook/classification.rst:476 +msgid "" +"Collected reference data are the points you add directly on the map with " +"the on-the-fly training tool, described in the `On-the-fly training`_ " +"section. Each point pairs a set of coordinates with a class value. Select" +" the :btn:`` button — to the right of the :btn" +":` Add` button in the :btn:`TRN` tab — to manage them:" +msgstr "" + +#: ../../source/cookbook/classification.rst:478 +msgid "" +"**Export reference data to CSV**: download a " +":code:`_reference_data.csv` file to share your points with " +"others. It will embed all of the gathered point data using the following " +"convention:" +msgstr "" + +#: ../../source/cookbook/classification.rst:486 +msgid "" +"**Clear collected reference data**: remove every collected point from the" +" analysis." +msgstr "" + +#: ../../source/cookbook/classification.rst:490 +msgid "A confirmation pop-up prevents you from accidentally deleting everything." +msgstr "" + +#: ../../source/cookbook/classification.rst:493 msgid "Use auxiliary datasets" msgstr "" -#: ../../source/cookbook/classification.rst:448 +#: ../../source/cookbook/classification.rst:495 msgid "" "Some information that could be useful to the classification model is not " "always included in your image bands. A common example is **Elevation**. " @@ -808,20 +928,20 @@ msgid "" "some extra datasets to add auxiliary bands to the classification model." msgstr "" -#: ../../source/cookbook/classification.rst:450 +#: ../../source/cookbook/classification.rst:497 msgid "" "Select :btn:`AUX` to open the **Auxiliaries** tab. Three sources are " "currently implemented in the platform (any number of them can be " "selected):" msgstr "" -#: ../../source/cookbook/classification.rst:452 +#: ../../source/cookbook/classification.rst:499 msgid "" "**Latitude**: On-the-fly latitude dataset built from the coordinates of " "each pixel's center." msgstr "" -#: ../../source/cookbook/classification.rst:453 +#: ../../source/cookbook/classification.rst:500 msgid "" "**Terrain**: From the `NASA SRTM Digital Elevation 30 m " "`__ section for more " +"feature of SEPAL (see :doc:`../feature/visualization` for more " "information)." msgstr "" -#: ../../source/cookbook/classification.rst:505 +#: ../../source/cookbook/classification.rst:552 msgid "" -"Once all of the parameters are set, the user is free to add extra " -"training data in the web interface and the new points will be added to " -"the final model, improving the quality of the classification." +"Once all of the parameters are set, you can refine the classification " +"directly on the map: set up the view, add or edit training points on the " +"fly, and check the model's confidence." msgstr "" -#: ../../source/cookbook/classification.rst:508 +#: ../../source/cookbook/classification.rst:555 msgid "Set up the view" msgstr "" -#: ../../source/cookbook/classification.rst:510 +#: ../../source/cookbook/classification.rst:557 msgid "" "In order to improve the classification, one must set up the view to " -"display all of the information. While these guidelines could be modified " -"and extended, they are still useful as an introductory resource." +"display all of the information; you choose what the map shows from the " +"**Layers** panel. Select the :btn:`` layers-to-" +"show icon in the top-right of the screen to open the panel, then:" msgstr "" -#: ../../source/cookbook/classification.rst:512 +#: ../../source/cookbook/classification.rst:559 +msgid "" +"Pick a layout mode — :guilabel:`Grid` to split the map into several panes" +" side by side, or :guilabel:`Stack` to overlay the layers in a single " +"pane." +msgstr "" + +#: ../../source/cookbook/classification.rst:560 +msgid "" +"Drag and drop each layer onto a position (centre, a side, or a corner) to" +" choose where it appears; drag it between positions to rearrange it, or " +"off the areas to remove it." +msgstr "" + +#: ../../source/cookbook/classification.rst:561 +msgid "" +"If the layer you need is not already in the panel, select :btn:` Add` to add a source: **Add a SEPAL recipe**, **Add an Earth " +"Engine asset**, or **Add a Planet account**." +msgstr "" + +#: ../../source/cookbook/classification.rst:567 +msgid "" +"With your layers arranged, the map displays them together so you can " +"compare them while adding training data." +msgstr "" + +#: ../../source/cookbook/classification.rst:569 msgid "In the following image, we displayed:" msgstr "" -#: ../../source/cookbook/classification.rst:514 +#: ../../source/cookbook/classification.rst:571 msgid "The current recipe (**1**) using the class colors in categorical mode." msgstr "" -#: ../../source/cookbook/classification.rst:515 +#: ../../source/cookbook/classification.rst:572 msgid "" "The current image (what you are classifying) (**2**) using the " -"NIR,RED,SWIR band combination." +"NIR,RED,SWIR1 band combination." msgstr "" -#: ../../source/cookbook/classification.rst:516 +#: ../../source/cookbook/classification.rst:573 msgid "The extra visual dataset NICFI Planet Lab data (**3**) from 2021." msgstr "" -#: ../../source/cookbook/classification.rst:518 +#: ../../source/cookbook/classification.rst:575 msgid "" "The number (4) indicates a cluster of existing training points. Zoom in " "and they will be displayed as markers using the color of the class they " "mark (**5**)." msgstr "" -#: ../../source/cookbook/classification.rst:522 +#: ../../source/cookbook/classification.rst:583 msgid "" "This initial classification has been set using sampled data. Since they " "are sampled from a larger image, some are out of the image. They will " @@ -978,23 +1126,34 @@ msgid "" " (**6**)." msgstr "" -#: ../../source/cookbook/classification.rst:530 +#: ../../source/cookbook/classification.rst:587 +msgid "On-the-fly training" +msgstr "" + +#: ../../source/cookbook/classification.rst:589 +msgid "" +"You are free to add extra training data in the web interface; each new " +"point is added to the final model, improving the quality of the " +"classification." +msgstr "" + +#: ../../source/cookbook/classification.rst:592 msgid "Select points" msgstr "" -#: ../../source/cookbook/classification.rst:532 +#: ../../source/cookbook/classification.rst:594 msgid "" "To start adding points, open the training interface by selecting :btn" -":`` in the upper right of the screen (**1**). " +":`` in the upper right of the screen (**1**). " "Once selected, the background color becomes darker and the pointer of the" " mouse becomes a :icon:`fa-solid fa-plus`." msgstr "" -#: ../../source/cookbook/classification.rst:534 +#: ../../source/cookbook/classification.rst:596 msgid "The process to add new training data is as follows:" msgstr "" -#: ../../source/cookbook/classification.rst:536 +#: ../../source/cookbook/classification.rst:598 msgid "" "**Click on the map to select a point**: You can click in any of the panes" " (not restricted to the **Recipe** pane), but to be useful, the point " @@ -1003,79 +1162,80 @@ msgid "" "window (**2**)." msgstr "" -#: ../../source/cookbook/classification.rst:537 +#: ../../source/cookbook/classification.rst:599 msgid "" "**Select the class value**: The previous class value is preselected, but " "you can change it to any other class value from the defined legend. The " "legend is displayed as :code:` ()`." msgstr "" -#: ../../source/cookbook/classification.rst:539 +#: ../../source/cookbook/classification.rst:601 msgid "" "You can now click elsewhere on the map to add another point. If you are " "satisfied with the classification, select :btn:` " -"Close` (3) and select :btn:`` again to stop " +"Close` (3) and select :btn:`` again to stop " "editing the points. Every time a new point is added, the " "**Classification** map is recomputed and rendered on the left side." msgstr "" -#: ../../source/cookbook/classification.rst:546 +#: ../../source/cookbook/classification.rst:608 msgid "Modify existing points" msgstr "" -#: ../../source/cookbook/classification.rst:548 +#: ../../source/cookbook/classification.rst:610 msgid "" -"To modify existing points, select the :btn:`` " +"To modify existing points, select the :btn:`` " "to open the **Point editing** interface. Then:" msgstr "" -#: ../../source/cookbook/classification.rst:550 +#: ../../source/cookbook/classification.rst:612 msgid "" "**Select a point**: To select a point, click on an existing marker. It " "will appear bolder than the others. If it's not already the case, the " "**Class selection** pane will appear in the upper right." msgstr "" -#: ../../source/cookbook/classification.rst:551 +#: ../../source/cookbook/classification.rst:613 msgid "" "**Change the class value**: The point class will be selected in the " "**Editing** menu with a :icon:`fa-solid fa-check`. Select any other class" " value to change it." msgstr "" -#: ../../source/cookbook/classification.rst:554 +#: ../../source/cookbook/classification.rst:616 msgid "Check the validity" msgstr "" -#: ../../source/cookbook/classification.rst:556 +#: ../../source/cookbook/classification.rst:618 msgid "" "SEPAL embeds information to help the user understand if the amount of " "training data is sufficient to produce an accurate classification model. " -"In the **Recipe** window, change the **Band combination** to :code:`Class" -" probability`." +"In the **Recipe** window, select the :btn:`` button at " +"the bottom centre of the map to open the layer's options, then change the" +" **Bands** selector to :code:`Class probability`." msgstr "" -#: ../../source/cookbook/classification.rst:558 +#: ../../source/cookbook/classification.rst:620 msgid "" "The user now sees the probability of the model (i.e. the confidence level" -" of the level with output class for each pixel)." +" of the output class for each pixel)." msgstr "" -#: ../../source/cookbook/classification.rst:560 +#: ../../source/cookbook/classification.rst:622 msgid "" "If the value is high (> 80 percent), then the pixel can be considered " "valid; if the value is low (< 80 percent), the model needs more training " "data or extra bands to improve the analysis." msgstr "" -#: ../../source/cookbook/classification.rst:562 +#: ../../source/cookbook/classification.rst:624 msgid "" "In the example image, the lake is classified as a **permanent water " "body** with a confidence of 65 percent, which is higher than the rest of " "the vegetation around it." msgstr "" -#: ../../source/cookbook/classification.rst:568 +#: ../../source/cookbook/classification.rst:630 msgid "" "This analysis can also be conducted class-by-class using the built-in " ":code:` %` bands. Select the one corresponding to the class " @@ -1083,69 +1243,99 @@ msgid "" "percentage of confidence for each pixel to be in the sub-mentioned class." msgstr "" -#: ../../source/cookbook/classification.rst:575 +#: ../../source/cookbook/classification.rst:637 msgid "Export" msgstr "" -#: ../../source/cookbook/classification.rst:579 +#: ../../source/cookbook/classification.rst:641 msgid "" -"You cannot export a recipe as an asset or a :code:`.tiff` file without a " +"You cannot export a recipe as an asset or a :code:`.tif` file without a " "small computation quota. If you are a new user, see " ":doc:`../setup/resource`." msgstr "" -#: ../../source/cookbook/classification.rst:582 +#: ../../source/cookbook/classification.rst:644 msgid "Start download" msgstr "" -#: ../../source/cookbook/classification.rst:584 +#: ../../source/cookbook/classification.rst:646 msgid "" "Selecting the :icon:`fa-solid fa-cloud-arrow-down` tab will open the " -"**Retrieve** pane, where you can select the exportation parameters " -"(**1**)." +"**Retrieve** pane where you can select the exportation parameters." +msgstr "" + +#: ../../source/cookbook/classification.rst:653 +msgid "Bands" msgstr "" -#: ../../source/cookbook/classification.rst:586 +#: ../../source/cookbook/classification.rst:655 msgid "" -"You need to select the band to export (**2**). There is no maximum number" -" of bands; however, exporting useless bands will only increase the size " -"and time of the output." +"You need to select the band(s) to export. There is no maximum number of " +"bands, but exporting useless bands will only increase the size and time " +"of the output. The available bands include the classified Class band, the" +" Class probability band, and the per-class confidence " +"(:code:` %`) bands." +msgstr "" + +#: ../../source/cookbook/classification.rst:658 +msgid "Scale" msgstr "" -#: ../../source/cookbook/classification.rst:588 +#: ../../source/cookbook/classification.rst:660 msgid "" -"You can set a custom scale for exportation (**3**) by changing the value " -"of the slider in metres (m). (Note: Requesting a smaller resolution than " -"images' native resolution will not improve the quality of the output – " -"just its size; keep in mind that the native resolution of Sentinel data " -"is 10 m, while Landsat is 30 m.)" +"You can set a custom scale for exportation by selecting a value in metres" +" (m) (note that requesting a smaller resolution than the images' native " +"resolution will not improve the quality of the output – just its size – " +"keep in mind that the native resolution of Sentinel data is 10 m, while " +"Landsat is 30 m)." msgstr "" -#: ../../source/cookbook/classification.rst:590 +#: ../../source/cookbook/classification.rst:663 +msgid "Destination" +msgstr "" + +#: ../../source/cookbook/classification.rst:665 +msgid "Choose a single destination for the export:" +msgstr "" + +#: ../../source/cookbook/classification.rst:667 msgid "" -"You can export the image to the :btn:`SEPAL workspace` or to the " -":btn:`Google Earth Engine Asset` list. The same image will be exported, " -"but for the former, you will find it in :code:`.tif` format in the " -":code:`Downloads` folder; for the latter, the image will be exported to " -"your **GEE account asset list**." +":guilabel:`SEPAL workspace`: the image is written to your SEPAL files in " +":code:`.tif` format (by default in the :code:`Downloads` folder)." msgstr "" -#: ../../source/cookbook/classification.rst:594 +#: ../../source/cookbook/classification.rst:668 msgid "" -"If :btn:`Google Earth Engine Asset` is not displayed, your GEE account is" -" not connected to SEPAL. Refer to `Connect SEPAL to GEE " +":guilabel:`Google Earth Engine asset`: the image is exported to your GEE " +"account as an asset. You can export it either as a single " +":guilabel:`Image` or as an :guilabel:`Image collection` (tiled, which is " +"better suited to large exports), and set its sharing to " +":guilabel:`Private` or :guilabel:`Public`." +msgstr "" + +#: ../../source/cookbook/classification.rst:669 +msgid "" +":guilabel:`Google Drive`: the image is exported to the Google Drive of " +"the connected Google account." +msgstr "" + +#: ../../source/cookbook/classification.rst:673 +msgid "" +"The :guilabel:`Google Earth Engine asset` and :guilabel:`Google Drive` " +"destinations are only displayed when a Google account is connected to " +"SEPAL. If they are missing, please refer to `Connect SEPAL to GEE " "<../setup/gee.html>`__." msgstr "" -#: ../../source/cookbook/classification.rst:596 -msgid "Select :btn:` Apply` to start the download process." +#: ../../source/cookbook/classification.rst:675 +msgid "Select :guilabel:`Retrieve` to start the export process." msgstr "" -#: ../../source/cookbook/classification.rst:603 +#: ../../source/cookbook/classification.rst:678 msgid "Exportation status" msgstr "" -#: ../../source/cookbook/classification.rst:605 +#: ../../source/cookbook/classification.rst:680 msgid "" "By going to the **Tasks** tab (in the lower-left corner using the :btn" ":`` or :btn:`` buttons, " @@ -1153,7 +1343,7 @@ msgid "" "loading tasks." msgstr "" -#: ../../source/cookbook/classification.rst:607 +#: ../../source/cookbook/classification.rst:682 msgid "" "The interface will provide you with information about the task progress " "and display an error if the exportation has failed. If you are " @@ -1162,37 +1352,37 @@ msgid "" "`__." msgstr "" -#: ../../source/cookbook/classification.rst:611 +#: ../../source/cookbook/classification.rst:686 msgid "" "This operation is running between GEE and SEPAL servers in the " "background. You can close the SEPAL page without ending the process." msgstr "" -#: ../../source/cookbook/classification.rst:613 +#: ../../source/cookbook/classification.rst:688 msgid "" "When the task is finished, the frame will be displayed in green, as shown" " in the second image below." msgstr "" -#: ../../source/cookbook/classification.rst:626 +#: ../../source/cookbook/classification.rst:701 msgid "Access" msgstr "" -#: ../../source/cookbook/classification.rst:628 +#: ../../source/cookbook/classification.rst:703 msgid "" "Once the download process is done, you can access the data in your " "**SEPAL folders**. The data will be stored in the :code:`Downloads` " "folder using the following format:" msgstr "" -#: ../../source/cookbook/classification.rst:643 +#: ../../source/cookbook/classification.rst:718 msgid "" "Understanding how images are stored in an optical mosaic is only required" " if you want to manually use them. The SEPAL applications are bound to " "this tiling system and can digest this information for you." msgstr "" -#: ../../source/cookbook/classification.rst:645 +#: ../../source/cookbook/classification.rst:720 msgid "" "The data are stored in a folder using the name of the optical mosaic as " "it was created in the first section of this article. As the data are " @@ -1201,7 +1391,7 @@ msgid "" " file." msgstr "" -#: ../../source/cookbook/classification.rst:649 +#: ../../source/cookbook/classification.rst:724 msgid "" "The full folder with a consistent tree folder is required to read the " "`.vrt`." @@ -2769,3 +2959,444 @@ msgstr "" #~ "file." #~ msgstr "" +#~ msgid "" +#~ "With this recipe, SEPAL helps users " +#~ "build supervised classifications of any " +#~ "mosaic image. It is built on top" +#~ " of the most advanced tools available" +#~ " on Google Earth Engine (GEE) – " +#~ "including the classifiers CART, RandomForest," +#~ " NaiveBayes and SVM – allowing users" +#~ " to create an easy-to-use user" +#~ " interface to:" +#~ msgstr "" + +#~ msgid "define the class table; and" +#~ msgstr "" + +#~ msgid "" +#~ "In the lower-right corner, the " +#~ "following five tabs are available, " +#~ "allowing you to customize the time " +#~ "series to your needs:" +#~ msgstr "" + +#~ msgid "" +#~ "Users can select images coming from " +#~ "an **Existing recipe** or an exported" +#~ " **GEE asset** (see advantages and " +#~ "disadvantages below). Both should be an" +#~ " :code:`ee.Image`, rather than a " +#~ ":code:`Time series` or :code:`ee.ImageCollection`." +#~ msgstr "" + +#~ msgid "**Existing recipe**:" +#~ msgstr "" + +#~ msgid "**GEE asset**:" +#~ msgstr "" + +#~ msgid "" +#~ "For this example, we will use a" +#~ " public asset created with the " +#~ "**Optical mosaic** tool from SEPAL. It's" +#~ " a Sentinel-2 mosaic of Eastern " +#~ "Province in Zambia during the dry " +#~ "season from 2012 to 2020. Multiple " +#~ "bands are available." +#~ msgstr "" + +#~ msgid "" +#~ "Once an asset has been selected, " +#~ "SEPAL will load its bands in the" +#~ " interface. You can use any band " +#~ "that is native to the image as " +#~ "input for the classification process. " +#~ "Simply click on the band name to" +#~ " select them. The selected bands are" +#~ " summarized in the expansion panel " +#~ "title (**1**) and displayed in gold " +#~ "in the pane content (**2**)." +#~ msgstr "" + +#~ msgid ":code:`swir`" +#~ msgstr "" + +#~ msgid "" +#~ "Select :btn:` Derived" +#~ " bands` at the bottom of the " +#~ "pop-up window and select the deriving" +#~ " method. This will add a a new" +#~ " panel to the expansion panel with" +#~ " the selected method name (**1**). " +#~ "The selected method will be applied " +#~ "to the selected bands." +#~ msgstr "" + +#~ msgid "" +#~ "If more than two bands are " +#~ "selected, the operation will be applied" +#~ " to the Cartesian product of the " +#~ "bands. If you select bands :math:`A`," +#~ " :math:`B` and :math:`C`, and apply " +#~ "the :code:`Difference` derived bands, you'll" +#~ " add three bands to your analysis:" +#~ msgstr "" + +#~ msgid ":math:`A - B`" +#~ msgstr "" + +#~ msgid ":math:`A - C`" +#~ msgstr "" + +#~ msgid ":math:`B - C`" +#~ msgstr "" + +#~ msgid "" +#~ "Once image selection is complete, select" +#~ " :btn:` Apply` and" +#~ " the pop-up window will close. " +#~ "The images and bands will be " +#~ "displayed in the :guilabel:`IMG` panel " +#~ "in the lower-right corner of the" +#~ " screen. By selecting the :btn:`` button, you will " +#~ "remove the image and its band from" +#~ " the analysis altogether." +#~ msgstr "" + +#~ msgid "" +#~ "Once the fully qualified legend file " +#~ "has been prepared on your computer, " +#~ "select :btn:``" +#~ " and then :code:`Import from CSV`, " +#~ "which will open a pop-up window" +#~ " where you can drag and drop " +#~ "the file or select it manually " +#~ "from your computer files." +#~ msgstr "" + +#~ msgid "" +#~ "A file will be downloaded to you" +#~ " computer named :code:`_legend.csv`, " +#~ "which will contain the legend " +#~ "information in the following format:" +#~ msgstr "" + +#~ msgid "Select training data" +#~ msgstr "" + +#~ msgid "This step is not mandatory." +#~ msgstr "" + +#~ msgid "Collected reference data" +#~ msgstr "" + +#~ msgid "" +#~ "Collected reference data are data " +#~ "selected on the fly by the user." +#~ " The workflow will be explained later" +#~ " in the documentation." +#~ msgstr "" + +#~ msgid "" +#~ "In this pane, this type of data" +#~ " can be managed by the user. " +#~ "The data appear as a pair, " +#~ "associating coordinates to a class " +#~ "value, which will be used to " +#~ "create training data in the " +#~ "classification model." +#~ msgstr "" + +#~ msgid "" +#~ "If you're satisfied with the current " +#~ "selection and you want to share " +#~ "the data with others, select :btn" +#~ ":`` and then" +#~ " :code:`Export reference data to csv`. " +#~ "A file will be created and sent" +#~ " to your computer, named " +#~ ":code:`_reference_data.csv`. It will " +#~ "embed all of the gathered point " +#~ "data using the following convention:" +#~ msgstr "" + +#~ msgid "" +#~ "If you are not satisfied with the" +#~ " selected data, select :btn:`` and then :code:`Clear" +#~ " collected reference data` to remove " +#~ "all collected data from the analysis." +#~ msgstr "" + +#~ msgid "" +#~ "A confirmation pop-up window should " +#~ "prevent you from accidentally deleting " +#~ "everything." +#~ msgstr "" + +#~ msgid "Existing training data" +#~ msgstr "" + +#~ msgid "" +#~ "By selecting :btn:`csv file`, SEPAL will" +#~ " request a file from your computer" +#~ " in :code:`.csv` format. The file " +#~ "needs to include two pieces of " +#~ "information: geographic coordinates and class" +#~ " value." +#~ msgstr "" + +#~ msgid "" +#~ "If your file contains a GeoJSON " +#~ "column instead of coordinates, select " +#~ ":btn:`geojson column` to switch the " +#~ "interface to one column selection." +#~ msgstr "" + +#~ msgid "" +#~ "Now that you have set up the " +#~ "coordinates of your points, SEPAL will" +#~ " request the columns specifying the " +#~ "class value (not the name) in a" +#~ " second frame. Only the single column" +#~ " is supported so far. Select the " +#~ "column from your file that embeds " +#~ "the class values." +#~ msgstr "" + +#~ msgid "" +#~ "Using the :code:`row filter expression` " +#~ "text field, one can filter out " +#~ "some lines of the table. Refer to" +#~ " the `features <#>`__ section to " +#~ "learn more." +#~ msgstr "" + +#~ msgid "" +#~ "Select :btn:`" +#~ " next` to add the data to the" +#~ " model. SEPAL will provide a summary" +#~ " of the classes in the legend " +#~ "of the classification and the number " +#~ "of training points added by your " +#~ "file." +#~ msgstr "" + +#~ msgid "" +#~ "The process is nearly the same as" +#~ " found in the documentation above " +#~ "discussing .csv tables. The only " +#~ "difference should be the geometry " +#~ "column, as GEE assets usually embed " +#~ "a :code:`.goejson` column by default. If" +#~ " this column exists, it will be " +#~ "autodetected by SEPAL." +#~ msgstr "" + +#~ msgid "" +#~ "Start by selecting btn:`Sample classification`" +#~ " in the opened pop-up window, " +#~ "where all of the the parameters " +#~ "can be set:" +#~ msgstr "" + +#~ msgid "" +#~ "**Sample per class**: the number of " +#~ "samples per class of the provided " +#~ "image. The more samples you request, " +#~ "the more accurate the model will " +#~ "be (if too many samples are " +#~ "selected, on-the-fly visualization will" +#~ " never render; default to: :code:`1000`)." +#~ msgstr "" + +#~ msgid "" +#~ "**EE asset ID**: the ID of the " +#~ "classification to sample (it should be" +#~ " an :code:`ee.Image` accessible to the " +#~ "user)." +#~ msgstr "" + +#~ msgid "" +#~ "**Class band**: The class to use " +#~ "for classification value (the dropdown " +#~ "menu will be filled with the bands" +#~ " found in the provided asset)." +#~ msgstr "" + +#~ msgid "" +#~ "To reproduce this example, use the " +#~ "following asset as an image to " +#~ "sample: :code:`projects/sepal-" +#~ "cookbook/assets/classification/zmb_copernicus_landcover`." +#~ msgstr "" + +#~ msgid "" +#~ "Select the :btn:`` " +#~ "buttons (**1**) to change the number " +#~ "of samples in a specific class. By" +#~ " default, SEPAL ignores the samples " +#~ "with a :code:`Null` value. One can " +#~ "select :btn:`Default` (**2**) for any of" +#~ " the classes so that these points " +#~ "end up in the default class " +#~ "instead of being ignored." +#~ msgstr "" + +#~ msgid "random forest" +#~ msgstr "" + +#~ msgid "gradient tree boost" +#~ msgstr "" + +#~ msgid "cart" +#~ msgstr "" + +#~ msgid "naive bayes" +#~ msgstr "" + +#~ msgid "min distance" +#~ msgstr "" + +#~ msgid "decision tree" +#~ msgstr "" + +#~ msgid "" +#~ "This process requires a good " +#~ "understanding of the **Visualization** feature" +#~ " of SEPAL (refer to the `feature " +#~ "<#>`__ section for more information)." +#~ msgstr "" + +#~ msgid "" +#~ "Once all of the parameters are " +#~ "set, the user is free to add " +#~ "extra training data in the web " +#~ "interface and the new points will " +#~ "be added to the final model, " +#~ "improving the quality of the " +#~ "classification." +#~ msgstr "" + +#~ msgid "" +#~ "In order to improve the classification," +#~ " one must set up the view to" +#~ " display all of the information. " +#~ "While these guidelines could be modified" +#~ " and extended, they are still useful" +#~ " as an introductory resource." +#~ msgstr "" + +#~ msgid "" +#~ "The current image (what you are " +#~ "classifying) (**2**) using the NIR,RED,SWIR" +#~ " band combination." +#~ msgstr "" + +#~ msgid "" +#~ "To start adding points, open the " +#~ "training interface by selecting :btn:`` in the " +#~ "upper right of the screen (**1**). " +#~ "Once selected, the background color " +#~ "becomes darker and the pointer of " +#~ "the mouse becomes a :icon:`fa-solid " +#~ "fa-plus`." +#~ msgstr "" + +#~ msgid "" +#~ "You can now click elsewhere on the" +#~ " map to add another point. If " +#~ "you are satisfied with the " +#~ "classification, select :btn:` Close` (3) and select :btn" +#~ ":`` again " +#~ "to stop editing the points. Every " +#~ "time a new point is added, the " +#~ "**Classification** map is recomputed and " +#~ "rendered on the left side." +#~ msgstr "" + +#~ msgid "" +#~ "To modify existing points, select the" +#~ " :btn:`` to" +#~ " open the **Point editing** interface. " +#~ "Then:" +#~ msgstr "" + +#~ msgid "" +#~ "SEPAL embeds information to help the " +#~ "user understand if the amount of " +#~ "training data is sufficient to produce" +#~ " an accurate classification model. In " +#~ "the **Recipe** window, change the **Band" +#~ " combination** to :code:`Class probability`." +#~ msgstr "" + +#~ msgid "" +#~ "The user now sees the probability " +#~ "of the model (i.e. the confidence " +#~ "level of the level with output " +#~ "class for each pixel)." +#~ msgstr "" + +#~ msgid "" +#~ "You cannot export a recipe as an" +#~ " asset or a :code:`.tiff` file " +#~ "without a small computation quota. If" +#~ " you are a new user, see " +#~ ":doc:`../setup/resource`." +#~ msgstr "" + +#~ msgid "" +#~ "Selecting the :icon:`fa-solid fa-" +#~ "cloud-arrow-down` tab will open the" +#~ " **Retrieve** pane, where you can " +#~ "select the exportation parameters (**1**)." +#~ msgstr "" + +#~ msgid "" +#~ "You need to select the band to " +#~ "export (**2**). There is no maximum " +#~ "number of bands; however, exporting " +#~ "useless bands will only increase the " +#~ "size and time of the output." +#~ msgstr "" + +#~ msgid "" +#~ "You can set a custom scale for " +#~ "exportation (**3**) by changing the " +#~ "value of the slider in metres (m)." +#~ " (Note: Requesting a smaller resolution " +#~ "than images' native resolution will not" +#~ " improve the quality of the output" +#~ " – just its size; keep in mind" +#~ " that the native resolution of " +#~ "Sentinel data is 10 m, while " +#~ "Landsat is 30 m.)" +#~ msgstr "" + +#~ msgid "" +#~ "You can export the image to the" +#~ " :btn:`SEPAL workspace` or to the " +#~ ":btn:`Google Earth Engine Asset` list. " +#~ "The same image will be exported, " +#~ "but for the former, you will find" +#~ " it in :code:`.tif` format in the " +#~ ":code:`Downloads` folder; for the latter, " +#~ "the image will be exported to your" +#~ " **GEE account asset list**." +#~ msgstr "" + +#~ msgid "" +#~ "If :btn:`Google Earth Engine Asset` is" +#~ " not displayed, your GEE account is" +#~ " not connected to SEPAL. Refer to " +#~ "`Connect SEPAL to GEE <../setup/gee.html>`__." +#~ msgstr "" + +#~ msgid "Select :btn:` Apply` to start the download process." +#~ msgstr "" + diff --git a/docs/source/_locale/en/LC_MESSAGES/cookbook/optical_mosaic.po b/docs/source/_locale/en/LC_MESSAGES/cookbook/optical_mosaic.po index 265a37cd95..224a33d87d 100644 --- a/docs/source/_locale/en/LC_MESSAGES/cookbook/optical_mosaic.po +++ b/docs/source/_locale/en/LC_MESSAGES/cookbook/optical_mosaic.po @@ -8,14 +8,14 @@ msgid "" msgstr "" "Project-Id-Version: SEPAL \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-03-07 09:39+0100\n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.14.0\n" +"Generated-By: Babel 2.18.0\n" #: ../../source/cookbook/optical_mosaic.rst:2 msgid "Optical mosaics" @@ -95,7 +95,7 @@ msgid "" "The first step is to change the name of the recipe. This name will be " "used to identify your files and recipes in SEPAL folders. Use the best-" "suited convention for your needs. Simply double-click the tab and write a" -" new name. It will default to " +" new name. It defaults to " ":code:`Optical_mosaic___`." msgstr "" @@ -225,121 +225,107 @@ msgstr "" #: ../../source/cookbook/optical_mosaic.rst:121 msgid "" -"As mentioned in the introduction, a mosaic uses different raster datasets" -" that can be obtained from multiple sources. SEPAL allows you to select " -"data from multiple entry points. Below, you can find a description of " -"these sources (select a link to see the corresponding dataset " -"information):" +"As mentioned in the introduction, a mosaic combines raster datasets that " +"can come from multiple satellite sources. In the :guilabel:`SRC` tab, " +"select one or more **optical** data sources to build the mosaic from." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:123 +msgid "**Landsat** scenes are distributed in two quality tiers:" +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:125 +msgid "" +"**Tier 1** holds the scenes with the highest data quality. They are " +"processed to Level-1 Precision Terrain (L1TP), have well-characterized " +"radiometry, are intercalibrated across the different Landsat sensors and " +"are geo-registered within prescribed tolerances (12 m root mean square " +"error [RMSE] or less). Tier 1 scenes are consistent across the full " +"collection and suitable for time-series analysis." +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:126 +msgid "" +"**Tier 2** (marked :guilabel:`T2`) holds scenes that do not meet the Tier" +" 1 criteria, for example because of significant cloud cover, insufficient" +" ground control or systematic-only terrain correction (L1GT/L1GS). They " +"can still be useful; analyze the RMSE and other properties to determine " +"their suitability for your study." +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:128 msgid "" -":guilabel:`L8`: `Landsat 8 Tier 1 `__. Landsat scenes with the " -"highest available data quality are placed into **Tier 1** and considered " -"suitable for time-series processing analysis. **Tier 1** includes Level-1" -" Precision Terrain (L1TP) processed data that have well-characterized " -"radiometry and are intercalibrated across different Landsat sensors. The" -" geo-registration of **Tier 1** scenes will be consistent and within " -"prescribed tolerances (< = 12 m root mean square error [RMSE]). All " -"**Tier 1** Landsat data can be considered consistent and intercalibrated " -"(regardless of the sensor used) across the full collection." +"The following optical sources are available (select a link to open the " +"corresponding Google Earth Engine dataset):" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:127 +#: ../../source/cookbook/optical_mosaic.rst:130 msgid "" -":guilabel:`L8 T2`: `Landsat 8 Tier 2 `__. Scenes not " -"meeting **Tier 1** criteria during processing are assigned to **Tier 2**." -" This includes Systematic terrain (L1GT) and Systematic (L1GS) processed " -"scenes, as well as any L1TP scenes that do not meet the **Tier 1** " -"specifications due to significant cloud cover, insufficient ground " -"control and other factors. Users interested in **Tier 2** scenes can " -"analyze the RMSE and other properties to determine the suitability for " -"use in individual applications and studies." +":guilabel:`L9`: `Landsat 9 `__ (Tier 1; from 2021)." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:131 msgid "" -":guilabel:`L7`: `Landsat 7 Tier 1 `__. Landsat scenes with the " -"highest available data quality are placed into **Tier 1** and are " -"considered suitable for time-series processing analysis. **Tier 1** " -"includes Level-1 Precision Terrain (L1TP) processed data that have well-" -"characterized radiometry and are intercalibrated across different " -"Landsat sensors. The geo-registration of **Tier 1** scenes will be " -"consistent and within prescribed tolerances (< = 12 m RMSE). All **Tier " -"1** Landsat data can be considered consistent and intercalibrated across " -"the full collection (regardless of the sensor used)." +":guilabel:`L8`: `Landsat 8 `__ (Tier 1; from 2013)." +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:132 +msgid "" +":guilabel:`L7`: `Landsat 7 `__ (Tier 1; from 1999)." +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:133 +msgid "" +":guilabel:`L4-5`: `Landsat 4 `__ combined with `Landsat" +" 5 `__ (Tier 1; 1982–2012)." +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:134 +msgid "" +":guilabel:`L9 T2`, :guilabel:`L8 T2`, :guilabel:`L7 T2`, :guilabel:`L4-5 " +"T2`: the **Tier 2** equivalents of the datasets listed above." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:135 msgid "" -":guilabel:`L7 T2`: `Landsat 7 Tier 2 `__. Scenes not " -"meeting **Tier 1** criteria during processing are assigned to **Tier 2**." -" This includes Systematic terrain (L1GT) and Systematic (L1GS) processed " -"scenes, as well as any L1TP scenes that do not meet the **Tier 1** " -"specifications due to significant cloud cover, insufficient ground " -"control and other factors. Users interested in **Tier 2** scenes can " -"analyze the RMSE and other properties to determine the suitability for " -"use in individual applications and studies." +":guilabel:`S2`: `Sentinel-2 `__ (Sentinel-2A and " +"Sentinel-2B; from 2015). A wide-swath, high-resolution, multispectral " +"imaging mission supporting Copernicus Land Monitoring studies, including " +"the monitoring of vegetation, soil and water cover, as well as the " +"observation of inland waterways and coastal areas." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:139 msgid "" -":guilabel:`L4-5`: `Landsat 4 Tier 1 `__ combined with `Landsat 5 " -"Tier 1 `__. Landsat scenes with the " -"highest available data quality are placed into **Tier 1** and are " -"considered suitable for time-series processing analysis. **Tier 1** " -"includes Level-1 Precision Terrain (L1TP) processed data that have well-" -"characterized radiometry and are intercalibrated across different Landsat" -" sensors. The geo-registration of **Tier 1** scenes will be consistent " -"and within prescribed tolerances (< = 12 m RMSE). All **Tier 1** Landsat " -"data can be considered consistent and intercalibrated across the full " -"collection (regardless of the sensor used)." -msgstr "" - -#: ../../source/cookbook/optical_mosaic.rst:143 -msgid "" -":guilabel:`L4-5 T2`: `Landsat 4 TM Tier 2 `__ combined with " -"`Landsat 5 TM Tier 2 `__. Scenes not meeting " -"**Tier 1** criteria during processing are assigned to **Tier 2**. This " -"includes Systematic terrain (L1GT) and Systematic (L1GS) processed " -"scenes, as well as any L1TP scenes that do not meet the **Tier 1** " -"specifications due to significant cloud cover, insufficient ground " -"control and other factors. Users interested in **Tier 2** scenes can " -"analyze the RMSE and other properties to determine the suitability for " -"use in individual applications and studies." +"SEPAL uses the Landsat **Collection 2** archive and the **harmonized** " +"Sentinel-2 collection." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:147 +#: ../../source/cookbook/optical_mosaic.rst:145 msgid "" -":guilabel:`A+B`: `Sentinel-2 Multispectral instrument " -"`__ is a wide-swath, high-" -"resolution, multispectral imaging mission supporting Copernicus Land " -"Monitoring studies, including the monitoring of vegetation, soil and " -"water cover, as well as the observation of inland waterways and coastal " -"areas." +"You can also restrict the imagery with the :code:`Max cloud cover %` " +"slider: scenes whose cloud cover is higher than this threshold are " +"excluded before the mosaic is built." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:153 -#: ../../source/cookbook/optical_mosaic.rst:170 +#: ../../source/cookbook/optical_mosaic.rst:147 msgid "" "To validate your selection, select the :icon:`fa-solid fa-check` " -":guilabel:`Apply` button." +":guilabel:`Apply` button (labelled :guilabel:`Done` when you first create" +" the recipe through the setup wizard)." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:156 +#: ../../source/cookbook/optical_mosaic.rst:150 msgid "Scenes" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:160 +#: ../../source/cookbook/optical_mosaic.rst:154 msgid "" "If Sentinel and Landsat data have been selected, you will be forced to " "use all scenes. As the tiling system from Sentinel and Landsat data are " @@ -347,7 +333,7 @@ msgid "" "the following sections." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:162 +#: ../../source/cookbook/optical_mosaic.rst:156 msgid "" "You can use multiple options to select the best scenes for your mosaic. " "The most simple is to use every image available based on the date " @@ -355,347 +341,420 @@ msgid "" "integrated into the mosaic." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:164 +#: ../../source/cookbook/optical_mosaic.rst:158 msgid "" -"Choose :guilabel:`Select scenes` and choose one of the three available " +"Choose :guilabel:`Select scenes` and pick one of the three available " ":code:`Priority` options, based on the needs of your analysis (SEPAL " "sorts the images available for each tile):" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:166 -msgid ":guilabel:`Cloud free`: Prioritizes images with zero or few clouds." +#: ../../source/cookbook/optical_mosaic.rst:160 +msgid "" +":guilabel:`Cloud free`: Prioritizes imagery as cloud-free as possible, " +"ignoring the date." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:167 -msgid ":guilabel:`Target date`: Prioritizes images that match the target date." +#: ../../source/cookbook/optical_mosaic.rst:161 +msgid "" +":guilabel:`Balanced`: Prioritizes imagery that is neither too cloudy nor " +"too far from the target date." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:168 +#: ../../source/cookbook/optical_mosaic.rst:162 msgid "" -":guilabel:`Balanced`: Prioritizes images that maximize both cloud and " +":guilabel:`Target date`: Prioritizes imagery as close as possible to the " "target date." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:177 -msgid "Composite" +#: ../../source/cookbook/optical_mosaic.rst:164 +msgid "" +"To validate your selection, select the :icon:`fa-solid fa-check` " +":guilabel:`Apply` button." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:181 -msgid "This step is optional. SEPAL provides the following options by default:" +#: ../../source/cookbook/optical_mosaic.rst:171 +msgid "Composite" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:183 -msgid "**Correction**: :guilabel:`SR`, :guilabel:`BRDF`" +#: ../../source/cookbook/optical_mosaic.rst:173 +msgid "" +"The :guilabel:`CMP` tab controls how the selected scenes are corrected, " +"how clouds and snow are masked, and how the final pixel values are " +"computed. The panel opens in a **simple** view showing the most common " +"options; select :guilabel:`More` to reveal the **advanced** options (and " +":guilabel:`Less` to hide them again)." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:184 -msgid "**Pixel filters**: No filters" +#: ../../source/cookbook/optical_mosaic.rst:177 +msgid "This step is optional. By default, SEPAL applies:" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:185 -msgid "**Cloud detection**: :guilabel:`QA bands`, :guilabel:`Cloud score`" +#: ../../source/cookbook/optical_mosaic.rst:179 +msgid "**Corrections**: :guilabel:`SR` and :guilabel:`BRDF`" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:186 +#: ../../source/cookbook/optical_mosaic.rst:180 msgid "**Cloud masking**: :guilabel:`Moderate`" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:187 -msgid "**Cloud buffering**: :guilabel:`None`" -msgstr "" - -#: ../../source/cookbook/optical_mosaic.rst:188 -msgid "**Snow masking**: :guilabel:`On`" -msgstr "" - -#: ../../source/cookbook/optical_mosaic.rst:189 +#: ../../source/cookbook/optical_mosaic.rst:181 msgid "**Composing method**: :guilabel:`Medoid`" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:191 +#: ../../source/cookbook/optical_mosaic.rst:183 msgid "" -"To create a mosaic, provide SEPAL with the compositing method to create " -"the final image. See the following image for all possible compositing " -"options available." +"The advanced view additionally defaults to no pixel filters, no cloud " +"buffering and snow/ice masking turned on." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:198 +#: ../../source/cookbook/optical_mosaic.rst +msgid "Show the advanced view (opened with **More**)" +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:199 msgid "Corrections" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:200 +#: ../../source/cookbook/optical_mosaic.rst:201 msgid "" -"This will apply corrections on the stacked pixels to improve the quality " -"of the mosaic." +"Corrections are applied to the stacked pixels to improve the quality of " +"the mosaic." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:202 +#: ../../source/cookbook/optical_mosaic.rst:203 msgid "" ":guilabel:`SR`: Surface reflectance improves comparison between multiple " "images over the same region by accounting for atmospheric effects such as" " aerosol scattering and thin clouds, which can help in the detection and " -"characterization of Earth surface change. Top-of-atmosphere images are " -"used if not selected." +"characterization of Earth surface change. Top-of-atmosphere (TOA) images " +"are used if not selected." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:203 +#: ../../source/cookbook/optical_mosaic.rst:204 msgid "" ":guilabel:`BRDF`: Uses a bidirectional reflectance distribution function " "(BRDF) model to characterize surface reflectance anisotropy. For a given " "land area, the BRDF is established based on selected multi-angular " -"observations of surface reflectance." +"observations of surface reflectance. When BRDF is enabled, the advanced " +"view shows a :code:`BRDF Multiplier` field that controls how much " +"correction is applied (values of 3–4 usually work well; lower it if the " +"effect is overcompensated, raise it if it is not compensated enough)." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:204 +#: ../../source/cookbook/optical_mosaic.rst:205 msgid "" -":guilabel:`Calibrate`: Calibrates Sentinel and Landsat data to make them " -"compatible." +":guilabel:`Calibrate`: Calibrates the bands to improve a cross-sensor " +"mosaic." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:208 +#: ../../source/cookbook/optical_mosaic.rst:209 msgid "This option is only available if:" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:210 -msgid "Landsat and Sentinel data are mixed; and" +#: ../../source/cookbook/optical_mosaic.rst:211 +msgid "Landsat and Sentinel-2 data are mixed; and" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:211 -msgid "BRDF and surface reflectance (SR) corrections are disabled." +#: ../../source/cookbook/optical_mosaic.rst:212 +msgid "surface reflectance (:guilabel:`SR`) correction is disabled." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:214 -msgid "Pixel filters" +#: ../../source/cookbook/optical_mosaic.rst:215 +msgid "Cloud masking" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:216 +#: ../../source/cookbook/optical_mosaic.rst:217 msgid "" -"Activating any of the filters will remove some pixels from the stack. " -"Removing pixels improves the quality of the mosaic, as they are not taken" -" into account in the median value computation." +"Controls how clouds are detected and masked. In the simple view, choose a" +" preset:" +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:219 +msgid "" +":guilabel:`Moderate`: Relies only on the image source QA bands for cloud " +"masking." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:220 msgid "" -"Each filter is applied iteratively (e.g. if the normalized difference " -"vegetation index [NDVI] is already filtering all pixels but one, there " -"will be nothing left in the stack to be filtered by day of year)." +":guilabel:`Aggressive`: Relies on the image source QA bands together with" +" a cloud-scoring algorithm. This will probably mask out some built-up " +"areas and other bright features." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:222 +#: ../../source/cookbook/optical_mosaic.rst:221 msgid "" -"Note as well that adding filters significantly increases the creation " -"time of the mosaic." +":guilabel:`Custom`: Automatically selected (and otherwise disabled) when " +"you fine-tune the individual cloud-masking algorithms in the advanced " +"view." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:224 -msgid "**Shadow**: Filters the XX percent darkest pixels of the stack." +#: ../../source/cookbook/optical_mosaic.rst:223 +msgid "" +"In the advanced view you can add and configure the individual cloud-" +"masking algorithms with the :icon:`fa-solid fa-plus` button. The " +"available algorithms depend on the sources you selected:" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:225 -msgid "**Haze**: Computes a haze index and filters the XX percent highest values." +msgid "" +":guilabel:`SEPAL cloud score`: SEPAL's own cloud-scoring algorithm, with " +"a configurable *maximum cloud probability*. Always available." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:226 -msgid "**NDVI**: Computes the NDVI and only keeps the XX percent highest values." +msgid "" +":guilabel:`S2 Cloud Score+`: Sentinel-2 Cloud Score+, with a *maximum " +"cloud probability* and a choice of scoring band — :guilabel:`cs` " +"(instantaneous clear-sky similarity) or :guilabel:`cs_cdf` (likelihood of" +" being clear over time). Sentinel-2 sources only." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:227 msgid "" -"**Day of the year**: Computes the distance from target day in days and " -"filters out the XX percent farthest." +":guilabel:`S2 Cloud Probability`: the Sentinel-2 cloud-probability " +"dataset, with a configurable *maximum cloud probability*. Sentinel-2 " +"sources only." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:230 -msgid "Cloud detection" +#: ../../source/cookbook/optical_mosaic.rst:228 +msgid "" +":guilabel:`Landsat CFMask`: the Landsat CFMask QA bands. You can set " +":code:`Cloud Masking`, :code:`Cloud Shadow Masking` and :code:`Cirrus " +"Masking` each to :guilabel:`Off`, :guilabel:`Moderate` or " +":guilabel:`Aggressive`, and choose whether to :guilabel:`Keep` or " +":guilabel:`Remove` dilated clouds. Landsat sources only." +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:229 +msgid "" +":guilabel:`Pino 26`: the Pan-Tropical Sentinel-2 cloud-detection " +"algorithm developed by Dario Simonetti (for more information, see `D. " +"Simonetti [2021] `__). Only " +"available for a Sentinel-2-exclusive source when :guilabel:`SR` " +"correction is disabled." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:232 -msgid "Refers to the algorithm used to detect clouds." +msgid "Cloud buffering" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:234 msgid "" -":guilabel:`QA bands`: Uses quality assessment (QA) bands to identify " -"clouds in Sentinel data." +"(Advanced view.) When pixels are identified as clouds, SEPAL can also " +"mask a small buffer around them to prevent hazy pixels at the borders of " +"clouds from being included in the mosaic." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:235 +#: ../../source/cookbook/optical_mosaic.rst:238 msgid "" -":guilabel:`Cloud score`: Uses the computed cloud score to identify clouds" -" in Landsat data." +"Buffering is done at the pixel level, so using this option significantly " +"increases the creation time of the mosaic." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:236 -msgid "" -":guilabel:`Pino 26`: Uses the Pino_26 algorithm to identify clouds (for " -"more information, see `D. Simonetti [2021] " -"`__)." +#: ../../source/cookbook/optical_mosaic.rst:240 +msgid ":guilabel:`None`: Doesn't use cloud buffering." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:240 +#: ../../source/cookbook/optical_mosaic.rst:241 msgid "" -"This filter is only available for Sentinel exclusive source when both " -":guilabel:`BRDF` and :guilabel:`SR` correction are disabled." +":guilabel:`Moderate`: Masks an additional **120 m** around each larger " +"cloud." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:243 -msgid "Cloud masking" +#: ../../source/cookbook/optical_mosaic.rst:242 +msgid "" +":guilabel:`Aggressive`: Masks an additional **600 m** around each larger " +"cloud." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:245 -msgid "" -"Controls how clouds will be masked based on the cloud detection algorithm" -" selected." +msgid "Snow/ice masking" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:247 -msgid "" -":guilabel:`off`: Uses cloud-free pixels if possible, but doesn't mask " -"areas without cloud-free pixels." +msgid "(Advanced view.) Defines how snowy or icy pixels are masked." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:248 +#: ../../source/cookbook/optical_mosaic.rst:249 msgid "" -":guilabel:`moderate`: Relies only on image source QA bands for cloud " -"masking (a moderate threshold is used)." +":guilabel:`On`: Masks snow. This tends to leave some pixels with shadowy " +"snow." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:249 +#: ../../source/cookbook/optical_mosaic.rst:250 msgid "" -":guilabel:`aggressive`: Relies on image source QA bands and a cloud " -"scoring algorithm for cloud masking with an aggressive threshold (this " -"will probably mask out some built-up areas and other bright features)." +":guilabel:`Off`: Doesn't mask snow. Note that some clouds might get " +"misclassified as snow; therefore, disabling snow masking might lead to " +"cloud artifacts." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:252 -msgid "Cloud buffering" +#: ../../source/cookbook/optical_mosaic.rst:253 +msgid "Masked out pixels" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:254 +#: ../../source/cookbook/optical_mosaic.rst:255 msgid "" -"When pixels are identified as clouds, SEPAL can remove pixels in a small " -"buffer around it to prevent hazy pixels at the borders of clouds to be " -"included in the mosaic." +"(Advanced view.) Controls whether a pixel can end up completely masked " +"when every available acquisition is cloudy and/or snowy." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:258 +#: ../../source/cookbook/optical_mosaic.rst:257 msgid "" -"Buffering is done on the pixel level, so using this option will " -"significantly increase the creation time of the mosaic." +":guilabel:`Prevent`: Prevents pixels from being completely masked out, " +"keeping the best available (possibly cloudy/snowy) value." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:260 -msgid ":guilabel:`none`: Doesn't use cloud buffering." +#: ../../source/cookbook/optical_mosaic.rst:258 +msgid "" +":guilabel:`Allow`: Allows pixels to be completely masked out, leaving " +"holes in the mosaic where no clear observation exists." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:261 -msgid "" -":guilabel:`moderate`: Masks an additional **120 m** around each larger " -"cloud." +msgid "Pixel filters" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:262 +#: ../../source/cookbook/optical_mosaic.rst:263 msgid "" -":guilabel:`aggressive`: Masks an additional **600 m** around each larger " -"cloud." -msgstr "" - -#: ../../source/cookbook/optical_mosaic.rst:265 -msgid "Snow masking" +"(Advanced view.) Add filters with the :icon:`fa-solid fa-plus` button to " +"remove pixels from the stack before compositing. Each filter excludes a " +"percentage of the stack (set with a slider, defaulting to 50%); removing " +"low-quality pixels improves the quality of the mosaic." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:267 -msgid "Defines how snowy pixels will be masked." +msgid "" +"Each filter is applied iteratively (e.g. if the normalized difference " +"vegetation index [NDVI] is already filtering all pixels but one, there " +"will be nothing left in the stack to be filtered by date)." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:269 msgid "" -":guilabel:`on`: Masks snow. This tends to leave some pixels with shadowy " -"snow." +"Note as well that adding filters significantly increases the creation " +"time of the mosaic." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:270 +#: ../../source/cookbook/optical_mosaic.rst:271 msgid "" -":guilabel:`off`: Doesn't mask snow. Note that some clouds might get " -"misclassified as snow; therefore, disabling snow masking might lead to " -"cloud artifacts." +"**Shadow**: Excludes the selected percentage of pixels with the most " +"shadow." +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:272 +msgid "" +"**Haze**: Excludes the selected percentage of pixels with the most haze. " +"Only available when :guilabel:`SR` correction is disabled." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:273 -msgid "Composing method" +msgid "**NDVI**: Excludes the selected percentage of pixels with the lowest NDVI." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:275 +#: ../../source/cookbook/optical_mosaic.rst:274 msgid "" -"After filtering the stack of pixels, SEPAL will compute the median value " -"on the different bands of the image. The composing method will define how" -" the final pixel value is extracted." +"**Date**: Excludes the selected percentage of pixels farthest from the " +"target date." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:277 -msgid "" -":guilabel:`Medoid`: Uses the closest pixel from the median value. As a " -"real pixel from the stack, the final value will embed metadata (e.g. the " -"date of observation)." +msgid "Sentinel-2 overlap" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:278 +#: ../../source/cookbook/optical_mosaic.rst:279 msgid "" -":guilabel:`Median`: Uses the computed value of the median. If no pixel is" -" matching this value, the pixel will not embed any metadata. It tends to " -"produce smoother mosaics." +"(Advanced view; shown only when Sentinel-2 is selected.) Sentinel-2 " +"acquisitions overlap both between orbits and between neighbouring tiles, " +"which can result in duplicated observations." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:281 +msgid "" +"**Orbit Overlap**: :guilabel:`Keep` the overlap between Sentinel-2 orbits" +" (more data, better models) or :guilabel:`Remove` it." +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:282 +msgid "" +"**Tile Overlap**: :guilabel:`Keep` the overlap between Sentinel-2 tiles, " +":guilabel:`Quick remove` most of it, or :guilabel:`Remove` all of it. " +"Removing overlap adds an extra preprocessing step." +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:285 +msgid "Composing method" +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:287 +msgid "" +"After filtering the stack of pixels, the composing method defines how the" +" final pixel value is extracted." +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:289 +msgid "" +":guilabel:`Medoid`: Uses the pixel closest to the median value. As a real" +" pixel from the stack, the final value embeds metadata (e.g. the date of " +"observation)." +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:290 +msgid "" +":guilabel:`Median`: Uses the computed median value. If no pixel matches " +"this value, the pixel will not embed any metadata. It tends to produce " +"smoother mosaics." +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:293 msgid "Analysis" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:283 +#: ../../source/cookbook/optical_mosaic.rst:295 msgid "" "After selecting the parameters, you can start interacting with the scenes" " and begin the analysis." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:285 +#: ../../source/cookbook/optical_mosaic.rst:297 msgid "" "In the upper-right corner, three tabs are available, which allow you to " "customize the mosaic scene selection and export the final result:" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:287 -msgid ":btn:``: auto-select scenes" +#: ../../source/cookbook/optical_mosaic.rst:299 +msgid ":btn:``: auto-select scenes" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:288 +#: ../../source/cookbook/optical_mosaic.rst:300 msgid ":btn:``: clear selected scenes" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:289 +#: ../../source/cookbook/optical_mosaic.rst:301 msgid ":btn:``: retrieve mosaic" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:297 +#: ../../source/cookbook/optical_mosaic.rst:309 msgid "" "If you have not selected the option :guilabel:`Select scenes` in the " -":guilabel:`SCN` tab, the :icon:`fa-solid fa-wand-magic` button will be " -"disabled and the scene areas will be hidden as no scene selection needs " +":guilabel:`SCN` tab, the :icon:`fa-solid fa-wand-sparkles` button will be" +" disabled and the scene areas will be hidden as no scene selection needs " "to be performed (see those with a number in a circle on the previous " "screenshot)." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:299 +#: ../../source/cookbook/optical_mosaic.rst:311 msgid "" "If you can't see the image scene area, you probably have selected a small" " AOI. Zoom out on the map and you will see the number of available images" " in the circles." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:302 +#: ../../source/cookbook/optical_mosaic.rst:314 msgid "Select scenes" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:304 +#: ../../source/cookbook/optical_mosaic.rst:316 msgid "" "To create a mosaic, select the scenes that will be used to compute each " "pixel value of the mosaic. SEPAL provides a user-friendly interface that " @@ -708,7 +767,7 @@ msgid "" "tile boundaries appear." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:308 +#: ../../source/cookbook/optical_mosaic.rst:320 msgid "" "Landsat and Sentinel datasets have a different grid system, which is why " "the selection process cannot be used if you have selected both of these " @@ -717,73 +776,74 @@ msgid "" "`__." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:311 +#: ../../source/cookbook/optical_mosaic.rst:323 msgid "Auto-select scene" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:313 +#: ../../source/cookbook/optical_mosaic.rst:325 msgid "" -"Selecting the :icon:`fa-solid fa-wand-magic` tab will open the **Auto-" +"Selecting the :icon:`fa-solid fa-wand-sparkles` tab will open the **Auto-" "selection** pane." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:315 +#: ../../source/cookbook/optical_mosaic.rst:327 msgid "" -"Move the sliders to select the minimum and the maximum number of scenes " -"SEPAL should select in a tile. Then, select the :guilabel:`Validate` " -"button to apply the auto-select method." +"Move the sliders to set the :code:`Minimum number of scenes` and the " +":code:`Maximum number of scenes` SEPAL should select in a tile. Then, " +"select the :guilabel:`Select scenes` button to apply the auto-select " +"method." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:317 +#: ../../source/cookbook/optical_mosaic.rst:329 msgid "" "SEPAL will use the priority defined in the :guilabel:`SCN` tab to order " "the scene and collect the optimal number for your request." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:321 +#: ../../source/cookbook/optical_mosaic.rst:333 msgid "" "The result is never perfect but can be used as a starting point for the " "manual selection of scenes." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:328 +#: ../../source/cookbook/optical_mosaic.rst:340 msgid "Clear all scenes" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:330 +#: ../../source/cookbook/optical_mosaic.rst:342 msgid "" "If at least one scene is selected, the :icon:`fa-solid fa-trash` tab will" " be available. Select it to open the **Clear** pane." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:332 +#: ../../source/cookbook/optical_mosaic.rst:344 msgid "" "Select :guilabel:`Clear scenes` to remove all manually and automatically " "selected scenes." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:339 +#: ../../source/cookbook/optical_mosaic.rst:351 msgid "Manual selection" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:341 +#: ../../source/cookbook/optical_mosaic.rst:353 msgid "" "To open the **Scene selection** menu, hover over a tile circled-number " "and select it (**1**). The window will be divided into two sections:" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:343 +#: ../../source/cookbook/optical_mosaic.rst:355 msgid "" "**Available scene** (**2**): All the available scenes according to the " "parameters you selected. These scenes are ordered using the " ":code:`priority` parameter you set in the :guilabel:`SCN` tab." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:344 +#: ../../source/cookbook/optical_mosaic.rst:356 msgid "**Selected scenes** (**3**): The scenes that are currently selected." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:350 +#: ../../source/cookbook/optical_mosaic.rst:362 msgid "" "Each thumbnail represents a scene of the tile stack. You have the option " "to include them in the mosaic. The scenes located on the left side are " @@ -791,39 +851,41 @@ msgid "" "In both cases, the following information can be found on the thumbnail:" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:352 -msgid "A small preview of the scene in the *red, blue, green* band combination." +#: ../../source/cookbook/optical_mosaic.rst:364 +msgid "" +"A small preview of the scene in the *red, green, blue* (true-colour) band" +" combination." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:353 +#: ../../source/cookbook/optical_mosaic.rst:365 msgid "The exact date in YYYY-MM-DD of the scene." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:354 +#: ../../source/cookbook/optical_mosaic.rst:366 msgid "The satellite name :icon:`fa-solid fa-satellite-dish`." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:355 +#: ../../source/cookbook/optical_mosaic.rst:367 msgid "" "The cloud coverage of the scene in percent and its position in the stack " "values :icon:`fa-solid fa-cloud`." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:356 +#: ../../source/cookbook/optical_mosaic.rst:368 msgid "" "The distance from target day in days within the season and its position " "in the stack values :icon:`fa-solid fa-calendar-check`." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:368 +#: ../../source/cookbook/optical_mosaic.rst:380 msgid "" "You can decide to move the scene to the **Selected scene** area by " -"selecting :icon:`fa-solid fa-plus`:guilabel:`Add` or moving it back to " -"**Available scene** pane by selecting :icon:`fa-solid fa-minus` " +"selecting :icon:`fa-solid fa-plus` :guilabel:`Add` or moving it back to " +"the **Available scene** pane by selecting :icon:`fa-solid fa-minus` " ":guilabel:`Remove`." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:382 +#: ../../source/cookbook/optical_mosaic.rst:394 msgid "" "Scenes are moved from one side to the other so they are not duplicated " "and cannot be selected twice. Be careful if your connection is slow; wait" @@ -831,7 +893,7 @@ msgid "" "you could select two different images instead of one)." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:384 +#: ../../source/cookbook/optical_mosaic.rst:396 msgid "" "Once you are happy with your selection, select the :guilabel:`Apply` " "button to close the window and use the selected scenes to compute the " @@ -839,36 +901,36 @@ msgid "" "rendering of all tiles." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:387 +#: ../../source/cookbook/optical_mosaic.rst:399 msgid "Retrieve" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:391 +#: ../../source/cookbook/optical_mosaic.rst:403 msgid "" -"You cannot export a recipe as an asset or a :code:`.tiff` file without a " +"You cannot export a recipe as an asset or a :code:`.tif` file without a " "small computation quota. If you are a new user, see " ":doc:`../setup/resource`." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:393 +#: ../../source/cookbook/optical_mosaic.rst:405 msgid "" "Selecting the :icon:`fa-solid fa-cloud-arrow-down` tab will open the " "**Retrieve** pane where you can select the exportation parameters." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:400 +#: ../../source/cookbook/optical_mosaic.rst:412 msgid "Bands" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:402 +#: ../../source/cookbook/optical_mosaic.rst:414 msgid "" "You need to select the band(s) to export with the mosaic. There is no " "maximum number of bands, but exporting useless bands will only increase " "the size and time of the output. To discover the full list of available " -"bands with SEPAL, see :doc:`../feature/bands`." +"bands with SEPAL, see :doc:`../feature/optical_bands`." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:406 +#: ../../source/cookbook/optical_mosaic.rst:418 msgid "" "There is no fixed rule to the band selection. Each index is more adapted " "to a set of analyses in a defined biome. The knowledge of the study area," @@ -876,62 +938,86 @@ msgid "" "combination will improve the quality of downstream analysis." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:409 +#: ../../source/cookbook/optical_mosaic.rst:421 msgid "Dates" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:411 -msgid ":guilabel:`dayofyear`: the Julian calendar date (day of the year)" +#: ../../source/cookbook/optical_mosaic.rst:423 +msgid ":guilabel:`dayOfYear`: the Julian calendar date (day of the year)" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:412 +#: ../../source/cookbook/optical_mosaic.rst:424 msgid "" -":guilabel:`dayfromtarget`: the distance to the target date within the " +":guilabel:`daysFromTarget`: the distance to the target date within the " "season in days" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:415 +#: ../../source/cookbook/optical_mosaic.rst:428 +msgid "" +"These metadata bands are only available when the :guilabel:`Medoid` " +"composing method is used (the :guilabel:`Median` method produces " +"artificial pixels that carry no metadata)." +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:431 msgid "Scale" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:417 +#: ../../source/cookbook/optical_mosaic.rst:433 msgid "" -"You can set a custom scale for exportation by changing the value of the " -"slider in metres (m) (note that requesting a smaller resolution than " -"images' native resolution will not improve the quality of the output – " -"just its size – keep in mind that the native resolution of Sentinel data " -"is 10 m, while Landsat is 30 m.)" +"You can set a custom scale for exportation by selecting a value in metres" +" (m) (note that requesting a smaller resolution than the images' native " +"resolution will not improve the quality of the output – just its size – " +"keep in mind that the native resolution of Sentinel data is 10 m, while " +"Landsat is 30 m)." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:420 +#: ../../source/cookbook/optical_mosaic.rst:436 msgid "Destination" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:422 +#: ../../source/cookbook/optical_mosaic.rst:438 +msgid "Choose a single destination for the export:" +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:440 +msgid "" +":guilabel:`SEPAL workspace`: the image is written to your SEPAL files in " +":code:`.tif` format (by default in the :code:`Downloads` folder)." +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:441 msgid "" -"You can export the image to the :guilabel:`SEPAL workspace` or to the " -";guilabel:`Google Earth Engine Asset` folder. The same image will be " -"exported to both; however, for the former, you will find it in " -":code:`.tif` format in the :code:`Downloads` folder; for the latter, the " -"image will be exported to your GEE account asset list." +":guilabel:`Google Earth Engine asset`: the image is exported to your GEE " +"account as an asset. You can export it either as a single " +":guilabel:`Image` or as an :guilabel:`Image collection` (tiled, which is " +"better suited to large exports), and set its sharing to " +":guilabel:`Private` or :guilabel:`Public`." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:426 +#: ../../source/cookbook/optical_mosaic.rst:442 msgid "" -"If :guilabel:`Google Earth Engine Asset` is not displayed, it means that " -"your GEE account is not connected to SEPAL. Please refer to `Connect " -"SEPAL to GEE <../setup/gee.html>`__." +":guilabel:`Google Drive`: the image is exported to the Google Drive of " +"the connected Google account." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:428 -msgid "Select :guilabel:`Apply` to start the download process." +#: ../../source/cookbook/optical_mosaic.rst:446 +msgid "" +"The :guilabel:`Google Earth Engine asset` and :guilabel:`Google Drive` " +"destinations are only displayed when a Google account is connected to " +"SEPAL. If they are missing, please refer to `Connect SEPAL to GEE " +"<../setup/gee.html>`__." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:431 +#: ../../source/cookbook/optical_mosaic.rst:448 +msgid "Select :guilabel:`Retrieve` to start the export process." +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:451 msgid "Exportation status" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:433 +#: ../../source/cookbook/optical_mosaic.rst:453 msgid "" "In the **Tasks** tab (lower-left corner using the :icon:`fa-solid fa-" "list-check` or :icon:`fa-solid fa-spinner` buttons, depending on the " @@ -940,44 +1026,44 @@ msgid "" "display an error if the exportation has failed." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:435 +#: ../../source/cookbook/optical_mosaic.rst:455 msgid "" "If you are unsatisfied with the way we present information, the task can " "also be monitored using the `GEE task manager " "`__." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:439 +#: ../../source/cookbook/optical_mosaic.rst:459 msgid "" "This operation is running between GEE and SEPAL servers in the " "background. You can close the SEPAL page without stopping the process." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:441 +#: ../../source/cookbook/optical_mosaic.rst:461 msgid "" "When the task is finished, the frame will be displayed in green, as shown" " on the second image below." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:454 +#: ../../source/cookbook/optical_mosaic.rst:474 msgid "Access" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:456 +#: ../../source/cookbook/optical_mosaic.rst:476 msgid "" "Once the download process is complete, you can access the data in your " "SEPAL folders. The data will be stored in the :code:`Downloads` folder " "using the following format:" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:471 +#: ../../source/cookbook/optical_mosaic.rst:491 msgid "" "Understanding how images are stored in an optical mosaic is only required" " if you want to manually use them. The SEPAL applications are bound to " "this tiling system and can digest the information for you." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:473 +#: ../../source/cookbook/optical_mosaic.rst:493 msgid "" "The data are stored in a folder using the name of the optical mosaic as " "it was created in the first section of this article. As the number of " @@ -986,17 +1072,17 @@ msgid "" "tile id>.vrt` file." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:477 +#: ../../source/cookbook/optical_mosaic.rst:497 msgid "" "The full folder with a consistent tree folder is required to read the " "`.vrt`" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:481 +#: ../../source/cookbook/optical_mosaic.rst:501 msgid "" -"Now that you have downloaded the optical mosaic to your SEPAL and/or GEE " -"account, it can be downloaded to your computer using `FileZilla " -"<../setup.filezilla.html>`__ or used in other SEPAL workflows." +"Now that you have exported the optical mosaic to your SEPAL workspace, it" +" can be downloaded to your computer using `file exchange options " +"<../setup/filezilla.html>`__ or used in other SEPAL workflows." msgstr "" #~ msgid "Optical mosaic" @@ -2118,3 +2204,539 @@ msgstr "" #~ " SEPAL workflows." #~ msgstr "" +#~ msgid "" +#~ "The first step is to change the" +#~ " name of the recipe. This name " +#~ "will be used to identify your " +#~ "files and recipes in SEPAL folders. " +#~ "Use the best-suited convention for " +#~ "your needs. Simply double-click the " +#~ "tab and write a new name. It " +#~ "will default to " +#~ ":code:`Optical_mosaic___`." +#~ msgstr "" + +#~ msgid "" +#~ "As mentioned in the introduction, a " +#~ "mosaic uses different raster datasets " +#~ "that can be obtained from multiple " +#~ "sources. SEPAL allows you to select " +#~ "data from multiple entry points. Below," +#~ " you can find a description of " +#~ "these sources (select a link to " +#~ "see the corresponding dataset information):" +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`L8`: `Landsat 8 Tier 1 " +#~ "`__. Landsat " +#~ "scenes with the highest available data" +#~ " quality are placed into **Tier 1**" +#~ " and considered suitable for time-" +#~ "series processing analysis. **Tier 1** " +#~ "includes Level-1 Precision Terrain (L1TP) " +#~ "processed data that have well-" +#~ "characterized radiometry and are " +#~ "intercalibrated across different Landsat " +#~ "sensors. The geo-registration of **Tier" +#~ " 1** scenes will be consistent and" +#~ " within prescribed tolerances (< = 12" +#~ " m root mean square error [RMSE])." +#~ " All **Tier 1** Landsat data can " +#~ "be considered consistent and intercalibrated" +#~ " (regardless of the sensor used) " +#~ "across the full collection." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`L8 T2`: `Landsat 8 Tier 2 " +#~ "`__. Scenes " +#~ "not meeting **Tier 1** criteria during" +#~ " processing are assigned to **Tier " +#~ "2**. This includes Systematic terrain " +#~ "(L1GT) and Systematic (L1GS) processed " +#~ "scenes, as well as any L1TP scenes" +#~ " that do not meet the **Tier " +#~ "1** specifications due to significant " +#~ "cloud cover, insufficient ground control " +#~ "and other factors. Users interested in" +#~ " **Tier 2** scenes can analyze the" +#~ " RMSE and other properties to " +#~ "determine the suitability for use in " +#~ "individual applications and studies." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`L7`: `Landsat 7 Tier 1 " +#~ "`__. Landsat " +#~ "scenes with the highest available data" +#~ " quality are placed into **Tier 1**" +#~ " and are considered suitable for " +#~ "time-series processing analysis. **Tier 1**" +#~ " includes Level-1 Precision Terrain (L1TP)" +#~ " processed data that have well-" +#~ "characterized radiometry and are " +#~ "intercalibrated across different Landsat " +#~ "sensors. The geo-registration of **Tier" +#~ " 1** scenes will be consistent and" +#~ " within prescribed tolerances (< = 12" +#~ " m RMSE). All **Tier 1** Landsat " +#~ "data can be considered consistent and" +#~ " intercalibrated across the full collection" +#~ " (regardless of the sensor used)." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`L7 T2`: `Landsat 7 Tier 2 " +#~ "`__. Scenes " +#~ "not meeting **Tier 1** criteria during" +#~ " processing are assigned to **Tier " +#~ "2**. This includes Systematic terrain " +#~ "(L1GT) and Systematic (L1GS) processed " +#~ "scenes, as well as any L1TP scenes" +#~ " that do not meet the **Tier " +#~ "1** specifications due to significant " +#~ "cloud cover, insufficient ground control " +#~ "and other factors. Users interested in" +#~ " **Tier 2** scenes can analyze the" +#~ " RMSE and other properties to " +#~ "determine the suitability for use in " +#~ "individual applications and studies." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`L4-5`: `Landsat 4 Tier 1 " +#~ "`__ combined " +#~ "with `Landsat 5 Tier 1 " +#~ "`__. Landsat " +#~ "scenes with the highest available data" +#~ " quality are placed into **Tier 1**" +#~ " and are considered suitable for " +#~ "time-series processing analysis. **Tier 1**" +#~ " includes Level-1 Precision Terrain (L1TP)" +#~ " processed data that have well-" +#~ "characterized radiometry and are " +#~ "intercalibrated across different Landsat " +#~ "sensors. The geo-registration of **Tier" +#~ " 1** scenes will be consistent and" +#~ " within prescribed tolerances (< = 12" +#~ " m RMSE). All **Tier 1** Landsat " +#~ "data can be considered consistent and" +#~ " intercalibrated across the full collection" +#~ " (regardless of the sensor used)." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`L4-5 T2`: `Landsat 4 TM Tier" +#~ " 2 `__ combined " +#~ "with `Landsat 5 TM Tier 2 " +#~ "`__. Scenes " +#~ "not meeting **Tier 1** criteria during" +#~ " processing are assigned to **Tier " +#~ "2**. This includes Systematic terrain " +#~ "(L1GT) and Systematic (L1GS) processed " +#~ "scenes, as well as any L1TP scenes" +#~ " that do not meet the **Tier " +#~ "1** specifications due to significant " +#~ "cloud cover, insufficient ground control " +#~ "and other factors. Users interested in" +#~ " **Tier 2** scenes can analyze the" +#~ " RMSE and other properties to " +#~ "determine the suitability for use in " +#~ "individual applications and studies." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`A+B`: `Sentinel-2 Multispectral " +#~ "instrument `__ is a " +#~ "wide-swath, high-resolution, multispectral " +#~ "imaging mission supporting Copernicus Land " +#~ "Monitoring studies, including the monitoring" +#~ " of vegetation, soil and water cover," +#~ " as well as the observation of " +#~ "inland waterways and coastal areas." +#~ msgstr "" + +#~ msgid "" +#~ "Choose :guilabel:`Select scenes` and choose" +#~ " one of the three available " +#~ ":code:`Priority` options, based on the " +#~ "needs of your analysis (SEPAL sorts " +#~ "the images available for each tile):" +#~ msgstr "" + +#~ msgid ":guilabel:`Cloud free`: Prioritizes images with zero or few clouds." +#~ msgstr "" + +#~ msgid ":guilabel:`Target date`: Prioritizes images that match the target date." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`Balanced`: Prioritizes images that " +#~ "maximize both cloud and target date." +#~ msgstr "" + +#~ msgid "This step is optional. SEPAL provides the following options by default:" +#~ msgstr "" + +#~ msgid "**Correction**: :guilabel:`SR`, :guilabel:`BRDF`" +#~ msgstr "" + +#~ msgid "**Pixel filters**: No filters" +#~ msgstr "" + +#~ msgid "**Cloud detection**: :guilabel:`QA bands`, :guilabel:`Cloud score`" +#~ msgstr "" + +#~ msgid "**Cloud buffering**: :guilabel:`None`" +#~ msgstr "" + +#~ msgid "**Snow masking**: :guilabel:`On`" +#~ msgstr "" + +#~ msgid "" +#~ "To create a mosaic, provide SEPAL " +#~ "with the compositing method to create" +#~ " the final image. See the following" +#~ " image for all possible compositing " +#~ "options available." +#~ msgstr "" + +#~ msgid "" +#~ "This will apply corrections on the " +#~ "stacked pixels to improve the quality" +#~ " of the mosaic." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`SR`: Surface reflectance improves " +#~ "comparison between multiple images over " +#~ "the same region by accounting for " +#~ "atmospheric effects such as aerosol " +#~ "scattering and thin clouds, which can" +#~ " help in the detection and " +#~ "characterization of Earth surface change. " +#~ "Top-of-atmosphere images are used " +#~ "if not selected." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`BRDF`: Uses a bidirectional " +#~ "reflectance distribution function (BRDF) model" +#~ " to characterize surface reflectance " +#~ "anisotropy. For a given land area, " +#~ "the BRDF is established based on " +#~ "selected multi-angular observations of " +#~ "surface reflectance." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`Calibrate`: Calibrates Sentinel and " +#~ "Landsat data to make them compatible." +#~ msgstr "" + +#~ msgid "Landsat and Sentinel data are mixed; and" +#~ msgstr "" + +#~ msgid "BRDF and surface reflectance (SR) corrections are disabled." +#~ msgstr "" + +#~ msgid "" +#~ "Activating any of the filters will " +#~ "remove some pixels from the stack. " +#~ "Removing pixels improves the quality of" +#~ " the mosaic, as they are not " +#~ "taken into account in the median " +#~ "value computation." +#~ msgstr "" + +#~ msgid "" +#~ "Each filter is applied iteratively (e.g." +#~ " if the normalized difference vegetation" +#~ " index [NDVI] is already filtering " +#~ "all pixels but one, there will be" +#~ " nothing left in the stack to " +#~ "be filtered by day of year)." +#~ msgstr "" + +#~ msgid "**Shadow**: Filters the XX percent darkest pixels of the stack." +#~ msgstr "" + +#~ msgid "" +#~ "**Haze**: Computes a haze index and " +#~ "filters the XX percent highest values." +#~ msgstr "" + +#~ msgid "" +#~ "**NDVI**: Computes the NDVI and only " +#~ "keeps the XX percent highest values." +#~ msgstr "" + +#~ msgid "" +#~ "**Day of the year**: Computes the " +#~ "distance from target day in days " +#~ "and filters out the XX percent " +#~ "farthest." +#~ msgstr "" + +#~ msgid "Cloud detection" +#~ msgstr "" + +#~ msgid "Refers to the algorithm used to detect clouds." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`QA bands`: Uses quality assessment" +#~ " (QA) bands to identify clouds in " +#~ "Sentinel data." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`Cloud score`: Uses the computed " +#~ "cloud score to identify clouds in " +#~ "Landsat data." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`Pino 26`: Uses the Pino_26 " +#~ "algorithm to identify clouds (for more" +#~ " information, see `D. Simonetti [2021] " +#~ "`__)." +#~ msgstr "" + +#~ msgid "" +#~ "This filter is only available for " +#~ "Sentinel exclusive source when both " +#~ ":guilabel:`BRDF` and :guilabel:`SR` correction " +#~ "are disabled." +#~ msgstr "" + +#~ msgid "" +#~ "Controls how clouds will be masked " +#~ "based on the cloud detection algorithm" +#~ " selected." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`off`: Uses cloud-free pixels " +#~ "if possible, but doesn't mask areas " +#~ "without cloud-free pixels." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`moderate`: Relies only on image " +#~ "source QA bands for cloud masking " +#~ "(a moderate threshold is used)." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`aggressive`: Relies on image source" +#~ " QA bands and a cloud scoring " +#~ "algorithm for cloud masking with an " +#~ "aggressive threshold (this will probably " +#~ "mask out some built-up areas and" +#~ " other bright features)." +#~ msgstr "" + +#~ msgid "" +#~ "When pixels are identified as clouds," +#~ " SEPAL can remove pixels in a " +#~ "small buffer around it to prevent " +#~ "hazy pixels at the borders of " +#~ "clouds to be included in the " +#~ "mosaic." +#~ msgstr "" + +#~ msgid "" +#~ "Buffering is done on the pixel " +#~ "level, so using this option will " +#~ "significantly increase the creation time " +#~ "of the mosaic." +#~ msgstr "" + +#~ msgid ":guilabel:`none`: Doesn't use cloud buffering." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`moderate`: Masks an additional " +#~ "**120 m** around each larger cloud." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`aggressive`: Masks an additional " +#~ "**600 m** around each larger cloud." +#~ msgstr "" + +#~ msgid "Snow masking" +#~ msgstr "" + +#~ msgid "Defines how snowy pixels will be masked." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`on`: Masks snow. This tends " +#~ "to leave some pixels with shadowy " +#~ "snow." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`off`: Doesn't mask snow. Note " +#~ "that some clouds might get misclassified" +#~ " as snow; therefore, disabling snow " +#~ "masking might lead to cloud artifacts." +#~ msgstr "" + +#~ msgid "" +#~ "After filtering the stack of pixels, " +#~ "SEPAL will compute the median value " +#~ "on the different bands of the " +#~ "image. The composing method will define" +#~ " how the final pixel value is " +#~ "extracted." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`Medoid`: Uses the closest pixel " +#~ "from the median value. As a real" +#~ " pixel from the stack, the final " +#~ "value will embed metadata (e.g. the " +#~ "date of observation)." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`Median`: Uses the computed value" +#~ " of the median. If no pixel is" +#~ " matching this value, the pixel will" +#~ " not embed any metadata. It tends " +#~ "to produce smoother mosaics." +#~ msgstr "" + +#~ msgid ":btn:``: auto-select scenes" +#~ msgstr "" + +#~ msgid "" +#~ "If you have not selected the " +#~ "option :guilabel:`Select scenes` in the " +#~ ":guilabel:`SCN` tab, the :icon:`fa-solid " +#~ "fa-wand-magic` button will be " +#~ "disabled and the scene areas will " +#~ "be hidden as no scene selection " +#~ "needs to be performed (see those " +#~ "with a number in a circle on " +#~ "the previous screenshot)." +#~ msgstr "" + +#~ msgid "" +#~ "Selecting the :icon:`fa-solid fa-" +#~ "wand-magic` tab will open the " +#~ "**Auto-selection** pane." +#~ msgstr "" + +#~ msgid "" +#~ "Move the sliders to select the " +#~ "minimum and the maximum number of " +#~ "scenes SEPAL should select in a " +#~ "tile. Then, select the :guilabel:`Validate`" +#~ " button to apply the auto-select " +#~ "method." +#~ msgstr "" + +#~ msgid "" +#~ "A small preview of the scene in" +#~ " the *red, blue, green* band " +#~ "combination." +#~ msgstr "" + +#~ msgid "" +#~ "You can decide to move the scene" +#~ " to the **Selected scene** area by" +#~ " selecting :icon:`fa-solid fa-" +#~ "plus`:guilabel:`Add` or moving it back " +#~ "to **Available scene** pane by selecting" +#~ " :icon:`fa-solid fa-minus` " +#~ ":guilabel:`Remove`." +#~ msgstr "" + +#~ msgid "" +#~ "You cannot export a recipe as an" +#~ " asset or a :code:`.tiff` file " +#~ "without a small computation quota. If" +#~ " you are a new user, see " +#~ ":doc:`../setup/resource`." +#~ msgstr "" + +#~ msgid "" +#~ "You need to select the band(s) to" +#~ " export with the mosaic. There is " +#~ "no maximum number of bands, but " +#~ "exporting useless bands will only " +#~ "increase the size and time of the" +#~ " output. To discover the full list" +#~ " of available bands with SEPAL, see" +#~ " :doc:`../feature/bands`." +#~ msgstr "" + +#~ msgid ":guilabel:`dayofyear`: the Julian calendar date (day of the year)" +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`dayfromtarget`: the distance to the" +#~ " target date within the season in " +#~ "days" +#~ msgstr "" + +#~ msgid "" +#~ "You can set a custom scale for " +#~ "exportation by changing the value of " +#~ "the slider in metres (m) (note " +#~ "that requesting a smaller resolution " +#~ "than images' native resolution will not" +#~ " improve the quality of the output" +#~ " – just its size – keep in " +#~ "mind that the native resolution of " +#~ "Sentinel data is 10 m, while " +#~ "Landsat is 30 m.)" +#~ msgstr "" + +#~ msgid "" +#~ "You can export the image to the" +#~ " :guilabel:`SEPAL workspace` or to the " +#~ ";guilabel:`Google Earth Engine Asset` folder." +#~ " The same image will be exported " +#~ "to both; however, for the former, " +#~ "you will find it in :code:`.tif` " +#~ "format in the :code:`Downloads` folder; " +#~ "for the latter, the image will be" +#~ " exported to your GEE account asset" +#~ " list." +#~ msgstr "" + +#~ msgid "" +#~ "If :guilabel:`Google Earth Engine Asset` " +#~ "is not displayed, it means that " +#~ "your GEE account is not connected " +#~ "to SEPAL. Please refer to `Connect " +#~ "SEPAL to GEE <../setup/gee.html>`__." +#~ msgstr "" + +#~ msgid "Select :guilabel:`Apply` to start the download process." +#~ msgstr "" + +#~ msgid "" +#~ "Now that you have downloaded the " +#~ "optical mosaic to your SEPAL and/or " +#~ "GEE account, it can be downloaded " +#~ "to your computer using `FileZilla " +#~ "<../setup.filezilla.html>`__ or used in other" +#~ " SEPAL workflows." +#~ msgstr "" + diff --git a/docs/source/_locale/en/LC_MESSAGES/cookbook/time_series.po b/docs/source/_locale/en/LC_MESSAGES/cookbook/time_series.po index db98cfadfc..a108ff86d1 100644 --- a/docs/source/_locale/en/LC_MESSAGES/cookbook/time_series.po +++ b/docs/source/_locale/en/LC_MESSAGES/cookbook/time_series.po @@ -8,14 +8,14 @@ msgid "" msgstr "" "Project-Id-Version: SEPAL \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-03-07 09:39+0100\n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.14.0\n" +"Generated-By: Babel 2.18.0\n" #: ../../source/cookbook/time_series.rst:2 msgid "Time series" @@ -298,7 +298,8 @@ msgstr "" msgid "" "The time series will use a single observation for each pixel. This " "observation can be one of the available bands in SEPAL. To discover the " -"full list of available bands, see :doc:`../feature/bands`." +"full list of available bands, see :doc:`../feature/optical_bands` and " +"`../feature/radar_bands`." msgstr "" #: ../../source/cookbook/time_series.rst:147 @@ -1140,3 +1141,12 @@ msgstr "" #~ "analysis modules <../modules/time-series.html>`__." #~ msgstr "" +#~ msgid "" +#~ "The time series will use a single" +#~ " observation for each pixel. This " +#~ "observation can be one of the " +#~ "available bands in SEPAL. To discover" +#~ " the full list of available bands," +#~ " see :doc:`../feature/bands`." +#~ msgstr "" + diff --git a/docs/source/_locale/en/LC_MESSAGES/developers/apps/app_catalog.po b/docs/source/_locale/en/LC_MESSAGES/developers/apps/app_catalog.po new file mode 100644 index 0000000000..dfa6337b61 --- /dev/null +++ b/docs/source/_locale/en/LC_MESSAGES/developers/apps/app_catalog.po @@ -0,0 +1,478 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: en\n" +"Language-Team: en \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/developers/apps/app_catalog.rst:4 +msgid "Request a new app" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:5 +msgid "*Add your app to the SEPAL apps catalog so it appears on the platform*" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:8 +msgid "The catalog" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:10 +msgid "" +"The list of apps SEPAL runs lives in a dedicated repository, `dfguerrerom" +"/sepal-apps-catalog `__. For docker apps the catalog pins the exact commit SEPAL will" +" run; for jupyter apps it records the ``branch`` and SEPAL runs its tip. " +"Either way, adding or updating an app means opening a pull request " +"against this catalog, where a maintainer reviews the change before it " +"goes live." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:17 +msgid "The catalog ships two files:" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:19 +msgid "" +"``apps.test.json`` — apps available on test.sepal.io (the staging " +"environment used to validate changes before they reach end users)" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:21 +msgid "" +"``apps.prod.json`` — apps available on sepal.io (the production " +"environment)" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:23 +msgid "" +"New apps always land in ``apps.test.json`` first and are promoted to " +"``apps.prod.json`` only once they behave correctly on test.sepal.io." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:27 +msgid "Anatomy of a catalog entry" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:29 +msgid "" +"An app is a JSON object in the ``apps`` array. The schema only enforces " +"``id`` and ``label`` as universally required, plus a docker-specific " +"block — but the catalog convention is to **fill every field** so each " +"entry carries a complete dashboard listing. The only practical " +"exceptions:" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:34 +msgid "``port`` applies only to docker apps (and is required there)." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:35 +msgid "" +"For hidden kernel-only apps (see :ref:`developers_apps_kernels`) the " +"user-facing presentation fields (``description``, ``tagline``, " +"``logoRef``, ``projectLink``, ``author``, ``tags``) can be omitted, since" +" they are never shown." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:41 +msgid "Identification and routing" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:47 +#: ../../source/developers/apps/app_catalog.rst:84 +#: ../../source/developers/apps/app_catalog.rst:110 +#: ../../source/developers/apps/app_catalog.rst:144 +msgid "Field" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:48 +#: ../../source/developers/apps/app_catalog.rst:85 +#: ../../source/developers/apps/app_catalog.rst:111 +#: ../../source/developers/apps/app_catalog.rst:145 +msgid "When" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:49 +#: ../../source/developers/apps/app_catalog.rst:86 +#: ../../source/developers/apps/app_catalog.rst:112 +#: ../../source/developers/apps/app_catalog.rst:146 +msgid "Meaning" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:50 +msgid "``id``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:51 +#: ../../source/developers/apps/app_catalog.rst:54 +msgid "always (schema)" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:52 +msgid "Unique identifier across the catalog (``[A-Za-z0-9_.-]+``)." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:53 +msgid "``label``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:55 +msgid "Display name shown on the apps dashboard." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:56 +msgid "``endpoint``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:57 +#: ../../source/developers/apps/app_catalog.rst:62 +#: ../../source/developers/apps/app_catalog.rst:66 +#: ../../source/developers/apps/app_catalog.rst:69 +msgid "always" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:58 +msgid "" +"How SEPAL runs the app: ``jupyter`` or ``docker`` for new apps — " +"``shiny`` is legacy and ``rstudio`` is reserved for the built-in tool. " +"See :ref:`developers_apps_types`." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:61 +msgid "``repository``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:63 +msgid "" +"``https://github.com//`` of the app source. SEPAL clones it " +"to run the app." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:65 +msgid "``branch``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:67 +msgid "Branch the app tracks (commonly ``release``)." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:68 +msgid "``path``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:70 +msgid "" +"Entry point the app-launcher routes to. For jupyter, the Voila URL of the" +" notebook (e.g. " +"``/sandbox/jupyter/voila/render/shared/apps//ui.ipynb``); for " +"docker, **must equal** ``/api/app-launcher/`` exactly — the schema " +"enforces the prefix and ``check-docker-rules.js`` enforces that ```` " +"matches the entry's ``id``." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:78 +msgid "Docker-only fields" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:87 +msgid "``commit``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:88 +#: ../../source/developers/apps/app_catalog.rst:93 +msgid "docker only (schema)" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:89 +msgid "" +"Full 40-character lowercase commit SHA. Required for ``endpoint: " +"docker``; not allowed for other endpoints, which track the branch tip." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:92 +msgid "``port``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:94 +msgid "" +"Container port the docker app listens on. Integer 1–65535. Must be unique" +" across ``apps.test.json`` and ``apps.prod.json``; ``check-docker-" +"rules.js`` enforces this and prints ``Next free port: N`` on a violation." +" New apps take the next free port — ``max(existing_ports) + 1``." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:101 +msgid "Presentation" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:103 +msgid "" +"These fields populate the dashboard tile and the app's detail page. Skip " +"them *only* on hidden kernel-only entries." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:113 +msgid "``author``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:114 +#: ../../source/developers/apps/app_catalog.rst:117 +#: ../../source/developers/apps/app_catalog.rst:120 +#: ../../source/developers/apps/app_catalog.rst:123 +#: ../../source/developers/apps/app_catalog.rst:127 +#: ../../source/developers/apps/app_catalog.rst:130 +msgid "visible apps" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:115 +msgid "Who maintains the app (free-form string)." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:116 +msgid "``description``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:118 +msgid "Long-form description shown on the app's detail page." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:119 +msgid "``tagline``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:121 +msgid "One-line summary shown on the dashboard tile." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:122 +msgid "``logoRef``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:124 +msgid "Filename of the logo asset bundled with the catalog (e.g. ``my-app.svg``)." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:126 +msgid "``projectLink``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:128 +msgid "URL to the project's home page, docs, or upstream repository." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:129 +msgid "``tags``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:131 +msgid "" +"Array of tag values defined in the catalog's top-level ``tags`` block " +"(e.g. ``[\"TOOLS\", \"TIME_SERIES\"]``)." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:135 +msgid "Behaviour flags" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:137 +msgid "" +"Optional booleans that alter how the app is listed or launched. Defaults " +"are all ``false``." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:147 +msgid "``hidden``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:148 +#: ../../source/developers/apps/app_catalog.rst:152 +#: ../../source/developers/apps/app_catalog.rst:155 +#: ../../source/developers/apps/app_catalog.rst:158 +#: ../../source/developers/apps/app_catalog.rst:162 +msgid "optional" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:149 +msgid "" +"If ``true``, the app builds but does not show a dashboard tile. Used for " +"packaged kernels — see :ref:`developers_apps_kernels`." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:151 +msgid "``pinned``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:153 +msgid "Pin the app to the top of the dashboard." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:154 +msgid "``googleAccountRequired``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:156 +msgid "The app needs a connected Google account (e.g. for GEE)." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:157 +msgid "``single``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:159 +msgid "" +"Only one instance of this app can run at a time per user (used by the " +"built-in ``jupyter-notebook``, ``jupyter-lab`` and ``rstudio`` tools)." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:161 +msgid "``skip``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:163 +msgid "Temporarily skip building/serving this app without removing the entry." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:165 +msgid "" +"A typical jupyter entry — every field a user sees on the dashboard is " +"filled in:" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:187 +msgid "" +"A docker entry adds the docker-only ``commit``, ``port`` and the schema-" +"enforced ``/api/app-launcher/`` path; the presentation fields are the" +" same:" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:213 +msgid "Adding the app" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:215 +msgid "" +"Open a pull request adding your entry to ``apps.test.json``. The fastest " +"way is to edit the file directly on GitHub: `edit apps.test.json " +"`__. For a docker app, ``commit`` must " +"be a full 40-character SHA that exists on the declared ``branch``." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:220 +msgid "" +"The ``Validate catalog`` and ``Review helper`` workflows run " +"automatically. Validation is a blocking gate (schema, canonical " +"formatting, and — for docker apps — a check that the commit is reachable " +"from its branch). The review helper posts a single PR comment with a per-" +"app diff and *risk flags* (new dependencies, network calls, shell-outs) " +"to help maintainers review safely." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:226 +msgid "" +"A SEPAL maintainer reviews and merges. Once merged, the app appears on " +"test.sepal.io within minutes." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:228 +msgid "" +"When you are happy with its behaviour on test.sepal.io, promote it to " +"production — see `Promoting to production`_." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:232 +msgid "Promoting to production" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:234 +msgid "" +"Promotion copies the *exact same pinned reference* (commit for docker, " +"branch for the others) from ``apps.test.json`` into ``apps.prod.json``. " +"Two paths, either of which produces the same promotion PR for a " +"maintainer to merge:" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:239 +msgid "Self-service ``/promote`` comment (recommended)" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:241 +msgid "" +"The catalog has a single pinned issue titled *\"Promotion requests — " +"comment ``/promote `` here\"*, labeled ``promote-request``. Find " +"it in the catalog's `issues tab `__ " +"(there is only ever one) and comment:" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:251 +msgid "" +"The ``Promote app on /promote comment`` workflow then verifies the " +"commenter is authorized for the app's source repository and, if so, opens" +" the promotion PR. Authorization uses public GitHub data only:" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:255 +msgid "If the source repo is owned by a User, the commenter must equal that user." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:256 +msgid "" +"If it is owned by an Organization, the commenter must be a **public** " +"member of that org. If your membership is private, make it public at " +"``https://github.com/orgs//people`` or use the manual-PR path below." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:260 +msgid "A maintainer still merges the PR." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:263 +msgid "Manual PR" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:265 +msgid "" +"Open a pull request copying the entry's ``commit`` (or whole object) from" +" ``apps.test.json`` into ``apps.prod.json``. The same validation and " +"review checks run; a maintainer merges." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:270 +msgid "Working on the catalog locally" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:272 +msgid "" +"The catalog files use canonical ``JSON.stringify(parsed, null, 2)`` " +"formatting (2-space indent, one-element arrays expanded, trailing " +"newline). A ``.prettierignore`` keeps editor formatters off them, and CI " +"rejects PRs that don't match. Install the pre-commit hooks once so " +"problems are caught before they fail CI:" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:284 +msgid "To re-canonicalize a file before pushing:" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:292 +msgid "" +"The catalog's own ``docs/contributing.md`` and ``docs/ci.md`` document " +"every workflow, check, and script in detail." +msgstr "" + diff --git a/docs/source/_locale/en/LC_MESSAGES/developers/apps/app_types.po b/docs/source/_locale/en/LC_MESSAGES/developers/apps/app_types.po new file mode 100644 index 0000000000..699eb7ebc1 --- /dev/null +++ b/docs/source/_locale/en/LC_MESSAGES/developers/apps/app_types.po @@ -0,0 +1,290 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: en\n" +"Language-Team: en \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/developers/apps/app_types.rst:4 +msgid "Docker vs. Jupyter apps" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:5 +msgid "*The two endpoints you'll choose between, and where each one fits*" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:7 +msgid "" +"Every catalog entry declares an ``endpoint`` that tells SEPAL how to run " +"the app. For new apps the practical choice is between ``docker`` and " +"``jupyter``." +msgstr "" + +#: ../../source/developers/apps/app_types.rst:12 +msgid "" +"``shiny`` is a legacy endpoint and is no longer recommended for new apps " +"— package the same UX as a Jupyter/Voila app instead. ``rstudio`` is " +"reserved for the built-in RStudio tool. Both still work, but neither " +"should be picked for anything new." +msgstr "" + +#: ../../source/developers/apps/app_types.rst:18 +msgid "At a glance" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:25 +msgid "Docker app" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:26 +msgid "Jupyter app" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:27 +msgid "``endpoint``" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:28 +msgid "``docker``" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:29 +msgid "``jupyter``" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:30 +msgid "Where it runs" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:31 +msgid "Its own container, on its own port, on the shared SEPAL server" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:32 +msgid "Inside the user's own SEPAL instance (sandbox), served through Voila" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:33 +msgid "Where compute happens" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:34 +msgid "On the shared SEPAL server — all users hit the same instance" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:35 +msgid "On the user's own SEPAL instance, at the size they have provisioned" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:36 +msgid "Versioning" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:37 +msgid "Pinned to a commit SHA (required)" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:38 +msgid "Tracks the catalog's ``branch``; no commit pin" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:39 +msgid "Code location" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:40 +msgid "Cloned from ``repository`` into the container" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:41 +msgid "" +"Cloned from ``repository`` into the shared sandbox at ``/home/sepal-" +"user/shared/apps//``" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:43 +msgid "Isolation" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:44 +msgid "Strong — separate container and dependencies" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:45 +msgid "" +"Own micromamba kernel built from ``sepal_environment.yml`` (see " +":ref:`developers_apps_kernels`)" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:47 +msgid "Update trigger" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:48 +msgid "" +"Catalog PR bumps ``commit`` → app-launcher checks out that commit on the " +"next launch" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:50 +msgid "" +"app-manager refreshes the clone to the branch tip and rebuilds the kernel" +" if the env file changed" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:54 +msgid "Docker apps" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:56 +msgid "" +"A docker app lives in its own repository and runs in its own container " +"with a dedicated ``port`` on the shared SEPAL server. Because it is fully" +" isolated, the catalog schema requires ``repository``, ``branch``, " +"``commit``, ``port`` and ``path`` for every ``endpoint: docker`` entry." +msgstr "" + +#: ../../source/developers/apps/app_types.rst:61 +msgid "When SEPAL launches the app it runs the equivalent of:" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:68 +msgid "" +"That is why the pinned ``commit`` must be reachable from ``branch`` (see " +":ref:`developers_apps_releases`). The app's dependencies are baked into " +"its container, so its update cycle is independent of the rest of the " +"platform — it changes only when you bump its commit in the catalog." +msgstr "" + +#: ../../source/developers/apps/app_types.rst:73 +msgid "" +"Because the docker app runs on the shared SEPAL server, every user hits " +"the same instance. That makes docker a good fit for **lightweight, low-" +"compute apps that act as a single service for many users** — interfaces " +"over a small API, lookups, light visualizations, dashboards. It is *not* " +"a good fit for heavy per-user compute: there is only one container " +"backing all users." +msgstr "" + +#: ../../source/developers/apps/app_types.rst:80 +msgid "Jupyter apps" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:82 +msgid "" +"A jupyter app does not get its own container. Its code is cloned from the" +" ``repository`` into the shared sandbox under ``/home/sepal-" +"user/shared/apps//``, and its ``ui.ipynb`` notebook is rendered with" +" `Voila `__ (hence catalog paths such as " +"``/sandbox/jupyter/voila/render/shared/apps//ui.ipynb``). Crucially," +" it runs **inside each user's own SEPAL instance** — so the compute " +"budget is whatever the user has provisioned for themselves." +msgstr "" + +#: ../../source/developers/apps/app_types.rst:90 +msgid "" +"Versioning is by branch, not by commit: the app-manager keeps the cloned " +"``shared/apps//`` working tree on the tip of the catalog's " +"``branch`` and rebuilds the app's kernel whenever " +"``sepal_environment.yml`` (or ``requirements.txt``) changes — see " +":ref:`developers_apps_kernels`. Pushing to that branch is enough to ship " +"a new version; no catalog PR is required (the catalog PR is only needed " +"to *list* the app in the first place)." +msgstr "" + +#: ../../source/developers/apps/app_types.rst:97 +msgid "" +"Because compute lives on the user's instance, a jupyter app is the right " +"choice for **heavy, scalable, per-user workloads**: anything where the " +"user needs to be able to size their machine to the job — training " +"pipelines, large geospatial analyses, model inference, parallel " +"processing." +msgstr "" + +#: ../../source/developers/apps/app_types.rst:103 +msgid "When to use which" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:105 +msgid "A simple rule of thumb:" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:112 +msgid "Use ``docker``" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:113 +msgid "Use ``jupyter``" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:114 +msgid "Compute profile" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:115 +msgid "Light; same load no matter who is using it" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:116 +msgid "Heavy or variable; each user should be able to scale their own instance" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:118 +msgid "Usage pattern" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:119 +msgid "Single backend service serving many users" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:120 +msgid "Per-user notebook session, isolated per user" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:121 +msgid "Versioning needs" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:122 +msgid "You want strict, audited control of *exactly* which commit is live" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:123 +msgid "Push-to-branch is a fine release model" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:124 +msgid "Runtime needs" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:125 +msgid "Custom system stack, services, ports, or a non-Python runtime" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:126 +msgid "" +"Standard SEPAL geospatial / scientific Python stack (extended via " +"``sepal_environment.yml``)" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:129 +msgid "" +"If the answer to most of these points the same way, that's your endpoint." +" If the app is genuinely a notebook UI doing heavy compute, jupyter is " +"almost always the right pick — that is the most common pattern on SEPAL." +msgstr "" + diff --git a/docs/source/_locale/en/LC_MESSAGES/developers/apps/index.po b/docs/source/_locale/en/LC_MESSAGES/developers/apps/index.po new file mode 100644 index 0000000000..e36611be07 --- /dev/null +++ b/docs/source/_locale/en/LC_MESSAGES/developers/apps/index.po @@ -0,0 +1,72 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: en\n" +"Language-Team: en \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/developers/apps/index.rst:48 +msgid "Docker vs. Jupyter apps" +msgstr "" + +#: ../../source/developers/apps/index.rst:48 +msgid "Request a new app" +msgstr "" + +#: ../../source/developers/apps/index.rst:48 +msgid "Request a new kernel" +msgstr "" + +#: ../../source/developers/apps/index.rst:48 +msgid "Create a release" +msgstr "" + +#: ../../source/developers/apps/index.rst:4 +msgid "Develop apps" +msgstr "" + +#: ../../source/developers/apps/index.rst:5 +msgid "*Build, release and publish your own apps on the SEPAL platform*" +msgstr "" + +#: ../../source/developers/apps/index.rst:7 +msgid "" +"These pages explain how SEPAL decides which app code to run and how that " +"code reaches the platform — useful when you want to add an app, ship a " +"new version of an existing one, or package a reusable environment for a " +"notebook or workflow." +msgstr "" + +#: ../../source/developers/apps/index.rst:14 +msgid "" +"The set of apps SEPAL runs is curated in the `dfguerrerom/sepal-apps-" +"catalog `__ " +"repository. Getting an app onto SEPAL — or updating one — means opening a" +" pull request there. For docker apps, the catalog also pins the *exact " +"commit* SEPAL will run; for jupyter apps, the catalog records the " +"``branch`` and SEPAL still runs the tip of that branch. The pages below " +"walk through both flows." +msgstr "" + +#: ../../source/developers/apps/index.rst:23 +msgid "How an app reaches SEPAL" +msgstr "" + +#: ../../source/developers/apps/index.rst:46 +msgid "Contents" +msgstr "" + diff --git a/docs/source/_locale/en/LC_MESSAGES/developers/apps/kernels.po b/docs/source/_locale/en/LC_MESSAGES/developers/apps/kernels.po new file mode 100644 index 0000000000..016b71362f --- /dev/null +++ b/docs/source/_locale/en/LC_MESSAGES/developers/apps/kernels.po @@ -0,0 +1,260 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: en\n" +"Language-Team: en \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/developers/apps/kernels.rst:4 +msgid "Request a new kernel" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:5 +msgid "" +"*Package an environment once and share it with every SEPAL user as a " +"named Jupyter kernel*" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:7 +#, python-format +msgid "" +"A \"kernel\" in the SEPAL catalog is really just a special-purpose " +"jupyter app: the same catalog entry, the same :ref:`PR flow " +"`, the same :ref:`release lifecycle " +"`. The only difference is *intent* — " +"the deliverable is the environment (and, often, training notebooks and " +"data alongside it), not an app UI. If you have read " +":ref:`developers_apps_catalog`, you already know 90% of how to ship one." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:15 +msgid "Why request a kernel" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:17 +msgid "" +"Some notebooks need a large or unusual environment: a deep-learning " +"stack, a pinned GDAL build, a model with awkward native dependencies. " +"Asking every user — or every training participant — to build that " +"environment by hand is slow, fragile, and easy to get subtly wrong." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:22 +msgid "" +"A shared kernel solves that. You package the environment once, in a " +"repository; SEPAL builds it centrally and exposes it as a named Jupyter " +"kernel that lives in the shared sandbox. Every user then simply *selects*" +" that kernel for the relevant notebook — no per-user installation, and " +"everyone runs the same, reproducible environment." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:28 +msgid "This is the right approach when:" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:30 +msgid "" +"You are preparing a notebook or workflow for a training and want every " +"participant on an identical environment." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:32 +msgid "" +"A notebook needs heavy dependencies (GPU/ML, large geospatial stacks) " +"that are wasteful to rebuild per user." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:34 +msgid "You want a stable, named environment that several notebooks can share." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:36 +msgid "" +"It is *not* the right approach for quick, personal experiments. For an " +"environment only you need, build it yourself with :guilabel:`uv` or " +":guilabel:`micromamba` — see :ref:`env_management`." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:41 +msgid "It's the same flow as a jupyter app" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:43 +msgid "A kernel-only entry in the catalog is just a jupyter app that:" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:45 +msgid "has ``\"hidden\": true`` (no dashboard tile — see below), and" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:46 +msgid "ships a ``sepal_environment.yml`` at the root of its repository." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:48 +msgid "" +"Everything else — the PR against ``apps.test.json``, the validation and " +"review-helper workflows, the promotion to ``apps.prod.json`` — works " +"exactly as described in :ref:`developers_apps_catalog`." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:52 +msgid "" +"The one extra behaviour, which fires automatically whenever the app-" +"manager updates a jupyter app, is the kernel build itself: if the cloned " +"repository contains a ``sepal_environment.yml`` (or a legacy " +"``requirements.txt``), SEPAL builds an isolated environment from it and " +"registers it as a named Jupyter kernel. For a ``sepal_environment.yml`` " +"the build is, in essence:" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:63 +msgid "" +"The script then writes a ``kernel.json`` so the environment shows up in " +"JupyterLab as ``(venv) ``, and wires the geospatial " +"environment variables (``PROJ_LIB``, ``PROJ_DATA``, ``GDAL_DATA``) to the" +" environment's own data directories. The kernel is rebuilt only when the " +"environment file changes (the script compares timestamps against an " +"``.installed`` marker), so unchanged apps don't pay a rebuild cost on " +"every update." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:71 +msgid "Hiding the app" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:73 +msgid "" +"A packaged kernel usually has no dashboard UI of its own — it exists to " +"back *other* notebooks. Set ``\"hidden\": true`` on its catalog entry so " +"SEPAL builds the environment and registers the kernel without showing a " +"tile in the apps dashboard." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:81 +msgid "Ship notebooks and data alongside the kernel" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:83 +msgid "" +"The same clone the app-manager uses to build the kernel lands at ``/home" +"/sepal-user/shared/apps//`` **inside every user's sandbox**. " +"Anything you put in the repository is therefore reachable from every " +"user's JupyterLab — not just the ``sepal_environment.yml``." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:88 +msgid "" +"This makes the same mechanism useful for a second job: shipping " +"**training notebooks and supporting data** to a cohort of users. For a " +"workshop or a training, you can put the curriculum in the repo alongside " +"the environment file. Each participant gets the notebooks already on " +"their instance under ``shared/apps//``, with the matching " +"``(venv) `` kernel pre-built and ready to select — no per-" +"user clone, no per-user pip install, no \"it works on my machine\"." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:96 +msgid "Practical conventions for that case:" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:98 +msgid "" +"Keep notebook files at the top level (or in a clearly named subdirectory)" +" so participants can find them via ``shared/apps//``." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:100 +msgid "" +"Keep sample inputs in the repo only if they are small. For larger " +"datasets, point notebooks at a shared SEPAL location or an external URL " +"so the clone stays light." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:103 +msgid "" +"Tag a ``release`` branch for each cohort you run, so an in-flight push to" +" ``main`` does not surprise a session that is already underway. See " +":ref:`developers_apps_releases_branch`." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:107 +msgid "" +"The catalog entry itself stays the same — ``\"hidden\": true``, " +"``\"endpoint\": \"jupyter\"``, ``sepal_environment.yml`` in the repo. The" +" notebooks just ride along in the same clone." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:112 +msgid "Worked example: ``sepal-sam``" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:114 +msgid "" +"The catalog entry below is a real, hidden kernel app. Its description is " +"simply *\"SAM environment\"* — it ships the environment for SAM-based " +"notebooks and never appears in the dashboard:" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:130 +msgid "" +"Because the ``sepal-sam`` repository contains a " +"``sepal_environment.yml``, SEPAL builds its micromamba environment and " +"registers a ``(venv) Sepal SAM`` kernel. Any notebook a user opens can " +"then select that kernel and run against the SAM stack immediately." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:138 +msgid "Recommended: ``sepal_environment.yml``" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:140 +msgid "" +"Declare your kernel with a ``sepal_environment.yml`` at the root of the " +"app repository. It is a standard conda/micromamba environment file, and " +"it is the preferred way to define a SEPAL kernel because micromamba " +"bundles native libraries (GDAL, GEOS, CUDA, HDF5, …) inside the " +"environment — so it keeps working when SEPAL upgrades system-level " +"libraries. A plain ``requirements.txt`` is still supported for backward " +"compatibility, but it installs into a system-Python venv and can break on" +" platform upgrades." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:148 +msgid "A minimal example:" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:164 +msgid "" +"You do not need to add ``ipykernel`` yourself — SEPAL installs it into " +"the environment when it builds the kernel." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:167 +msgid "" +"Once the file is in your repository and the app is in the catalog (see " +":ref:`developers_apps_catalog`), every release that changes " +"``sepal_environment.yml`` triggers a rebuild of the shared kernel on the " +"next update." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:174 +msgid "" +":ref:`env_management` — managing your *own* environments and kernels " +"interactively, when you don't need a shared, centrally built one." +msgstr "" + diff --git a/docs/source/_locale/en/LC_MESSAGES/developers/apps/releases.po b/docs/source/_locale/en/LC_MESSAGES/developers/apps/releases.po new file mode 100644 index 0000000000..45b4836c0a --- /dev/null +++ b/docs/source/_locale/en/LC_MESSAGES/developers/apps/releases.po @@ -0,0 +1,214 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: en\n" +"Language-Team: en \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/developers/apps/releases.rst:4 +msgid "Create a release" +msgstr "" + +#: ../../source/developers/apps/releases.rst:5 +msgid "*Ship a new version of an app already in the SEPAL catalog*" +msgstr "" + +#: ../../source/developers/apps/releases.rst:7 +msgid "" +"Once your app is in the catalog (see :ref:`developers_apps_catalog`), the" +" way you ship a new version depends on the app's ``endpoint`` (see " +":ref:`developers_apps_types`):" +msgstr "" + +#: ../../source/developers/apps/releases.rst:11 +msgid "" +"**Jupyter apps** (and :ref:`kernels `, which are" +" just hidden jupyter apps) are not pinned to a commit. The app-manager " +"checks out the tip of the catalog's ``branch`` (defaulting to ``HEAD``) " +"every time the sandbox refreshes the app, so a release is just a push to " +"that branch in your source repository — no catalog change is needed." +msgstr "" + +#: ../../source/developers/apps/releases.rst:16 +msgid "" +"**Docker apps** are pinned in the catalog to an exact commit SHA. SEPAL " +"keeps running the old commit until that ``commit`` field is advanced, so " +"a release is, in practice, a pull request against the catalog." +msgstr "" + +#: ../../source/developers/apps/releases.rst:20 +msgid "The rest of this page describes each flow in turn." +msgstr "" + +#: ../../source/developers/apps/releases.rst:25 +msgid "Jupyter and kernel apps" +msgstr "" + +#: ../../source/developers/apps/releases.rst:27 +msgid "" +"These endpoints don't take a ``commit`` field in the catalog — only " +"``branch`` (which defaults to ``HEAD``). On every sandbox refresh the " +"app-manager runs the equivalent of ``git fetch`` + checkout of that " +"branch's tip, so whatever is at the head of the tracked branch is what " +"users get." +msgstr "" + +#: ../../source/developers/apps/releases.rst:33 +msgid "Releasing a new version" +msgstr "" + +#: ../../source/developers/apps/releases.rst:35 +msgid "" +"Push the change to the branch the catalog tracks for your app. The next " +"time the user's sandbox refreshes the app, the new tip is picked up " +"automatically. No catalog PR is required." +msgstr "" + +#: ../../source/developers/apps/releases.rst:42 +#: ../../source/developers/apps/releases.rst:68 +msgid "The release branch convention" +msgstr "" + +#: ../../source/developers/apps/releases.rst:44 +msgid "" +"Because every push to the tracked branch is effectively a release, most " +"contributors keep a dedicated ``release`` branch and pin ``\"branch\": " +"\"release\"`` in the catalog rather than ``main``. You develop on " +"``main`` and merge into ``release`` only when you intend to publish — " +"that way unreviewed work on ``main`` doesn't go live the moment it is " +"pushed." +msgstr "" + +#: ../../source/developers/apps/releases.rst:50 +msgid "" +"This is a convention, not a requirement. Any branch works; if you pin " +"``main``, every push to ``main`` is a release." +msgstr "" + +#: ../../source/developers/apps/releases.rst:56 +msgid "Docker apps" +msgstr "" + +#: ../../source/developers/apps/releases.rst:58 +msgid "" +"Docker apps carry a required ``commit`` SHA in the catalog. The app-" +"launcher runs ``git fetch origin `` followed by ``git checkout " +"--detach ``, so SEPAL only ever runs that exact commit — " +"regardless of what is at the tip of ``branch``. Shipping a new version " +"therefore means advancing the ``commit`` field in the catalog." +msgstr "" + +#: ../../source/developers/apps/releases.rst:64 +msgid "" +"There are two ways to do that: a manual pull request, or an automated " +"bump triggered when your source repository publishes a release." +msgstr "" + +#: ../../source/developers/apps/releases.rst:70 +msgid "" +"Many docker apps pin ``\"branch\": \"release\"`` rather than ``main``. " +"Since the catalog validation requires the pinned ``commit`` to be " +"reachable from ``branch``, keeping a dedicated ``release`` branch lets " +"you continue developing on ``main`` while controlling exactly which " +"commits are eligible to be pinned: you merge into ``release`` only when " +"you intend to publish, and that merge commit is the one you pin." +msgstr "" + +#: ../../source/developers/apps/releases.rst:77 +msgid "" +"This is a convention, not a requirement — any branch works as long as the" +" pinned commit is reachable from it." +msgstr "" + +#: ../../source/developers/apps/releases.rst:81 +msgid "Manual release" +msgstr "" + +#: ../../source/developers/apps/releases.rst:83 +msgid "" +"Push the code you want to ship and note the commit SHA on your release " +"branch." +msgstr "" + +#: ../../source/developers/apps/releases.rst:85 +msgid "" +"Open a PR against ``apps.test.json`` changing the ``commit`` field of " +"your app's entry (and ``branch`` if it moved)." +msgstr "" + +#: ../../source/developers/apps/releases.rst:87 +msgid "" +"The ``Review helper`` bot posts a compare link showing exactly what " +"changed upstream between the old and new commit, with risk flags. A " +"maintainer reviews and merges; the change goes live on test.sepal.io." +msgstr "" + +#: ../../source/developers/apps/releases.rst:90 +msgid "" +"Promote to sepal.io with a second PR against ``apps.prod.json`` (or the " +"``Promote app to production`` workflow)." +msgstr "" + +#: ../../source/developers/apps/releases.rst:95 +msgid "" +"Validation requires the new commit to be an *ancestor of* (or equal to) " +"the branch tip — exactly what the app-launcher needs, since it runs ``git" +" fetch origin `` then ``git checkout --detach ``. You can" +" spot-check this before opening the PR:" +msgstr "" + +#: ../../source/developers/apps/releases.rst:106 +msgid "Automated release from your source repo" +msgstr "" + +#: ../../source/developers/apps/releases.rst:108 +msgid "" +"The catalog can bump a docker app automatically when your repository " +"publishes a GitHub release. The catalog's ``update-from-release.yml`` " +"workflow listens for a ``repository_dispatch`` event of type ``bump-" +"app``; on receipt it updates the app's ``commit`` in ``apps.test.json`` " +"and opens a pull request for a maintainer to review." +msgstr "" + +#: ../../source/developers/apps/releases.rst:114 +msgid "" +"To wire this up, add a workflow to your app's repository that sends the " +"dispatch on release. The snippet below is a starting point — adjust the " +"app ``id`` and the catalog repository to match your setup:" +msgstr "" + +#: ../../source/developers/apps/releases.rst:139 +msgid "" +"The token must have permission to dispatch to the catalog repository. The" +" bump only updates ``commit`` — never ``branch`` — and still goes through" +" the normal validation, risk-flag review, and maintainer merge before " +"reaching test." +msgstr "" + +#: ../../source/developers/apps/releases.rst:145 +msgid "" +"The exact ``client_payload`` fields the catalog expects may evolve. " +"Confirm against the catalog's ``update-from-release.yml`` and " +"``docs/ci.md`` before relying on this in production." +msgstr "" + +#: ../../source/developers/apps/releases.rst:151 +msgid "" +"The end-to-end lifecycle diagram lives on the section landing page — " +":ref:`developers_apps`." +msgstr "" + diff --git a/docs/source/_locale/en/LC_MESSAGES/developers/index.po b/docs/source/_locale/en/LC_MESSAGES/developers/index.po new file mode 100644 index 0000000000..4724f4d99d --- /dev/null +++ b/docs/source/_locale/en/LC_MESSAGES/developers/index.po @@ -0,0 +1,45 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: en\n" +"Language-Team: en \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/developers/index.rst:11 +msgid "Command-line tools" +msgstr "" + +#: ../../source/developers/index.rst:11 +msgid "Develop apps" +msgstr "" + +#: ../../source/developers/index.rst:4 +msgid "For developers" +msgstr "" + +#: ../../source/developers/index.rst:5 +msgid "*Tools, conventions and workflows for building on the SEPAL platform*" +msgstr "" + +#: ../../source/developers/index.rst:7 +msgid "" +"This section is for developers and trainers working on SEPAL rather than " +"just using it: scripting against the sandbox from the command line, " +"packaging environments for shared use, and publishing apps that other " +"users can run." +msgstr "" + diff --git a/docs/source/_locale/en/LC_MESSAGES/feature/index.po b/docs/source/_locale/en/LC_MESSAGES/feature/index.po index 9eadf80547..e3c04b30c7 100644 --- a/docs/source/_locale/en/LC_MESSAGES/feature/index.po +++ b/docs/source/_locale/en/LC_MESSAGES/feature/index.po @@ -8,14 +8,34 @@ msgid "" msgstr "" "Project-Id-Version: SEPAL \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-03-07 09:39+0100\n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.14.0\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/feature/index.rst:9 +msgid "Organize recipes" +msgstr "" + +#: ../../source/feature/index.rst:9 +msgid "AOI selection" +msgstr "" + +#: ../../source/feature/index.rst:9 +msgid "Optical bands" +msgstr "" + +#: ../../source/feature/index.rst:9 +msgid "Radar bands" +msgstr "" + +#: ../../source/feature/index.rst:9 +msgid "Visualization" +msgstr "" #: ../../source/feature/index.rst:2 msgid "Features" diff --git a/docs/source/_locale/en/LC_MESSAGES/feature/optical_bands.po b/docs/source/_locale/en/LC_MESSAGES/feature/optical_bands.po new file mode 100644 index 0000000000..5bbc09055c --- /dev/null +++ b/docs/source/_locale/en/LC_MESSAGES/feature/optical_bands.po @@ -0,0 +1,953 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: en\n" +"Language-Team: en \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/feature/optical_bands.rst:2 +msgid "Optical Satellite bands, transformations, and indices" +msgstr "" + +#: ../../source/feature/optical_bands.rst:4 +msgid "" +"When exporting an optical satellite image in SEPAL, you can choose from a" +" variety of bands, transformations, and indices to enhance your analysis " +"and visualization. Understanding the characteristics and applications of " +"different bands can help you optimize your image processing workflow and " +"extract valuable insights from satellite data." +msgstr "" + +#: ../../source/feature/optical_bands.rst:13 +msgid "Bands" +msgstr "" + +#: ../../source/feature/optical_bands.rst:15 +msgid "" +"Satellite imagery is composed of multiple bands, each capturing light in " +"specific wavelengths. Depending on the satellite sensor and mission, " +"SEPAL offers a range of bands that can be used for export and analysis." +msgstr "" + +#: ../../source/feature/optical_bands.rst:18 +msgid "Band" +msgstr "" + +#: ../../source/feature/optical_bands.rst:18 +msgid "Sentinel 2" +msgstr "" + +#: ../../source/feature/optical_bands.rst:18 +msgid "Landsat 9" +msgstr "" + +#: ../../source/feature/optical_bands.rst:18 +msgid "Landsat 8" +msgstr "" + +#: ../../source/feature/optical_bands.rst:18 +msgid "Landsat 7" +msgstr "" + +#: ../../source/feature/optical_bands.rst:18 +msgid "Landsat TM" +msgstr "" + +#: ../../source/feature/optical_bands.rst:20 +msgid "pan" +msgstr "" + +#: ../../source/feature/optical_bands.rst:20 +#: ../../source/feature/optical_bands.rst:22 +#: ../../source/feature/optical_bands.rst:32 +#: ../../source/feature/optical_bands.rst:34 +#: ../../source/feature/optical_bands.rst:36 +#: ../../source/feature/optical_bands.rst:38 +#: ../../source/feature/optical_bands.rst:44 +#: ../../source/feature/optical_bands.rst:46 +#: ../../source/feature/optical_bands.rst:48 +#: ../../source/feature/optical_bands.rst:50 +msgid "❌" +msgstr "" + +#: ../../source/feature/optical_bands.rst:20 +#: ../../source/feature/optical_bands.rst:22 +#: ../../source/feature/optical_bands.rst:24 +#: ../../source/feature/optical_bands.rst:26 +#: ../../source/feature/optical_bands.rst:28 +#: ../../source/feature/optical_bands.rst:30 +#: ../../source/feature/optical_bands.rst:32 +#: ../../source/feature/optical_bands.rst:34 +#: ../../source/feature/optical_bands.rst:36 +#: ../../source/feature/optical_bands.rst:38 +#: ../../source/feature/optical_bands.rst:40 +#: ../../source/feature/optical_bands.rst:42 +#: ../../source/feature/optical_bands.rst:44 +#: ../../source/feature/optical_bands.rst:46 +#: ../../source/feature/optical_bands.rst:48 +#: ../../source/feature/optical_bands.rst:50 +#: ../../source/feature/optical_bands.rst:52 +#: ../../source/feature/optical_bands.rst:54 +#: ../../source/feature/optical_bands.rst:56 +#: ../../source/feature/optical_bands.rst:58 +#: ../../source/feature/optical_bands.rst:60 +#: ../../source/feature/optical_bands.rst:62 +msgid "✅" +msgstr "" + +#: ../../source/feature/optical_bands.rst:22 +msgid "aerosol" +msgstr "" + +#: ../../source/feature/optical_bands.rst:24 +msgid "blue" +msgstr "" + +#: ../../source/feature/optical_bands.rst:26 +msgid "green" +msgstr "" + +#: ../../source/feature/optical_bands.rst:28 +msgid "red" +msgstr "" + +#: ../../source/feature/optical_bands.rst:30 +msgid "nir" +msgstr "" + +#: ../../source/feature/optical_bands.rst:32 +msgid "redEdge1" +msgstr "" + +#: ../../source/feature/optical_bands.rst:34 +msgid "redEdge2" +msgstr "" + +#: ../../source/feature/optical_bands.rst:36 +msgid "redEdge3" +msgstr "" + +#: ../../source/feature/optical_bands.rst:38 +msgid "redEdge4" +msgstr "" + +#: ../../source/feature/optical_bands.rst:40 +msgid "swir1" +msgstr "" + +#: ../../source/feature/optical_bands.rst:42 +msgid "swir2" +msgstr "" + +#: ../../source/feature/optical_bands.rst:44 +msgid "cirrus" +msgstr "" + +#: ../../source/feature/optical_bands.rst:46 +msgid "thermal" +msgstr "" + +#: ../../source/feature/optical_bands.rst:48 +msgid "thermal2" +msgstr "" + +#: ../../source/feature/optical_bands.rst:50 +msgid "waterVapor" +msgstr "" + +#: ../../source/feature/optical_bands.rst:52 +msgid "brightness" +msgstr "" + +#: ../../source/feature/optical_bands.rst:54 +msgid "greenness" +msgstr "" + +#: ../../source/feature/optical_bands.rst:56 +msgid "wetness" +msgstr "" + +#: ../../source/feature/optical_bands.rst:58 +msgid "fourth" +msgstr "" + +#: ../../source/feature/optical_bands.rst:60 +msgid "fifth" +msgstr "" + +#: ../../source/feature/optical_bands.rst:62 +msgid "sixth" +msgstr "" + +#: ../../source/feature/optical_bands.rst:66 +msgid "Description" +msgstr "" + +#: ../../source/feature/optical_bands.rst:68 +msgid "**Pan (Panchromatic)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:69 +msgid "" +"**Description**: Captures data in a single broad wavelength band, " +"offering higher spatial resolution." +msgstr "" + +#: ../../source/feature/optical_bands.rst:70 +#: ../../source/feature/optical_bands.rst:76 +#: ../../source/feature/optical_bands.rst:83 +#: ../../source/feature/optical_bands.rst:90 +#: ../../source/feature/optical_bands.rst:97 +#: ../../source/feature/optical_bands.rst:104 +#: ../../source/feature/optical_bands.rst:111 +#: ../../source/feature/optical_bands.rst:117 +#: ../../source/feature/optical_bands.rst:124 +#: ../../source/feature/optical_bands.rst:131 +#: ../../source/feature/optical_bands.rst:138 +#: ../../source/feature/optical_bands.rst:144 +msgid "**Wavelengths**:" +msgstr "" + +#: ../../source/feature/optical_bands.rst:71 +msgid "0.500-0.680 µm, only for Landsat." +msgstr "" + +#: ../../source/feature/optical_bands.rst:72 +msgid "**Usage**: High-resolution imaging for mapping and urban planning." +msgstr "" + +#: ../../source/feature/optical_bands.rst:74 +msgid "**Aerosol**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:75 +msgid "" +"**Description**: Used for detecting aerosols (tiny particles) in the " +"atmosphere, which can be crucial for air quality monitoring and climate " +"studies." +msgstr "" + +#: ../../source/feature/optical_bands.rst:77 +msgid "0.433-0.453 µm for Landsat 8 and 9." +msgstr "" + +#: ../../source/feature/optical_bands.rst:78 +msgid "0.443-0.463 µm for Sentinel-2." +msgstr "" + +#: ../../source/feature/optical_bands.rst:79 +msgid "**Usage**: Air pollution assessment, wildfire smoke tracking." +msgstr "" + +#: ../../source/feature/optical_bands.rst:81 +msgid "**Blue**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:82 +msgid "**Description**: Captures light in the blue wavelength." +msgstr "" + +#: ../../source/feature/optical_bands.rst:84 +msgid "0.450-0.510 µm for Landsat 8 and 9." +msgstr "" + +#: ../../source/feature/optical_bands.rst:85 +msgid "0.490-0.555 µm for Sentinel-2." +msgstr "" + +#: ../../source/feature/optical_bands.rst:86 +msgid "" +"**Usage**: Coastal water mapping, vegetation health monitoring, and " +"identification of shallow water bodies." +msgstr "" + +#: ../../source/feature/optical_bands.rst:88 +msgid "**Green**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:89 +msgid "**Description**: Captures light in the green wavelength." +msgstr "" + +#: ../../source/feature/optical_bands.rst:91 +msgid "0.530-0.590 µm for Landsat 8 and 9." +msgstr "" + +#: ../../source/feature/optical_bands.rst:92 +msgid "0.560-0.595 µm for Sentinel-2." +msgstr "" + +#: ../../source/feature/optical_bands.rst:93 +msgid "**Usage**: Mapping vegetation, water bodies, and urban areas." +msgstr "" + +#: ../../source/feature/optical_bands.rst:95 +msgid "**Red**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:96 +msgid "**Description**: Captures light in the red wavelength." +msgstr "" + +#: ../../source/feature/optical_bands.rst:98 +msgid "0.640-0.670 µm for Landsat 8 and 9." +msgstr "" + +#: ../../source/feature/optical_bands.rst:99 +msgid "0.665-0.695 µm for Sentinel-2." +msgstr "" + +#: ../../source/feature/optical_bands.rst:100 +msgid "" +"**Usage**: Vegetation analysis, especially in calculating vegetation " +"indices like NDVI." +msgstr "" + +#: ../../source/feature/optical_bands.rst:102 +msgid "**NIR (Near-Infrared)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:103 +msgid "**Description**: Captures light in the near-infrared spectrum." +msgstr "" + +#: ../../source/feature/optical_bands.rst:105 +msgid "0.850-0.880 µm for Landsat 8 and 9." +msgstr "" + +#: ../../source/feature/optical_bands.rst:106 +msgid "0.780-0.900 µm for Sentinel-2." +msgstr "" + +#: ../../source/feature/optical_bands.rst:107 +msgid "" +"**Usage**: Differentiating between vegetation and water, and monitoring " +"vegetation health." +msgstr "" + +#: ../../source/feature/optical_bands.rst:109 +msgid "**Red Edge (4)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:110 +msgid "" +"**Description**: 4 narrow Bands in the VNIR vegetation red edge spectral " +"domain: Red edge 1, Red edge 2, Red edge 3, Red edge 4, is a region of " +"the electromagnetic spectrum where the spectral reflectance of green " +"vegetation changes rapidly" +msgstr "" + +#: ../../source/feature/optical_bands.rst:112 +msgid "~704nm,~740nm, ~783nm and ~865nm, only for Sentinel-2." +msgstr "" + +#: ../../source/feature/optical_bands.rst:113 +msgid "" +"**Usage**: Detailed vegetation health monitoring, particularly for " +"precision agriculture." +msgstr "" + +#: ../../source/feature/optical_bands.rst:115 +msgid "**SWIR 1 (Shortwave Infrared 1)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:116 +#: ../../source/feature/optical_bands.rst:123 +msgid "**Description**: Captures light in the shortwave infrared spectrum." +msgstr "" + +#: ../../source/feature/optical_bands.rst:118 +msgid "1.570-1.650 µm for Landsat 8 and 9." +msgstr "" + +#: ../../source/feature/optical_bands.rst:119 +msgid "1.560-1.660 µm for Sentinel-2." +msgstr "" + +#: ../../source/feature/optical_bands.rst:120 +msgid "" +"**Usage**: Detecting moisture content in soil and vegetation, mapping " +"burned areas." +msgstr "" + +#: ../../source/feature/optical_bands.rst:122 +msgid "**SWIR 2 (Shortwave Infrared 2)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:125 +msgid "2.110-2.290 µm for Landsat 8 and 9." +msgstr "" + +#: ../../source/feature/optical_bands.rst:126 +msgid "2.100-2.280 µm for Sentinel-2." +msgstr "" + +#: ../../source/feature/optical_bands.rst:127 +msgid "" +"**Usage**: Distinguishing snow from clouds, mapping geological features, " +"and burn scars." +msgstr "" + +#: ../../source/feature/optical_bands.rst:129 +msgid "**Cirrus**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:130 +msgid "**Description**: A band designed to detect high-altitude cirrus clouds." +msgstr "" + +#: ../../source/feature/optical_bands.rst:132 +msgid "1.360-1.380 µm for Landsat 8 and 9." +msgstr "" + +#: ../../source/feature/optical_bands.rst:133 +msgid "1.360-1.390 µm for Sentinel-2." +msgstr "" + +#: ../../source/feature/optical_bands.rst:134 +msgid "" +"**Usage**: Cloud screening in high-altitude regions to improve " +"atmospheric correction." +msgstr "" + +#: ../../source/feature/optical_bands.rst:136 +msgid "**Thermal 1**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:137 +#: ../../source/feature/optical_bands.rst:143 +msgid "" +"**Description**: Measures thermal radiation emitted by the Earth's " +"surface." +msgstr "" + +#: ../../source/feature/optical_bands.rst:139 +msgid "10.60-11.19 µm for Landsat 8 and 9." +msgstr "" + +#: ../../source/feature/optical_bands.rst:140 +#: ../../source/feature/optical_bands.rst:146 +msgid "" +"**Usage**: Monitoring land surface temperature, detecting fires, and " +"assessing volcanic activity." +msgstr "" + +#: ../../source/feature/optical_bands.rst:142 +msgid "**Thermal 2**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:145 +msgid "11.50-12.51 µm for Landsat 8 and 9." +msgstr "" + +#: ../../source/feature/optical_bands.rst:148 +msgid "**Water Vapor**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:149 +msgid "" +"**Description**: Sensitive to atmospheric water vapor absorption, " +"commonly used for weather and climate studies." +msgstr "" + +#: ../../source/feature/optical_bands.rst:150 +msgid "**Usage**: Studying cloud formation, precipitation, and humidity levels." +msgstr "" + +#: ../../source/feature/optical_bands.rst:154 +msgid "Tasseled Cap Transformation" +msgstr "" + +#: ../../source/feature/optical_bands.rst:156 +msgid "" +"The Tasseled Cap Transformation is a method to transform satellite " +"imagery into three brightness components (Brightness, Greenness, and " +"Wetness) and three color components (Red, Green, and Blue). This " +"transformation is particularly useful for analyzing land cover changes, " +"vegetation health, and urban development over time." +msgstr "" + +#: ../../source/feature/optical_bands.rst:158 +msgid "**Brightness**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:159 +msgid "" +"**Description**: Measures the brightness band measures the overall " +"brightness of the image, specifically the soil." +msgstr "" + +#: ../../source/feature/optical_bands.rst:160 +msgid "" +"**Usage**: this band is often used to identify bare or partially covered " +"soil, man-made features, and natural features like asphalt, concrete, " +"gravel, and rock outcrops." +msgstr "" + +#: ../../source/feature/optical_bands.rst:162 +msgid "**Greenness**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:163 +msgid "" +"**Description**: Measures the density and health of vegetation by " +"capitalizing on the chlorophyll absorption in the red band and the high " +"reflectance in the near-infrared band. It enhances the contrast between " +"vegetated areas and non-vegetated areas." +msgstr "" + +#: ../../source/feature/optical_bands.rst:164 +msgid "" +"**Usage**: Widely used in assessing plant health, monitoring crop " +"conditions, tracking forest cover changes, and managing natural " +"resources." +msgstr "" + +#: ../../source/feature/optical_bands.rst:166 +msgid "**Wetness**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:167 +msgid "" +"**Description**: Captures moisture content in both soil and vegetation. " +"This band is sensitive to the moisture continuum from dry to wet " +"surfaces, helping to differentiate moist soils and saturated vegetation " +"from dry areas." +msgstr "" + +#: ../../source/feature/optical_bands.rst:168 +msgid "" +"**Usage**: Important for identifying wetlands, managing irrigation in " +"agriculture, detecting flood-prone areas, and conducting soil moisture " +"studies." +msgstr "" + +#: ../../source/feature/optical_bands.rst:170 +msgid "**Fourth Component**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:171 +msgid "" +"**Description**: Often calibrated to highlight additional properties of " +"vegetation or soil, such as senescence or specific soil types. The exact " +"nature of this band can vary depending on the coefficients and sensor " +"used." +msgstr "" + +#: ../../source/feature/optical_bands.rst:172 +msgid "" +"**Usage**: Can be used to differentiate between types of vegetation or " +"stages of crop maturity, and to detect stressed vegetation in forestry " +"and agriculture." +msgstr "" + +#: ../../source/feature/optical_bands.rst:174 +msgid "**Fifth Component**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:175 +msgid "" +"**Description**: Typically emphasizes land disturbance or variability in " +"land cover types, providing a finer distinction between different types " +"of ground cover and land use." +msgstr "" + +#: ../../source/feature/optical_bands.rst:176 +msgid "" +"**Usage**: Useful in monitoring land cover changes over time, detecting " +"disturbances like deforestation or urban expansion, and enhancing land " +"cover classification schemes." +msgstr "" + +#: ../../source/feature/optical_bands.rst:178 +msgid "**Sixth Component**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:179 +msgid "" +"**Description**: This band often captures more subtle or residual " +"information that the other bands do not emphasize. It can be less " +"directly interpretable and might be seen as highlighting noise or " +"anomalies in the data." +msgstr "" + +#: ../../source/feature/optical_bands.rst:180 +msgid "" +"**Usage**: Potentially useful for detecting subtle ecological changes, " +"analyzing noise in the data for improved image processing, and refining " +"classifications by providing additional context." +msgstr "" + +#: ../../source/feature/optical_bands.rst:184 +msgid "Vegetation Indices" +msgstr "" + +#: ../../source/feature/optical_bands.rst:186 +msgid "" +"Vegetation indices are mathematical transformations of satellite data " +"that highlight specific vegetation properties, such as chlorophyll " +"content, leaf area, or vegetation health. These indices are widely used " +"in agriculture, forestry, and environmental monitoring to assess plant " +"growth, detect stress, and monitor land cover changes." +msgstr "" + +#: ../../source/feature/optical_bands.rst:188 +msgid "**NDVI (Normalized Difference Vegetation Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:189 +msgid "" +"**Description**: Measures the density and health of vegetation by " +"calculating the difference between the near-infrared (NIR) and red light " +"reflected by vegetation. Healthy vegetation absorbs most of the visible " +"light and reflects a large portion of the NIR." +msgstr "" + +#: ../../source/feature/optical_bands.rst:190 +msgid "" +"**Usage**: Used to assess vegetation health, monitor drought, and manage " +"agricultural operations." +msgstr "" + +#: ../../source/feature/optical_bands.rst:191 +msgid "**Formula**: (NIR - Red) / (NIR + Red)" +msgstr "" + +#: ../../source/feature/optical_bands.rst:193 +msgid "**NDMI (Normalized Difference Moisture Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:194 +msgid "" +"**Description**: Highlights moisture content in vegetation by utilizing " +"the NIR and short-wave infrared (SWIR1) bands. It is sensitive to " +"moisture content in vegetation." +msgstr "" + +#: ../../source/feature/optical_bands.rst:195 +msgid "" +"**Usage**: Useful in monitoring vegetation hydration and managing " +"irrigation in agricultural contexts." +msgstr "" + +#: ../../source/feature/optical_bands.rst:196 +msgid "**Formula**: (NIR - SWIR1) / (NIR + SWIR1)" +msgstr "" + +#: ../../source/feature/optical_bands.rst:198 +msgid "**NDWI (Normalized Difference Water Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:199 +msgid "" +"**Description**: Designed to identify and monitor changes in water " +"content in vegetation, leveraging the green and NIR bands to maximize the" +" reflection differences." +msgstr "" + +#: ../../source/feature/optical_bands.rst:200 +msgid "" +"**Usage**: Employed in monitoring water stress in crops, detecting water " +"bodies, and managing wetland areas." +msgstr "" + +#: ../../source/feature/optical_bands.rst:201 +msgid "**Formula**: (Green - NIR) / (Green + NIR)" +msgstr "" + +#: ../../source/feature/optical_bands.rst:203 +msgid "**MNDWI (Modified Normalized Difference Water Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:204 +msgid "" +"**Description**: Enhances the detection of surface water by using the " +"green and SWIR1 bands, reducing the influence of built-up land that can " +"be confused with water in traditional NDWI." +msgstr "" + +#: ../../source/feature/optical_bands.rst:205 +msgid "" +"**Usage**: Used to map and monitor surface water bodies, crucial for " +"flood mapping and water resource management." +msgstr "" + +#: ../../source/feature/optical_bands.rst:206 +msgid "**Formula**: (Green - SWIR1) / (Green + SWIR1)" +msgstr "" + +#: ../../source/feature/optical_bands.rst:208 +msgid "**NDFI (Normalized Difference Fraction Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:209 +msgid "" +"**Description**: Typically used to distinguish between different types of" +" vegetation and non-vegetation elements, providing a measure of " +"vegetation cover fraction." +msgstr "" + +#: ../../source/feature/optical_bands.rst:210 +msgid "" +"**Usage**: Utilized in forest management and land cover classification " +"tasks." +msgstr "" + +#: ../../source/feature/optical_bands.rst:211 +msgid "**Formula**: Index-specific, varies based on application." +msgstr "" + +#: ../../source/feature/optical_bands.rst:213 +msgid "**EVI (Enhanced Vegetation Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:214 +msgid "" +"**Description**: Improves the NDVI by optimizing the vegetation signal " +"with improved sensitivity in high biomass regions and reducing background" +" and atmospheric noise." +msgstr "" + +#: ../../source/feature/optical_bands.rst:215 +msgid "" +"**Usage**: Frequently used in areas where vegetation monitoring requires " +"greater sensitivity to biomass." +msgstr "" + +#: ../../source/feature/optical_bands.rst:216 +msgid "**Formula**: 2.5 * (NIR - Red) / (NIR + 6 * Red - 7.5 * Blue + 1)" +msgstr "" + +#: ../../source/feature/optical_bands.rst:218 +msgid "**EVI2 (Enhanced Vegetation Index 2)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:219 +msgid "" +"**Description**: A refinement of EVI that uses only red and NIR bands, " +"designed for areas where blue band data may not be reliable." +msgstr "" + +#: ../../source/feature/optical_bands.rst:220 +msgid "" +"**Usage**: Ideal for vegetation monitoring through dense atmosphere or " +"where the blue band is unavailable." +msgstr "" + +#: ../../source/feature/optical_bands.rst:221 +msgid "**Formula**: 2.5 * (NIR - Red) / (NIR + 2.4 * Red + 1)" +msgstr "" + +#: ../../source/feature/optical_bands.rst:223 +msgid "**SAVI (Soil-Adjusted Vegetation Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:224 +msgid "" +"**Description**: Adjusts the NDVI for the influence of soil brightness, " +"particularly useful in areas with sparse vegetation where soil is " +"visible." +msgstr "" + +#: ../../source/feature/optical_bands.rst:225 +msgid "" +"**Usage**: Applied in semi-arid regions to improve the accuracy of " +"vegetation assessments." +msgstr "" + +#: ../../source/feature/optical_bands.rst:226 +msgid "**Formula**: (1.5 * (NIR - Red) / (NIR + Red + 0.5))" +msgstr "" + +#: ../../source/feature/optical_bands.rst:228 +msgid "**NBR (Normalized Burn Ratio)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:229 +msgid "" +"**Description**: Utilizes NIR and SWIR2 bands to assess the severity of " +"burn damage and the delineation of burned areas." +msgstr "" + +#: ../../source/feature/optical_bands.rst:230 +msgid "" +"**Usage**: Key for assessing post-fire recovery in forested areas and " +"mapping burn severity." +msgstr "" + +#: ../../source/feature/optical_bands.rst:231 +msgid "**Formula**: (NIR - SWIR2) / (NIR + SWIR2)" +msgstr "" + +#: ../../source/feature/optical_bands.rst:233 +msgid "**MVI (Mangrove Vegetation Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:234 +msgid "" +"**Description**: Specifically designed to enhance the detection and " +"monitoring of mangrove forests by using NIR and green bands." +msgstr "" + +#: ../../source/feature/optical_bands.rst:235 +msgid "" +"**Usage**: Used in coastal management and conservation of mangrove " +"ecosystems." +msgstr "" + +#: ../../source/feature/optical_bands.rst:236 +msgid "**Formula**: 0.1 * (NIR - Green) / abs(SWIR1 - Green)" +msgstr "" + +#: ../../source/feature/optical_bands.rst:238 +msgid "**UI (Urban Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:239 +msgid "" +"**Description**: Highlights urban areas by exploiting the differences in " +"reflection between SWIR2 and NIR bands." +msgstr "" + +#: ../../source/feature/optical_bands.rst:240 +msgid "" +"**Usage**: Useful for urban mapping and monitoring changes in urban land " +"use." +msgstr "" + +#: ../../source/feature/optical_bands.rst:241 +msgid "**Formula**: (SWIR2 - NIR) / (SWIR2 + NIR)" +msgstr "" + +#: ../../source/feature/optical_bands.rst:243 +msgid "**NDBI (Normalized Difference Built-up Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:244 +msgid "" +"**Description**: Differentiates urban and built-up areas from natural " +"land cover by using NIR and SWIR1 bands." +msgstr "" + +#: ../../source/feature/optical_bands.rst:245 +msgid "**Usage**: Employed in urban planning and studying urban heat islands." +msgstr "" + +#: ../../source/feature/optical_bands.rst:246 +msgid "**Formula**: (SWIR1 - NIR) / (SWIR1 + NIR)" +msgstr "" + +#: ../../source/feature/optical_bands.rst:248 +msgid "**IBI (Index-based Built-up Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:249 +msgid "" +"**Description**: Combines NDBI with SAVI and MNDWI to provide a more " +"comprehensive measure of built-up areas." +msgstr "" + +#: ../../source/feature/optical_bands.rst:250 +msgid "**Usage**: Useful in detailed urban analysis and land use classification." +msgstr "" + +#: ../../source/feature/optical_bands.rst:251 +msgid "**Formula**: (NDBI - (SAVI + MNDWI) / 2) / (NDBI + (SAVI + MNDWI) / 2)" +msgstr "" + +#: ../../source/feature/optical_bands.rst:253 +msgid "**NBI (New Built-up Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:254 +msgid "" +"**Description**: Employs red, NIR, and SWIR1 bands to enhance the " +"detection of built-up areas." +msgstr "" + +#: ../../source/feature/optical_bands.rst:255 +msgid "**Usage**: Applied in urban growth monitoring and land use planning." +msgstr "" + +#: ../../source/feature/optical_bands.rst:256 +msgid "**Formula**: Red * SWIR1 / NIR" +msgstr "" + +#: ../../source/feature/optical_bands.rst:258 +msgid "**EBBI (Enhanced Built-Up and Bareness Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:259 +msgid "" +"**Description**: Focuses on urban areas and bare land by incorporating " +"thermal and SWIR1 bands to detect built-up regions." +msgstr "" + +#: ../../source/feature/optical_bands.rst:260 +msgid "" +"**Usage**: Crucial for urban mapping and identifying heat-stressed areas " +"in cities." +msgstr "" + +#: ../../source/feature/optical_bands.rst:261 +msgid "**Formula**: (SWIR1 - NIR) / (10 * sqrt(SWIR1 + Thermal))" +msgstr "" + +#: ../../source/feature/optical_bands.rst:263 +msgid "**BUI (Built-Up Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:264 +msgid "" +"**Description**: Combines multiple SWIR bands to enhance the detection " +"and differentiation of built-up areas." +msgstr "" + +#: ../../source/feature/optical_bands.rst:265 +msgid "" +"**Usage**: Employed in urban and regional planning to delineate built-up " +"from natural areas." +msgstr "" + +#: ../../source/feature/optical_bands.rst:266 +msgid "" +"**Formula**: (Red - SWIR1) / (Red + SWIR1) + (SWIR2 - SWIR1) / (SWIR2 + " +"SWIR1)" +msgstr "" + +#: ../../source/feature/optical_bands.rst:268 +msgid "**KNDVI (Kernel Normalized Difference Vegetation Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:269 +msgid "" +"**Description**: Applies a kernel function to traditional NDVI to improve" +" sensitivity and accuracy in vegetation monitoring." +msgstr "" + +#: ../../source/feature/optical_bands.rst:270 +msgid "" +"**Usage**: Used in precision agriculture and detailed vegetation studies " +"where standard NDVI is not sufficient." +msgstr "" + +#: ../../source/feature/optical_bands.rst:271 +msgid "" +"**Formula**: Kernel-function applied to NDVI, specific implementation " +"details vary." +msgstr "" + diff --git a/docs/source/_locale/en/LC_MESSAGES/feature/project.po b/docs/source/_locale/en/LC_MESSAGES/feature/project.po index cab94c9b88..67ea6f46ee 100644 --- a/docs/source/_locale/en/LC_MESSAGES/feature/project.po +++ b/docs/source/_locale/en/LC_MESSAGES/feature/project.po @@ -8,17 +8,17 @@ msgid "" msgstr "" "Project-Id-Version: SEPAL \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-03-07 09:39+0100\n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.14.0\n" +"Generated-By: Babel 2.18.0\n" #: ../../source/feature/project.rst:2 -msgid "Recipe projects" +msgid "Organize Recipes by projects" msgstr "" #: ../../source/feature/project.rst:4 @@ -542,3 +542,6 @@ msgstr "" #~ " (see following figure on right)." #~ msgstr "" +#~ msgid "Recipe projects" +#~ msgstr "" + diff --git a/docs/source/_locale/en/LC_MESSAGES/feature/radar_bands.po b/docs/source/_locale/en/LC_MESSAGES/feature/radar_bands.po new file mode 100644 index 0000000000..2e72c2b306 --- /dev/null +++ b/docs/source/_locale/en/LC_MESSAGES/feature/radar_bands.po @@ -0,0 +1,121 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: en\n" +"Language-Team: en \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/feature/radar_bands.rst:2 +msgid "Sentinel-1 Radar Bands" +msgstr "" + +#: ../../source/feature/radar_bands.rst:4 +msgid "" +"When exporting a radar mosaic from the SEPAL platform, the following " +"radar band metrics are available for analysis:" +msgstr "" + +#: ../../source/feature/radar_bands.rst:13 +msgid "Basic Radar Metrics (VV and VH Polarizations)" +msgstr "" + +#: ../../source/feature/radar_bands.rst:15 +msgid "**Metrics Included**:" +msgstr "" + +#: ../../source/feature/radar_bands.rst:16 +msgid "" +"*VV_min, VV_max, VV_mean, VV_std, VV_med*: Statistics of the VV " +"polarization signal, covering minimum, maximum, mean, standard deviation," +" and median." +msgstr "" + +#: ../../source/feature/radar_bands.rst:17 +msgid "" +"*VH_min, VH_max, VH_mean, VH_std, VH_med*: Similar statistics for the VH " +"polarization." +msgstr "" + +#: ../../source/feature/radar_bands.rst:18 +msgid "" +"*ratio_VV_med_VH_med*: The ratio of the median values of VV to VH " +"polarizations, indicating surface roughness and moisture." +msgstr "" + +#: ../../source/feature/radar_bands.rst:19 +msgid "" +"*VV_cv, VH_cv*: Coefficient of variation for VV and VH, showing the " +"variability relative to the mean." +msgstr "" + +#: ../../source/feature/radar_bands.rst:20 +msgid "" +"*NDCV (Normalized Difference Coefficient of Variation)*: A normalized " +"measure that highlights differences in texture or moisture content " +"between VV and VH returns." +msgstr "" + +#: ../../source/feature/radar_bands.rst:21 +msgid "" +"*orbit*: The orbit direction (ascending or descending), which can affect " +"the radar's observation angle and thus the backscatter properties." +msgstr "" + +#: ../../source/feature/radar_bands.rst:23 +msgid "" +"**Description**: These metrics are essential for analyzing surface " +"features, moisture content, vegetation, and other land cover " +"characteristics using radar backscatter properties." +msgstr "" + +#: ../../source/feature/radar_bands.rst:24 +msgid "" +"**Usage**: Widely used in agricultural monitoring, flood mapping, forest " +"monitoring, and urban expansion studies." +msgstr "" + +#: ../../source/feature/radar_bands.rst:27 +msgid "Harmonic Analysis Metrics (Conditional on Data Availability)" +msgstr "" + +#: ../../source/feature/radar_bands.rst:29 +msgid "**Metrics Included** (Only if harmonic dependents are available):" +msgstr "" + +#: ../../source/feature/radar_bands.rst:30 +msgid "" +"*VV_phase, VV_amp, VV_res*: Phase, amplitude, and residuals of the VV " +"signal following harmonic analysis." +msgstr "" + +#: ../../source/feature/radar_bands.rst:31 +msgid "*VH_phase, VH_amp, VH_res*: Similar metrics for the VH signal." +msgstr "" + +#: ../../source/feature/radar_bands.rst:32 +msgid "" +"**Description**: Harmonic analysis metrics help in understanding seasonal" +" variations and temporal patterns in the radar signal, useful for long-" +"term monitoring." +msgstr "" + +#: ../../source/feature/radar_bands.rst:33 +msgid "" +"**Usage**: Ideal for studying seasonal changes in vegetation, detecting " +"changes in water bodies over time, and monitoring environmental changes." +msgstr "" + diff --git a/docs/source/_locale/en/LC_MESSAGES/feature/visualization.po b/docs/source/_locale/en/LC_MESSAGES/feature/visualization.po new file mode 100644 index 0000000000..56ec111cf3 --- /dev/null +++ b/docs/source/_locale/en/LC_MESSAGES/feature/visualization.po @@ -0,0 +1,161 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: en\n" +"Language-Team: en \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/feature/visualization.rst:2 +msgid "Visualization in SEPAL" +msgstr "" + +#: ../../source/feature/visualization.rst:4 +msgid "**Natural color: red, green, blue**" +msgstr "" + +#: ../../source/feature/visualization.rst:5 +msgid "" +"**Description**: Represents the true color of the terrain as human eyes " +"would see it, using the red, green, and blue bands." +msgstr "" + +#: ../../source/feature/visualization.rst:6 +msgid "" +"**Usage**: Used for general mapping and visual inspections where true " +"color representation is necessary." +msgstr "" + +#: ../../source/feature/visualization.rst:8 +msgid "**False color: nir, red, green**" +msgstr "" + +#: ../../source/feature/visualization.rst:9 +msgid "" +"**Description**: Uses near-infrared, red, and green bands. Vegetation " +"appears red due to the high reflection of NIR by healthy vegetation, " +"helpful for distinguishing vegetative areas." +msgstr "" + +#: ../../source/feature/visualization.rst:10 +msgid "" +"**Usage**: Commonly used in vegetation studies to easily distinguish live" +" green vegetation, which reflects NIR strongly." +msgstr "" + +#: ../../source/feature/visualization.rst:12 +msgid "**False color: nir, swir1, red**" +msgstr "" + +#: ../../source/feature/visualization.rst:13 +msgid "" +"**Description**: Combines near-infrared, short-wave infrared, and red " +"bands. This combination is effective in highlighting vegetation and " +"differentiating moisture levels and geological features." +msgstr "" + +#: ../../source/feature/visualization.rst:14 +msgid "" +"**Usage**: Useful in geological mapping, vegetation health assessment, " +"and moisture content analysis." +msgstr "" + +#: ../../source/feature/visualization.rst:16 +msgid "**False color: swir2, nir, red**" +msgstr "" + +#: ../../source/feature/visualization.rst:17 +msgid "" +"**Description**: Utilizes short-wave infrared, near-infrared, and red " +"bands. It enhances the differentiation between mineral types and can " +"indicate burn severity in post-fire assessments." +msgstr "" + +#: ../../source/feature/visualization.rst:18 +msgid "" +"**Usage**: Often used in mineralogical mapping, soil and rock " +"differentiation, and detecting burned areas." +msgstr "" + +#: ../../source/feature/visualization.rst:20 +msgid "**False color: swir2, swir1, red**" +msgstr "" + +#: ../../source/feature/visualization.rst:21 +msgid "" +"**Description**: Involves short-wave infrared bands and red band. This " +"setup enhances geological features and is sensitive to water content and " +"urban areas." +msgstr "" + +#: ../../source/feature/visualization.rst:22 +msgid "" +"**Usage**: Ideal for enhanced geological mapping, urban sprawl studies, " +"and discriminating between different water bodies." +msgstr "" + +#: ../../source/feature/visualization.rst:24 +msgid "**False color: swir2, nir, green**" +msgstr "" + +#: ../../source/feature/visualization.rst:25 +msgid "" +"**Description**: Features short-wave infrared, near-infrared, and green " +"bands. This visualization aids in the analysis of vegetation health and " +"soil/water interactions." +msgstr "" + +#: ../../source/feature/visualization.rst:26 +msgid "" +"**Usage**: Useful for detailed vegetation health monitoring and " +"differentiating water stress in plants." +msgstr "" + +#: ../../source/feature/visualization.rst:28 +msgid "**Tasseled cap: brightness, greenness, wetness**" +msgstr "" + +#: ../../source/feature/visualization.rst:29 +msgid "" +"**Description**: Applies the Tasseled Cap transformation to highlight " +"physical properties of the land surface such as brightness " +"(reflectivity), greenness (vegetation), and wetness (moisture content)." +msgstr "" + +#: ../../source/feature/visualization.rst:30 +msgid "" +"**Usage**: Extensively used in environmental monitoring, land cover " +"classification, and assessing vegetation and water content dynamics." +msgstr "" + +#: ../../source/feature/visualization.rst:32 +msgid "**Tasseled cap: fifth, sixth, fourth**" +msgstr "" + +#: ../../source/feature/visualization.rst:33 +msgid "" +"**Description**: Another Tasseled Cap visualization focusing on the " +"additional components that might reflect other surface properties not " +"captured by the primary three bands." +msgstr "" + +#: ../../source/feature/visualization.rst:34 +msgid "" +"**Usage**: Useful for specialized studies in vegetation dynamics, soil " +"properties, and other environmental monitoring where standard Tasseled " +"Cap indices might need supplementation." +msgstr "" + diff --git a/docs/source/_locale/en/LC_MESSAGES/index.po b/docs/source/_locale/en/LC_MESSAGES/index.po index bac08e5790..5914d38e2b 100644 --- a/docs/source/_locale/en/LC_MESSAGES/index.po +++ b/docs/source/_locale/en/LC_MESSAGES/index.po @@ -8,16 +8,16 @@ msgid "" msgstr "" "Project-Id-Version: SEPAL \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-03-07 09:39+0100\n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.14.0\n" +"Generated-By: Babel 2.18.0\n" -#: ../../source/index.rst:20 ../../source/index.rst:54 +#: ../../source/index.rst:20 ../../source/index.rst:55 msgid "Getting started" msgstr "" @@ -30,15 +30,19 @@ msgid "Modules" msgstr "" #: ../../source/index.rst:20 -msgid "CLI" +msgid "Workflows" msgstr "" #: ../../source/index.rst:20 -msgid "Workflows" +msgid "Features" msgstr "" #: ../../source/index.rst:20 -msgid "Features" +msgid "Troubleshooting" +msgstr "" + +#: ../../source/index.rst:20 +msgid "Developers" msgstr "" #: ../../source/index.rst:20 @@ -49,7 +53,7 @@ msgstr "" msgid "Documentation" msgstr "" -#: ../../source/index.rst:36 +#: ../../source/index.rst:37 msgid "" "The System for Earth Observation Data Access, Processing and Analysis for" " Land Monitoring (**SEPAL**) is an open-source project and platform " @@ -58,136 +62,136 @@ msgid "" "observation data – without the need of coding knowledge." msgstr "" -#: ../../source/index.rst:47 +#: ../../source/index.rst:48 msgid "Learn how to use the platform with SEPAL documentation" msgstr "" -#: ../../source/index.rst:49 +#: ../../source/index.rst:50 msgid "" "The SEPAL team developed this GitHub page to help users get the most out " "of the interface." msgstr "" -#: ../../source/index.rst:59 +#: ../../source/index.rst:60 msgid "Register to SEPAL" msgstr "" -#: ../../source/index.rst:62 +#: ../../source/index.rst:63 msgid "Set up your SEPAL account and request additional resources." msgstr "" -#: ../../source/index.rst:64 +#: ../../source/index.rst:65 msgid "Connect to GEE" msgstr "" -#: ../../source/index.rst:67 +#: ../../source/index.rst:68 msgid "Register with Google Earth Engine (GEE) and connect your account to SEPAL." msgstr "" -#: ../../source/index.rst:69 +#: ../../source/index.rst:70 msgid "Connect to NICFI–PlanetLab imagery" msgstr "" -#: ../../source/index.rst:72 +#: ../../source/index.rst:73 msgid "" "Sign up to use Norway’s International Climate and Forests Initiative " "(NICFI) – PlanetLab data and connect your account to GEE." msgstr "" -#: ../../source/index.rst:77 +#: ../../source/index.rst:78 msgid "Recipes and modules" msgstr "" -#: ../../source/index.rst:82 +#: ../../source/index.rst:83 msgid "Start a recipe" msgstr "" -#: ../../source/index.rst:85 +#: ../../source/index.rst:86 msgid "Run analysis with recipes – the foundation of SEPAL processes." msgstr "" -#: ../../source/index.rst:87 +#: ../../source/index.rst:88 msgid "Start a module" msgstr "" -#: ../../source/index.rst:90 +#: ../../source/index.rst:91 msgid "" "Run integrated workflows with modules – no need of coding experience " "required." msgstr "" -#: ../../source/index.rst:92 +#: ../../source/index.rst:93 msgid "Use the se.plan module" msgstr "" -#: ../../source/index.rst:95 +#: ../../source/index.rst:96 msgid "" "Compute your restoration index with se.plan, a spatially explicit online " "tool designed to support forest restoration planning decisions by " "restoration stakeholders." msgstr "" -#: ../../source/index.rst:100 +#: ../../source/index.rst:101 msgid "Other resources" msgstr "" -#: ../../source/index.rst:105 +#: ../../source/index.rst:106 msgid "SEPAL website" msgstr "" -#: ../../source/index.rst:108 +#: ../../source/index.rst:109 msgid "Discover the impact of the project." msgstr "" -#: ../../source/index.rst:110 +#: ../../source/index.rst:111 msgid "SEPAL platform" msgstr "" -#: ../../source/index.rst:113 +#: ../../source/index.rst:114 msgid "Learn more about the interface." msgstr "" -#: ../../source/index.rst:115 +#: ../../source/index.rst:116 msgid "Open Foris" msgstr "" -#: ../../source/index.rst:118 +#: ../../source/index.rst:119 msgid "Browse the Suite of Tools." msgstr "" -#: ../../source/index.rst:123 +#: ../../source/index.rst:124 msgid "SEPAL is always improving" msgstr "" -#: ../../source/index.rst:125 +#: ../../source/index.rst:126 msgid "" "Encounter a problem? See an issue? Need help? Help our team members " "enhance user experience by improving the platform and its documentation." msgstr "" -#: ../../source/index.rst:132 +#: ../../source/index.rst:133 msgid "For general support, ask the Google Group community" msgstr "" -#: ../../source/index.rst:135 +#: ../../source/index.rst:136 msgid "For documentation improvement, use the GitHub Issue Tracker" msgstr "" -#: ../../source/index.rst:138 +#: ../../source/index.rst:139 msgid "For usage questions, ask the GIS StackExchange community" msgstr "" -#: ../../source/index.rst:141 +#: ../../source/index.rst:142 msgid "" "For training, register for the SEPAL Forest and Land Monitoring for " "Climate Action e-learning course" msgstr "" -#: ../../source/index.rst:147 +#: ../../source/index.rst:148 msgid "About the platform" msgstr "" -#: ../../source/index.rst:149 +#: ../../source/index.rst:150 msgid "" "SEPAL is part of the `Open Foris `__ Suite of " "Tools. The platform allows users to query and process satellite data " @@ -199,7 +203,7 @@ msgid "" "data from Europe’s Copernicus programme." msgstr "" -#: ../../source/index.rst:151 +#: ../../source/index.rst:152 msgid "" "SEPAL is a cloud computing-based platform for autonomous land monitoring " "using remotely sensed data. It is a combination of GEE and open-source " @@ -210,11 +214,11 @@ msgid "" "efficiently for conducting advanced analyses." msgstr "" -#: ../../source/index.rst:156 +#: ../../source/index.rst:157 msgid "Supporting institutions" msgstr "" -#: ../../source/index.rst:158 +#: ../../source/index.rst:159 msgid "" "SEPAL is a project funded by the Government of Norway from the Forestry " "Department of the Food and Agriculture Organization of the United Nations" @@ -513,3 +517,6 @@ msgstr "" #~ "for creating advanced analyses." #~ msgstr "" +#~ msgid "CLI" +#~ msgstr "" + diff --git a/docs/source/_locale/en/LC_MESSAGES/troubleshooting/fix_venvs.po b/docs/source/_locale/en/LC_MESSAGES/troubleshooting/fix_venvs.po new file mode 100644 index 0000000000..1f4eae3f6a --- /dev/null +++ b/docs/source/_locale/en/LC_MESSAGES/troubleshooting/fix_venvs.po @@ -0,0 +1,381 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: en\n" +"Language-Team: en \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/troubleshooting/fix_venvs.rst:4 +msgid "Recovering broken Python environments" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:6 +msgid "" +"On 5 March 2026, SEPAL sandboxes upgraded from Ubuntu Jammy to Ubuntu " +"Noble. As part of this upgrade, the system Python changed from version " +"3.10 to 3.12. This was a deliberate and necessary change: Python 3.10 " +"reaches end of life in October 2026, meaning it will no longer receive " +"security patches, and an increasing number of libraries are dropping " +"support for it and requiring Python 3.11 or newer. Staying on 3.10 would " +"eventually mean being locked out of updated packages and exposed to " +"unpatched security issues." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:8 +msgid "" +"If you created Python virtual environments using ``python -m venv`` on " +"SEPAL before this upgrade, those environments are now broken. This page " +"explains why, and how to recover." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:12 +msgid "" +"This only affects environments created with ``python -m venv``. " +"Environments created with :guilabel:`uv` or :guilabel:`micromamba` are " +"not affected." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:14 +msgid "" +"See :ref:`env_management` for full guidance on using :guilabel:`uv` and " +":guilabel:`micromamba` — better alternatives that will not break when " +"SEPAL upgrades Python in the future." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:18 +msgid "" +"Python 3.10 reaches end of life on 4 October 2026. Rather than putting " +"effort into restoring environments on the old version, consider migrating" +" to Python 3.12 at the same time." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:23 +msgid "Why venvs break after a Python upgrade" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:25 +msgid "" +"A venv is not a fully self-contained copy of Python. It is a lightweight " +"directory structure that relies on the system Python being present at a " +"specific path. When you run ``python -m venv myenv``, it records the " +"exact path to the Python binary (e.g. ``/usr/bin/python3.10``) and " +"creates symbolic links inside the environment's ``bin/`` directory " +"pointing back to it. Installed packages land in a versioned subdirectory," +" for example ``lib/python3.10/site-packages/``." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:27 +msgid "" +"When the system Python changes from 3.10 to 3.12, two things go wrong " +"simultaneously:" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:29 +msgid "" +"The symlinks inside ``bin/`` now point to a Python binary that no longer " +"exists at the recorded path, so the environment cannot start correctly." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:30 +msgid "" +"Any packages with compiled C extensions (numpy, scipy, cryptography, " +"etc.) were built against the Python 3.10 ABI. Python 3.12 has a different" +" ABI, so those compiled ``.so`` files are no longer valid and will crash " +"or fail to load." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:32 +msgid "" +"The package files themselves — the pure Python code and the package " +"metadata — are still intact on disk. Only the wiring is broken, which is " +"why it is possible to extract a list of what was installed without " +"activating the environment." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:37 +msgid "Why Jupyter kernels disappear" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:39 +msgid "" +"When you register a venv as a Jupyter kernel using ``ipykernel``, Jupyter" +" saves a small ``kernel.json`` file under " +"``~/.local/share/jupyter/kernels//``. This file contains the " +"absolute path to the Python binary inside the environment." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:41 +msgid "" +"After the upgrade, Jupyter still finds the ``kernel.json`` file and may " +"still show the kernel in the launcher — but when you try to start it, it " +"attempts to launch the Python binary at the recorded path. Because that " +"binary no longer works, the kernel either fails to start or starts and " +"immediately crashes, which JupyterLab reports as the kernel repeatedly " +"dying." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:43 +msgid "" +"In some cases the kernel disappears from the launcher entirely. In others" +" it appears but cannot be used. Either way, notebooks that relied on it " +"cannot run." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:48 +msgid "Symptoms of a broken environment" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:50 +msgid "You may see any of the following:" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:52 +msgid "" +"A Jupyter kernel that was previously available has disappeared from the " +"launcher, or starts and immediately dies" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:53 +msgid "``ModuleNotFoundError: No module named 'pip'`` when running pip commands" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:54 +msgid "Packages that were previously installed fail to import" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:55 +msgid "Compiled packages (numpy, scipy, etc.) segfault or raise ``ImportError``" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:56 +msgid "" +"``python --version`` inside the activated environment shows 3.12 even " +"though it was created with 3.10" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:58 +msgid "" +"All of these have the same root cause: the environment's internal " +"symlinks and compiled extensions were built against Python 3.10 and are " +"no longer valid." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:63 +msgid "Recovery" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:68 +msgid "Extract your requirements" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:70 +msgid "" +"You cannot activate the broken environment, but the package metadata is " +"still readable on disk. SEPAL provides a script that extracts the list of" +" installed packages from a broken environment. Run it from the terminal:" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:76 +msgid "" +"This scans the package metadata inside the broken environment and writes " +"a ``requirements.txt`` with pinned versions. Verify the output:" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:85 +msgid "Recreate the environment with uv" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:87 +msgid "" +":guilabel:`uv` is a fast, modern Python package manager already installed" +" on SEPAL. Unlike venv, it manages its own Python versions independently " +"of the system, so future upgrades will not break your environments." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:91 +msgid "" +"See :ref:`env_management` for full guidance on :guilabel:`uv` and other " +"environment tools available on SEPAL." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:93 +msgid "You have two options:" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:98 +msgid "Option A — Recreate on Python 3.10" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:100 +msgid "" +"*Fewer compatibility issues — use this if you need to get back up and " +"running quickly and cannot yet deal with package compatibility on 3.12.*" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:110 +msgid "" +"The ``requirements.txt`` referenced here is the file you extracted in the" +" previous step." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:115 +msgid "Option B — Migrate to Python 3.12" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:117 +msgid "" +"*Better long-term choice — most pure-Python packages work on 3.12 without" +" any changes.*" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:127 +msgid "" +"The ``requirements.txt`` referenced here is the file you extracted in the" +" first step." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:132 +msgid "Handling package version conflicts (Option B)" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:134 +msgid "" +"When migrating to Python 3.12, the ``requirements.txt`` from the first " +"step contains fully pinned versions (e.g. ``numpy==1.23.4``). Some of " +"these may not have wheels available for Python 3.12. If installation " +"fails, try removing the version pins:" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:142 +msgid "" +"The following packages are known to cause issues when moving from 3.10 to" +" 3.12:" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:148 +msgid "Package" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:149 +msgid "Issue" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:150 +msgid "Fix" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:151 +msgid "``numpy < 1.24``" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:152 +#: ../../source/troubleshooting/fix_venvs.rst:155 +msgid "No Python 3.12 wheels available" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:153 +msgid "Unpin: ``numpy``" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:154 +msgid "``scipy < 1.11``" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:156 +msgid "Unpin: ``scipy``" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:157 +msgid "Packages using ``distutils``" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:158 +msgid "``distutils`` was removed in Python 3.12" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:159 +msgid "Upgrade or replace the package" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:160 +msgid "Old Cython extensions" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:161 +msgid "ABI mismatch, segfaults at import" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:162 +msgid "``uv pip install --force-reinstall ``" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:163 +msgid "``cryptography`` (old versions)" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:164 +msgid "Needs a recent version for the 3.12 ABI" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:165 +msgid "Unpin: ``cryptography``" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:170 +msgid "Re-register your Jupyter kernel" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:172 +msgid "" +"JupyterLab discovers environments through kernel specifications — small " +"JSON files that point to a specific Python binary. When you recreate an " +"environment, the old kernel specification still points to the broken " +"binary, so JupyterLab cannot find or use the new environment. You need to" +" remove the old specification and register a new one." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:174 +msgid "First, list existing kernels and remove the broken one:" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:184 +msgid "Then register the new environment as a kernel:" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:192 +msgid "" +"After restarting JupyterLab, the new kernel will appear in the launcher " +"and notebooks that reference it by name will work again." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:197 +msgid "Going forward" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:199 +msgid "" +"To avoid this problem in the future, stop using venv. :guilabel:`uv` " +"manages Python versions independently of the system and will not break " +"when SEPAL upgrades Python." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:201 +msgid "" +"See :ref:`env_management` for full guidance on creating and managing " +"environments, including how to add Jupyter kernels." +msgstr "" + diff --git a/docs/source/_locale/en/LC_MESSAGES/troubleshooting/index.po b/docs/source/_locale/en/LC_MESSAGES/troubleshooting/index.po new file mode 100644 index 0000000000..6e4cf1edc7 --- /dev/null +++ b/docs/source/_locale/en/LC_MESSAGES/troubleshooting/index.po @@ -0,0 +1,42 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: en\n" +"Language-Team: en \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/troubleshooting/index.rst:7 +msgid "Recovering broken Python environments" +msgstr "" + +#: ../../source/troubleshooting/index.rst:2 +msgid "Troubleshooting" +msgstr "" + +#: ../../source/troubleshooting/index.rst:3 +msgid "*Solve common issues on the SEPAL platform*" +msgstr "" + +#: ../../source/troubleshooting/index.rst:5 +msgid "" +"This section covers known issues and step-by-step solutions for problems " +"you may encounter while using SEPAL. If your issue is not listed here, " +"ask the `Google Group community `__ or report it on the `GitHub Issue Tracker " +"`__." +msgstr "" + diff --git a/docs/source/_locale/en/LC_MESSAGES/workflows/mangrove_mapping.po b/docs/source/_locale/en/LC_MESSAGES/workflows/mangrove_mapping.po new file mode 100644 index 0000000000..0919c7c4f7 --- /dev/null +++ b/docs/source/_locale/en/LC_MESSAGES/workflows/mangrove_mapping.po @@ -0,0 +1,1850 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: en\n" +"Language-Team: en \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/workflows/mangrove_mapping.rst:4 +msgid "Mangrove mapping with SEPAL" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:6 +msgid "" +"This article describes a complete workflow for mapping mangroves using " +"SEPAL — FAO's free, open-source, web-based cloud platform for satellite " +"data analysis. The approach combines multi-sensor satellite data, global " +"mangrove reference datasets, and machine learning classification to " +"produce locally relevant mangrove maps and detect change over time. An " +"optional extension covers above-ground biomass (AGB) mapping." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:10 +msgid "" +"**Author:** Erik Lindquist, Forestry Officer, Food and Agriculture " +"Organization of the United Nations (FAO)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:13 +msgid "Overview" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:15 +msgid "The workflow consists of the following stages:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:17 +msgid ":ref:`Registration and setup `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:18 +msgid ":ref:`Request SEPAL resources `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:19 +msgid ":ref:`Define the area of interest `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:20 +msgid ":ref:`Build an optical mosaic (optional) `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:21 +msgid ":ref:`Build a radar mosaic (optional) `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:22 +msgid ":ref:`Load global mangrove reference datasets `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:23 +msgid "" +":ref:`Create the high-confidence mangrove reference map `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:24 +msgid ":ref:`Generate training data `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:25 +msgid ":ref:`Incorporate Google Satellite Embeddings `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:26 +msgid ":ref:`Classify mangroves `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:27 +msgid ":ref:`Map above-ground biomass (optional) `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:28 +msgid ":ref:`Detect change using CCDC `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:29 +msgid ":ref:`Download and export results `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:32 +msgid "Why use SEPAL for mangrove mapping?" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:34 +msgid "" +"SEPAL democratises access to satellite data and analysis tools, enabling " +"autonomous land monitoring without the need for local compute " +"infrastructure. For mangrove mapping specifically, SEPAL provides:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:36 +msgid "" +"**Multi-sensor data access** – seamless integration of optical " +"(Sentinel-2, Landsat, NICFI/Planet) and synthetic aperture radar (SAR) " +"(Sentinel-1 C-band, ALOS L-band) imagery" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:37 +msgid "" +"**Multi-temporal analysis** – time-series processing and change detection" +" using the Continuous Change Detection and Classification (CCDC) " +"algorithm" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:38 +msgid "" +"**Cloud-based classification** – machine learning classification recipes " +"powered by Google Earth Engine (GEE)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:39 +msgid "" +"**Global reference data** – integration with existing global mangrove " +"products to generate locally relevant training data automatically" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:40 +msgid "" +"**Team collaboration** – data saved as GEE assets can be shared across a " +"team, allowing one person to build a composite that all team members can " +"access and classify" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:45 +msgid "1. Registration and setup" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:47 +msgid "Before starting, create accounts on two platforms." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:50 +msgid "1.1 Google Earth Engine" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:52 +msgid "SEPAL's processing recipes run on GEE. A free GEE account is required." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:54 +msgid "Go to `earthengine.google.com `__." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:55 +msgid "Sign up using a Gmail account." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:56 +msgid "Wait for approval (usually within a few hours to a few days)." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:59 +msgid "1.2 SEPAL" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:61 +msgid "Go to `sepal.io `__ and register for a free account." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:62 +msgid "Connect the GEE account within SEPAL settings." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:66 +msgid "" +"For a step-by-step walkthrough of SEPAL setup, see " +":doc:`../setup/register`." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:71 +msgid "2. Request SEPAL resources" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:73 +msgid "" +"SEPAL is always free to use; however, downloading data and running high-" +"performance computing in the cloud requires resources to be allocated to " +"an account. Resources are requested via the **User report** button " +"(displayed as **$ 0/h**) in the lower-right corner of the **SEPAL " +"interface**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:75 +msgid "To request resources:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:77 +msgid "" +"Select the **User report** button in the lower-right corner of the " +"**SEPAL interface**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:78 +msgid "Select **Request additional resources**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:79 +msgid "" +"Enter the requested amounts. For most mapping work, the following is a " +"reasonable starting point:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:81 +msgid "**Processing:** $10 USD/month of cloud compute time" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:82 +msgid "**Storage:** $10 USD/month" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:83 +msgid "**Workspace:** 10 gigabytes (GB) of personal SEPAL workspace storage" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:85 +msgid "Enter a short message describing the work (e.g. \"Mangrove mapping\")." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:86 +msgid "Select **Apply**. The SEPAL team will review and approve the request." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:88 +msgid "" +"Once resources are approved, the **Download** button (displayed as a " +"cloud with an arrow icon) will become active in all recipes. Even $1 of " +"resources is sufficient to activate downloading to GEE or Google Drive." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:92 +msgid "" +"SEPAL supports requests for larger amounts of resources for intensive " +"work, such as training machine learning models. Describe the use case in " +"the request message if needed." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:97 +msgid "3. Define the area of interest" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:99 +msgid "" +"Use the same area of interest (AOI) for all downstream recipes to ensure " +"composites, reference layers, and classification outputs are spatially " +"aligned." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:101 +msgid "Open **Process** in the **SEPAL interface**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:102 +msgid "" +"Set the AOI using an administrative boundary, an uploaded geometry, or a " +"drawn polygon." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:107 +msgid "4. Build an optical mosaic (optional)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:111 +msgid "" +"This step is only required if Google Satellite Embeddings are **not** " +"used as the classification input (see :ref:`Section 9 `). If using embeddings, proceed directly to :ref:`Section 6 " +"`." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:113 +msgid "" +"A cloud-free optical mosaic provides the spectral bands used for " +"classification. In SEPAL, all processing starts with a *recipe*. Open a " +"new recipe from the recipe book by selecting the **+** button, then the " +"green **Add recipe** button." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:116 +msgid "Recommended data sources" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:122 +msgid "Source" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:123 +msgid "Spatial resolution" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:124 +msgid "Temporal resolution" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:125 +msgid "Bands" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:126 +#: ../../source/workflows/mangrove_mapping.rst:361 +msgid "Sentinel-2" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:127 +msgid "10 m" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:128 +msgid "5 days" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:129 +msgid "12" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:130 +msgid "Landsat (8/9)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:131 +msgid "30 m" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:132 +msgid "16 days" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:133 +msgid "8" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:134 +msgid "NICFI/Planet" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:135 +msgid "4.5 m" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:136 +msgid "Monthly" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:137 +msgid "4" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:140 +msgid "Recommended bands and indices" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:142 +msgid "" +"For Sentinel-2, include bands: **B2, B3, B4, B5, B6, B7, B8, B8A, B11, " +"B12**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:144 +msgid "Suggested derived indices:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:146 +msgid "normalized difference vegetation index (NDVI)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:147 +msgid "normalized difference moisture index (NDMI)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:148 +msgid "normalized difference water index (NDWI)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:149 +msgid "modified normalized difference water index (MNDWI)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:150 +msgid "red-edge NDVI variants" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:151 +msgid "Tasseled Cap Brightness, Greenness and Wetness" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:152 +msgid "short-wave infrared (SWIR) ratios (B11/B8, B12/B11)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:153 +msgid "enhanced vegetation index (EVI)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:157 +msgid "" +"Avoid the **Aerosol** band for vegetation mapping — it captures " +"atmospheric rather than surface conditions. The near-infrared (NIR) and " +"SWIR bands are particularly important for mangroves: NIR is sensitive to " +"chlorophyll and vegetation health; SWIR helps distinguish inundated " +"vegetation from upland forest and open water." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:160 +msgid "Composite method" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:162 +msgid "" +"Use the **Medoid** composite method, which selects actual observed pixel " +"values rather than statistical summaries, preserving spectral integrity. " +"Save the recipe with a meaningful name (e.g. ``Optical_Medoid_2023``) so " +"it can be referenced in the classification recipe." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:166 +msgid "" +"See :doc:`../cookbook/optical_mosaic` for full instructions on the SEPAL " +"optical mosaic recipe." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:171 +msgid "5. Build a radar mosaic (optional)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:175 +msgid "" +"This step is only required if Google Satellite Embeddings are **not** " +"used as the classification input." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:177 +msgid "" +"SAR data penetrates cloud cover and is sensitive to canopy structure and " +"soil moisture — making it a valuable complement to optical data in " +"tropical coastal environments where persistent cloud cover limits optical" +" data availability." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:180 +msgid "Recommended data source" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:182 +msgid "" +"The primary radar source used in this workflow is **Sentinel-1 C-band " +"SAR**:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:184 +msgid "spatial resolution: 10 m" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:185 +msgid "temporal resolution: 12 days" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:186 +msgid "bands: VV and VH polarisations" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:188 +msgid "" +"ALOS PALSAR L-band mosaics (25 m, yearly) can be added where available " +"for additional structural information." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:191 +msgid "Recommended statistics to include" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:197 +msgid "Band" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:198 +#: ../../source/workflows/mangrove_mapping.rst:448 +msgid "Description" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:199 +msgid "VV mean" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:200 +msgid "Average VV backscatter across the year" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:201 +msgid "VH mean" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:202 +msgid "Average VH backscatter across the year" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:203 +msgid "VV/VH ratio" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:204 +msgid "Structural differentiation" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:205 +msgid "VH standard deviation" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:206 +msgid "Seasonal variability; helps distinguish vegetation types" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:208 +msgid "Save the recipe as ``Radar_Mosaic_YYYY``." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:212 +msgid "" +"See :doc:`../cookbook/radar_mosaic` for full instructions on the SEPAL " +"radar mosaic recipe." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:217 +msgid "6. Load global mangrove reference datasets" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:219 +msgid "" +"Load three global datasets as **EE Asset** recipes in SEPAL to build the " +"high-confidence reference map in :ref:`Section 7 `. " +"Each dataset is available in the GEE catalog or the Awesome GEE Community" +" Catalog." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:221 +msgid "To add an **EE Asset** recipe:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:223 +#: ../../source/workflows/mangrove_mapping.rst:391 +msgid "Add a new recipe and select **EE Asset**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:224 +#: ../../source/workflows/mangrove_mapping.rst:392 +msgid "Set the AOI." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:225 +msgid "Search for the asset by name or paste the asset path." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:226 +#: ../../source/workflows/mangrove_mapping.rst:394 +msgid "Select **Done**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:227 +msgid "" +"To visualise, open the **Menu** (☰) → select **+** → select the band → " +"set min/max values → select **Apply**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:228 +msgid "Save the recipe with the name indicated below." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:231 +msgid "6.1 Global Mangrove Watch (GMW) v3 — 2020 extent" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:236 +#: ../../source/workflows/mangrove_mapping.rst:251 +#: ../../source/workflows/mangrove_mapping.rst:266 +#: ../../source/workflows/mangrove_mapping.rst:382 +msgid "**Asset path**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:237 +#: ../../source/workflows/mangrove_mapping.rst:683 +msgid "``projects/sat-io/open-datasets/GMW/extent/GMW_V3``" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:238 +#: ../../source/workflows/mangrove_mapping.rst:253 +#: ../../source/workflows/mangrove_mapping.rst:268 +#: ../../source/workflows/mangrove_mapping.rst:530 +msgid "**Band**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:239 +msgid "``b1`` (1 = mangrove, 0 = non-mangrove)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:240 +msgid "**Date filter**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:241 +msgid "2020-01-01 to 2020-12-31; select first image" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:242 +#: ../../source/workflows/mangrove_mapping.rst:257 +#: ../../source/workflows/mangrove_mapping.rst:270 +#: ../../source/workflows/mangrove_mapping.rst:388 +#: ../../source/workflows/mangrove_mapping.rst:534 +msgid "**Save as**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:243 +msgid "``GMW_2020_EEAsset``" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:246 +msgid "6.2 ESA WorldCover land cover — 2021" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:252 +#: ../../source/workflows/mangrove_mapping.rst:686 +msgid "``ESA/WorldCover/v200``" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:254 +msgid "``Map``" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:255 +msgid "**Mangrove class value**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:256 +msgid "95" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:258 +msgid "``WorldCover_2021_EEAsset``" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:261 +msgid "6.3 Digital elevation model (MERIT DEM)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:267 +#: ../../source/workflows/mangrove_mapping.rst:689 +msgid "``MERIT/DEM/v1_0_3``" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:269 +msgid "``dem``" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:271 +msgid "``MERIT_DEM_EEAsset``" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:273 +msgid "" +"The digital elevation model (DEM) provides an elevation constraint — " +"mangroves occupy low-lying intertidal zones, so pixels above 40 m " +"elevation are excluded from the high-confidence product in :ref:`Section " +"7 `." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:278 +msgid "7. Create the high-confidence mangrove reference map" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:280 +msgid "" +"This step converts the three global datasets into a single high-" +"confidence binary map of mangrove and non-mangrove, which is then used to" +" automatically generate training data for the local classification." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:282 +msgid "" +"If multiple independent global datasets agree that a pixel is mangrove " +"(or non-mangrove), confidence in that label is much higher than if only " +"one dataset indicates this. The elevation constraint further removes " +"unlikely mangrove locations." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:285 +msgid "Remapping rules" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:287 +msgid "In SEPAL, use the **Remapping** recipe with the following logic:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:293 +msgid "Output class" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:294 +msgid "Condition" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:295 +msgid "**Class 1 – Mangrove**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:296 +msgid "GMW ``b1`` = 1 **AND** WorldCover ``Map`` = 95 **AND** DEM ``dem`` < 40 m" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:297 +msgid "**Class 2 – Non-mangrove**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:298 +msgid "GMW ``b1`` = 0 **AND** WorldCover ``Map`` ≠ 95 **AND** DEM ``dem`` < 40 m" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:299 +msgid "*(No data)*" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:300 +msgid "Pixels that do not meet either condition are excluded" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:302 +msgid "**Output band:** ``class`` (1 = mangrove, 2 = non-mangrove)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:304 +msgid "**Save as:** ``Mangrove_HighConfidence_Remapping``" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:308 +msgid "" +"The DEM < 40 m filter restricts both mangrove and non-mangrove samples to" +" the intertidal zone, improving the relevance of the non-mangrove class " +"and avoiding confusion with upland forest." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:312 +msgid "" +"Use the divided interface (multi-view panel) to inspect the high-" +"confidence product against the optical and radar mosaics before " +"proceeding. Confirm that the mangrove extent looks reasonable for the " +"area." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:317 +msgid "8. Generate training data" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:319 +msgid "" +"With the high-confidence reference map produced, generate training data " +"automatically by stratified sampling — more efficiently and at greater " +"scale than manual digitising." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:321 +msgid "" +"In SEPAL, training data is generated within the **Classification** recipe" +" using the **Sample classification** option:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:323 +msgid "Open a new **Classification** recipe." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:324 +msgid "In the training data tab, select **Add** > **Sample classification**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:325 +msgid "" +"Set the sampling source to ``Mangrove_HighConfidence_Remapping`` (recipe " +"reference) or an exported GEE asset of the same (band: ``class``)." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:326 +msgid "Use balanced (stratified) sampling — equal numbers of samples per class." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:327 +msgid "Set a random seed for reproducibility." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:330 +msgid "Recommended sample sizes" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:336 +msgid "Area of interest" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:337 +msgid "Samples per class" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:338 +msgid "Small AOI" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:339 +msgid "300–800" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:340 +msgid "Subnational/national AOI" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:341 +msgid "1000–2000" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:342 +msgid "Very large or heterogeneous AOI" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:343 +msgid "5000–10000" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:345 +msgid "" +"After sampling, inspect the training points visually against the imagery " +"in the multi-view panel. If contaminated points are observed (e.g. " +"mangrove samples landing on water), resample or remove them before " +"running the classification." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:350 +msgid "9. Incorporate Google Satellite Embeddings (AlphaEarth Foundations)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:354 +msgid "" +"These are referred to as \"Alpha Earth Embeddings\" in some training " +"materials. They are now publicly available as the **Google Satellite " +"Embedding dataset**, powered by `AlphaEarth Foundations " +"`__ — a geospatial artificial " +"intelligence (AI) model developed by Google and Google DeepMind." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:357 +msgid "What are satellite embeddings?" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:359 +msgid "" +"Satellite embeddings are pre-computed, AI-generated feature vectors that " +"summarise multi-sensor, multi-temporal Earth observation data into a " +"compact representation. Each 10 m pixel is described by a 64-dimensional " +"embedding vector encoding a full year of observations from:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:362 +msgid "Landsat" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:363 +msgid "Sentinel-1 SAR" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:364 +msgid "Copernicus DEM (elevation)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:365 +msgid "ERA5 (climate)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:366 +msgid "GEDI LiDAR (vegetation structure)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:368 +msgid "Key advantages for mangrove mapping:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:370 +msgid "" +"**Fewer training samples needed** – embeddings encode rich spatial and " +"temporal context, reducing the labelled points required for accurate " +"classification;" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:371 +msgid "" +"**Cloud-robust** – embeddings summarise an entire year of acquisitions, " +"making them more robust to cloud contamination than single-date " +"composites;" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:372 +msgid "" +"**No deep learning infrastructure required** – pre-computed and analysis-" +"ready; compatible with SEPAL's built-in classifiers;" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:373 +msgid "" +"**Faster classification** – typically faster than classifying equivalent " +"optical and radar inputs separately; and" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:374 +msgid "**Temporal coverage** – annual embeddings available from 2017 onwards." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:377 +msgid "Loading embeddings as an EE Asset recipe" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:383 +#: ../../source/workflows/mangrove_mapping.rst:680 +msgid "``GOOGLE/SATELLITE_EMBEDDING/V1/ANNUAL``" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:384 +msgid "**Asset type**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:385 +msgid "ImageCollection — mosaic or select target year" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:386 +msgid "**Bands**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:387 +msgid "All 64 embedding bands" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:389 +msgid "``AlphaEarth_Embeddings_EEAsset``" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:393 +msgid "" +"Search for ``embeddings`` and select **Satellite Embeddings V1**, or " +"paste the asset path above." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:395 +msgid "" +"To confirm data is loading: open the **Menu** (☰) → select **+** → select" +" any band (e.g. ``Z00``) → select **Apply**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:396 +msgid "Save the recipe as ``AlphaEarth_Embeddings_EEAsset``." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:399 +msgid "When to use embeddings vs. optical/radar mosaics" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:401 +msgid "" +"Use **embeddings** when an annual classification is needed and good " +"results are required with limited training data or compute time. When " +"embeddings are used, optical and radar mosaics are **not** needed as " +"classifier inputs." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:402 +msgid "" +"Use **optical and radar mosaics** when classification at a specific sub-" +"annual time point is needed, or when within-year temporal detail is " +"important." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:403 +msgid "Both approaches can be combined if desired." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:407 +msgid "" +"`GEE Data Catalog: Satellite Embedding V1 `__" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:408 +msgid "" +"`GEE tutorial series: Introduction to Satellite Embeddings " +"`__" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:409 +msgid "Brown et al. (2025)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:414 +msgid "10. Classify mangroves" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:416 +msgid "" +"With training data and image inputs prepared, run the SEPAL " +"**Classification** recipe to produce a mangrove/non-mangrove map." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:419 +msgid "10.1 Set up the classification recipe" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:421 +msgid "Add a new recipe and select **Classification**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:422 +msgid "When asked which image to classify, choose one of the following:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:424 +msgid "" +"**Embeddings approach:** ``AlphaEarth_Embeddings_EEAsset`` only (do " +"**not** add optical or radar mosaics)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:425 +msgid "" +"**Optical/radar approach:** the optical mosaic recipe plus the radar " +"mosaic recipe" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:426 +msgid "**Combined approach:** embeddings plus optical and/or radar mosaics" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:429 +msgid "10.2 Select input bands" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:431 +msgid "For the **embeddings approach**, add all 64 embedding bands." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:433 +msgid "For the **optical/radar approach**, recommended bands are:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:435 +msgid "" +"Sentinel-2: B2, B3, B4, B5, B6, B7, B8, B8A, B11, B12, plus derived " +"indices (NDVI, NDMI, NDWI, Tasseled Cap)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:436 +msgid "Sentinel-1: VV mean, VH mean, VH standard deviation" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:439 +msgid "10.3 Define classification classes" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:441 +msgid "For mangrove mapping, a three-class legend is recommended:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:447 +msgid "Class" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:449 +msgid "Mangrove" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:450 +msgid "Mangrove forest" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:451 +msgid "Non-mangrove" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:452 +msgid "All other land cover" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:453 +msgid "Water" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:454 +msgid "Open water" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:456 +msgid "" +"Keep classes distinct — overlapping or ambiguous classes reduce " +"classification accuracy. Assign recognisable colours (e.g. green for " +"mangrove, blue for water)." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:459 +msgid "10.4 Add training data" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:461 +msgid "" +"Reference the ``Mangrove_HighConfidence_Remapping`` recipe (or exported " +"asset) generated in :ref:`Section 7 ` and sampled in " +":ref:`Section 8 `. In the training data tab, select " +"**Add** > **Sample classification**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:463 +msgid "" +"Add manual training points using the **Marker** icon if local knowledge " +"suggests corrections are needed." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:467 +msgid "" +"The classification updates in real time as training points are added or " +"modified, allowing the impact of each change to be seen immediately." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:470 +msgid "10.5 Configure the classifier" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:472 +msgid "SEPAL uses **Random Forest** by default. Recommended settings:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:478 +msgid "Parameter" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:479 +msgid "Recommended value" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:480 +msgid "Number of trees" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:481 +msgid "~300 (use 25 for exploration; increase for production)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:482 +msgid "Variables per split (mTry)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:483 +msgid "Default/auto" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:484 +msgid "Probability outputs" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:485 +msgid "Enable if available" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:488 +msgid "10.6 Interpret and refine results" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:490 +msgid "Use the **Menu** (☰) to switch between display bands:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:492 +msgid "**Class** – the final classified map (one class per pixel)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:493 +msgid "" +"**Mangrove percent** – the probability that each pixel belongs to the " +"mangrove class; more informative than the binary class map for " +"understanding model uncertainty" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:495 +msgid "To improve results, iterate by:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:497 +msgid "" +"tightening the high-confidence mask criteria in the **Remapping** recipe " +"(:ref:`Section 7 `) and resampling (:ref:`Section 8 " +"`);" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:498 +msgid "adding more training samples;" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:499 +msgid "increasing the number of Random Forest trees; or" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:500 +msgid "adjusting the input data stack." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:504 +msgid "" +"See :doc:`../cookbook/classification` for full instructions on the SEPAL " +"classification recipe." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:509 +msgid "11. Map above-ground biomass (optional)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:511 +msgid "" +"In addition to mangrove extent, SEPAL can produce wall-to-wall maps of " +"above-ground biomass (AGB) by combining point-based biomass measurements " +"with satellite embeddings using a **Regression** recipe." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:514 +msgid "11.1 Approach" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:516 +msgid "" +"Where biomass measurements are available (from field plots or GEDI " +"LiDAR), and where the 64 embedding bands are available, the known biomass" +" values can be statistically related to the embedding values and applied " +"to every pixel across the AOI — producing a continuous biomass estimate " +"map." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:519 +msgid "11.2 Option A – Using GEDI LiDAR data" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:521 +msgid "" +"The Global Ecosystem Dynamics Investigation (GEDI) is a full-waveform " +"LiDAR instrument on the International Space Station, capturing vegetation" +" height, canopy structure, and above-ground biomass density. GEDI data " +"are point samples rather than wall-to-wall, but can be used as training " +"data to produce a continuous biomass map." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:523 +msgid "To load GEDI L4A as an EE Asset recipe:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:528 +msgid "**Asset**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:529 +msgid "GEDI L4A Above Ground Biomass Density v2.1" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:531 +msgid "``AGBD`` (above-ground biomass density, Mg/ha)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:532 +msgid "**Visualisation**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:533 +msgid "Thermal colour palette, min = 0, max = ~194" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:535 +msgid "``GEDI_L4A_EEAsset``" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:537 +msgid "To run the biomass regression:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:539 +#: ../../source/workflows/mangrove_mapping.rst:564 +msgid "Add a new recipe and select **Regression**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:540 +#: ../../source/workflows/mangrove_mapping.rst:565 +msgid "Select ``AlphaEarth_Embeddings_EEAsset`` as the image (all 64 bands)." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:541 +msgid "In the training data tab, select **Add** > **Sample image**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:542 +msgid "" +"Select ``GEDI_L4A_EEAsset`` as the source, with ``AGBD`` as the target " +"band." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:543 +msgid "Set the number of samples (increase for production results)." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:544 +#: ../../source/workflows/mangrove_mapping.rst:569 +msgid "Select **Apply** and run." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:548 +msgid "" +"If the study area is changing rapidly, match the GEDI acquisition year to" +" the target image year. For more stable mangrove areas, using all " +"available GEDI data is acceptable." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:551 +msgid "11.3 Option B – Using field-collected AGB data" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:553 +msgid "" +"Field-collected plot data with geographic coordinates can be uploaded to " +"GEE as an asset table and used as training data in the **Regression** " +"recipe." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:555 +msgid "To upload field data to GEE:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:557 +msgid "In the GEE Code Editor, go to the **Assets** tab." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:558 +msgid "Select **New** > **CSV file**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:559 +msgid "Upload the data file — GEE handles reprojection automatically." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:560 +msgid "Note the asset ID from the asset details panel." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:562 +msgid "To run the regression using field data:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:566 +msgid "In the training data tab, select **Add** > **Earth Engine table**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:567 +msgid "Paste the field data table asset ID." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:568 +msgid "Select the AGB column as the target value band." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:572 +msgid "11.4 Interpreting biomass results" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:574 +#, python-format +msgid "" +"The regression produces a continuous map of estimated above-ground " +"biomass (Mg/ha). Results improve significantly with more training samples" +" and more trees in the Random Forest model. Consider reserving 20–30% of " +"samples for independent validation." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:579 +msgid "12. Detect change using CCDC" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:581 +msgid "" +"To map mangrove loss or gain over time, this workflow uses the Continuous" +" Change Detection and Classification (CCDC) algorithm (Zhu and Woodcock, " +"2014). CCDC fits a time-series model to each pixel using all available " +"satellite observations and detects structural breaks — making it well " +"suited to detecting mangrove conversion events." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:584 +msgid "12.1 Create a CCDC asset" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:586 +msgid "Add a new recipe and select **CCDC Asset**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:587 +msgid "Define the AOI and date range." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:588 +msgid "Select input imagery (Sentinel-2 and/or Landsat recommended)." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:589 +msgid "Run the recipe and save the result as a GEE asset." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:593 +msgid "" +"Pre-built CCDC assets for specific study areas may be shared by the SEPAL" +" team or colleagues as GEE asset links, avoiding the need to run this " +"computationally intensive step independently." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:597 +msgid "" +"See :doc:`../cookbook/ccdc_slice` for full instructions on creating a " +"CCDC asset." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:600 +msgid "12.2 Extract CCDC slices" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:602 +msgid "" +"A *CCDC slice* is a snapshot of the fitted time-series model at a " +"specific date — providing harmonised, cloud-free spectral values " +"consistent across dates. CCDC slices can be used:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:604 +msgid "" +"as additional input bands in the **Classification** recipe (:ref:`Section" +" 10 `) for improved accuracy using spatio-" +"temporal descriptors; or" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:605 +msgid "from two different dates to detect change between them." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:609 +msgid "" +"See :doc:`../cookbook/ccdc_slice` for full instructions on using CCDC " +"slices." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:612 +msgid "12.3 Run change detection" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:614 +msgid "**Option A – Index Change recipe (two-date comparison):**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:616 +msgid "Add a new recipe and select **Index Change**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:617 +msgid "Load CCDC slices from two target dates (e.g. 2015 and 2023)." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:618 +msgid "Run the recipe to produce a map of positive and negative spectral change." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:619 +msgid "Interpret positive and negative values as mangrove gain or loss." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:621 +msgid "**Option B – Near-real-time alert recipe:**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:623 +msgid "" +"SEPAL includes an alert recipe based on CCDC that compares the time-" +"series model to very recent observations (last few days to weeks), " +"enabling near-real-time detection of mangrove disturbance events for " +"operational monitoring." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:628 +msgid "13. Download and export results" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:631 +msgid "13.1 Export destinations" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:633 +msgid "" +"Select the **Download** button (cloud with arrow icon) in any recipe to " +"open the export dialog. Choose:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:635 +msgid "" +"**Bands to export** – e.g. ``class`` for a classified map, or " +"``mangrove_percent`` for a probability map;" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:636 +msgid "" +"**Scale** – spatial resolution in metres (e.g. 10 m for Sentinel-2 or " +"embeddings-based results); and" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:637 +msgid "**Destination:**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:639 +msgid "" +"**Google Earth Engine asset** – exports to the GEE asset folder; " +"recommended for further analysis or sharing;" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:640 +msgid "**Google Drive** – exports to Google Drive for local download; or" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:641 +msgid "" +"**SEPAL workspace** – exports to the SEPAL workspace; use if running " +"further analysis inside SEPAL." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:644 +msgid "13.2 Monitor export tasks" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:646 +msgid "" +"After selecting **Retrieve**, a spinning icon appears on the purple task " +"button. A green check mark indicates completion. Monitor tasks in the GEE" +" Code Editor under the **Tasks** tab." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:649 +msgid "13.3 Upload data to GEE" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:651 +msgid "" +"To use local raster or vector data in SEPAL (e.g. field plots, " +"administrative boundaries, existing maps):" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:653 +msgid "In the GEE Code Editor, go to the **Assets** tab and select **New**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:654 +msgid "Select the file type:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:656 +msgid "**GeoTIFF** for raster data;" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:657 +msgid "" +"**Shapefile** – upload ``.shp``, ``.shx``, ``.dbf``, and ``.prj`` files " +"together; or" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:658 +msgid "**CSV** for tabular data with geographic coordinates." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:660 +msgid "GEE handles reprojection automatically." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:661 +msgid "" +"Copy the asset ID and use it in any SEPAL **EE Asset** recipe or training" +" data input." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:664 +msgid "Summary: recommended input data stack" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:670 +msgid "Layer" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:671 +msgid "Asset/source" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:672 +msgid "Purpose" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:673 +msgid "Optical mosaic (Medoid)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:674 +msgid "Sentinel-2 (B2–B12 + indices)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:675 +msgid "Spectral features (if not using embeddings)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:676 +msgid "Radar mosaic" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:677 +msgid "Sentinel-1 (VV mean, VH mean, VH STD)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:678 +msgid "Structural features (if not using embeddings)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:679 +msgid "Google Satellite Embeddings" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:681 +msgid "AI-derived multi-sensor features (64 bands)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:682 +msgid "Global Mangrove Watch v3" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:684 +msgid "Reference mangrove mask" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:685 +msgid "ESA WorldCover v2" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:687 +msgid "Reference land cover (mangrove class = 95)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:688 +msgid "MERIT DEM" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:690 +msgid "Elevation constraint (< 40 m)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:691 +msgid "High-confidence reference map" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:692 +msgid "Remapping recipe output" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:693 +msgid "Training data source" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:694 +msgid "GEDI L4A" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:695 +msgid "GEE catalog" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:696 +#: ../../source/workflows/mangrove_mapping.rst:699 +msgid "Biomass regression training (optional)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:697 +msgid "Field AGB plots" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:698 +msgid "User-uploaded GEE table" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:700 +msgid "CCDC asset" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:701 +msgid "SEPAL CCDC Asset recipe" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:702 +msgid "Change detection" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:705 +msgid "Additional resources" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:711 +msgid "Resource" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:712 +msgid "Link" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:713 +msgid "SEPAL platform" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:714 +msgid "`sepal.io `__" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:715 +msgid "SEPAL documentation" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:716 +msgid "`docs.sepal.io `__" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:717 +msgid "SEPAL certified online course" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:718 +msgid "" +"`FAO SEPAL course `__" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:719 +msgid "FAO SEPAL brochure" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:720 +msgid "`fao.org/in-action/sepal `__" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:721 +msgid "Global Mangrove Watch v3.0" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:722 +msgid "" +"`JAXA GMW " +"`__" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:723 +msgid "ESA WorldCover" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:724 +msgid "`ESA WorldCover `__" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:725 +msgid "GEDI L4A AGB dataset" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:726 +msgid "" +"`GEDI L4A on GEE `__" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:727 +msgid "GEE Satellite Embeddings catalog" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:728 +msgid "" +"`GEE Data Catalog `__" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:729 +msgid "AlphaEarth Foundations" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:730 +msgid "" +"`Google DeepMind blog `__" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:731 +msgid "Contact" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:732 +msgid "sepal@fao.org" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:735 +msgid "References" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:737 +msgid "" +"Brown, C.F., Kazmierski, M.R., Pasquarella, V.J., et al. 2025. AlphaEarth" +" Foundations: An embedding field model for accurate and efficient global " +"mapping from sparse label data. *arXiv preprint* arXiv:2507.22291." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:739 +msgid "" +"Simard, M., Fatoyinbo, L., Smetanka, C., Rivera-Monroy, V.H., Castañeda-" +"Moya, E., Thomas, N. and Van der Stocken, T. 2019. Mangrove canopy height" +" globally related to precipitation, temperature and cyclone frequency. " +"*Nature Geoscience*, 12: 40–45." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:741 +msgid "" +"Zhu, Z. and Woodcock, C.E. 2014. Continuous change detection and " +"classification of land cover using all available Landsat data. *Remote " +"Sensing of Environment*, 144: 152–171." +msgstr "" + diff --git a/docs/source/_locale/en/LC_MESSAGES/workflows/proms.po b/docs/source/_locale/en/LC_MESSAGES/workflows/proms.po new file mode 100644 index 0000000000..65638631b2 --- /dev/null +++ b/docs/source/_locale/en/LC_MESSAGES/workflows/proms.po @@ -0,0 +1,456 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: en\n" +"Language-Team: en \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/workflows/proms.rst:2 +msgid "Probability Map Subtraction (PROMS)" +msgstr "" + +#: ../../source/workflows/proms.rst:5 +msgid "Overview" +msgstr "" + +#: ../../source/workflows/proms.rst:7 +msgid "" +"This tutorial provides a step-by-step guide to estimate forest change " +"areas between two dates using an improved area estimation technique. The " +"method leverages a statistically optimized stratification of forest and " +"forest change areas using continuous probability layers and sample " +"allocation." +msgstr "" + +#: ../../source/workflows/proms.rst:17 +msgid "In lighter green optional data and steps." +msgstr "" + +#: ../../source/workflows/proms.rst:21 +msgid "Workflow Steps" +msgstr "" + +#: ../../source/workflows/proms.rst:24 +msgid "Input Data Collection for Time 1 and Time 2" +msgstr "" + +#: ../../source/workflows/proms.rst:25 +msgid "" +"Training data on Stable Forest and Stable Non-Forest between Time 1 And " +"Time 2" +msgstr "" + +#: ../../source/workflows/proms.rst:26 +msgid "Forest Probability Classification at Time 1 and Time 2" +msgstr "" + +#: ../../source/workflows/proms.rst:27 +msgid "Forest Change Probability Calculation" +msgstr "" + +#: ../../source/workflows/proms.rst:28 +msgid "Inclusive Forest Mask Application (Optional)" +msgstr "" + +#: ../../source/workflows/proms.rst:29 +msgid "Stratification" +msgstr "" + +#: ../../source/workflows/proms.rst:30 +msgid "Sample Allocation" +msgstr "" + +#: ../../source/workflows/proms.rst:31 +msgid "Sample Interpretation and analysis" +msgstr "" + +#: ../../source/workflows/proms.rst:35 +msgid "Summary Approach" +msgstr "" + +#: ../../source/workflows/proms.rst:37 +msgid "" +"In this tutorial, we will demonstrate the methodology applied to the " +"region of Alto Paraguay, aiming to estimate the forest change area " +"between the years 2018 (Time 1) and 2020 (Time 2)." +msgstr "" + +#: ../../source/workflows/proms.rst:40 +msgid "Step 1: Input Data" +msgstr "" + +#: ../../source/workflows/proms.rst:42 +msgid "" +"The first step is to select the input imagery for classification. A " +"minimum of one type of data source is required; however, for optimal " +"classification results, a combination of sensors is recommended. The " +"selection depends on data availability and quality for your study area. " +"To capture changes occurring between Time 1 and Time 2, it is recommended" +" to create annual composites for one year before and one year after each " +"respective time point. This approach includes all possible changes that " +"occurred during Time 1 and Time 2." +msgstr "" + +#: ../../source/workflows/proms.rst:45 +msgid "SEPAL Tools for Image Combination:" +msgstr "" + +#: ../../source/workflows/proms.rst:47 +msgid "" +"SEPAL offers several tools to combine images from several sensors into " +"single raster:" +msgstr "" + +#: ../../source/workflows/proms.rst:49 +msgid "" +"**Optical Mosaics**: For creating optical mosaics, refer to the `Optical " +"Mosaics tool " +"`__." +msgstr "" + +#: ../../source/workflows/proms.rst:50 +msgid "" +"**Radar Mosaics**: For creating radar mosaics, use the `Radar Mosaics " +"tool `__." +msgstr "" + +#: ../../source/workflows/proms.rst:51 +msgid "" +"**Planet Mosaic**: For creating optical mosaics with high-resolution " +"imagery, see the `Planet Mosaic tool " +"`__." +msgstr "" + +#: ../../source/workflows/proms.rst:53 +msgid "" +"For areas with seasonal vegetation variations (e.g., dry forests), " +"consider using Continuous Change Detection and Classification (CCDC). " +"Refer to `CCDC Asset Creation " +"`__ for" +" more information." +msgstr "" + +#: ../../source/workflows/proms.rst:56 +msgid "Case Study Data Preparation:" +msgstr "" + +#: ../../source/workflows/proms.rst:58 +msgid "In our case study, we created:" +msgstr "" + +#: ../../source/workflows/proms.rst:60 +msgid "Planet Mosaics, Sentinel-1 Time Scans, Sentinel-2 Mosaics in SEPAL." +msgstr "" + +#: ../../source/workflows/proms.rst:61 +msgid "" +"ALOS-2 Time Scans in Google Earth Engine (`Link to Script " +"`__)" +msgstr "" + +#: ../../source/workflows/proms.rst:63 +msgid "" +"These datasets were prepared for both years 2017 and 2021 (one year " +"before and one year after Time 1 and Time 2, respectively)." +msgstr "" + +#: ../../source/workflows/proms.rst:71 +msgid "Step 2: Training Data" +msgstr "" + +#: ../../source/workflows/proms.rst:73 +msgid "" +"Create training data on the presence and absence of forest for your " +"period of interest. Depending on availability, training data can be " +"sourced from:" +msgstr "" + +#: ../../source/workflows/proms.rst:75 +msgid "**Existing Maps**: Extract samples from global or regional forest maps." +msgstr "" + +#: ../../source/workflows/proms.rst:76 +msgid "**Field Data**: Use ground-truth data collected from field surveys." +msgstr "" + +#: ../../source/workflows/proms.rst:77 +msgid "**Other Sources**: Extract samples from datasets like GEDI or GLANCE." +msgstr "" + +#: ../../source/workflows/proms.rst:80 +msgid "Step 3: Forest Probability Classification" +msgstr "" + +#: ../../source/workflows/proms.rst:82 +msgid "" +"Obtain forest probability maps for Time 1 and Time 2 through supervised " +"classification of your input data, using training data on forest and non-" +"forest classes. It is preferable to use stable samples from the period " +"between Time 1 and Time 2." +msgstr "" + +#: ../../source/workflows/proms.rst:85 +msgid "Using SEPAL's Classification Tool:" +msgstr "" + +#: ../../source/workflows/proms.rst:87 +msgid "" +"SEPAL offers a user-friendly `Classification tool " +"`__ for " +"building supervised classifications." +msgstr "" + +#: ../../source/workflows/proms.rst:90 ../../source/workflows/proms.rst:215 +#: ../../source/workflows/proms.rst:256 +msgid "Case Study Implementation:" +msgstr "" + +#: ../../source/workflows/proms.rst:92 +msgid "" +"Auxiliary Data: Added terrain data from the `MERIT Digital Elevation " +"Model `__ to the " +"mosaic stack for both years. Classifier: Used a Random Forest Classifier " +"in probability output mode. Output: Generated forest probability maps for" +" 2017 and 2021." +msgstr "" + +#: ../../source/workflows/proms.rst:96 +msgid "" +"If the number of samples that changed class between Time 1 and Time 2 is " +"small relative to the total number, it won’t significantly affect Random " +"Forest results due to its multiple decision trees and bootstrapping " +"method." +msgstr "" + +#: ../../source/workflows/proms.rst:103 +msgid "Step 4: Forest Change Probability Calculation" +msgstr "" + +#: ../../source/workflows/proms.rst:105 +msgid "" +"Calculate the forest change probability map by finding the difference " +"between the forest probability maps of Time 1 and Time 2." +msgstr "" + +#: ../../source/workflows/proms.rst:108 +msgid "Using SEPAL's Band Math Tool:" +msgstr "" + +#: ../../source/workflows/proms.rst:110 +msgid "" +"The `Band Math tool " +"`__ allows for " +"mathematical operations on images from SEPAL or Google Earth Engine." +msgstr "" + +#: ../../source/workflows/proms.rst:113 +msgid "Case Study Calculation:" +msgstr "" + +#: ../../source/workflows/proms.rst:115 +msgid "" +"Operation: Subtracted the forest probability band (probability_1) of the " +"2021 image from the 2017 image as an absolute value." +msgstr "" + +#: ../../source/workflows/proms.rst:116 +msgid "" +"Result: High values indicate a high probability of forest change, both " +"possible ‘forest losses’ and ‘forest gains’; low values indicate " +"stability." +msgstr "" + +#: ../../source/workflows/proms.rst:124 +msgid "For Multiple Monitoring Dates:" +msgstr "" + +#: ../../source/workflows/proms.rst:126 +msgid "" +"When intermediate dates are available, calculate the maximum forest " +"change probability:" +msgstr "" + +#: ../../source/workflows/proms.rst:140 +#, python-brace-format +msgid "" +"\\text{Max Change Probability} = \\max(\\text{probabilities over all " +"dates}) - \\min(\\text{probabilities over all dates})\n" +"\n" +msgstr "" + +#: ../../source/workflows/proms.rst:147 +msgid "With only two dates:" +msgstr "" + +#: ../../source/workflows/proms.rst:149 +#, python-brace-format +msgid "" +"\\text{Change Probability} = |\\text{Probability at Time 1} - " +"\\text{Probability at Time 2}|\n" +"\n" +msgstr "" + +#: ../../source/workflows/proms.rst:157 +msgid "Step 5: Inclusive Forest Mask Application (optional)" +msgstr "" + +#: ../../source/workflows/proms.rst:159 +msgid "" +"Apply a ‘forest mask’ to exclude areas with very low forest probability, " +"focusing the stratification on relevant areas." +msgstr "" + +#: ../../source/workflows/proms.rst:163 +msgid "" +"This mask should not be regarded as a commonly used forest mask but " +"rather as a highly conservative one, designed to include all areas where " +"forest could potentially exist at both Time 1 and Time 2, while excluding" +" areas where forest is definitively absent, such as deserts, croplands, " +"or built-up areas, especially when these categories constitute a " +"significant portion of the total area)." +msgstr "" + +#: ../../source/workflows/proms.rst:166 +msgid "Using SEPAL’s Band Math Tool:" +msgstr "" + +#: ../../source/workflows/proms.rst:168 +msgid "" +"Calculate Maximum Forest Probability: Use the Band Math tool to find the " +"maximum probability across all dates (Time 1 and Time 2 in the case " +"study)." +msgstr "" + +#: ../../source/workflows/proms.rst:172 +msgid "Using SEPAL’s Remapping Tool:" +msgstr "" + +#: ../../source/workflows/proms.rst:174 +msgid "" +"Remap Values: With the Remapping tool, classify areas as 'forest' where " +"the maximum forest probability exceeds a specified threshold, and mask " +"out areas that fall below this threshold." +msgstr "" + +#: ../../source/workflows/proms.rst:182 +msgid "Case study implementation:" +msgstr "" + +#: ../../source/workflows/proms.rst:184 +msgid "" +"In our case study we used a 10% maximum forest probability threshold that" +" masked out cropland areas." +msgstr "" + +#: ../../source/workflows/proms.rst:188 +msgid "Using SEPAL’s Masking Tool:" +msgstr "" + +#: ../../source/workflows/proms.rst:190 +msgid "" +"Apply Mask: Use the Masking tool to apply the ‘forest mask’ to the forest" +" change probability layer." +msgstr "" + +#: ../../source/workflows/proms.rst:200 +msgid "Step 6: Stratification" +msgstr "" + +#: ../../source/workflows/proms.rst:203 +msgid "" +"Convert the continuous forest change probability map into a categorical " +"map using the SEPAL's `Unsupervised Classification tool " +"`__" +" tool to create a stratification layer." +msgstr "" + +#: ../../source/workflows/proms.rst:207 +msgid "Using SEPAL’s Unsupervised Classification tool" +msgstr "" + +#: ../../source/workflows/proms.rst:210 +msgid "" +"**Sampling**: Number of Samples: Use a high number (e.g., 100,000) for " +"better representation, especially when areas with high forest change " +"probability are small. Sampling Scale: Consider the forest definition " +"(e.g., 70 meters aligning with a 0.5-hectare MMU)." +msgstr "" + +#: ../../source/workflows/proms.rst:211 +msgid "" +"**Clusterer**: Algorithm: Use the k-means algorithm. Number of Clusters: " +"Five classes are recommended (Kozak, 2011)." +msgstr "" + +#: ../../source/workflows/proms.rst:217 +msgid "" +"Samples: 100,000 samples to train the clusterer. Sampling Scale: 70 " +"meters." +msgstr "" + +#: ../../source/workflows/proms.rst:225 +msgid "Apply to Forest Areas Only:" +msgstr "" + +#: ../../source/workflows/proms.rst:227 +msgid "" +"The stratification could be applied exclusively to areas where forest " +"could potentially exist during the period of interest (both stable and " +"changing) using the masked forest change probability map as input image." +msgstr "" + +#: ../../source/workflows/proms.rst:235 +msgid "Step 7: Sample allocation" +msgstr "" + +#: ../../source/workflows/proms.rst:237 +msgid "" +"Select the sample points for interpretation on the stratification layer " +"using Neyman's method. The samples are optimally distributed according to" +" the variability and area of each stratum:" +msgstr "" + +#: ../../source/workflows/proms.rst:239 +msgid "" +":math:`n_h = \\left( \\frac{\\text{sd} \\cdot \\text{área del " +"estrato}}{\\sum (\\text{sd} \\cdot \\text{área})} \\right) \\cdot " +"\\text{targetSampleSize}`" +msgstr "" + +#: ../../source/workflows/proms.rst:242 +msgid "Using Google Earth Engine" +msgstr "" + +#: ../../source/workflows/proms.rst:244 +msgid "" +"The sample allocation can be applied either to the unmasked " +"stratification layer (as shown in the image above) or to the masked " +"stratification layer (as depicted in the image below)." +msgstr "" + +#: ../../source/workflows/proms.rst:258 +msgid "Total number of samples to select: 3000. Spatial resolution: 70m." +msgstr "" + +#: ../../source/workflows/proms.rst:261 +msgid "Step 8: Sample interpretation and analysis" +msgstr "" + +#: ../../source/workflows/proms.rst:263 +msgid "Estimate the forest change area." +msgstr "" + diff --git a/docs/source/_locale/es/LC_MESSAGES/cli/env_management.po b/docs/source/_locale/es/LC_MESSAGES/cli/env_management.po new file mode 100644 index 0000000000..1fb0354817 --- /dev/null +++ b/docs/source/_locale/es/LC_MESSAGES/cli/env_management.po @@ -0,0 +1,337 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: es\n" +"Language-Team: es \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/cli/env_management.rst:4 +msgid "Python environment management" +msgstr "" + +#: ../../source/cli/env_management.rst:6 +msgid "" +"SEPAL provides two tools for managing Python environments: :guilabel:`uv`" +" and :guilabel:`micromamba`. Both are already installed and both are " +"better choices than the built-in :guilabel:`venv` for work on SEPAL." +msgstr "" + +#: ../../source/cli/env_management.rst:8 +msgid "" +"The core problem with :guilabel:`venv` on a shared platform is that it " +"creates environments tightly coupled to the system Python. When SEPAL " +"upgrades Python — as happened with the Ubuntu Noble upgrade from 3.10 to " +"3.12 — every venv breaks. The tools described on this page do not have " +"this problem." +msgstr "" + +#: ../../source/cli/env_management.rst:12 +msgid "" +"Do not use :guilabel:`venv` for new work on SEPAL. Use :guilabel:`uv` or " +":guilabel:`micromamba` instead." +msgstr "" + +#: ../../source/cli/env_management.rst:17 +msgid "Which tool should I use?" +msgstr "" + +#: ../../source/cli/env_management.rst:19 +msgid "The right choice depends on what your project needs." +msgstr "" + +#: ../../source/cli/env_management.rst:25 +msgid "Your stack includes..." +msgstr "" + +#: ../../source/cli/env_management.rst:26 +msgid "Use" +msgstr "" + +#: ../../source/cli/env_management.rst:27 +msgid "Why" +msgstr "" + +#: ../../source/cli/env_management.rst:28 +msgid "Web frameworks, APIs, pure Python tools" +msgstr "" + +#: ../../source/cli/env_management.rst:29 +#: ../../source/cli/env_management.rst:32 +msgid ":guilabel:`uv`" +msgstr "" + +#: ../../source/cli/env_management.rst:30 +msgid "Fast, lightweight, no overhead" +msgstr "" + +#: ../../source/cli/env_management.rst:31 +msgid "Data science: pandas, scikit-learn, statsmodels" +msgstr "" + +#: ../../source/cli/env_management.rst:33 +msgid "Good PyPI wheel coverage for Python 3.12" +msgstr "" + +#: ../../source/cli/env_management.rst:34 +msgid "Geospatial: GDAL, rasterio, fiona, GEOS" +msgstr "" + +#: ../../source/cli/env_management.rst:35 +#: ../../source/cli/env_management.rst:38 +msgid ":guilabel:`micromamba`" +msgstr "" + +#: ../../source/cli/env_management.rst:36 +msgid "Bundles native libraries inside the environment" +msgstr "" + +#: ../../source/cli/env_management.rst:37 +msgid "GPU / ML: CUDA, cuDNN, PyTorch with CUDA" +msgstr "" + +#: ../../source/cli/env_management.rst:39 +msgid "Pins CUDA runtime inside the environment" +msgstr "" + +#: ../../source/cli/env_management.rst:40 +msgid "Mixed: some native libraries, some pure Python" +msgstr "" + +#: ../../source/cli/env_management.rst:41 +msgid ":guilabel:`micromamba` + pip" +msgstr "" + +#: ../../source/cli/env_management.rst:42 +msgid "micromamba for native libraries, pip for the rest" +msgstr "" + +#: ../../source/cli/env_management.rst:46 +msgid "" +":guilabel:`uv` environments can still break if SEPAL upgrades a system-" +"level native library such as GDAL or CUDA. This is because :guilabel:`uv`" +" installs Python packages from PyPI but cannot bundle the underlying " +"``.so`` files they depend on. If your project uses geospatial or GPU " +"packages, use :guilabel:`micromamba`." +msgstr "" + +#: ../../source/cli/env_management.rst:51 +msgid "uv" +msgstr "" + +#: ../../source/cli/env_management.rst:53 +msgid "" +":guilabel:`uv` is a fast, modern Python and package manager. It manages " +"its own Python versions independently of the system, so a system Python " +"upgrade will not affect your environments." +msgstr "" + +#: ../../source/cli/env_management.rst:56 +msgid "Why use uv" +msgstr "" + +#: ../../source/cli/env_management.rst:58 +msgid "" +"**Survives system Python upgrades.** uv pins the Python version inside " +"the project. If you create an environment with Python 3.12.2, it stays on" +" 3.12.2 regardless of what the system does." +msgstr "" + +#: ../../source/cli/env_management.rst:59 +msgid "" +"**Much faster than pip and venv.** Dependency resolution and installation" +" are typically 10–100× faster due to parallel downloads and a compiled " +"resolver." +msgstr "" + +#: ../../source/cli/env_management.rst:60 +msgid "" +"**Lockfiles for reproducibility.** ``uv lock`` generates a precise, " +"cross-platform lockfile — more reliable than ``pip freeze`` for sharing " +"environments with colleagues." +msgstr "" + +#: ../../source/cli/env_management.rst:61 +msgid "" +"**Drop-in pip compatibility.** ``uv pip install`` works exactly like " +"``pip install``. Any package on PyPI works with uv. No new formats to " +"learn." +msgstr "" + +#: ../../source/cli/env_management.rst:62 +msgid "" +"**Works with standard project files.** Reads ``pyproject.toml`` and " +"``requirements.txt`` natively." +msgstr "" + +#: ../../source/cli/env_management.rst:63 +msgid "" +"**Manages multiple Python versions.** ``uv python install 3.10`` lets you" +" run any Python version without touching the system." +msgstr "" + +#: ../../source/cli/env_management.rst:64 +msgid "" +"**Single lightweight binary.** No base environment, no shell hooks, no " +"overhead." +msgstr "" + +#: ../../source/cli/env_management.rst:67 +msgid "Creating a uv project (recommended)" +msgstr "" + +#: ../../source/cli/env_management.rst:69 +msgid "" +"``uv init`` creates a project with a ``pyproject.toml`` and a lockfile, " +"giving you reproducible installs and clean dependency tracking:" +msgstr "" + +#: ../../source/cli/env_management.rst:83 +msgid "" +"uv automatically creates a ``.venv`` inside the project directory, " +"generates a ``uv.lock`` lockfile, and tracks all dependencies in " +"``pyproject.toml``. You do not need to activate anything — ``uv run`` " +"handles it." +msgstr "" + +#: ../../source/cli/env_management.rst:85 +msgid "To reproduce the environment elsewhere (or after a fresh clone):" +msgstr "" + +#: ../../source/cli/env_management.rst:92 +msgid "Creating a standalone uv environment" +msgstr "" + +#: ../../source/cli/env_management.rst:94 +msgid "" +"If you do not need a full project structure — for example, when working " +"with an existing ``requirements.txt`` — you can create a standalone " +"environment:" +msgstr "" + +#: ../../source/cli/env_management.rst:111 +#: ../../source/cli/env_management.rst:208 +msgid "Adding a Jupyter kernel" +msgstr "" + +#: ../../source/cli/env_management.rst:113 +msgid "Register your environment as a named kernel so it appears in JupyterLab:" +msgstr "" + +#: ../../source/cli/env_management.rst:115 +msgid "**For uv projects:**" +msgstr "" + +#: ../../source/cli/env_management.rst:123 +msgid "**For standalone uv environments:**" +msgstr "" + +#: ../../source/cli/env_management.rst:131 +msgid "Verify it appears:" +msgstr "" + +#: ../../source/cli/env_management.rst:137 +#: ../../source/cli/env_management.rst:224 +msgid "To remove a kernel:" +msgstr "" + +#: ../../source/cli/env_management.rst:146 +msgid "micromamba" +msgstr "" + +#: ../../source/cli/env_management.rst:148 +msgid "" +":guilabel:`micromamba` works like conda (if you have used conda before, " +"you already know how to use micromamba). Unlike :guilabel:`uv`, it " +"bundles native system libraries — GDAL, CUDA, HDF5, and others — inside " +"the environment itself, completely isolated from the system. This makes " +"it the right choice for geospatial and GPU workloads." +msgstr "" + +#: ../../source/cli/env_management.rst:151 +msgid "Why use micromamba" +msgstr "" + +#: ../../source/cli/env_management.rst:153 +msgid "" +"**Complete isolation including native libraries.** GDAL, CUDA, HDF5, " +"GEOS, and other system libraries are installed inside the environment. " +"Upgrading system libraries on SEPAL will not break your environment." +msgstr "" + +#: ../../source/cli/env_management.rst:154 +msgid "" +"**conda-forge provides excellent binary coverage.** conda-forge provides " +"pre-compiled, compatible builds of complex packages across all platforms " +"— often better than what is available on PyPI." +msgstr "" + +#: ../../source/cli/env_management.rst:155 +msgid "" +"**Environment files capture the full stack.** ``environment.yml`` files " +"describe both Python packages and native libraries in one place, making " +"environments fully reproducible by colleagues." +msgstr "" + +#: ../../source/cli/env_management.rst:156 +msgid "" +"**Pins native library versions.** You can pin ``cudatoolkit=11.8`` or " +"``gdal=3.6`` and those exact versions live inside the environment, " +"regardless of what is installed system-wide." +msgstr "" + +#: ../../source/cli/env_management.rst:157 +msgid "" +"**Faster than conda.** Written in C++, micromamba solves and installs " +"dependencies significantly faster than the original conda tool." +msgstr "" + +#: ../../source/cli/env_management.rst:158 +msgid "" +"**No base environment.** micromamba has no base environment that needs " +"updating — cleaner and lighter on disk." +msgstr "" + +#: ../../source/cli/env_management.rst:161 +msgid "Creating a micromamba environment" +msgstr "" + +#: ../../source/cli/env_management.rst:178 +msgid "Using an environment.yml file (recommended)" +msgstr "" + +#: ../../source/cli/env_management.rst:180 +msgid "" +"An ``environment.yml`` file captures the full environment — Python " +"version, native libraries, and Python packages — in one place:" +msgstr "" + +#: ../../source/cli/env_management.rst:197 +msgid "Create or update an environment from the file:" +msgstr "" + +#: ../../source/cli/env_management.rst:233 +msgid "Recovering a broken venv" +msgstr "" + +#: ../../source/cli/env_management.rst:235 +msgid "" +"If you have an existing venv that broke due to the Python upgrade, see " +":ref:`fix_venvs` for step-by-step recovery instructions, including a " +"script to extract your requirements without activating the broken " +"environment." +msgstr "" + diff --git a/docs/source/_locale/es/LC_MESSAGES/cli/index.po b/docs/source/_locale/es/LC_MESSAGES/cli/index.po index f3bf9e8051..9ac9561dcf 100644 --- a/docs/source/_locale/es/LC_MESSAGES/cli/index.po +++ b/docs/source/_locale/es/LC_MESSAGES/cli/index.po @@ -1,22 +1,54 @@ + msgid "" msgstr "" -"Project-Id-Version: sepal-doc\n" +"Project-Id-Version: sepal-doc\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-03-07 09:39+0100\n" -"PO-Revision-Date: 2024-03-07 08:54\n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: 2024-03-07 08:54+0000\n" "Last-Translator: \n" +"Language: es_ES\n" "Language-Team: Spanish\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.14.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Crowdin-Project: sepal-doc\n" -"X-Crowdin-Project-ID: 562097\n" -"X-Crowdin-Language: es-ES\n" -"X-Crowdin-File: /main/docs/source/_locale/en/LC_MESSAGES/cli/index.po\n" -"X-Crowdin-File-ID: 49\n" -"Language: es_ES\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/cli/index.rst:10 +msgid "GDAL — Geospatial Data Abstraction Library" +msgstr "" + +#: ../../source/cli/index.rst:10 +msgid "Google Drive" +msgstr "" + +#: ../../source/cli/index.rst:10 +msgid "Google Earth Engine" +msgstr "" + +#: ../../source/cli/index.rst:10 +msgid "GuidosToolbox Workbench" +msgstr "" + +#: ../../source/cli/index.rst:10 +msgid "Open Foris Geospatial Toolkit" +msgstr "" + +#: ../../source/cli/index.rst:10 +msgid "Orfeo ToolBox" +msgstr "" + +#: ../../source/cli/index.rst:10 +msgid "Python" +msgstr "" + +#: ../../source/cli/index.rst:10 +msgid "R" +msgstr "" + +#: ../../source/cli/index.rst:10 +msgid "Python environment management" +msgstr "" #: ../../source/cli/index.rst:2 msgid "CLI" @@ -31,51 +63,72 @@ msgid "CLI tools" msgstr "" #: ../../source/cli/index.rst:8 -msgid "To help resolve specific problems, the SEPAL platform includes a variety of useful command-line interface (CLI) utilities, including:" +msgid "" +"To help resolve specific problems, the SEPAL platform includes a variety " +"of useful command-line interface (CLI) utilities, including:" msgstr "" -#: ../../source/cli/index.rst:22 -msgid "These tools can be called directly from the terminal or via any programming language sending commands to the kernel, including R and Python (installed by default on any SEPAL account)." +#: ../../source/cli/index.rst:23 +msgid "" +"These tools can be called directly from the terminal or via any " +"programming language sending commands to the kernel, including R and " +"Python (installed by default on any SEPAL account)." msgstr "" -#: ../../source/cli/index.rst:29 +#: ../../source/cli/index.rst:30 msgid "The code executed previously on an existing :code:`example.tif` file:" msgstr "" -#: ../../source/cli/index.rst:37 -msgid "If you're running actions from multiple directories or instances, you can open multiple **Terminal** tabs and name them as you see fit." +#: ../../source/cli/index.rst:38 +msgid "" +"If you're running actions from multiple directories or instances, you can" +" open multiple **Terminal** tabs and name them as you see fit." msgstr "" -#: ../../source/cli/index.rst:41 -msgid "If the code you want to execute is taking time, consider running it in the background using :code:`nohup`:" +#: ../../source/cli/index.rst:42 +msgid "" +"If the code you want to execute is taking time, consider running it in " +"the background using :code:`nohup`:" msgstr "" -#: ../../source/cli/index.rst:47 -msgid "All console outputs will be redirected to a :code:`nohup.out` in your home directory, but the execution will be running in the background. You will be able to safely close the terminal or even the browser window without interrupting the process (for more information about :code:`nohup`, see `this article `__)." +#: ../../source/cli/index.rst:48 +msgid "" +"All console outputs will be redirected to a :code:`nohup.out` in your " +"home directory, but the execution will be running in the background. You " +"will be able to safely close the terminal or even the browser window " +"without interrupting the process (for more information about " +":code:`nohup`, see `this article " +"`__)." msgstr "" -#: ../../source/cli/index.rst:50 +#: ../../source/cli/index.rst:51 msgid "Coding tools" msgstr "" -#: ../../source/cli/index.rst:52 -msgid "In the **Apps** section, there are three coding tools at the top of the list:" +#: ../../source/cli/index.rst:53 +msgid "" +"In the **Apps** section, there are three coding tools at the top of the " +"list:" msgstr "" -#: ../../source/cli/index.rst:54 +#: ../../source/cli/index.rst:55 msgid "JupyterLab" msgstr "" -#: ../../source/cli/index.rst:55 +#: ../../source/cli/index.rst:56 msgid "Jupyter Notebook" msgstr "" -#: ../../source/cli/index.rst:56 +#: ../../source/cli/index.rst:57 msgid "RStudio" msgstr "" -#: ../../source/cli/index.rst:61 -msgid "They will allow the user to code wokflows in any of the available languages using the corresponding environment in SEPAL. These environments are fully customizable (view the :code:`Python` or :code:`R` section to know more)." +#: ../../source/cli/index.rst:62 +msgid "" +"They will allow the user to code wokflows in any of the available " +"languages using the corresponding environment in SEPAL. These " +"environments are fully customizable (view the :code:`Python` or :code:`R`" +" section to know more)." msgstr "" #~ msgid "" diff --git a/docs/source/_locale/es/LC_MESSAGES/cookbook/band_math.po b/docs/source/_locale/es/LC_MESSAGES/cookbook/band_math.po new file mode 100644 index 0000000000..723600673d --- /dev/null +++ b/docs/source/_locale/es/LC_MESSAGES/cookbook/band_math.po @@ -0,0 +1,233 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: es\n" +"Language-Team: es \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/cookbook/band_math.rst:2 +msgid "Band Math" +msgstr "" + +#: ../../source/cookbook/band_math.rst:4 +msgid "" +"The **Band Math** recipe in SEPAL allows you to derive new raster layers " +"from existing ones by evaluating mathematical expressions. You can " +"combine, scale or subtract spectral bands, build indices or apply logical" +" masks. This guide walks through the Band Math workflow from start to " +"finish and uses a vegetation index as an example. The same steps apply " +"whether you are creating a simple ratio or a complex index." +msgstr "" + +#: ../../source/cookbook/band_math.rst:7 +msgid "Getting started" +msgstr "" + +#: ../../source/cookbook/band_math.rst:9 +msgid "Open `sepal.io `_ in your web browser and sign in." +msgstr "" + +#: ../../source/cookbook/band_math.rst:10 +msgid "" +"Go to the **Process** page where SEPAL lists your recipes. If you have " +"not created any recipes yet this list will be empty." +msgstr "" + +#: ../../source/cookbook/band_math.rst:13 +msgid "Creating a Band Math recipe" +msgstr "" + +#: ../../source/cookbook/band_math.rst:15 +msgid "" +"Click :btn:` Add recipe` in the recipe list and choose " +"**Band Math**. SEPAL opens a new tab for your recipe. On the right‑hand " +"side you will see three vertically stacked tabs labelled :guilabel:`IMG`," +" :guilabel:`CAL` and :guilabel:`OUT` corresponding to *Input imagery*, " +"*Calculations* and *Outputs*." +msgstr "" + +#: ../../source/cookbook/band_math.rst:27 +msgid "" +"Select the :guilabel:`IMG` button. Click :btn:` Add` " +"and then **Earth Engine Asset**. An entry form appears where you can " +"provide a Google Earth Engine image. Paste a valid asset ID into the " +"**Earth Engine asset ID** field (for example the Landsat 8 Level‑2 scene " +"``LANDSAT/LC08/C02/T1_L2/LC08_232064_20200119``). Leave the **Image " +"name** as the default (``i1``) unless you intend to add multiple images. " +"Use the tick icon to validate the ID; if the field turns red the asset is" +" not available. Once it loads successfully you will see a section " +"labelled **CONTINUOUS** listing the available bands." +msgstr "" + +#: ../../source/cookbook/band_math.rst:34 +msgid "" +"Specify which bands you need. Click the green :btn:` " +"Add` button to insert a row, select the band name from the drop‑down list" +" and leave the :guilabel:`TYPE` as **CONTINUOUS**. Repeat this step for " +"every band referenced in your expression. For a vegetation index select " +"the red band ``SR_B4`` and the near‑infrared band ``SR_B5``. When you " +"have added all your bands, click :btn:` Apply` to " +"confirm. The :guilabel:`IMG` tab now lists your Earth Engine asset and " +"the chosen name." +msgstr "" + +#: ../../source/cookbook/band_math.rst:42 +msgid "Defining a calculation" +msgstr "" + +#: ../../source/cookbook/band_math.rst:44 +msgid "" +"Switch to the :guilabel:`CAL` tab and click :btn:` " +"Add`. A dialog appears offering two paths: **Function** and " +"**Expression**. Choose **Function** when you want to compute built‑in " +"statistics (sum, mean, min, max, product) on your bands. Choose " +"**Expression** when you need to write a custom formula. For indices you " +"will almost always select **Expression**." +msgstr "" + +#: ../../source/cookbook/band_math.rst:51 +msgid "" +"In the expression editor type your formula. Refer to each band using its " +"image name and band name, for example ``i1.SR_B5`` for the near‑infrared " +"band of the first image. Parentheses control the order of operations. To " +"compute a vegetation index you can use:" +msgstr "" + +#: ../../source/cookbook/band_math.rst:57 +msgid "" +"You could just as easily substitute other bands or constants, for example" +" the Normalised Difference Water Index (NDWI) ``(i1.SR_B3 - i1.SR_B5) / " +"(i1.SR_B3 + i1.SR_B5)`` or a simple ratio like ``i1.SR_B5 / i1.SR_B4``." +msgstr "" + +#: ../../source/cookbook/band_math.rst:59 +msgid "" +"Enter a short Band name beneath the editor. This will be the label of the" +" resulting layer – for example ``ndvi`` for a vegetation index." +msgstr "" + +#: ../../source/cookbook/band_math.rst:66 +msgid "" +"Click :btn:` Apply`. Your calculation appears in the " +"list with an identifier such as ``c1``. You can add additional " +"calculations by repeating this process; each one becomes a separate " +"output band." +msgstr "" + +#: ../../source/cookbook/band_math.rst:74 +msgid "Managing outputs and naming" +msgstr "" + +#: ../../source/cookbook/band_math.rst:76 +msgid "" +"The :guilabel:`OUT` tab displays the bands produced by your expressions. " +"Check that the band names are correct. You can delete or add them using " +"the icons on the right of each row. Above the map the recipe tab uses a " +"default timestamp; rename it by double‑clicking the label, entering a " +"descriptive name (for example ``Amazon_BandMath``) and pressing " +"**Enter**. When everything looks correct close the :guilabel:`OUT` tab." +msgstr "" + +#: ../../source/cookbook/band_math.rst:84 +msgid "Visualising the results" +msgstr "" + +#: ../../source/cookbook/band_math.rst:86 +msgid "" +"By default your calculation is not drawn on the map. To create a " +"visualisation:" +msgstr "" + +#: ../../source/cookbook/band_math.rst:88 +msgid "" +"Locate the small :btn:`` icon near the bottom centre of" +" the map and click it. This opens the **This recipe** panel. If your " +"derived bands appear here they are ready for visualisation; if not, click" +" the :btn:`` button in that panel to create one." +msgstr "" + +#: ../../source/cookbook/band_math.rst:95 +msgid "" +"A **Visualisation** dialog opens. Choose the band you want to display " +"from the **Band** drop‑down (for example ``ndvi``). Set **Min** and " +"**Max** values to define the stretch – for indices spanning –1 to 1, " +"values such as –0.2 and 0.8 often provide good contrast." +msgstr "" + +#: ../../source/cookbook/band_math.rst:97 +msgid "" +"Select a colour palette. You can load a preset palette from the drop‑down" +" or define your own. To enter custom colours click the :guilabel:`HEX` " +"button; a text box appears containing a comma‑separated list of colour " +"codes. Replace it with your own codes (e.g. ``#ffffcc, #c2e699, #78c679, " +"#31a354, #006837`` for a light‑to‑dark green gradient). Multiple colours " +"create a smooth ramp." +msgstr "" + +#: ../../source/cookbook/band_math.rst:104 +msgid "" +"Click :btn:` Apply`. SEPAL renders the band using your" +" settings and adds a legend bar at the bottom of the map. If the map " +"stays blank for more than a few seconds, ensure you added the correct " +"bands and that the area of interest is not outside the footprint of your " +"image." +msgstr "" + +#: ../../source/cookbook/band_math.rst:113 +msgid "What else can you do with Band Math?" +msgstr "" + +#: ../../source/cookbook/band_math.rst:115 +msgid "" +"Band Math is a general‑purpose calculator for raster bands. Beyond " +"vegetation indices you can:" +msgstr "" + +#: ../../source/cookbook/band_math.rst:117 +msgid "" +"Highlight water bodies by computing the Normalised Difference Water Index" +" (NDWI): ``(i1.SR_B3 - i1.SR_B5) / (i1.SR_B3 + i1.SR_B5)``." +msgstr "" + +#: ../../source/cookbook/band_math.rst:118 +msgid "" +"Assess burn severity with the Normalised Burn Ratio (NBR) using " +"near‑infrared and short‑wave infrared bands: ``(i1.SR_B5 - i1.SR_B7) / " +"(i1.SR_B5 + i1.SR_B7)``." +msgstr "" + +#: ../../source/cookbook/band_math.rst:119 +msgid "" +"Perform arithmetic between bands (for example ``i1.SR_B5 - i1.SR_B4``), " +"multiply by constants to convert digital numbers to reflectance or add " +"bands to create composites." +msgstr "" + +#: ../../source/cookbook/band_math.rst:120 +msgid "" +"Create masks based on conditions – for instance ``i1.SR_B5 > 0.3`` to " +"select highly vegetated pixels – and combine them with logical operators " +"(`and`, `or`)." +msgstr "" + +#: ../../source/cookbook/band_math.rst:122 +msgid "" +"Every expression you add becomes a new band that can be visualised or " +"used in subsequent calculations. By chaining calculations together you " +"can build complex workflows in SEPAL without writing any external code." +msgstr "" + diff --git a/docs/source/_locale/es/LC_MESSAGES/cookbook/classification.po b/docs/source/_locale/es/LC_MESSAGES/cookbook/classification.po index 670370be0f..ecaae1a5f0 100644 --- a/docs/source/_locale/es/LC_MESSAGES/cookbook/classification.po +++ b/docs/source/_locale/es/LC_MESSAGES/cookbook/classification.po @@ -1,29 +1,27 @@ + msgid "" msgstr "" -"Project-Id-Version: sepal-doc\n" +"Project-Id-Version: sepal-doc\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-03-07 09:39+0100\n" -"PO-Revision-Date: 2024-03-07 08:54\n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: 2024-03-07 08:54+0000\n" "Last-Translator: \n" +"Language: es_ES\n" "Language-Team: Spanish\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.14.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Crowdin-Project: sepal-doc\n" -"X-Crowdin-Project-ID: 562097\n" -"X-Crowdin-Language: es-ES\n" -"X-Crowdin-File: /main/docs/source/_locale/en/LC_MESSAGES/cookbook/classification.po\n" -"X-Crowdin-File-ID: 65\n" -"Language: es_ES\n" +"Generated-By: Babel 2.18.0\n" #: ../../source/cookbook/classification.rst:2 msgid "Classification" msgstr "" #: ../../source/cookbook/classification.rst:3 -msgid "*Build supervised classifications of mosaic images to create easy-to-use user interfaces with the Classification recipe*" +msgid "" +"*Build supervised classifications of mosaic images to create easy-to-use " +"user interfaces with the Classification recipe*" msgstr "" #: ../../source/cookbook/classification.rst:6 @@ -31,7 +29,12 @@ msgid "Overview" msgstr "" #: ../../source/cookbook/classification.rst:8 -msgid "With this recipe, SEPAL helps users build supervised classifications of any mosaic image. It is built on top of the most advanced tools available on Google Earth Engine (GEE) – including the classifiers CART, RandomForest, NaiveBayes and SVM – allowing users to create an easy-to-use user interface to:" +msgid "" +"With this recipe, SEPAL helps users build supervised classifications of " +"any mosaic image. It is built on top of the most advanced tools available" +" on Google Earth Engine (GEE) – including seven classifiers, such as " +"Random Forest, CART and SVM – allowing users to create an easy-to-use " +"user interface to:" msgstr "" #: ../../source/cookbook/classification.rst:10 @@ -39,7 +42,7 @@ msgid "select an image to classify;" msgstr "" #: ../../source/cookbook/classification.rst:11 -msgid "define the class table; and" +msgid "define the legend; and" msgstr "" #: ../../source/cookbook/classification.rst:12 @@ -47,7 +50,10 @@ msgid "add training data from external sources and on-the-fly selection." msgstr "" #: ../../source/cookbook/classification.rst:14 -msgid "In combination with other tools of SEPAL, the **Classification** recipe can help you provide accurate land-use maps, without writing a single line of code." +msgid "" +"In combination with other tools of SEPAL, the **Classification** recipe " +"can help you provide accurate land-use maps, without writing a single " +"line of code." msgstr "" #: ../../source/cookbook/classification.rst:17 @@ -55,15 +61,24 @@ msgid "Start" msgstr "" #: ../../source/cookbook/classification.rst:19 -msgid "Once the **Classification** recipe is selected, SEPAL will show the recipe process in a new tab (see **1** in figure below); the **Image selection** window will appear in the lower right (**2**)." +msgid "" +"Once the **Classification** recipe is selected, SEPAL will show the " +"recipe process in a new tab (see **1** in figure below); the **Image " +"selection** window will appear in the lower right (**2**)." msgstr "" #: ../../source/cookbook/classification.rst:25 -msgid "The first step is to change the name of the recipe. This name will be used to identify your files and recipes in SEPAL folders. Use the best-suited convention for your needs. Simply double-click the tab and enter a new name. It will default to :code:`Classification_`." +msgid "" +"The first step is to change the name of the recipe. This name will be " +"used to identify your files and recipes in SEPAL folders. Use the best-" +"suited convention for your needs. Simply double-click the tab and enter a" +" new name. It will default to :code:`Classification_`." msgstr "" #: ../../source/cookbook/classification.rst:37 -msgid "The SEPAL team recommends using the following naming convention: :code:`__`." +msgid "" +"The SEPAL team recommends using the following naming convention: " +":code:`__`." msgstr "" #: ../../source/cookbook/classification.rst:40 @@ -71,7 +86,9 @@ msgid "Parameters" msgstr "" #: ../../source/cookbook/classification.rst:42 -msgid "In the lower-right corner, the following five tabs are available, allowing you to customize the time series to your needs:" +msgid "" +"In the lower-right corner, the following five tabs are available, " +"allowing you to customize the classification to your needs:" msgstr "" #: ../../source/cookbook/classification.rst:44 @@ -99,19 +116,29 @@ msgid "Image selection" msgstr "" #: ../../source/cookbook/classification.rst:57 -msgid "The first step consists of selecting the image bands on which to apply the classifier. The number of selected bands (i.e. images) is not limited." +msgid "" +"The first step consists of selecting the image bands on which to apply " +"the classifier. The number of selected bands (i.e. images) is not " +"limited." msgstr "" #: ../../source/cookbook/classification.rst:61 -msgid "Keep in mind that increasing the number of bands to analyse will improve the model but slow down the rendering of the final image." +msgid "" +"Keep in mind that increasing the number of bands to analyse will improve " +"the model but slow down the rendering of the final image." msgstr "" #: ../../source/cookbook/classification.rst:65 -msgid "If multiple images are selected, all selected images should overlap. If masked pixels are found in one of the bands, the classifier will mask them." +msgid "" +"If multiple images are selected, all selected images should overlap. If " +"masked pixels are found in one of the bands, the classifier will mask " +"them." msgstr "" #: ../../source/cookbook/classification.rst:67 -msgid "Select :btn:` Add`. The following screen should be displayed:" +msgid "" +"Select :btn:` Add`. The following screen should be " +"displayed:" msgstr "" #: ../../source/cookbook/classification.rst:74 @@ -119,11 +146,15 @@ msgid "Image type" msgstr "" #: ../../source/cookbook/classification.rst:76 -msgid "Users can select images coming from an **Existing recipe** or an exported **GEE asset** (see advantages and disadvantages below). Both should be an :code:`ee.Image`, rather than a :code:`Time series` or :code:`ee.ImageCollection`." +msgid "" +"Users can select images coming from a **Saved SEPAL recipe** or an " +"exported **Earth Engine asset** (see advantages and disadvantages below)." +" Both should be an :code:`ee.Image`, rather than a :code:`Time series` or" +" :code:`ee.ImageCollection`." msgstr "" #: ../../source/cookbook/classification.rst:78 -msgid "**Existing recipe**:" +msgid "**Saved SEPAL recipe**:" msgstr "" #: ../../source/cookbook/classification.rst:80 @@ -136,7 +167,9 @@ msgid "all of the computed bands from SEPAL can be used; and" msgstr "" #: ../../source/cookbook/classification.rst:83 -msgid "any modification to the existing recipe will be propagated in the final classification." +msgid "" +"any modification to the existing recipe will be propagated in the final " +"classification." msgstr "" #: ../../source/cookbook/classification.rst:85 @@ -145,11 +178,14 @@ msgid "Disadvantages:" msgstr "" #: ../../source/cookbook/classification.rst:87 -msgid "the initial recipe will be computed at each rendering step, slowing down the classification process and potentially breaking on-the-fly rendering due to GEE timeout errors." +msgid "" +"the initial recipe will be computed at each rendering step, slowing down " +"the classification process and potentially breaking on-the-fly rendering " +"due to GEE timeout errors." msgstr "" #: ../../source/cookbook/classification.rst:89 -msgid "**GEE asset**:" +msgid "**Earth Engine asset**:" msgstr "" #: ../../source/cookbook/classification.rst:93 @@ -177,11 +213,18 @@ msgid "Select bands" msgstr "" #: ../../source/cookbook/classification.rst:108 -msgid "For this example, we will use a public asset created with the **Optical mosaic** tool from SEPAL. It's a Sentinel-2 mosaic of Eastern Province in Zambia during the dry season from 2012 to 2020. Multiple bands are available." +msgid "" +"For this example, we will use a public asset created with the **Optical " +"mosaic** tool from SEPAL. It's a Sentinel-2 mosaic of Eastern Province in" +" Zambia during the dry season from 2012 to 2021. Multiple bands are " +"available." msgstr "" #: ../../source/cookbook/classification.rst:110 -msgid "Use the following asset name if you want to reproduce our workflow: :code:`projects/sepal-cookbook/assets/classification/zmb-eastern_2012_2021`" +msgid "" +"Use the following asset name if you want to reproduce our workflow: " +":code:`projects/sepal-cookbook/assets/classification/zmb-" +"eastern_2012_2021`" msgstr "" #: ../../source/cookbook/classification.rst:113 @@ -189,7 +232,12 @@ msgid "Image bands" msgstr "" #: ../../source/cookbook/classification.rst:115 -msgid "Once an asset has been selected, SEPAL will load its bands in the interface. You can use any band that is native to the image as input for the classification process. Simply click on the band name to select them. The selected bands are summarized in the expansion panel title (**1**) and displayed in gold in the pane content (**2**)." +msgid "" +"Once an asset has been selected, SEPAL will load its bands in the " +"interface. You can use any band that is native to the image as input for " +"the classification. Open the :guilabel:`Select bands...` dropdown and " +"click a band name to add it (the highlighted option). Each selected band " +"then appears as a removable chip in the **Image bands** panel." msgstr "" #: ../../source/cookbook/classification.rst:117 @@ -205,7 +253,7 @@ msgid ":code:`nir`" msgstr "" #: ../../source/cookbook/classification.rst:121 -msgid ":code:`swir`" +msgid ":code:`swir1`" msgstr "" #: ../../source/cookbook/classification.rst:122 @@ -217,39 +265,54 @@ msgid "Derived bands" msgstr "" #: ../../source/cookbook/classification.rst:131 -msgid "The analysis is not limited to natively available bands. SEPAL can also build additional derived bands on-the-fly." +msgid "" +"The analysis is not limited to natively available bands. SEPAL can also " +"build additional derived bands on-the-fly." msgstr "" #: ../../source/cookbook/classification.rst:133 -msgid "Select :btn:` Derived bands` at the bottom of the pop-up window and select the deriving method. This will add a a new panel to the expansion panel with the selected method name (**1**). The selected method will be applied to the selected bands." +msgid "" +"Select :btn:` Derived bands` at the bottom of the pop-" +"up window and select the deriving method. This adds a new panel named " +"after the selected method (e.g. **Normalized difference**). The method " +"will be applied to the bands you add to that panel." msgstr "" #: ../../source/cookbook/classification.rst:137 -msgid "If more than two bands are selected, the operation will be applied to the Cartesian product of the bands. If you select bands :math:`A`, :math:`B` and :math:`C`, and apply the :code:`Difference` derived bands, you'll add three bands to your analysis:" +msgid "" +"If you select two bands, :math:`A` and :math:`B`, and apply the " +"**Normalized difference** derived band, you'll add one band to your " +"analysis:" msgstr "" #: ../../source/cookbook/classification.rst:139 -msgid ":math:`A - B`" -msgstr "" - -#: ../../source/cookbook/classification.rst:140 -msgid ":math:`A - C`" +msgid ":math:`(A - B) / (A + B)`" msgstr "" #: ../../source/cookbook/classification.rst:141 -msgid ":math:`B - C`" +msgid "Selecting more than two bands applies the operation to each pair of them." msgstr "" #: ../../source/cookbook/classification.rst:149 -msgid "You should notice that in the figure, we compute the normalized difference between :code:`nir` and :code:`red` (i.e. the NDVI). It is also pre-computed in the :code:`Indexes` derived bands." +msgid "" +"You should notice that in the figure, we compute the normalized " +"difference between :code:`nir` and :code:`red` (i.e. the NDVI). It is " +"also pre-computed in the :code:`Indexes` derived bands." msgstr "" #: ../../source/cookbook/classification.rst:151 -msgid "Once image selection is complete, select :btn:` Apply` and the pop-up window will close. The images and bands will be displayed in the :guilabel:`IMG` panel in the lower-right corner of the screen. By selecting the :btn:`` button, you will remove the image and its band from the analysis altogether." +msgid "" +"Once image selection is complete, select :btn:` Apply`" +" and the pop-up window will close. The images and bands will be displayed" +" in the :guilabel:`IMG` panel in the lower-right corner of the screen. By" +" selecting the :btn:`` button, you will remove the " +"image and its bands from the analysis altogether." msgstr "" #: ../../source/cookbook/classification.rst:157 -msgid "From there, select :btn:` Next` to continue to the next step." +msgid "" +"From there, select :btn:` Next` to continue to" +" the next step." msgstr "" #: ../../source/cookbook/classification.rst:160 @@ -257,11 +320,17 @@ msgid "Legend setup" msgstr "" #: ../../source/cookbook/classification.rst:162 -msgid "In this step, the user will specify the legend that should be used in the output classified image. Any categorical classification that associates integer value to a class name will work. SEPAL provides multiple ways to create and customize a legend." +msgid "" +"In this step, the user will specify the legend that should be used in the" +" output classified image. Any categorical classification that associates " +"integer value to a class name will work. SEPAL provides multiple ways to " +"create and customize a legend." msgstr "" #: ../../source/cookbook/classification.rst:170 -msgid "Legends created here are fully compatible with other functionalities of SEPAL, including applications." +msgid "" +"Legends created here are fully compatible with other functionalities of " +"SEPAL, including applications." msgstr "" #: ../../source/cookbook/classification.rst:173 @@ -269,7 +338,9 @@ msgid "Manual legend" msgstr "" #: ../../source/cookbook/classification.rst:175 -msgid "The first and most natural way of building a legend is to do it from scratch." +msgid "" +"The first and most natural way of building a legend is to do it from " +"scratch." msgstr "" #: ../../source/cookbook/classification.rst:177 @@ -281,7 +352,9 @@ msgid "A class is defined by three key elements:" msgstr "" #: ../../source/cookbook/classification.rst:181 -msgid "Color (1): Select the small color square to open the color selector and choose any color (color[s] must be unique)." +msgid "" +"Color (1): Select the small color square to open the color selector and " +"choose any color (color[s] must be unique)." msgstr "" #: ../../source/cookbook/classification.rst:182 @@ -293,15 +366,26 @@ msgid "Class (3): Insert a class description (cannot be empty)." msgstr "" #: ../../source/cookbook/classification.rst:185 -msgid "Select the :btn:` Add` button again to add an extra class line. The :btn:`` button can be used to remove a specific line." +msgid "" +"Select the :btn:` Add` button again to add an extra " +"class line. The :btn:`` button can be used to remove a" +" specific line." msgstr "" #: ../../source/cookbook/classification.rst:189 -msgid "Select :btn:`HEX` (4) to display the hexadecimal value of the selected color. It can also be used to insert a known color palette by utilizing its values." +msgid "" +"Select :btn:`HEX` (4) to display the hexadecimal value of the selected " +"color. It can also be used to insert a known color palette by utilizing " +"its values." msgstr "" #: ../../source/cookbook/classification.rst:191 -msgid "If multiple classes are created and you are not sure which one to use, you can apply colors to them by selecting a preselected color-map (5). They are provided by the `GEE community `__ and will be applied to every existing class in your panel." +msgid "" +"If multiple classes are created and you are not sure which one to use, " +"you can apply colors to them by selecting a preselected color-map (5). " +"They are provided by the `GEE community `__ and will be applied to every existing class in your " +"panel." msgstr "" #: ../../source/cookbook/classification.rst:198 @@ -309,11 +393,16 @@ msgid "Import legend" msgstr "" #: ../../source/cookbook/classification.rst:200 -msgid "If you already have a file describing your legend, you can use it, rather than identifying every legend item individually. Your legend needs to be saved in .csv format and contain the following information:" +msgid "" +"If you already have a file describing your legend, you can use it, rather" +" than identifying every legend item individually. Your legend needs to be" +" saved in .csv format and contain the following information:" msgstr "" #: ../../source/cookbook/classification.rst:202 -msgid "color (stored as a hexadecimal value [e.g. #FFFF00] or in three columns [red, blue, green]);" +msgid "" +"color (stored as a hexadecimal value [e.g. #FFFF00] or in three columns " +"[red, blue, green]);" msgstr "" #: ../../source/cookbook/classification.rst:203 @@ -325,27 +414,43 @@ msgid "class (stored as a string)." msgstr "" #: ../../source/cookbook/classification.rst:208 -msgid "The column names will help SEPAL predict information, but are not compulsory." +msgid "" +"The column names will help SEPAL predict information, but are not " +"compulsory." msgstr "" #: ../../source/cookbook/classification.rst:210 -msgid "For example, a .csv file containing the following information is fully qualified to be used in SEPAL:" +msgid "" +"For example, a .csv file containing the following information is fully " +"qualified to be used in SEPAL:" msgstr "" #: ../../source/cookbook/classification.rst:227 -msgid "Alternatively, a file containing the following information – including RGB-defined colors – is also acceptable:" +msgid "" +"Alternatively, a file containing the following information – including " +"RGB-defined colors – is also acceptable:" msgstr "" #: ../../source/cookbook/classification.rst:244 -msgid "Once the fully qualified legend file has been prepared on your computer, select :btn:`` and then :code:`Import from CSV`, which will open a pop-up window where you can drag and drop the file or select it manually from your computer files." +msgid "" +"Once the fully qualified legend file has been prepared on your computer, " +"select :btn:`` and then :code:`Import from " +"CSV...`, which will open a pop-up window where you can drag and drop the " +"file or select it manually from your computer files." msgstr "" #: ../../source/cookbook/classification.rst:246 -msgid "As shown in the following image, you can then select the columns that are defining your .csv file (select :btn:`Single column` for hexadecimal-defined colors and :btn:`Multiple columns` for RGB-defined colors)." +msgid "" +"As shown in the following image, you can then select the columns that are" +" defining your .csv file (select :btn:`Single column` for hexadecimal-" +"defined colors and :btn:`Multiple columns` for RGB-defined colors)." msgstr "" #: ../../source/cookbook/classification.rst:252 -msgid "Select :btn:` Apply` to validate your selection. The classes will be added to the legend panel and you'll be able to modify the legend using the parameters presented in the previous subsection." +msgid "" +"Select :btn:` Apply` to validate your selection. The " +"classes will be added to the legend panel and you'll be able to modify " +"the legend using the parameters presented in the previous subsection." msgstr "" #: ../../source/cookbook/classification.rst:258 @@ -353,7 +458,12 @@ msgid "Select :btn:` Done` to validate this step." msgstr "" #: ../../source/cookbook/classification.rst:260 -msgid "Every pane should be closed; the colors of the legend should now be displayed at the bottom of the map. No classification is performed, as we didn't provide any training data. Nevertheless, this step is the last mandatory step for setting parameters. Training data can be added using the on-the-fly training functionality." +msgid "" +"Every pane should be closed; the colors of the legend should now be " +"displayed at the bottom of the map. No classification is performed, as we" +" didn't provide any training data. Nevertheless, this step is the last " +"mandatory step for setting parameters. Training data can be added using " +"the on-the-fly training functionality." msgstr "" #: ../../source/cookbook/classification.rst:263 @@ -361,499 +471,951 @@ msgid "Export legend" msgstr "" #: ../../source/cookbook/classification.rst:265 -msgid "Once your legend is validated, select the :btn:`` and then :code:`Export as CSV`." +msgid "" +"Once your legend is validated, select the :btn:``" +" and then :code:`Export as CSV`." msgstr "" #: ../../source/cookbook/classification.rst:267 -msgid "A file will be downloaded to you computer named :code:`_legend.csv`, which will contain the legend information in the following format:" +msgid "" +"A file will be downloaded to your computer named " +":code:`_legend.csv`, which will contain the legend " +"information in the following format:" msgstr "" #: ../../source/cookbook/classification.rst:277 -msgid "Select training data" +msgid "Training data setup" msgstr "" -#: ../../source/cookbook/classification.rst:281 -msgid "This step is not mandatory." -msgstr "" - -#: ../../source/cookbook/classification.rst:283 +#: ../../source/cookbook/classification.rst:279 msgid "Two inputs are required to create the classification output:" msgstr "" -#: ../../source/cookbook/classification.rst:285 +#: ../../source/cookbook/classification.rst:281 msgid "pixel values (e.g. bands) to classify; and" msgstr "" -#: ../../source/cookbook/classification.rst:286 +#: ../../source/cookbook/classification.rst:282 msgid "training data to set up the classification model." msgstr "" -#: ../../source/cookbook/classification.rst:288 -msgid "This menu will help the user manage the training data of the model used. To open it, select :btn:`TRN` in the lower-right side of the window." +#: ../../source/cookbook/classification.rst:284 +msgid "" +"This menu will help the user manage the training data of the model used. " +"To open it, select :btn:`TRN` in the lower-right side of the window." msgstr "" -#: ../../source/cookbook/classification.rst:295 -msgid "Collected reference data" +#: ../../source/cookbook/classification.rst:291 +msgid "Import existing training data" msgstr "" -#: ../../source/cookbook/classification.rst:297 -msgid "Collected reference data are data selected on the fly by the user. The workflow will be explained later in the documentation." +#: ../../source/cookbook/classification.rst:293 +msgid "" +"Instead of collecting all data by hand, SEPAL provides numerous ways to " +"include already existing training data into your analysis. The data can " +"be from multiple formats and will be included in the model to improve the" +" quality of the final map." msgstr "" -#: ../../source/cookbook/classification.rst:299 -msgid "In this pane, this type of data can be managed by the user. The data appear as a pair, associating coordinates to a class value, which will be used to create training data in the classification model." +#: ../../source/cookbook/classification.rst:297 +msgid "" +"The imported files can use an extended version of the legend provided in " +"the previous step, but to avoid unexpected behaviour, at least one of the" +" classes of your legend and the provided training data need to match." msgstr "" #: ../../source/cookbook/classification.rst:301 -msgid "If you're satisfied with the current selection and you want to share the data with others, select :btn:`` and then :code:`Export reference data to csv`. A file will be created and sent to your computer, named :code:`_reference_data.csv`. It will embed all of the gathered point data using the following convention:" +msgid "" +"If the added training data are outside of the image to classify, they " +"will have no impact on the final result (with the exception of the SEPAL " +"recipe)." +msgstr "" + +#: ../../source/cookbook/classification.rst:303 +msgid "" +"To add new data, select :btn:` Add` and choose the type" +" of data to import:" msgstr "" -#: ../../source/cookbook/classification.rst:309 -msgid "If you are not satisfied with the selected data, select :btn:`` and then :code:`Clear collected reference data` to remove all collected data from the analysis." +#: ../../source/cookbook/classification.rst:310 +msgid "CSV" msgstr "" -#: ../../source/cookbook/classification.rst:313 -msgid "A confirmation pop-up window should prevent you from accidentally deleting everything." +#: ../../source/cookbook/classification.rst:312 +msgid "" +"By selecting :btn:`CSV file`, SEPAL will request a file from your " +"computer in :code:`.csv` format. The file needs to include two pieces of " +"information: geographic coordinates and class value." msgstr "" -#: ../../source/cookbook/classification.rst:316 -msgid "Existing training data" +#: ../../source/cookbook/classification.rst:314 +msgid "" +"This can be done using coordinates in :code:`EPSG:4326` latitude and " +"longitude, as well as a `GeoJSON `__ compatible " +"point object. The file can embed other multiple columns that will not be " +"considered during the analysis." msgstr "" -#: ../../source/cookbook/classification.rst:318 -msgid "Instead of collecting all data by hand, SEPAL provides numerous ways to include already existing training data into your analysis. The data can be from multiple formats and will be included in the model to improve the quality of the final map." +#: ../../source/cookbook/classification.rst:316 +msgid "The following table is compatible with SEPAL:" msgstr "" -#: ../../source/cookbook/classification.rst:322 -msgid "The imported files can use an extended version of the legend provided in the previous step, but to avoid unexpected behaviour, at least one of the classes of your legend and the provided training data need to match." +#: ../../source/cookbook/classification.rst:324 +msgid "" +"The columns used to define the X (longitude) and Y (latitude) coordinates" +" are manually set up in the pop-up window. Select :btn:` Next` once every column is filled." msgstr "" -#: ../../source/cookbook/classification.rst:326 -msgid "If the added training data are outside of the image to classify, they will have no impact on the final result (with the exception of the SEPAL recipe)." +#: ../../source/cookbook/classification.rst:332 +msgid "" +"If your file contains a GeoJSON column instead of coordinates, select " +":btn:`GeoJSON column` to switch the interface to one column selection." msgstr "" -#: ../../source/cookbook/classification.rst:328 -msgid "To add new data, select :btn:` Add` and choose the type of data to import:" +#: ../../source/cookbook/classification.rst:334 +msgid "" +"Now that you have set up the coordinates of your points, SEPAL will ask " +"how the class values (not the names) are stored, through the **Class " +"format** selector:" msgstr "" -#: ../../source/cookbook/classification.rst:335 -msgid "CSV" +#: ../../source/cookbook/classification.rst:336 +msgid "" +"**Single column**: all class values are held in a single column — select " +"that column from your file." msgstr "" #: ../../source/cookbook/classification.rst:337 -msgid "By selecting :btn:`csv file`, SEPAL will request a file from your computer in :code:`.csv` format. The file needs to include two pieces of information: geographic coordinates and class value." +msgid "**Column per class**: each class has its own column." msgstr "" -#: ../../source/cookbook/classification.rst:339 -msgid "This can be done using coordinates in :code:`EPSG:4326` latitude and longitude, as well as a `GeoJSON `__ compatible point object. The file can embed other multiple columns that will not be considered during the analysis." +#: ../../source/cookbook/classification.rst:338 +msgid "**Other format**: use this if your data has a different layout." msgstr "" -#: ../../source/cookbook/classification.rst:341 -msgid "The following table is compatible with SEPAL:" +#: ../../source/cookbook/classification.rst:342 +msgid "" +"Using the :code:`Row filter expression` field, you can keep only the rows" +" that meet a condition — a JavaScript-like expression, referencing your " +"columns by name, that evaluates to ``true`` for the rows to keep (leave " +"it empty to keep all). For example, :code:`class == 30` keeps only the " +"rows in class 30, and :code:`class == 10 || class == 20` keeps classes 10" +" and 20." +msgstr "" + +#: ../../source/cookbook/classification.rst:348 +msgid "" +"Select :btn:` Next` to add the data to the " +"model. SEPAL will provide a summary of the classes in the legend of the " +"classification and the number of training points added by your file." msgstr "" -#: ../../source/cookbook/classification.rst:349 -msgid "The columns used to define the X (longitude) and Y (latitude) coordinates are manually set up in the pop-up window. Select :btn:` Next` once every column is filled." +#: ../../source/cookbook/classification.rst:350 +msgid "" +"Selecting the :btn:` Done` button will complete the " +"uploading procedure." msgstr "" #: ../../source/cookbook/classification.rst:357 -msgid "If your file contains a GeoJSON column instead of coordinates, select :btn:`geojson column` to switch the interface to one column selection." +msgid "GEE table" msgstr "" #: ../../source/cookbook/classification.rst:359 -msgid "Now that you have set up the coordinates of your points, SEPAL will request the columns specifying the class value (not the name) in a second frame. Only the single column is supported so far. Select the column from your file that embeds the class values." +msgid "" +"By selecting :btn:`Earth Engine Table`, SEPAL will request a file from " +"your computer in :code:`.csv` format. The file needs to provide two " +"pieces of information: geographic coordinates and class value." msgstr "" -#: ../../source/cookbook/classification.rst:363 -msgid "Using the :code:`row filter expression` text field, one can filter out some lines of the table. Refer to the `features <#>`__ section to learn more." +#: ../../source/cookbook/classification.rst:361 +msgid "" +"The process is nearly the same as found in the documentation above " +"discussing .csv tables. The only difference should be the geometry " +"column, as GEE assets usually embed a :code:`.geojson` column by default." +" If this column exists, it will be autodetected by SEPAL." msgstr "" -#: ../../source/cookbook/classification.rst:369 -msgid "Select :btn:` next` to add the data to the model. SEPAL will provide a summary of the classes in the legend of the classification and the number of training points added by your file." +#: ../../source/cookbook/classification.rst:363 +msgid "" +"For the other steps, please reproduce what was presented in the .csv " +"section above." msgstr "" #: ../../source/cookbook/classification.rst:371 -msgid "Selecting the :btn:` Done` button will complete the uploading procedure." +msgid "" +"To build the documentation example, use this public asset: " +":code:`projects/sepal-" +"cookbook/assets/classification/zmb_eastern_esa_2012_2021_reference_data`." +msgstr "" + +#: ../../source/cookbook/classification.rst:374 +msgid "Sample classification" +msgstr "" + +#: ../../source/cookbook/classification.rst:376 +msgid "" +"Instead of providing dataset points, SEPAL can also extract reference " +"data from an already existing classification – which is a good way to " +"improve an already existing classification system using an image with a " +"better resolution." msgstr "" #: ../../source/cookbook/classification.rst:378 -msgid "GEE table" +msgid "" +"To sample data, SEPAL will randomly select a number of points in each " +"class and extract the class value using the provided resolution." msgstr "" #: ../../source/cookbook/classification.rst:380 -msgid "By selecting :btn:`Earth Engine Table`, SEPAL will request a file from your computer in :code:`.csv` format. The file needs to provide two pieces of information: geographic coordinates and class value." +msgid "" +"Start by selecting :btn:`Sample classification` in the opened pop-up " +"window, where all of the parameters can be set:" msgstr "" #: ../../source/cookbook/classification.rst:382 -msgid "The process is nearly the same as found in the documentation above discussing .csv tables. The only difference should be the geometry column, as GEE assets usually embed a :code:`.goejson` column by default. If this column exists, it will be autodetected by SEPAL." -msgstr "" - -#: ../../source/cookbook/classification.rst:384 -msgid "For the other steps, please reproduce what was presented in the .csv section above." +msgid "" +"**Samples per class**: the number of samples per class of the provided " +"image. The more samples you request, the more accurate the model will be " +"(if too many samples are selected, on-the-fly visualization will never " +"render). The default is :code:`100`, but you can pick other preset " +"values, such as the :code:`1000` used in this example." msgstr "" -#: ../../source/cookbook/classification.rst:392 -msgid "To build the documentation example, use this public asset: :code:`projects/sepal-cookbook/assets/classification/zmb_eastern_esa_2012_2021_reference_data`." +#: ../../source/cookbook/classification.rst:383 +msgid "" +"**Scale to sample in**: the scale used to create the sample in the " +"provided image (it should match the image to classify resolution; default" +" to: :code:`30 m`)." msgstr "" -#: ../../source/cookbook/classification.rst:395 -msgid "Sample classification" +#: ../../source/cookbook/classification.rst:384 +msgid "" +"**Image source**: choose whether to sample from an existing :guilabel:`EE" +" Asset` or a saved :guilabel:`Recipe`." msgstr "" -#: ../../source/cookbook/classification.rst:397 -msgid "Instead of providing dataset points, SEPAL can also extract reference data from an already existing classification – which is a good way to improve an already existing classification system using an image with a better resolution." +#: ../../source/cookbook/classification.rst:385 +msgid "" +"**EE asset ID of classification**: when :guilabel:`EE Asset` is selected," +" the ID of the classification to sample (it should be an :code:`ee.Image`" +" accessible to the user). When :guilabel:`Recipe` is selected instead, " +"choose one of your saved classification recipes to sample." msgstr "" -#: ../../source/cookbook/classification.rst:399 -msgid "To sample data, SEPAL will randomly select a number of points in each class and extract the class value using the provided resolution." +#: ../../source/cookbook/classification.rst:386 +msgid "" +"**Class band**: The class to use for classification value (the dropdown " +"menu will be filled with the bands found in the provided asset or " +"recipe)." msgstr "" -#: ../../source/cookbook/classification.rst:401 -msgid "Start by selecting btn:`Sample classification` in the opened pop-up window, where all of the the parameters can be set:" +#: ../../source/cookbook/classification.rst:394 +msgid "" +"When all of the parameters are selected, it can take time, as SEPAL " +"builds the sampling values on the fly. They will only be displayed once " +"the sampling is validated." msgstr "" -#: ../../source/cookbook/classification.rst:403 -msgid "**Sample per class**: the number of samples per class of the provided image. The more samples you request, the more accurate the model will be (if too many samples are selected, on-the-fly visualization will never render; default to: :code:`1000`)." +#: ../../source/cookbook/classification.rst:396 +msgid "" +"Select :btn:` Next` to display the sampling " +"summary. In this pane, SEPAL displays each class of the legend (as " +"defined in the previous subsection) and the number of samples created for" +" it." msgstr "" -#: ../../source/cookbook/classification.rst:404 -msgid "**Scale to sample in**: the scale used to create the sample in the provided image (it should match the image to classify resolution; default to: :code:`30 m`)." +#: ../../source/cookbook/classification.rst:398 +msgid "" +"Each class shows its sample count next to a green :btn:`` button — use it to change the number of samples for that class. By" +" default, SEPAL ignores the samples with a :code:`Null` value; select " +":btn:`Default` on any class so that these points end up in the default " +"class instead of being ignored." msgstr "" #: ../../source/cookbook/classification.rst:405 -msgid "**EE asset ID**: the ID of the classification to sample (it should be an :code:`ee.Image` accessible to the user)." +msgid "SEPAL recipe" msgstr "" -#: ../../source/cookbook/classification.rst:406 -msgid "**Class band**: The class to use for classification value (the dropdown menu will be filled with the bands found in the provided asset)." +#: ../../source/cookbook/classification.rst:407 +msgid "" +"SEPAL is also able to directly apply a model built in another recipe as " +"training data. In this case, we are not importing the points, but all of " +"the model from the external recipe. It will not add points to the map. " +"It's useful when the same classification needs to be applied on the same " +"area for multiple years. The classification work can be carried out only " +"in the first year and then applied recursively on all the others." msgstr "" -#: ../../source/cookbook/classification.rst:410 -msgid "To reproduce this example, use the following asset as an image to sample: :code:`projects/sepal-cookbook/assets/classification/zmb_copernicus_landcover`." +#: ../../source/cookbook/classification.rst:409 +msgid "" +"Select :btn:`Saved SEPAL recipe` to open the pop-up window. In the " +"dropdown menu, select one of the recipes saved in your SEPAL account." msgstr "" -#: ../../source/cookbook/classification.rst:418 -msgid "When all of the parameters are selected, it can take time, as SEPAL builds the sampling values on the fly. They will only be displayed once the sampling is validated." +#: ../../source/cookbook/classification.rst:413 +msgid "" +"The imported recipe needs to be a **Classification** recipe. If none are " +"found, the dropdown menu will be empty." msgstr "" -#: ../../source/cookbook/classification.rst:420 -msgid "Select :btn:` Next` to display the sampling summary. In this pane, SEPAL displays each class of the legend (as defined in the previous subsection) and the number of samples created for it." +#: ../../source/cookbook/classification.rst:415 +msgid "This recipe cannot come from another SEPAL account." msgstr "" #: ../../source/cookbook/classification.rst:422 -msgid "Select the :btn:`` buttons (**1**) to change the number of samples in a specific class. By default, SEPAL ignores the samples with a :code:`Null` value. One can select :btn:`Default` (**2**) for any of the classes so that these points end up in the default class instead of being ignored." +msgid "Collect Earth Online" +msgstr "" + +#: ../../source/cookbook/classification.rst:427 +msgid "" +"SEPAL can import training data you have collected in a `Collect Earth " +"Online `__ (CEO) project directly, without " +"exporting and re-uploading a file. Select :btn:`Collect Earth Online` to " +"open the panel." msgstr "" #: ../../source/cookbook/classification.rst:429 -msgid "SEPAL recipe" +msgid "**Connect to your CEO account**" msgstr "" #: ../../source/cookbook/classification.rst:431 -msgid "SEPAL is also able to directly apply a model built in another recipe as training data. In this case, we are not importing the points, but all of the model from the external recipe. It will not add points to the map. It's useful when the same classification needs to be applied on the same area for multiple years. The classification work can be carried out only in the first year and then applied recursively on all the others." +msgid "The panel starts as :ceo-disconnected:`Disconnected from CEO`." msgstr "" #: ../../source/cookbook/classification.rst:433 -msgid "Select :btn:`Saved SEPAL recipe` to open the pop-up window. In the dropdown menu, select one of the recipes saved in your SEPAL account." +msgid "" +"Select :btn:`Connect` to open the **Collect Earth Online Authentication**" +" window, enter your :code:`CEO Email` and :code:`CEO Password`, and " +"select :btn:`Connect` again." msgstr "" #: ../../source/cookbook/classification.rst:437 -msgid "The imported recipe needs to be a **Classification** recipe. If none are found, the dropdown menu will be empty." +msgid "" +"Your credentials are never stored on SEPAL servers. When your SEPAL " +"session ends, the CEO connection is terminated automatically. You can " +"also select :btn:`Disconnect` at any time to end it manually." msgstr "" #: ../../source/cookbook/classification.rst:439 -msgid "This recipe cannot come from another SEPAL account." +msgid "**Select the institution and project**" msgstr "" -#: ../../source/cookbook/classification.rst:446 -msgid "Use auxiliary datasets" +#: ../../source/cookbook/classification.rst:441 +msgid "Once connected (:ceo-connected:`You are connected to CEO`), fill in:" msgstr "" -#: ../../source/cookbook/classification.rst:448 -msgid "Some information that could be useful to the classification model is not always included in your image bands. A common example is **Elevation**. In order to improve the quality of the classification, SEPAL can provide some extra datasets to add auxiliary bands to the classification model." +#: ../../source/cookbook/classification.rst:443 +msgid "" +"**Institution**: the CEO institution to pull data from. Only institutions" +" where you are both a **member** and an **admin** are listed." +msgstr "" + +#: ../../source/cookbook/classification.rst:444 +msgid "" +"**Project**: the project within that institution whose collected data you" +" want to use." msgstr "" -#: ../../source/cookbook/classification.rst:450 -msgid "Select :btn:`AUX` to open the **Auxiliaries** tab. Three sources are currently implemented in the platform (any number of them can be selected):" +#: ../../source/cookbook/classification.rst:445 +msgid "" +"**Data type**: whether to import the project's :guilabel:`Plot` " +"(aggregated plot) data or its :guilabel:`Sample` data." msgstr "" -#: ../../source/cookbook/classification.rst:452 -msgid "**Latitude**: On-the-fly latitude dataset built from the coordinates of each pixel's center." +#: ../../source/cookbook/classification.rst:451 +msgid "" +"SEPAL then loads the collected data, ready to be mapped to your legend in" +" the next two steps." msgstr "" #: ../../source/cookbook/classification.rst:453 -msgid "**Terrain**: From the `NASA SRTM Digital Elevation 30 m `__ dataset, SEPAL will use the :code:`Elevation`, :code:`Slope` and :code:`Aspect` bands. It will also add an :code:`Eastness` and :code:`Northness` band derived from :code:`Aspect`." +msgid "**Set the location**" msgstr "" -#: ../../source/cookbook/classification.rst:454 -msgid "**Water**: From the `JRC Global Surface Water Mapping Layers, v1.3 `__ dataset, SEPAL will add the following bands: :code:`occurrence`, :code:`change_abs`, :code:`change_norm`, :code:`seasonality`, :code:`max_extent`, :code:`water_occurrence`, :code:`water_change_abs`, :code:`water_change_norm`, :code:`water_seasonality` and :code:`water_max_extent`." +#: ../../source/cookbook/classification.rst:455 +msgid "" +"SEPAL reads the point locations from the data and pre-fills the " +"**Location type** (:guilabel:`X/Y coordinate columns` or " +":guilabel:`GeoJSON column`) together with the matching coordinate " +"columns. These are detected automatically from the CEO data, so you can " +"usually confirm them as they are." msgstr "" -#: ../../source/cookbook/classification.rst:461 -msgid "Classifier configuration" +#: ../../source/cookbook/classification.rst:457 +msgid "**Set the class format**" msgstr "" -#: ../../source/cookbook/classification.rst:465 -msgid "Customizing the classifier is a section designed for advanced users. Make sure that you thoroughly understand how the classifier you're using works before changing its parameters." +#: ../../source/cookbook/classification.rst:459 +msgid "" +"Tell SEPAL how the class values are stored in the CEO data, through the " +"**Class format** selector:" msgstr "" -#: ../../source/cookbook/classification.rst:469 -msgid "The default value is a **Random Forest** classifier using 25 trees." +#: ../../source/cookbook/classification.rst:461 +msgid "**Single column**: all class values are held in a single column." msgstr "" -#: ../../source/cookbook/classification.rst:471 -msgid "The **Classification** tool used in SEPAL is based on the `Smile - Statistical Machine Intelligence and Learning Engine Javascript `__ library (refer to their documentation for specific descriptions of each model)." +#: ../../source/cookbook/classification.rst:462 +msgid "" +"**Column per class**: each class has its own column. CEO data is mostly " +"organized this way." msgstr "" -#: ../../source/cookbook/classification.rst:473 -msgid "Select :btn:`CLS` to open the **Classification parameter** menu. SEPAL supports seven classifiers:" +#: ../../source/cookbook/classification.rst:463 +msgid "**Other format**: use this if your reference data has a different layout." msgstr "" -#: ../../source/cookbook/classification.rst:475 -msgid "random forest" +#: ../../source/cookbook/classification.rst:465 +msgid "" +"SEPAL pre-selects the format based on the chosen data type, but you can " +"change it." msgstr "" -#: ../../source/cookbook/classification.rst:476 -msgid "gradient tree boost" +#: ../../source/cookbook/classification.rst:467 +msgid "" +"Select :btn:` Next` to reach the class " +"summary, which lists each legend class. For every class, select the :btn" +":`` button to choose the column that corresponds to it," +" then select :btn:` Done` to add the reference data to" +" the model." msgstr "" -#: ../../source/cookbook/classification.rst:477 -msgid "cart" +#: ../../source/cookbook/classification.rst:474 +msgid "Manage collected reference data" msgstr "" -#: ../../source/cookbook/classification.rst:478 -msgid "naive bayes" +#: ../../source/cookbook/classification.rst:476 +msgid "" +"Collected reference data are the points you add directly on the map with " +"the on-the-fly training tool, described in the `On-the-fly training`_ " +"section. Each point pairs a set of coordinates with a class value. Select" +" the :btn:`` button — to the right of the :btn" +":` Add` button in the :btn:`TRN` tab — to manage them:" msgstr "" -#: ../../source/cookbook/classification.rst:479 -msgid "SVM" +#: ../../source/cookbook/classification.rst:478 +msgid "" +"**Export reference data to CSV**: download a " +":code:`_reference_data.csv` file to share your points with " +"others. It will embed all of the gathered point data using the following " +"convention:" msgstr "" -#: ../../source/cookbook/classification.rst:480 -msgid "min distance" +#: ../../source/cookbook/classification.rst:486 +msgid "" +"**Clear collected reference data**: remove every collected point from the" +" analysis." msgstr "" -#: ../../source/cookbook/classification.rst:481 -msgid "decision tree" +#: ../../source/cookbook/classification.rst:490 +msgid "A confirmation pop-up prevents you from accidentally deleting everything." msgstr "" -#: ../../source/cookbook/classification.rst:483 -msgid "For each of them, the workflow is the same:" +#: ../../source/cookbook/classification.rst:493 +msgid "Use auxiliary datasets" msgstr "" -#: ../../source/cookbook/classification.rst:485 -msgid "Select the classifier by clicking on the corresponding name. SEPAL will display some of the parameters available." +#: ../../source/cookbook/classification.rst:495 +msgid "" +"Some information that could be useful to the classification model is not " +"always included in your image bands. A common example is **Elevation**. " +"In order to improve the quality of the classification, SEPAL can provide " +"some extra datasets to add auxiliary bands to the classification model." msgstr "" -#: ../../source/cookbook/classification.rst:486 -msgid "Select :btn:`More` on the lower-left side of the panel to fully customize your classifier. The classification results will be updated on the fly." +#: ../../source/cookbook/classification.rst:497 +msgid "" +"Select :btn:`AUX` to open the **Auxiliaries** tab. Three sources are " +"currently implemented in the platform (any number of them can be " +"selected):" msgstr "" #: ../../source/cookbook/classification.rst:499 -msgid "On-the-fly training" +msgid "" +"**Latitude**: On-the-fly latitude dataset built from the coordinates of " +"each pixel's center." msgstr "" -#: ../../source/cookbook/classification.rst:503 -msgid "This process requires a good understanding of the **Visualization** feature of SEPAL (refer to the `feature <#>`__ section for more information)." +#: ../../source/cookbook/classification.rst:500 +msgid "" +"**Terrain**: From the `NASA SRTM Digital Elevation 30 m " +"`__ dataset, SEPAL will use the " +":code:`Elevation`, :code:`Slope` and :code:`Aspect` bands. It will also " +"add an :code:`Eastness` and :code:`Northness` band derived from " +":code:`Aspect`." msgstr "" -#: ../../source/cookbook/classification.rst:505 -msgid "Once all of the parameters are set, the user is free to add extra training data in the web interface and the new points will be added to the final model, improving the quality of the classification." +#: ../../source/cookbook/classification.rst:501 +msgid "" +"**Water**: From the `JRC Global Surface Water Mapping Layers, v1.3 " +"`__ dataset, SEPAL " +"will add the following bands: :code:`occurrence`, :code:`change_abs`, " +":code:`change_norm`, :code:`seasonality`, :code:`max_extent`, " +":code:`water_occurrence`, :code:`water_change_abs`, " +":code:`water_change_norm`, :code:`water_seasonality` and " +":code:`water_max_extent`." msgstr "" #: ../../source/cookbook/classification.rst:508 -msgid "Set up the view" +msgid "Classifier configuration" msgstr "" -#: ../../source/cookbook/classification.rst:510 -msgid "In order to improve the classification, one must set up the view to display all of the information. While these guidelines could be modified and extended, they are still useful as an introductory resource." +#: ../../source/cookbook/classification.rst:512 +msgid "" +"Customizing the classifier is a section designed for advanced users. Make" +" sure that you thoroughly understand how the classifier you're using " +"works before changing its parameters." msgstr "" -#: ../../source/cookbook/classification.rst:512 -msgid "In the following image, we displayed:" +#: ../../source/cookbook/classification.rst:516 +msgid "The default value is a **Random Forest** classifier using 25 trees." msgstr "" -#: ../../source/cookbook/classification.rst:514 -msgid "The current recipe (**1**) using the class colors in categorical mode." +#: ../../source/cookbook/classification.rst:518 +msgid "" +"The **Classification** tool used in SEPAL is based on the `Smile - " +"Statistical Machine Intelligence and Learning Engine Javascript " +"`__ library (refer to " +"their documentation for specific descriptions of each model)." msgstr "" -#: ../../source/cookbook/classification.rst:515 -msgid "The current image (what you are classifying) (**2**) using the NIR,RED,SWIR band combination." +#: ../../source/cookbook/classification.rst:520 +msgid "" +"Select :btn:`CLS` to open the **Classification parameter** menu. SEPAL " +"supports seven classifiers:" msgstr "" -#: ../../source/cookbook/classification.rst:516 -msgid "The extra visual dataset NICFI Planet Lab data (**3**) from 2021." +#: ../../source/cookbook/classification.rst:522 +msgid "Random Forest" msgstr "" -#: ../../source/cookbook/classification.rst:518 -msgid "The number (4) indicates a cluster of existing training points. Zoom in and they will be displayed as markers using the color of the class they mark (**5**)." +#: ../../source/cookbook/classification.rst:523 +msgid "Gradient tree boost" msgstr "" -#: ../../source/cookbook/classification.rst:522 -msgid "This initial classification has been set using sampled data. Since they are sampled from a larger image, some are out of the image. They will have no impact on the classification as they are applied to masked pixels (**6**)." +#: ../../source/cookbook/classification.rst:524 +msgid "Cart" msgstr "" -#: ../../source/cookbook/classification.rst:530 -msgid "Select points" +#: ../../source/cookbook/classification.rst:525 +msgid "Naive bayes" msgstr "" -#: ../../source/cookbook/classification.rst:532 -msgid "To start adding points, open the training interface by selecting :btn:`` in the upper right of the screen (**1**). Once selected, the background color becomes darker and the pointer of the mouse becomes a :icon:`fa-solid fa-plus`." +#: ../../source/cookbook/classification.rst:526 +msgid "SVM" msgstr "" -#: ../../source/cookbook/classification.rst:534 -msgid "The process to add new training data is as follows:" +#: ../../source/cookbook/classification.rst:527 +msgid "Min distance" msgstr "" -#: ../../source/cookbook/classification.rst:536 -msgid "**Click on the map to select a point**: You can click in any of the panes (not restricted to the **Recipe** pane), but to be useful, the point needs to be within the border of the AOI. If it's not already the case, the **Class selection** panel will appear in the upper right of the window (**2**)." +#: ../../source/cookbook/classification.rst:528 +msgid "Decision tree" msgstr "" -#: ../../source/cookbook/classification.rst:537 -msgid "**Select the class value**: The previous class value is preselected, but you can change it to any other class value from the defined legend. The legend is displayed as :code:` ()`." +#: ../../source/cookbook/classification.rst:530 +msgid "For each of them, the workflow is the same:" msgstr "" -#: ../../source/cookbook/classification.rst:539 -msgid "You can now click elsewhere on the map to add another point. If you are satisfied with the classification, select :btn:` Close` (3) and select :btn:`` again to stop editing the points. Every time a new point is added, the **Classification** map is recomputed and rendered on the left side." +#: ../../source/cookbook/classification.rst:532 +msgid "" +"Select the classifier by clicking on the corresponding name. SEPAL will " +"display some of the parameters available." msgstr "" -#: ../../source/cookbook/classification.rst:546 -msgid "Modify existing points" +#: ../../source/cookbook/classification.rst:533 +msgid "" +"Select :btn:`More` on the lower-left side of the panel to fully customize" +" your classifier. The classification results will be updated on the fly." msgstr "" -#: ../../source/cookbook/classification.rst:548 -msgid "To modify existing points, select the :btn:`` to open the **Point editing** interface. Then:" +#: ../../source/cookbook/classification.rst:546 +msgid "Refine the classification" msgstr "" #: ../../source/cookbook/classification.rst:550 -msgid "**Select a point**: To select a point, click on an existing marker. It will appear bolder than the others. If it's not already the case, the **Class selection** pane will appear in the upper right." +msgid "" +"This process requires a good understanding of the **Visualization** " +"feature of SEPAL (see :doc:`../feature/visualization` for more " +"information)." msgstr "" -#: ../../source/cookbook/classification.rst:551 -msgid "**Change the class value**: The point class will be selected in the **Editing** menu with a :icon:`fa-solid fa-check`. Select any other class value to change it." +#: ../../source/cookbook/classification.rst:552 +msgid "" +"Once all of the parameters are set, you can refine the classification " +"directly on the map: set up the view, add or edit training points on the " +"fly, and check the model's confidence." msgstr "" -#: ../../source/cookbook/classification.rst:554 -msgid "Check the validity" +#: ../../source/cookbook/classification.rst:555 +msgid "Set up the view" msgstr "" -#: ../../source/cookbook/classification.rst:556 -msgid "SEPAL embeds information to help the user understand if the amount of training data is sufficient to produce an accurate classification model. In the **Recipe** window, change the **Band combination** to :code:`Class probability`." +#: ../../source/cookbook/classification.rst:557 +msgid "" +"In order to improve the classification, one must set up the view to " +"display all of the information; you choose what the map shows from the " +"**Layers** panel. Select the :btn:`` layers-to-" +"show icon in the top-right of the screen to open the panel, then:" msgstr "" -#: ../../source/cookbook/classification.rst:558 -msgid "The user now sees the probability of the model (i.e. the confidence level of the level with output class for each pixel)." +#: ../../source/cookbook/classification.rst:559 +msgid "" +"Pick a layout mode — :guilabel:`Grid` to split the map into several panes" +" side by side, or :guilabel:`Stack` to overlay the layers in a single " +"pane." msgstr "" #: ../../source/cookbook/classification.rst:560 -msgid "If the value is high (> 80 percent), then the pixel can be considered valid; if the value is low (< 80 percent), the model needs more training data or extra bands to improve the analysis." +msgid "" +"Drag and drop each layer onto a position (centre, a side, or a corner) to" +" choose where it appears; drag it between positions to rearrange it, or " +"off the areas to remove it." msgstr "" -#: ../../source/cookbook/classification.rst:562 -msgid "In the example image, the lake is classified as a **permanent water body** with a confidence of 65 percent, which is higher than the rest of the vegetation around it." +#: ../../source/cookbook/classification.rst:561 +msgid "" +"If the layer you need is not already in the panel, select :btn:` Add` to add a source: **Add a SEPAL recipe**, **Add an Earth " +"Engine asset**, or **Add a Planet account**." msgstr "" -#: ../../source/cookbook/classification.rst:568 -msgid "This analysis can also be conducted class-by-class using the built-in :code:` %` bands. Select the one corresponding to the class you want to assess (see the following image) and you'll get the percentage of confidence for each pixel to be in the sub-mentioned class." +#: ../../source/cookbook/classification.rst:567 +msgid "" +"With your layers arranged, the map displays them together so you can " +"compare them while adding training data." msgstr "" -#: ../../source/cookbook/classification.rst:575 -msgid "Export" +#: ../../source/cookbook/classification.rst:569 +msgid "In the following image, we displayed:" msgstr "" -#: ../../source/cookbook/classification.rst:579 -msgid "You cannot export a recipe as an asset or a :code:`.tiff` file without a small computation quota. If you are a new user, see :doc:`../setup/resource`." +#: ../../source/cookbook/classification.rst:571 +msgid "The current recipe (**1**) using the class colors in categorical mode." msgstr "" -#: ../../source/cookbook/classification.rst:582 -msgid "Start download" +#: ../../source/cookbook/classification.rst:572 +msgid "" +"The current image (what you are classifying) (**2**) using the " +"NIR,RED,SWIR1 band combination." msgstr "" -#: ../../source/cookbook/classification.rst:584 -msgid "Selecting the :icon:`fa-solid fa-cloud-arrow-down` tab will open the **Retrieve** pane, where you can select the exportation parameters (**1**)." +#: ../../source/cookbook/classification.rst:573 +msgid "The extra visual dataset NICFI Planet Lab data (**3**) from 2021." +msgstr "" + +#: ../../source/cookbook/classification.rst:575 +msgid "" +"The number (4) indicates a cluster of existing training points. Zoom in " +"and they will be displayed as markers using the color of the class they " +"mark (**5**)." +msgstr "" + +#: ../../source/cookbook/classification.rst:583 +msgid "" +"This initial classification has been set using sampled data. Since they " +"are sampled from a larger image, some are out of the image. They will " +"have no impact on the classification as they are applied to masked pixels" +" (**6**)." msgstr "" -#: ../../source/cookbook/classification.rst:586 -msgid "You need to select the band to export (**2**). There is no maximum number of bands; however, exporting useless bands will only increase the size and time of the output." +#: ../../source/cookbook/classification.rst:587 +msgid "On-the-fly training" msgstr "" -#: ../../source/cookbook/classification.rst:588 -msgid "You can set a custom scale for exportation (**3**) by changing the value of the slider in metres (m). (Note: Requesting a smaller resolution than images' native resolution will not improve the quality of the output – just its size; keep in mind that the native resolution of Sentinel data is 10 m, while Landsat is 30 m.)" +#: ../../source/cookbook/classification.rst:589 +msgid "" +"You are free to add extra training data in the web interface; each new " +"point is added to the final model, improving the quality of the " +"classification." msgstr "" -#: ../../source/cookbook/classification.rst:590 -msgid "You can export the image to the :btn:`SEPAL workspace` or to the :btn:`Google Earth Engine Asset` list. The same image will be exported, but for the former, you will find it in :code:`.tif` format in the :code:`Downloads` folder; for the latter, the image will be exported to your **GEE account asset list**." +#: ../../source/cookbook/classification.rst:592 +msgid "Select points" msgstr "" #: ../../source/cookbook/classification.rst:594 -msgid "If :btn:`Google Earth Engine Asset` is not displayed, your GEE account is not connected to SEPAL. Refer to `Connect SEPAL to GEE <../setup/gee.html>`__." +msgid "" +"To start adding points, open the training interface by selecting :btn" +":`` in the upper right of the screen (**1**). " +"Once selected, the background color becomes darker and the pointer of the" +" mouse becomes a :icon:`fa-solid fa-plus`." msgstr "" #: ../../source/cookbook/classification.rst:596 -msgid "Select :btn:` Apply` to start the download process." +msgid "The process to add new training data is as follows:" msgstr "" -#: ../../source/cookbook/classification.rst:603 -msgid "Exportation status" +#: ../../source/cookbook/classification.rst:598 +msgid "" +"**Click on the map to select a point**: You can click in any of the panes" +" (not restricted to the **Recipe** pane), but to be useful, the point " +"needs to be within the border of the AOI. If it's not already the case, " +"the **Class selection** panel will appear in the upper right of the " +"window (**2**)." +msgstr "" + +#: ../../source/cookbook/classification.rst:599 +msgid "" +"**Select the class value**: The previous class value is preselected, but " +"you can change it to any other class value from the defined legend. The " +"legend is displayed as :code:` ()`." +msgstr "" + +#: ../../source/cookbook/classification.rst:601 +msgid "" +"You can now click elsewhere on the map to add another point. If you are " +"satisfied with the classification, select :btn:` " +"Close` (3) and select :btn:`` again to stop " +"editing the points. Every time a new point is added, the " +"**Classification** map is recomputed and rendered on the left side." msgstr "" -#: ../../source/cookbook/classification.rst:605 -msgid "By going to the **Tasks** tab (in the lower-left corner using the :btn:`` or :btn:`` buttons, depending on the loading status), you will see the list of different loading tasks." +#: ../../source/cookbook/classification.rst:608 +msgid "Modify existing points" msgstr "" -#: ../../source/cookbook/classification.rst:607 -msgid "The interface will provide you with information about the task progress and display an error if the exportation has failed. If you are unsatisfied with the way we present information, the task can also be monitored using the `GEE task manager `__." +#: ../../source/cookbook/classification.rst:610 +msgid "" +"To modify existing points, select the :btn:`` " +"to open the **Point editing** interface. Then:" msgstr "" -#: ../../source/cookbook/classification.rst:611 -msgid "This operation is running between GEE and SEPAL servers in the background. You can close the SEPAL page without ending the process." +#: ../../source/cookbook/classification.rst:612 +msgid "" +"**Select a point**: To select a point, click on an existing marker. It " +"will appear bolder than the others. If it's not already the case, the " +"**Class selection** pane will appear in the upper right." msgstr "" #: ../../source/cookbook/classification.rst:613 -msgid "When the task is finished, the frame will be displayed in green, as shown in the second image below." +msgid "" +"**Change the class value**: The point class will be selected in the " +"**Editing** menu with a :icon:`fa-solid fa-check`. Select any other class" +" value to change it." msgstr "" -#: ../../source/cookbook/classification.rst:626 -msgid "Access" +#: ../../source/cookbook/classification.rst:616 +msgid "Check the validity" msgstr "" -#: ../../source/cookbook/classification.rst:628 -msgid "Once the download process is done, you can access the data in your **SEPAL folders**. The data will be stored in the :code:`Downloads` folder using the following format:" +#: ../../source/cookbook/classification.rst:618 +msgid "" +"SEPAL embeds information to help the user understand if the amount of " +"training data is sufficient to produce an accurate classification model. " +"In the **Recipe** window, select the :btn:`` button at " +"the bottom centre of the map to open the layer's options, then change the" +" **Bands** selector to :code:`Class probability`." msgstr "" -#: ../../source/cookbook/classification.rst:643 -msgid "Understanding how images are stored in an optical mosaic is only required if you want to manually use them. The SEPAL applications are bound to this tiling system and can digest this information for you." +#: ../../source/cookbook/classification.rst:620 +msgid "" +"The user now sees the probability of the model (i.e. the confidence level" +" of the output class for each pixel)." msgstr "" -#: ../../source/cookbook/classification.rst:645 -msgid "The data are stored in a folder using the name of the optical mosaic as it was created in the first section of this article. As the data are spatially too big to be exported at once, they are divided into smaller pieces and brought back together in a :code:`_.vrt` file." +#: ../../source/cookbook/classification.rst:622 +msgid "" +"If the value is high (> 80 percent), then the pixel can be considered " +"valid; if the value is low (< 80 percent), the model needs more training " +"data or extra bands to improve the analysis." msgstr "" -#: ../../source/cookbook/classification.rst:649 -msgid "The full folder with a consistent tree folder is required to read the `.vrt`." +#: ../../source/cookbook/classification.rst:624 +msgid "" +"In the example image, the lake is classified as a **permanent water " +"body** with a confidence of 65 percent, which is higher than the rest of " +"the vegetation around it." msgstr "" -#~ msgid "" -#~ "With this recipe, SEPAL will help " -#~ "users build a supervised classification " -#~ "of any mosaic image. It is built" -#~ " on top of the most advanced " -#~ "tools available on Google Earth Engine" -#~ " (including the classifiers CART, " -#~ "RandomForest, NaiveBayes and SVM), allowing" -#~ " users to create an easy-to-use" -#~ " user interface to:" -#~ msgstr "" +#: ../../source/cookbook/classification.rst:630 +msgid "" +"This analysis can also be conducted class-by-class using the built-in " +":code:` %` bands. Select the one corresponding to the class " +"you want to assess (see the following image) and you'll get the " +"percentage of confidence for each pixel to be in the sub-mentioned class." +msgstr "" -#~ msgid "select the image to classify" -#~ msgstr "" +#: ../../source/cookbook/classification.rst:637 +msgid "Export" +msgstr "" -#~ msgid "add training data from external sources and on the fly selection" -#~ msgstr "" +#: ../../source/cookbook/classification.rst:641 +msgid "" +"You cannot export a recipe as an asset or a :code:`.tif` file without a " +"small computation quota. If you are a new user, see " +":doc:`../setup/resource`." +msgstr "" -#~ msgid "" -#~ "Once the classification recipe is " -#~ "selected, SEPAL will show the recipe " -#~ "process in a new tab (1) and " +#: ../../source/cookbook/classification.rst:644 +msgid "Start download" +msgstr "" + +#: ../../source/cookbook/classification.rst:646 +msgid "" +"Selecting the :icon:`fa-solid fa-cloud-arrow-down` tab will open the " +"**Retrieve** pane where you can select the exportation parameters." +msgstr "" + +#: ../../source/cookbook/classification.rst:653 +msgid "Bands" +msgstr "" + +#: ../../source/cookbook/classification.rst:655 +msgid "" +"You need to select the band(s) to export. There is no maximum number of " +"bands, but exporting useless bands will only increase the size and time " +"of the output. The available bands include the classified Class band, the" +" Class probability band, and the per-class confidence " +"(:code:` %`) bands." +msgstr "" + +#: ../../source/cookbook/classification.rst:658 +msgid "Scale" +msgstr "" + +#: ../../source/cookbook/classification.rst:660 +msgid "" +"You can set a custom scale for exportation by selecting a value in metres" +" (m) (note that requesting a smaller resolution than the images' native " +"resolution will not improve the quality of the output – just its size – " +"keep in mind that the native resolution of Sentinel data is 10 m, while " +"Landsat is 30 m)." +msgstr "" + +#: ../../source/cookbook/classification.rst:663 +msgid "Destination" +msgstr "" + +#: ../../source/cookbook/classification.rst:665 +msgid "Choose a single destination for the export:" +msgstr "" + +#: ../../source/cookbook/classification.rst:667 +msgid "" +":guilabel:`SEPAL workspace`: the image is written to your SEPAL files in " +":code:`.tif` format (by default in the :code:`Downloads` folder)." +msgstr "" + +#: ../../source/cookbook/classification.rst:668 +msgid "" +":guilabel:`Google Earth Engine asset`: the image is exported to your GEE " +"account as an asset. You can export it either as a single " +":guilabel:`Image` or as an :guilabel:`Image collection` (tiled, which is " +"better suited to large exports), and set its sharing to " +":guilabel:`Private` or :guilabel:`Public`." +msgstr "" + +#: ../../source/cookbook/classification.rst:669 +msgid "" +":guilabel:`Google Drive`: the image is exported to the Google Drive of " +"the connected Google account." +msgstr "" + +#: ../../source/cookbook/classification.rst:673 +msgid "" +"The :guilabel:`Google Earth Engine asset` and :guilabel:`Google Drive` " +"destinations are only displayed when a Google account is connected to " +"SEPAL. If they are missing, please refer to `Connect SEPAL to GEE " +"<../setup/gee.html>`__." +msgstr "" + +#: ../../source/cookbook/classification.rst:675 +msgid "Select :guilabel:`Retrieve` to start the export process." +msgstr "" + +#: ../../source/cookbook/classification.rst:678 +msgid "Exportation status" +msgstr "" + +#: ../../source/cookbook/classification.rst:680 +msgid "" +"By going to the **Tasks** tab (in the lower-left corner using the :btn" +":`` or :btn:`` buttons, " +"depending on the loading status), you will see the list of different " +"loading tasks." +msgstr "" + +#: ../../source/cookbook/classification.rst:682 +msgid "" +"The interface will provide you with information about the task progress " +"and display an error if the exportation has failed. If you are " +"unsatisfied with the way we present information, the task can also be " +"monitored using the `GEE task manager " +"`__." +msgstr "" + +#: ../../source/cookbook/classification.rst:686 +msgid "" +"This operation is running between GEE and SEPAL servers in the " +"background. You can close the SEPAL page without ending the process." +msgstr "" + +#: ../../source/cookbook/classification.rst:688 +msgid "" +"When the task is finished, the frame will be displayed in green, as shown" +" in the second image below." +msgstr "" + +#: ../../source/cookbook/classification.rst:701 +msgid "Access" +msgstr "" + +#: ../../source/cookbook/classification.rst:703 +msgid "" +"Once the download process is done, you can access the data in your " +"**SEPAL folders**. The data will be stored in the :code:`Downloads` " +"folder using the following format:" +msgstr "" + +#: ../../source/cookbook/classification.rst:718 +msgid "" +"Understanding how images are stored in an optical mosaic is only required" +" if you want to manually use them. The SEPAL applications are bound to " +"this tiling system and can digest this information for you." +msgstr "" + +#: ../../source/cookbook/classification.rst:720 +msgid "" +"The data are stored in a folder using the name of the optical mosaic as " +"it was created in the first section of this article. As the data are " +"spatially too big to be exported at once, they are divided into smaller " +"pieces and brought back together in a :code:`_.vrt`" +" file." +msgstr "" + +#: ../../source/cookbook/classification.rst:724 +msgid "" +"The full folder with a consistent tree folder is required to read the " +"`.vrt`." +msgstr "" + +#~ msgid "" +#~ "With this recipe, SEPAL will help " +#~ "users build a supervised classification " +#~ "of any mosaic image. It is built" +#~ " on top of the most advanced " +#~ "tools available on Google Earth Engine" +#~ " (including the classifiers CART, " +#~ "RandomForest, NaiveBayes and SVM), allowing" +#~ " users to create an easy-to-use" +#~ " user interface to:" +#~ msgstr "" + +#~ msgid "select the image to classify" +#~ msgstr "" + +#~ msgid "add training data from external sources and on the fly selection" +#~ msgstr "" + +#~ msgid "" +#~ "Once the classification recipe is " +#~ "selected, SEPAL will show the recipe " +#~ "process in a new tab (1) and " #~ "the image selection window will appear" #~ " on the lower-right side (2)." #~ msgstr "" @@ -2394,3 +2956,444 @@ msgstr "" #~ "file." #~ msgstr "" +#~ msgid "" +#~ "With this recipe, SEPAL helps users " +#~ "build supervised classifications of any " +#~ "mosaic image. It is built on top" +#~ " of the most advanced tools available" +#~ " on Google Earth Engine (GEE) – " +#~ "including the classifiers CART, RandomForest," +#~ " NaiveBayes and SVM – allowing users" +#~ " to create an easy-to-use user" +#~ " interface to:" +#~ msgstr "" + +#~ msgid "define the class table; and" +#~ msgstr "" + +#~ msgid "" +#~ "In the lower-right corner, the " +#~ "following five tabs are available, " +#~ "allowing you to customize the time " +#~ "series to your needs:" +#~ msgstr "" + +#~ msgid "" +#~ "Users can select images coming from " +#~ "an **Existing recipe** or an exported" +#~ " **GEE asset** (see advantages and " +#~ "disadvantages below). Both should be an" +#~ " :code:`ee.Image`, rather than a " +#~ ":code:`Time series` or :code:`ee.ImageCollection`." +#~ msgstr "" + +#~ msgid "**Existing recipe**:" +#~ msgstr "" + +#~ msgid "**GEE asset**:" +#~ msgstr "" + +#~ msgid "" +#~ "For this example, we will use a" +#~ " public asset created with the " +#~ "**Optical mosaic** tool from SEPAL. It's" +#~ " a Sentinel-2 mosaic of Eastern " +#~ "Province in Zambia during the dry " +#~ "season from 2012 to 2020. Multiple " +#~ "bands are available." +#~ msgstr "" + +#~ msgid "" +#~ "Once an asset has been selected, " +#~ "SEPAL will load its bands in the" +#~ " interface. You can use any band " +#~ "that is native to the image as " +#~ "input for the classification process. " +#~ "Simply click on the band name to" +#~ " select them. The selected bands are" +#~ " summarized in the expansion panel " +#~ "title (**1**) and displayed in gold " +#~ "in the pane content (**2**)." +#~ msgstr "" + +#~ msgid ":code:`swir`" +#~ msgstr "" + +#~ msgid "" +#~ "Select :btn:` Derived" +#~ " bands` at the bottom of the " +#~ "pop-up window and select the deriving" +#~ " method. This will add a a new" +#~ " panel to the expansion panel with" +#~ " the selected method name (**1**). " +#~ "The selected method will be applied " +#~ "to the selected bands." +#~ msgstr "" + +#~ msgid "" +#~ "If more than two bands are " +#~ "selected, the operation will be applied" +#~ " to the Cartesian product of the " +#~ "bands. If you select bands :math:`A`," +#~ " :math:`B` and :math:`C`, and apply " +#~ "the :code:`Difference` derived bands, you'll" +#~ " add three bands to your analysis:" +#~ msgstr "" + +#~ msgid ":math:`A - B`" +#~ msgstr "" + +#~ msgid ":math:`A - C`" +#~ msgstr "" + +#~ msgid ":math:`B - C`" +#~ msgstr "" + +#~ msgid "" +#~ "Once image selection is complete, select" +#~ " :btn:` Apply` and" +#~ " the pop-up window will close. " +#~ "The images and bands will be " +#~ "displayed in the :guilabel:`IMG` panel " +#~ "in the lower-right corner of the" +#~ " screen. By selecting the :btn:`` button, you will " +#~ "remove the image and its band from" +#~ " the analysis altogether." +#~ msgstr "" + +#~ msgid "" +#~ "Once the fully qualified legend file " +#~ "has been prepared on your computer, " +#~ "select :btn:``" +#~ " and then :code:`Import from CSV`, " +#~ "which will open a pop-up window" +#~ " where you can drag and drop " +#~ "the file or select it manually " +#~ "from your computer files." +#~ msgstr "" + +#~ msgid "" +#~ "A file will be downloaded to you" +#~ " computer named :code:`_legend.csv`, " +#~ "which will contain the legend " +#~ "information in the following format:" +#~ msgstr "" + +#~ msgid "Select training data" +#~ msgstr "" + +#~ msgid "This step is not mandatory." +#~ msgstr "" + +#~ msgid "Collected reference data" +#~ msgstr "" + +#~ msgid "" +#~ "Collected reference data are data " +#~ "selected on the fly by the user." +#~ " The workflow will be explained later" +#~ " in the documentation." +#~ msgstr "" + +#~ msgid "" +#~ "In this pane, this type of data" +#~ " can be managed by the user. " +#~ "The data appear as a pair, " +#~ "associating coordinates to a class " +#~ "value, which will be used to " +#~ "create training data in the " +#~ "classification model." +#~ msgstr "" + +#~ msgid "" +#~ "If you're satisfied with the current " +#~ "selection and you want to share " +#~ "the data with others, select :btn" +#~ ":`` and then" +#~ " :code:`Export reference data to csv`. " +#~ "A file will be created and sent" +#~ " to your computer, named " +#~ ":code:`_reference_data.csv`. It will " +#~ "embed all of the gathered point " +#~ "data using the following convention:" +#~ msgstr "" + +#~ msgid "" +#~ "If you are not satisfied with the" +#~ " selected data, select :btn:`` and then :code:`Clear" +#~ " collected reference data` to remove " +#~ "all collected data from the analysis." +#~ msgstr "" + +#~ msgid "" +#~ "A confirmation pop-up window should " +#~ "prevent you from accidentally deleting " +#~ "everything." +#~ msgstr "" + +#~ msgid "Existing training data" +#~ msgstr "" + +#~ msgid "" +#~ "By selecting :btn:`csv file`, SEPAL will" +#~ " request a file from your computer" +#~ " in :code:`.csv` format. The file " +#~ "needs to include two pieces of " +#~ "information: geographic coordinates and class" +#~ " value." +#~ msgstr "" + +#~ msgid "" +#~ "If your file contains a GeoJSON " +#~ "column instead of coordinates, select " +#~ ":btn:`geojson column` to switch the " +#~ "interface to one column selection." +#~ msgstr "" + +#~ msgid "" +#~ "Now that you have set up the " +#~ "coordinates of your points, SEPAL will" +#~ " request the columns specifying the " +#~ "class value (not the name) in a" +#~ " second frame. Only the single column" +#~ " is supported so far. Select the " +#~ "column from your file that embeds " +#~ "the class values." +#~ msgstr "" + +#~ msgid "" +#~ "Using the :code:`row filter expression` " +#~ "text field, one can filter out " +#~ "some lines of the table. Refer to" +#~ " the `features <#>`__ section to " +#~ "learn more." +#~ msgstr "" + +#~ msgid "" +#~ "Select :btn:`" +#~ " next` to add the data to the" +#~ " model. SEPAL will provide a summary" +#~ " of the classes in the legend " +#~ "of the classification and the number " +#~ "of training points added by your " +#~ "file." +#~ msgstr "" + +#~ msgid "" +#~ "The process is nearly the same as" +#~ " found in the documentation above " +#~ "discussing .csv tables. The only " +#~ "difference should be the geometry " +#~ "column, as GEE assets usually embed " +#~ "a :code:`.goejson` column by default. If" +#~ " this column exists, it will be " +#~ "autodetected by SEPAL." +#~ msgstr "" + +#~ msgid "" +#~ "Start by selecting btn:`Sample classification`" +#~ " in the opened pop-up window, " +#~ "where all of the the parameters " +#~ "can be set:" +#~ msgstr "" + +#~ msgid "" +#~ "**Sample per class**: the number of " +#~ "samples per class of the provided " +#~ "image. The more samples you request, " +#~ "the more accurate the model will " +#~ "be (if too many samples are " +#~ "selected, on-the-fly visualization will" +#~ " never render; default to: :code:`1000`)." +#~ msgstr "" + +#~ msgid "" +#~ "**EE asset ID**: the ID of the " +#~ "classification to sample (it should be" +#~ " an :code:`ee.Image` accessible to the " +#~ "user)." +#~ msgstr "" + +#~ msgid "" +#~ "**Class band**: The class to use " +#~ "for classification value (the dropdown " +#~ "menu will be filled with the bands" +#~ " found in the provided asset)." +#~ msgstr "" + +#~ msgid "" +#~ "To reproduce this example, use the " +#~ "following asset as an image to " +#~ "sample: :code:`projects/sepal-" +#~ "cookbook/assets/classification/zmb_copernicus_landcover`." +#~ msgstr "" + +#~ msgid "" +#~ "Select the :btn:`` " +#~ "buttons (**1**) to change the number " +#~ "of samples in a specific class. By" +#~ " default, SEPAL ignores the samples " +#~ "with a :code:`Null` value. One can " +#~ "select :btn:`Default` (**2**) for any of" +#~ " the classes so that these points " +#~ "end up in the default class " +#~ "instead of being ignored." +#~ msgstr "" + +#~ msgid "random forest" +#~ msgstr "" + +#~ msgid "gradient tree boost" +#~ msgstr "" + +#~ msgid "cart" +#~ msgstr "" + +#~ msgid "naive bayes" +#~ msgstr "" + +#~ msgid "min distance" +#~ msgstr "" + +#~ msgid "decision tree" +#~ msgstr "" + +#~ msgid "" +#~ "This process requires a good " +#~ "understanding of the **Visualization** feature" +#~ " of SEPAL (refer to the `feature " +#~ "<#>`__ section for more information)." +#~ msgstr "" + +#~ msgid "" +#~ "Once all of the parameters are " +#~ "set, the user is free to add " +#~ "extra training data in the web " +#~ "interface and the new points will " +#~ "be added to the final model, " +#~ "improving the quality of the " +#~ "classification." +#~ msgstr "" + +#~ msgid "" +#~ "In order to improve the classification," +#~ " one must set up the view to" +#~ " display all of the information. " +#~ "While these guidelines could be modified" +#~ " and extended, they are still useful" +#~ " as an introductory resource." +#~ msgstr "" + +#~ msgid "" +#~ "The current image (what you are " +#~ "classifying) (**2**) using the NIR,RED,SWIR" +#~ " band combination." +#~ msgstr "" + +#~ msgid "" +#~ "To start adding points, open the " +#~ "training interface by selecting :btn:`` in the " +#~ "upper right of the screen (**1**). " +#~ "Once selected, the background color " +#~ "becomes darker and the pointer of " +#~ "the mouse becomes a :icon:`fa-solid " +#~ "fa-plus`." +#~ msgstr "" + +#~ msgid "" +#~ "You can now click elsewhere on the" +#~ " map to add another point. If " +#~ "you are satisfied with the " +#~ "classification, select :btn:` Close` (3) and select :btn" +#~ ":`` again " +#~ "to stop editing the points. Every " +#~ "time a new point is added, the " +#~ "**Classification** map is recomputed and " +#~ "rendered on the left side." +#~ msgstr "" + +#~ msgid "" +#~ "To modify existing points, select the" +#~ " :btn:`` to" +#~ " open the **Point editing** interface. " +#~ "Then:" +#~ msgstr "" + +#~ msgid "" +#~ "SEPAL embeds information to help the " +#~ "user understand if the amount of " +#~ "training data is sufficient to produce" +#~ " an accurate classification model. In " +#~ "the **Recipe** window, change the **Band" +#~ " combination** to :code:`Class probability`." +#~ msgstr "" + +#~ msgid "" +#~ "The user now sees the probability " +#~ "of the model (i.e. the confidence " +#~ "level of the level with output " +#~ "class for each pixel)." +#~ msgstr "" + +#~ msgid "" +#~ "You cannot export a recipe as an" +#~ " asset or a :code:`.tiff` file " +#~ "without a small computation quota. If" +#~ " you are a new user, see " +#~ ":doc:`../setup/resource`." +#~ msgstr "" + +#~ msgid "" +#~ "Selecting the :icon:`fa-solid fa-" +#~ "cloud-arrow-down` tab will open the" +#~ " **Retrieve** pane, where you can " +#~ "select the exportation parameters (**1**)." +#~ msgstr "" + +#~ msgid "" +#~ "You need to select the band to " +#~ "export (**2**). There is no maximum " +#~ "number of bands; however, exporting " +#~ "useless bands will only increase the " +#~ "size and time of the output." +#~ msgstr "" + +#~ msgid "" +#~ "You can set a custom scale for " +#~ "exportation (**3**) by changing the " +#~ "value of the slider in metres (m)." +#~ " (Note: Requesting a smaller resolution " +#~ "than images' native resolution will not" +#~ " improve the quality of the output" +#~ " – just its size; keep in mind" +#~ " that the native resolution of " +#~ "Sentinel data is 10 m, while " +#~ "Landsat is 30 m.)" +#~ msgstr "" + +#~ msgid "" +#~ "You can export the image to the" +#~ " :btn:`SEPAL workspace` or to the " +#~ ":btn:`Google Earth Engine Asset` list. " +#~ "The same image will be exported, " +#~ "but for the former, you will find" +#~ " it in :code:`.tif` format in the " +#~ ":code:`Downloads` folder; for the latter, " +#~ "the image will be exported to your" +#~ " **GEE account asset list**." +#~ msgstr "" + +#~ msgid "" +#~ "If :btn:`Google Earth Engine Asset` is" +#~ " not displayed, your GEE account is" +#~ " not connected to SEPAL. Refer to " +#~ "`Connect SEPAL to GEE <../setup/gee.html>`__." +#~ msgstr "" + +#~ msgid "Select :btn:` Apply` to start the download process." +#~ msgstr "" + diff --git a/docs/source/_locale/es/LC_MESSAGES/cookbook/optical_mosaic.po b/docs/source/_locale/es/LC_MESSAGES/cookbook/optical_mosaic.po index 727511d74e..b03a6b3883 100644 --- a/docs/source/_locale/es/LC_MESSAGES/cookbook/optical_mosaic.po +++ b/docs/source/_locale/es/LC_MESSAGES/cookbook/optical_mosaic.po @@ -1,22 +1,18 @@ + msgid "" msgstr "" -"Project-Id-Version: sepal-doc\n" +"Project-Id-Version: sepal-doc\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-03-07 09:39+0100\n" -"PO-Revision-Date: 2024-03-07 08:54\n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: 2024-03-07 08:54+0000\n" "Last-Translator: \n" +"Language: es_ES\n" "Language-Team: Spanish\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.14.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Crowdin-Project: sepal-doc\n" -"X-Crowdin-Project-ID: 562097\n" -"X-Crowdin-Language: es-ES\n" -"X-Crowdin-File: /main/docs/source/_locale/en/LC_MESSAGES/cookbook/optical_mosaic.po\n" -"X-Crowdin-File-ID: 69\n" -"Language: es_ES\n" +"Generated-By: Babel 2.18.0\n" #: ../../source/cookbook/optical_mosaic.rst:2 msgid "Optical mosaics" @@ -31,11 +27,17 @@ msgid "Overview" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:8 -msgid "A mosaic is a combination or fusion of two or more images. In SEPAL, you can create a single raster dataset from several raster datasets by mosaicing them together. This can be achieved on both contiguous rasters (see first image below) and overlapping images (see second image below)." +msgid "" +"A mosaic is a combination or fusion of two or more images. In SEPAL, you " +"can create a single raster dataset from several raster datasets by " +"mosaicing them together. This can be achieved on both contiguous rasters " +"(see first image below) and overlapping images (see second image below)." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:21 -msgid "These overlay areas can be managed in various ways. For example, you can choose to:" +msgid "" +"These overlay areas can be managed in various ways. For example, you can " +"choose to:" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:23 @@ -55,15 +57,23 @@ msgid "take the maximum or minimum value." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:28 -msgid "In addition, certain corrections can be made to the image to account for clouds, snow and other factors; these operations are complex and repetitive." +msgid "" +"In addition, certain corrections can be made to the image to account for " +"clouds, snow and other factors; these operations are complex and " +"repetitive." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:30 -msgid "SEPAL offers you an interactive and intuitive way to create mosaics in any area of interest (AOI)." +msgid "" +"SEPAL offers you an interactive and intuitive way to create mosaics in " +"any area of interest (AOI)." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:34 -msgid "You won't be able to retrieve the images if your SEPAL and Google Earth Engine (GEE) accounts are not connected. For more information, go to :doc:`../setup/gee`." +msgid "" +"You won't be able to retrieve the images if your SEPAL and Google Earth " +"Engine (GEE) accounts are not connected. For more information, go to " +":doc:`../setup/gee`." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:37 @@ -71,15 +81,25 @@ msgid "Start" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:39 -msgid "Once the mosaic recipe is selected, SEPAL will display the recipe process in a new tab (see **1** in the image below) and the **AOI selection** window will appear in the lower right (**2**)." +msgid "" +"Once the mosaic recipe is selected, SEPAL will display the recipe process" +" in a new tab (see **1** in the image below) and the **AOI selection** " +"window will appear in the lower right (**2**)." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:45 -msgid "The first step is to change the name of the recipe. This name will be used to identify your files and recipes in SEPAL folders. Use the best-suited convention for your needs. Simply double-click the tab and write a new name. It will default to :code:`Optical_mosaic___`." +msgid "" +"The first step is to change the name of the recipe. This name will be " +"used to identify your files and recipes in SEPAL folders. Use the best-" +"suited convention for your needs. Simply double-click the tab and write a" +" new name. It defaults to " +":code:`Optical_mosaic___`." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:57 -msgid "The SEPAL team recommends using the following naming convention: :code:`__`." +msgid "" +"The SEPAL team recommends using the following naming convention: " +":code:`__`." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:60 @@ -87,7 +107,9 @@ msgid "Parameters" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:62 -msgid "In the lower-right corner, five tabs are available, which allow you to customize the mosaic creation to your needs:" +msgid "" +"In the lower-right corner, five tabs are available, which allow you to " +"customize the mosaic creation to your needs:" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:64 @@ -115,7 +137,9 @@ msgid "AOI selection" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:77 -msgid "The data exported by the recipe will be generated from within the bounds of the AOI. There are multiple ways to select the AOI in SEPAL:" +msgid "" +"The data exported by the recipe will be generated from within the bounds " +"of the AOI. There are multiple ways to select the AOI in SEPAL:" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:79 @@ -131,7 +155,9 @@ msgid "Drawn polygons" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:83 -msgid "They are extensively described in our documentation. For more information, read :doc:`../feature/aoi_selector`." +msgid "" +"They are extensively described in our documentation. For more " +"information, read :doc:`../feature/aoi_selector`." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:90 @@ -143,7 +169,10 @@ msgid "Yearly mosaic" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:95 -msgid "In the :guilabel:`DAT` tab, select a year which pixels in the mosaic should come from. Then select the :icon:`fa-solid fa-check` :guilabel:`Apply` button." +msgid "" +"In the :guilabel:`DAT` tab, select a year which pixels in the mosaic " +"should come from. Then select the :icon:`fa-solid fa-check` " +":guilabel:`Apply` button." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:102 @@ -151,23 +180,40 @@ msgid "Seasonal mosaic" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:104 -msgid "Select :guilabel:`More` in the :guilabel:`DAT` panel to expand the date selection tool. Rather than selecting a year, you can select a season of interest." +msgid "" +"Select :guilabel:`More` in the :guilabel:`DAT` panel to expand the date " +"selection tool. Rather than selecting a year, you can select a season of " +"interest." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:106 -msgid "Select the :icon:`fa-solid fa-calendar` (**1**) to open the **Date selection** pop-up window. The selected date will be the target of the mosaic (i.e. the date from which pixels in the mosaic should ideally come from)." +msgid "" +"Select the :icon:`fa-solid fa-calendar` (**1**) to open the **Date " +"selection** pop-up window. The selected date will be the target of the " +"mosaic (i.e. the date from which pixels in the mosaic should ideally come" +" from)." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:108 -msgid "Using the main slider (**2**), define a season around the target date by identifying a start date and end date. SEPAL will then retrieve the mosaic images between those dates." +msgid "" +"Using the main slider (**2**), define a season around the target date by " +"identifying a start date and end date. SEPAL will then retrieve the " +"mosaic images between those dates." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:110 -msgid "The number of images in a single season of one year may not be enough to produce a correct mosaic. SEPAL provides two secondary sliders to increase the pool of images to create the mosaic. Both count the number of seasons SEPAL can retrieve in the past (:code:`Past season` - [**3**]) and in the future (:code:`Future season` - [**4**])." +msgid "" +"The number of images in a single season of one year may not be enough to " +"produce a correct mosaic. SEPAL provides two secondary sliders to " +"increase the pool of images to create the mosaic. Both count the number " +"of seasons SEPAL can retrieve in the past (:code:`Past season` - [**3**])" +" and in the future (:code:`Future season` - [**4**])." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:112 -msgid "When the selection is done, select the :icon:`fa-solid fa-check` :guilabel:`Apply` button." +msgid "" +"When the selection is done, select the :icon:`fa-solid fa-check` " +":guilabel:`Apply` button." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:119 @@ -175,504 +221,865 @@ msgid "Sources" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:121 -msgid "As mentioned in the introduction, a mosaic uses different raster datasets that can be obtained from multiple sources. SEPAL allows you to select data from multiple entry points. Below, you can find a description of these sources (select a link to see the corresponding dataset information):" +msgid "" +"As mentioned in the introduction, a mosaic combines raster datasets that " +"can come from multiple satellite sources. In the :guilabel:`SRC` tab, " +"select one or more **optical** data sources to build the mosaic from." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:123 -msgid ":guilabel:`L8`: `Landsat 8 Tier 1 `__. Landsat scenes with the highest available data quality are placed into **Tier 1** and considered suitable for time-series processing analysis. **Tier 1** includes Level-1 Precision Terrain (L1TP) processed data that have well-characterized radiometry and are intercalibrated across different Landsat sensors. The geo-registration of **Tier 1** scenes will be consistent and within prescribed tolerances (< = 12 m root mean square error [RMSE]). All **Tier 1** Landsat data can be considered consistent and intercalibrated (regardless of the sensor used) across the full collection." +msgid "**Landsat** scenes are distributed in two quality tiers:" +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:125 +msgid "" +"**Tier 1** holds the scenes with the highest data quality. They are " +"processed to Level-1 Precision Terrain (L1TP), have well-characterized " +"radiometry, are intercalibrated across the different Landsat sensors and " +"are geo-registered within prescribed tolerances (12 m root mean square " +"error [RMSE] or less). Tier 1 scenes are consistent across the full " +"collection and suitable for time-series analysis." +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:126 +msgid "" +"**Tier 2** (marked :guilabel:`T2`) holds scenes that do not meet the Tier" +" 1 criteria, for example because of significant cloud cover, insufficient" +" ground control or systematic-only terrain correction (L1GT/L1GS). They " +"can still be useful; analyze the RMSE and other properties to determine " +"their suitability for your study." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:127 -msgid ":guilabel:`L8 T2`: `Landsat 8 Tier 2 `__. Scenes not meeting **Tier 1** criteria during processing are assigned to **Tier 2**. This includes Systematic terrain (L1GT) and Systematic (L1GS) processed scenes, as well as any L1TP scenes that do not meet the **Tier 1** specifications due to significant cloud cover, insufficient ground control and other factors. Users interested in **Tier 2** scenes can analyze the RMSE and other properties to determine the suitability for use in individual applications and studies." +#: ../../source/cookbook/optical_mosaic.rst:128 +msgid "" +"The following optical sources are available (select a link to open the " +"corresponding Google Earth Engine dataset):" +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:130 +msgid "" +":guilabel:`L9`: `Landsat 9 `__ (Tier 1; from 2021)." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:131 -msgid ":guilabel:`L7`: `Landsat 7 Tier 1 `__. Landsat scenes with the highest available data quality are placed into **Tier 1** and are considered suitable for time-series processing analysis. **Tier 1** includes Level-1 Precision Terrain (L1TP) processed data that have well-characterized radiometry and are intercalibrated across different Landsat sensors. The geo-registration of **Tier 1** scenes will be consistent and within prescribed tolerances (< = 12 m RMSE). All **Tier 1** Landsat data can be considered consistent and intercalibrated across the full collection (regardless of the sensor used)." +msgid "" +":guilabel:`L8`: `Landsat 8 `__ (Tier 1; from 2013)." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:135 -msgid ":guilabel:`L7 T2`: `Landsat 7 Tier 2 `__. Scenes not meeting **Tier 1** criteria during processing are assigned to **Tier 2**. This includes Systematic terrain (L1GT) and Systematic (L1GS) processed scenes, as well as any L1TP scenes that do not meet the **Tier 1** specifications due to significant cloud cover, insufficient ground control and other factors. Users interested in **Tier 2** scenes can analyze the RMSE and other properties to determine the suitability for use in individual applications and studies." +#: ../../source/cookbook/optical_mosaic.rst:132 +msgid "" +":guilabel:`L7`: `Landsat 7 `__ (Tier 1; from 1999)." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:139 -msgid ":guilabel:`L4-5`: `Landsat 4 Tier 1 `__ combined with `Landsat 5 Tier 1 `__. Landsat scenes with the highest available data quality are placed into **Tier 1** and are considered suitable for time-series processing analysis. **Tier 1** includes Level-1 Precision Terrain (L1TP) processed data that have well-characterized radiometry and are intercalibrated across different Landsat sensors. The geo-registration of **Tier 1** scenes will be consistent and within prescribed tolerances (< = 12 m RMSE). All **Tier 1** Landsat data can be considered consistent and intercalibrated across the full collection (regardless of the sensor used)." +#: ../../source/cookbook/optical_mosaic.rst:133 +msgid "" +":guilabel:`L4-5`: `Landsat 4 `__ combined with `Landsat" +" 5 `__ (Tier 1; 1982–2012)." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:143 -msgid ":guilabel:`L4-5 T2`: `Landsat 4 TM Tier 2 `__ combined with `Landsat 5 TM Tier 2 `__. Scenes not meeting **Tier 1** criteria during processing are assigned to **Tier 2**. This includes Systematic terrain (L1GT) and Systematic (L1GS) processed scenes, as well as any L1TP scenes that do not meet the **Tier 1** specifications due to significant cloud cover, insufficient ground control and other factors. Users interested in **Tier 2** scenes can analyze the RMSE and other properties to determine the suitability for use in individual applications and studies." +#: ../../source/cookbook/optical_mosaic.rst:134 +msgid "" +":guilabel:`L9 T2`, :guilabel:`L8 T2`, :guilabel:`L7 T2`, :guilabel:`L4-5 " +"T2`: the **Tier 2** equivalents of the datasets listed above." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:147 -msgid ":guilabel:`A+B`: `Sentinel-2 Multispectral instrument `__ is a wide-swath, high-resolution, multispectral imaging mission supporting Copernicus Land Monitoring studies, including the monitoring of vegetation, soil and water cover, as well as the observation of inland waterways and coastal areas." +#: ../../source/cookbook/optical_mosaic.rst:135 +msgid "" +":guilabel:`S2`: `Sentinel-2 `__ (Sentinel-2A and " +"Sentinel-2B; from 2015). A wide-swath, high-resolution, multispectral " +"imaging mission supporting Copernicus Land Monitoring studies, including " +"the monitoring of vegetation, soil and water cover, as well as the " +"observation of inland waterways and coastal areas." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:153 -#: ../../source/cookbook/optical_mosaic.rst:170 -msgid "To validate your selection, select the :icon:`fa-solid fa-check` :guilabel:`Apply` button." +#: ../../source/cookbook/optical_mosaic.rst:139 +msgid "" +"SEPAL uses the Landsat **Collection 2** archive and the **harmonized** " +"Sentinel-2 collection." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:156 -msgid "Scenes" +#: ../../source/cookbook/optical_mosaic.rst:145 +msgid "" +"You can also restrict the imagery with the :code:`Max cloud cover %` " +"slider: scenes whose cloud cover is higher than this threshold are " +"excluded before the mosaic is built." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:160 -msgid "If Sentinel and Landsat data have been selected, you will be forced to use all scenes. As the tiling system from Sentinel and Landsat data are different, it's impossible to select scenes using the tool presented in the following sections." +#: ../../source/cookbook/optical_mosaic.rst:147 +msgid "" +"To validate your selection, select the :icon:`fa-solid fa-check` " +":guilabel:`Apply` button (labelled :guilabel:`Done` when you first create" +" the recipe through the setup wizard)." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:162 -msgid "You can use multiple options to select the best scenes for your mosaic. The most simple is to use every image available based on the date parameters. Select :guilabel:`Use all scenes` and all images will be integrated into the mosaic." +#: ../../source/cookbook/optical_mosaic.rst:150 +msgid "Scenes" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:164 -msgid "Choose :guilabel:`Select scenes` and choose one of the three available :code:`Priority` options, based on the needs of your analysis (SEPAL sorts the images available for each tile):" +#: ../../source/cookbook/optical_mosaic.rst:154 +msgid "" +"If Sentinel and Landsat data have been selected, you will be forced to " +"use all scenes. As the tiling system from Sentinel and Landsat data are " +"different, it's impossible to select scenes using the tool presented in " +"the following sections." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:166 -msgid ":guilabel:`Cloud free`: Prioritizes images with zero or few clouds." +#: ../../source/cookbook/optical_mosaic.rst:156 +msgid "" +"You can use multiple options to select the best scenes for your mosaic. " +"The most simple is to use every image available based on the date " +"parameters. Select :guilabel:`Use all scenes` and all images will be " +"integrated into the mosaic." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:167 -msgid ":guilabel:`Target date`: Prioritizes images that match the target date." +#: ../../source/cookbook/optical_mosaic.rst:158 +msgid "" +"Choose :guilabel:`Select scenes` and pick one of the three available " +":code:`Priority` options, based on the needs of your analysis (SEPAL " +"sorts the images available for each tile):" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:168 -msgid ":guilabel:`Balanced`: Prioritizes images that maximize both cloud and target date." +#: ../../source/cookbook/optical_mosaic.rst:160 +msgid "" +":guilabel:`Cloud free`: Prioritizes imagery as cloud-free as possible, " +"ignoring the date." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:177 -msgid "Composite" +#: ../../source/cookbook/optical_mosaic.rst:161 +msgid "" +":guilabel:`Balanced`: Prioritizes imagery that is neither too cloudy nor " +"too far from the target date." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:181 -msgid "This step is optional. SEPAL provides the following options by default:" +#: ../../source/cookbook/optical_mosaic.rst:162 +msgid "" +":guilabel:`Target date`: Prioritizes imagery as close as possible to the " +"target date." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:183 -msgid "**Correction**: :guilabel:`SR`, :guilabel:`BRDF`" +#: ../../source/cookbook/optical_mosaic.rst:164 +msgid "" +"To validate your selection, select the :icon:`fa-solid fa-check` " +":guilabel:`Apply` button." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:184 -msgid "**Pixel filters**: No filters" +#: ../../source/cookbook/optical_mosaic.rst:171 +msgid "Composite" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:185 -msgid "**Cloud detection**: :guilabel:`QA bands`, :guilabel:`Cloud score`" +#: ../../source/cookbook/optical_mosaic.rst:173 +msgid "" +"The :guilabel:`CMP` tab controls how the selected scenes are corrected, " +"how clouds and snow are masked, and how the final pixel values are " +"computed. The panel opens in a **simple** view showing the most common " +"options; select :guilabel:`More` to reveal the **advanced** options (and " +":guilabel:`Less` to hide them again)." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:186 -msgid "**Cloud masking**: :guilabel:`Moderate`" +#: ../../source/cookbook/optical_mosaic.rst:177 +msgid "This step is optional. By default, SEPAL applies:" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:187 -msgid "**Cloud buffering**: :guilabel:`None`" +#: ../../source/cookbook/optical_mosaic.rst:179 +msgid "**Corrections**: :guilabel:`SR` and :guilabel:`BRDF`" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:188 -msgid "**Snow masking**: :guilabel:`On`" +#: ../../source/cookbook/optical_mosaic.rst:180 +msgid "**Cloud masking**: :guilabel:`Moderate`" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:189 +#: ../../source/cookbook/optical_mosaic.rst:181 msgid "**Composing method**: :guilabel:`Medoid`" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:191 -msgid "To create a mosaic, provide SEPAL with the compositing method to create the final image. See the following image for all possible compositing options available." +#: ../../source/cookbook/optical_mosaic.rst:183 +msgid "" +"The advanced view additionally defaults to no pixel filters, no cloud " +"buffering and snow/ice masking turned on." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:198 -msgid "Corrections" +#: ../../source/cookbook/optical_mosaic.rst +msgid "Show the advanced view (opened with **More**)" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:200 -msgid "This will apply corrections on the stacked pixels to improve the quality of the mosaic." +#: ../../source/cookbook/optical_mosaic.rst:199 +msgid "Corrections" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:202 -msgid ":guilabel:`SR`: Surface reflectance improves comparison between multiple images over the same region by accounting for atmospheric effects such as aerosol scattering and thin clouds, which can help in the detection and characterization of Earth surface change. Top-of-atmosphere images are used if not selected." +#: ../../source/cookbook/optical_mosaic.rst:201 +msgid "" +"Corrections are applied to the stacked pixels to improve the quality of " +"the mosaic." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:203 -msgid ":guilabel:`BRDF`: Uses a bidirectional reflectance distribution function (BRDF) model to characterize surface reflectance anisotropy. For a given land area, the BRDF is established based on selected multi-angular observations of surface reflectance." +msgid "" +":guilabel:`SR`: Surface reflectance improves comparison between multiple " +"images over the same region by accounting for atmospheric effects such as" +" aerosol scattering and thin clouds, which can help in the detection and " +"characterization of Earth surface change. Top-of-atmosphere (TOA) images " +"are used if not selected." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:204 -msgid ":guilabel:`Calibrate`: Calibrates Sentinel and Landsat data to make them compatible." +msgid "" +":guilabel:`BRDF`: Uses a bidirectional reflectance distribution function " +"(BRDF) model to characterize surface reflectance anisotropy. For a given " +"land area, the BRDF is established based on selected multi-angular " +"observations of surface reflectance. When BRDF is enabled, the advanced " +"view shows a :code:`BRDF Multiplier` field that controls how much " +"correction is applied (values of 3–4 usually work well; lower it if the " +"effect is overcompensated, raise it if it is not compensated enough)." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:208 -msgid "This option is only available if:" +#: ../../source/cookbook/optical_mosaic.rst:205 +msgid "" +":guilabel:`Calibrate`: Calibrates the bands to improve a cross-sensor " +"mosaic." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:210 -msgid "Landsat and Sentinel data are mixed; and" +#: ../../source/cookbook/optical_mosaic.rst:209 +msgid "This option is only available if:" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:211 -msgid "BRDF and surface reflectance (SR) corrections are disabled." +msgid "Landsat and Sentinel-2 data are mixed; and" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:214 -msgid "Pixel filters" +#: ../../source/cookbook/optical_mosaic.rst:212 +msgid "surface reflectance (:guilabel:`SR`) correction is disabled." +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:215 +msgid "Cloud masking" +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:217 +msgid "" +"Controls how clouds are detected and masked. In the simple view, choose a" +" preset:" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:216 -msgid "Activating any of the filters will remove some pixels from the stack. Removing pixels improves the quality of the mosaic, as they are not taken into account in the median value computation." +#: ../../source/cookbook/optical_mosaic.rst:219 +msgid "" +":guilabel:`Moderate`: Relies only on the image source QA bands for cloud " +"masking." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:220 -msgid "Each filter is applied iteratively (e.g. if the normalized difference vegetation index [NDVI] is already filtering all pixels but one, there will be nothing left in the stack to be filtered by day of year)." +msgid "" +":guilabel:`Aggressive`: Relies on the image source QA bands together with" +" a cloud-scoring algorithm. This will probably mask out some built-up " +"areas and other bright features." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:222 -msgid "Note as well that adding filters significantly increases the creation time of the mosaic." +#: ../../source/cookbook/optical_mosaic.rst:221 +msgid "" +":guilabel:`Custom`: Automatically selected (and otherwise disabled) when " +"you fine-tune the individual cloud-masking algorithms in the advanced " +"view." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:224 -msgid "**Shadow**: Filters the XX percent darkest pixels of the stack." +#: ../../source/cookbook/optical_mosaic.rst:223 +msgid "" +"In the advanced view you can add and configure the individual cloud-" +"masking algorithms with the :icon:`fa-solid fa-plus` button. The " +"available algorithms depend on the sources you selected:" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:225 -msgid "**Haze**: Computes a haze index and filters the XX percent highest values." +msgid "" +":guilabel:`SEPAL cloud score`: SEPAL's own cloud-scoring algorithm, with " +"a configurable *maximum cloud probability*. Always available." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:226 -msgid "**NDVI**: Computes the NDVI and only keeps the XX percent highest values." +msgid "" +":guilabel:`S2 Cloud Score+`: Sentinel-2 Cloud Score+, with a *maximum " +"cloud probability* and a choice of scoring band — :guilabel:`cs` " +"(instantaneous clear-sky similarity) or :guilabel:`cs_cdf` (likelihood of" +" being clear over time). Sentinel-2 sources only." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:227 -msgid "**Day of the year**: Computes the distance from target day in days and filters out the XX percent farthest." +msgid "" +":guilabel:`S2 Cloud Probability`: the Sentinel-2 cloud-probability " +"dataset, with a configurable *maximum cloud probability*. Sentinel-2 " +"sources only." +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:228 +msgid "" +":guilabel:`Landsat CFMask`: the Landsat CFMask QA bands. You can set " +":code:`Cloud Masking`, :code:`Cloud Shadow Masking` and :code:`Cirrus " +"Masking` each to :guilabel:`Off`, :guilabel:`Moderate` or " +":guilabel:`Aggressive`, and choose whether to :guilabel:`Keep` or " +":guilabel:`Remove` dilated clouds. Landsat sources only." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:230 -msgid "Cloud detection" +#: ../../source/cookbook/optical_mosaic.rst:229 +msgid "" +":guilabel:`Pino 26`: the Pan-Tropical Sentinel-2 cloud-detection " +"algorithm developed by Dario Simonetti (for more information, see `D. " +"Simonetti [2021] `__). Only " +"available for a Sentinel-2-exclusive source when :guilabel:`SR` " +"correction is disabled." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:232 -msgid "Refers to the algorithm used to detect clouds." +msgid "Cloud buffering" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:234 -msgid ":guilabel:`QA bands`: Uses quality assessment (QA) bands to identify clouds in Sentinel data." +msgid "" +"(Advanced view.) When pixels are identified as clouds, SEPAL can also " +"mask a small buffer around them to prevent hazy pixels at the borders of " +"clouds from being included in the mosaic." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:235 -msgid ":guilabel:`Cloud score`: Uses the computed cloud score to identify clouds in Landsat data." +#: ../../source/cookbook/optical_mosaic.rst:238 +msgid "" +"Buffering is done at the pixel level, so using this option significantly " +"increases the creation time of the mosaic." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:236 -msgid ":guilabel:`Pino 26`: Uses the Pino_26 algorithm to identify clouds (for more information, see `D. Simonetti [2021] `__)." +#: ../../source/cookbook/optical_mosaic.rst:240 +msgid ":guilabel:`None`: Doesn't use cloud buffering." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:240 -msgid "This filter is only available for Sentinel exclusive source when both :guilabel:`BRDF` and :guilabel:`SR` correction are disabled." +#: ../../source/cookbook/optical_mosaic.rst:241 +msgid "" +":guilabel:`Moderate`: Masks an additional **120 m** around each larger " +"cloud." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:243 -msgid "Cloud masking" +#: ../../source/cookbook/optical_mosaic.rst:242 +msgid "" +":guilabel:`Aggressive`: Masks an additional **600 m** around each larger " +"cloud." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:245 -msgid "Controls how clouds will be masked based on the cloud detection algorithm selected." +msgid "Snow/ice masking" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:247 -msgid ":guilabel:`off`: Uses cloud-free pixels if possible, but doesn't mask areas without cloud-free pixels." -msgstr "" - -#: ../../source/cookbook/optical_mosaic.rst:248 -msgid ":guilabel:`moderate`: Relies only on image source QA bands for cloud masking (a moderate threshold is used)." +msgid "(Advanced view.) Defines how snowy or icy pixels are masked." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:249 -msgid ":guilabel:`aggressive`: Relies on image source QA bands and a cloud scoring algorithm for cloud masking with an aggressive threshold (this will probably mask out some built-up areas and other bright features)." +msgid "" +":guilabel:`On`: Masks snow. This tends to leave some pixels with shadowy " +"snow." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:252 -msgid "Cloud buffering" +#: ../../source/cookbook/optical_mosaic.rst:250 +msgid "" +":guilabel:`Off`: Doesn't mask snow. Note that some clouds might get " +"misclassified as snow; therefore, disabling snow masking might lead to " +"cloud artifacts." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:254 -msgid "When pixels are identified as clouds, SEPAL can remove pixels in a small buffer around it to prevent hazy pixels at the borders of clouds to be included in the mosaic." +#: ../../source/cookbook/optical_mosaic.rst:253 +msgid "Masked out pixels" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:258 -msgid "Buffering is done on the pixel level, so using this option will significantly increase the creation time of the mosaic." +#: ../../source/cookbook/optical_mosaic.rst:255 +msgid "" +"(Advanced view.) Controls whether a pixel can end up completely masked " +"when every available acquisition is cloudy and/or snowy." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:260 -msgid ":guilabel:`none`: Doesn't use cloud buffering." +#: ../../source/cookbook/optical_mosaic.rst:257 +msgid "" +":guilabel:`Prevent`: Prevents pixels from being completely masked out, " +"keeping the best available (possibly cloudy/snowy) value." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:261 -msgid ":guilabel:`moderate`: Masks an additional **120 m** around each larger cloud." +#: ../../source/cookbook/optical_mosaic.rst:258 +msgid "" +":guilabel:`Allow`: Allows pixels to be completely masked out, leaving " +"holes in the mosaic where no clear observation exists." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:262 -msgid ":guilabel:`aggressive`: Masks an additional **600 m** around each larger cloud." +#: ../../source/cookbook/optical_mosaic.rst:261 +msgid "Pixel filters" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:265 -msgid "Snow masking" +#: ../../source/cookbook/optical_mosaic.rst:263 +msgid "" +"(Advanced view.) Add filters with the :icon:`fa-solid fa-plus` button to " +"remove pixels from the stack before compositing. Each filter excludes a " +"percentage of the stack (set with a slider, defaulting to 50%); removing " +"low-quality pixels improves the quality of the mosaic." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:267 -msgid "Defines how snowy pixels will be masked." +msgid "" +"Each filter is applied iteratively (e.g. if the normalized difference " +"vegetation index [NDVI] is already filtering all pixels but one, there " +"will be nothing left in the stack to be filtered by date)." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:269 -msgid ":guilabel:`on`: Masks snow. This tends to leave some pixels with shadowy snow." +msgid "" +"Note as well that adding filters significantly increases the creation " +"time of the mosaic." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:270 -msgid ":guilabel:`off`: Doesn't mask snow. Note that some clouds might get misclassified as snow; therefore, disabling snow masking might lead to cloud artifacts." +#: ../../source/cookbook/optical_mosaic.rst:271 +msgid "" +"**Shadow**: Excludes the selected percentage of pixels with the most " +"shadow." +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:272 +msgid "" +"**Haze**: Excludes the selected percentage of pixels with the most haze. " +"Only available when :guilabel:`SR` correction is disabled." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:273 -msgid "Composing method" +msgid "**NDVI**: Excludes the selected percentage of pixels with the lowest NDVI." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:275 -msgid "After filtering the stack of pixels, SEPAL will compute the median value on the different bands of the image. The composing method will define how the final pixel value is extracted." +#: ../../source/cookbook/optical_mosaic.rst:274 +msgid "" +"**Date**: Excludes the selected percentage of pixels farthest from the " +"target date." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:277 -msgid ":guilabel:`Medoid`: Uses the closest pixel from the median value. As a real pixel from the stack, the final value will embed metadata (e.g. the date of observation)." +msgid "Sentinel-2 overlap" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:278 -msgid ":guilabel:`Median`: Uses the computed value of the median. If no pixel is matching this value, the pixel will not embed any metadata. It tends to produce smoother mosaics." +#: ../../source/cookbook/optical_mosaic.rst:279 +msgid "" +"(Advanced view; shown only when Sentinel-2 is selected.) Sentinel-2 " +"acquisitions overlap both between orbits and between neighbouring tiles, " +"which can result in duplicated observations." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:281 -msgid "Analysis" +msgid "" +"**Orbit Overlap**: :guilabel:`Keep` the overlap between Sentinel-2 orbits" +" (more data, better models) or :guilabel:`Remove` it." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:283 -msgid "After selecting the parameters, you can start interacting with the scenes and begin the analysis." +#: ../../source/cookbook/optical_mosaic.rst:282 +msgid "" +"**Tile Overlap**: :guilabel:`Keep` the overlap between Sentinel-2 tiles, " +":guilabel:`Quick remove` most of it, or :guilabel:`Remove` all of it. " +"Removing overlap adds an extra preprocessing step." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:285 -msgid "In the upper-right corner, three tabs are available, which allow you to customize the mosaic scene selection and export the final result:" +msgid "Composing method" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:287 -msgid ":btn:``: auto-select scenes" +msgid "" +"After filtering the stack of pixels, the composing method defines how the" +" final pixel value is extracted." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:288 -msgid ":btn:``: clear selected scenes" +#: ../../source/cookbook/optical_mosaic.rst:289 +msgid "" +":guilabel:`Medoid`: Uses the pixel closest to the median value. As a real" +" pixel from the stack, the final value embeds metadata (e.g. the date of " +"observation)." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:289 -msgid ":btn:``: retrieve mosaic" +#: ../../source/cookbook/optical_mosaic.rst:290 +msgid "" +":guilabel:`Median`: Uses the computed median value. If no pixel matches " +"this value, the pixel will not embed any metadata. It tends to produce " +"smoother mosaics." +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:293 +msgid "Analysis" +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:295 +msgid "" +"After selecting the parameters, you can start interacting with the scenes" +" and begin the analysis." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:297 -msgid "If you have not selected the option :guilabel:`Select scenes` in the :guilabel:`SCN` tab, the :icon:`fa-solid fa-wand-magic` button will be disabled and the scene areas will be hidden as no scene selection needs to be performed (see those with a number in a circle on the previous screenshot)." +msgid "" +"In the upper-right corner, three tabs are available, which allow you to " +"customize the mosaic scene selection and export the final result:" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:299 -msgid "If you can't see the image scene area, you probably have selected a small AOI. Zoom out on the map and you will see the number of available images in the circles." +msgid ":btn:``: auto-select scenes" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:302 -msgid "Select scenes" +#: ../../source/cookbook/optical_mosaic.rst:300 +msgid ":btn:``: clear selected scenes" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:304 -msgid "To create a mosaic, select the scenes that will be used to compute each pixel value of the mosaic. SEPAL provides a user-friendly interface that will guide you through the selection process. You don't have to select the stack for every pixel; instead, SEPAL will clip the AOI in smaller pieces called **Tiles**. These tiles correspond to the native tiling system of your dataset and are displayed on the map with circled numbers in their centroid. Each number corresponds to the number of scenes available to build the mosaic tile. Hover over these circles to see the tile boundaries appear." +#: ../../source/cookbook/optical_mosaic.rst:301 +msgid ":btn:``: retrieve mosaic" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:308 -msgid "Landsat and Sentinel datasets have a different grid system, which is why the selection process cannot be used if you have selected both of these datasets. If you have an idea related to the user interface (UI) that could make them work together, let us know in our `issue tracker `__." +#: ../../source/cookbook/optical_mosaic.rst:309 +msgid "" +"If you have not selected the option :guilabel:`Select scenes` in the " +":guilabel:`SCN` tab, the :icon:`fa-solid fa-wand-sparkles` button will be" +" disabled and the scene areas will be hidden as no scene selection needs " +"to be performed (see those with a number in a circle on the previous " +"screenshot)." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:311 +msgid "" +"If you can't see the image scene area, you probably have selected a small" +" AOI. Zoom out on the map and you will see the number of available images" +" in the circles." +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:314 +msgid "Select scenes" +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:316 +msgid "" +"To create a mosaic, select the scenes that will be used to compute each " +"pixel value of the mosaic. SEPAL provides a user-friendly interface that " +"will guide you through the selection process. You don't have to select " +"the stack for every pixel; instead, SEPAL will clip the AOI in smaller " +"pieces called **Tiles**. These tiles correspond to the native tiling " +"system of your dataset and are displayed on the map with circled numbers " +"in their centroid. Each number corresponds to the number of scenes " +"available to build the mosaic tile. Hover over these circles to see the " +"tile boundaries appear." +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:320 +msgid "" +"Landsat and Sentinel datasets have a different grid system, which is why " +"the selection process cannot be used if you have selected both of these " +"datasets. If you have an idea related to the user interface (UI) that " +"could make them work together, let us know in our `issue tracker " +"`__." +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:323 msgid "Auto-select scene" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:313 -msgid "Selecting the :icon:`fa-solid fa-wand-magic` tab will open the **Auto-selection** pane." +#: ../../source/cookbook/optical_mosaic.rst:325 +msgid "" +"Selecting the :icon:`fa-solid fa-wand-sparkles` tab will open the **Auto-" +"selection** pane." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:315 -msgid "Move the sliders to select the minimum and the maximum number of scenes SEPAL should select in a tile. Then, select the :guilabel:`Validate` button to apply the auto-select method." +#: ../../source/cookbook/optical_mosaic.rst:327 +msgid "" +"Move the sliders to set the :code:`Minimum number of scenes` and the " +":code:`Maximum number of scenes` SEPAL should select in a tile. Then, " +"select the :guilabel:`Select scenes` button to apply the auto-select " +"method." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:317 -msgid "SEPAL will use the priority defined in the :guilabel:`SCN` tab to order the scene and collect the optimal number for your request." +#: ../../source/cookbook/optical_mosaic.rst:329 +msgid "" +"SEPAL will use the priority defined in the :guilabel:`SCN` tab to order " +"the scene and collect the optimal number for your request." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:321 -msgid "The result is never perfect but can be used as a starting point for the manual selection of scenes." +#: ../../source/cookbook/optical_mosaic.rst:333 +msgid "" +"The result is never perfect but can be used as a starting point for the " +"manual selection of scenes." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:328 +#: ../../source/cookbook/optical_mosaic.rst:340 msgid "Clear all scenes" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:330 -msgid "If at least one scene is selected, the :icon:`fa-solid fa-trash` tab will be available. Select it to open the **Clear** pane." +#: ../../source/cookbook/optical_mosaic.rst:342 +msgid "" +"If at least one scene is selected, the :icon:`fa-solid fa-trash` tab will" +" be available. Select it to open the **Clear** pane." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:332 -msgid "Select :guilabel:`Clear scenes` to remove all manually and automatically selected scenes." +#: ../../source/cookbook/optical_mosaic.rst:344 +msgid "" +"Select :guilabel:`Clear scenes` to remove all manually and automatically " +"selected scenes." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:339 +#: ../../source/cookbook/optical_mosaic.rst:351 msgid "Manual selection" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:341 -msgid "To open the **Scene selection** menu, hover over a tile circled-number and select it (**1**). The window will be divided into two sections:" +#: ../../source/cookbook/optical_mosaic.rst:353 +msgid "" +"To open the **Scene selection** menu, hover over a tile circled-number " +"and select it (**1**). The window will be divided into two sections:" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:343 -msgid "**Available scene** (**2**): All the available scenes according to the parameters you selected. These scenes are ordered using the :code:`priority` parameter you set in the :guilabel:`SCN` tab." +#: ../../source/cookbook/optical_mosaic.rst:355 +msgid "" +"**Available scene** (**2**): All the available scenes according to the " +"parameters you selected. These scenes are ordered using the " +":code:`priority` parameter you set in the :guilabel:`SCN` tab." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:344 +#: ../../source/cookbook/optical_mosaic.rst:356 msgid "**Selected scenes** (**3**): The scenes that are currently selected." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:350 -msgid "Each thumbnail represents a scene of the tile stack. You have the option to include them in the mosaic. The scenes located on the left side are the **Available scenes**; the **Selected scenes** are on the right side. In both cases, the following information can be found on the thumbnail:" +#: ../../source/cookbook/optical_mosaic.rst:362 +msgid "" +"Each thumbnail represents a scene of the tile stack. You have the option " +"to include them in the mosaic. The scenes located on the left side are " +"the **Available scenes**; the **Selected scenes** are on the right side. " +"In both cases, the following information can be found on the thumbnail:" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:352 -msgid "A small preview of the scene in the *red, blue, green* band combination." +#: ../../source/cookbook/optical_mosaic.rst:364 +msgid "" +"A small preview of the scene in the *red, green, blue* (true-colour) band" +" combination." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:353 +#: ../../source/cookbook/optical_mosaic.rst:365 msgid "The exact date in YYYY-MM-DD of the scene." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:354 +#: ../../source/cookbook/optical_mosaic.rst:366 msgid "The satellite name :icon:`fa-solid fa-satellite-dish`." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:355 -msgid "The cloud coverage of the scene in percent and its position in the stack values :icon:`fa-solid fa-cloud`." +#: ../../source/cookbook/optical_mosaic.rst:367 +msgid "" +"The cloud coverage of the scene in percent and its position in the stack " +"values :icon:`fa-solid fa-cloud`." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:356 -msgid "The distance from target day in days within the season and its position in the stack values :icon:`fa-solid fa-calendar-check`." +#: ../../source/cookbook/optical_mosaic.rst:368 +msgid "" +"The distance from target day in days within the season and its position " +"in the stack values :icon:`fa-solid fa-calendar-check`." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:368 -msgid "You can decide to move the scene to the **Selected scene** area by selecting :icon:`fa-solid fa-plus`:guilabel:`Add` or moving it back to **Available scene** pane by selecting :icon:`fa-solid fa-minus` :guilabel:`Remove`." +#: ../../source/cookbook/optical_mosaic.rst:380 +msgid "" +"You can decide to move the scene to the **Selected scene** area by " +"selecting :icon:`fa-solid fa-plus` :guilabel:`Add` or moving it back to " +"the **Available scene** pane by selecting :icon:`fa-solid fa-minus` " +":guilabel:`Remove`." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:382 -msgid "Scenes are moved from one side to the other so they are not duplicated and cannot be selected twice. Be careful if your connection is slow; wait for the thumbnail to move before clicking again (if you click too fast, you could select two different images instead of one)." +#: ../../source/cookbook/optical_mosaic.rst:394 +msgid "" +"Scenes are moved from one side to the other so they are not duplicated " +"and cannot be selected twice. Be careful if your connection is slow; wait" +" for the thumbnail to move before clicking again (if you click too fast, " +"you could select two different images instead of one)." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:384 -msgid "Once you are happy with your selection, select the :guilabel:`Apply` button to close the window and use the selected scenes to compute the mosaic on this tile. When the window is closed, SEPAL resets the rendering of all tiles." +#: ../../source/cookbook/optical_mosaic.rst:396 +msgid "" +"Once you are happy with your selection, select the :guilabel:`Apply` " +"button to close the window and use the selected scenes to compute the " +"mosaic on this tile. When the window is closed, SEPAL resets the " +"rendering of all tiles." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:387 +#: ../../source/cookbook/optical_mosaic.rst:399 msgid "Retrieve" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:391 -msgid "You cannot export a recipe as an asset or a :code:`.tiff` file without a small computation quota. If you are a new user, see :doc:`../setup/resource`." +#: ../../source/cookbook/optical_mosaic.rst:403 +msgid "" +"You cannot export a recipe as an asset or a :code:`.tif` file without a " +"small computation quota. If you are a new user, see " +":doc:`../setup/resource`." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:393 -msgid "Selecting the :icon:`fa-solid fa-cloud-arrow-down` tab will open the **Retrieve** pane where you can select the exportation parameters." +#: ../../source/cookbook/optical_mosaic.rst:405 +msgid "" +"Selecting the :icon:`fa-solid fa-cloud-arrow-down` tab will open the " +"**Retrieve** pane where you can select the exportation parameters." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:400 +#: ../../source/cookbook/optical_mosaic.rst:412 msgid "Bands" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:402 -msgid "You need to select the band(s) to export with the mosaic. There is no maximum number of bands, but exporting useless bands will only increase the size and time of the output. To discover the full list of available bands with SEPAL, see :doc:`../feature/bands`." +#: ../../source/cookbook/optical_mosaic.rst:414 +msgid "" +"You need to select the band(s) to export with the mosaic. There is no " +"maximum number of bands, but exporting useless bands will only increase " +"the size and time of the output. To discover the full list of available " +"bands with SEPAL, see :doc:`../feature/optical_bands`." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:406 -msgid "There is no fixed rule to the band selection. Each index is more adapted to a set of analyses in a defined biome. The knowledge of the study area, the evolution expected and the careful selection of an adapted band combination will improve the quality of downstream analysis." +#: ../../source/cookbook/optical_mosaic.rst:418 +msgid "" +"There is no fixed rule to the band selection. Each index is more adapted " +"to a set of analyses in a defined biome. The knowledge of the study area," +" the evolution expected and the careful selection of an adapted band " +"combination will improve the quality of downstream analysis." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:409 +#: ../../source/cookbook/optical_mosaic.rst:421 msgid "Dates" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:411 -msgid ":guilabel:`dayofyear`: the Julian calendar date (day of the year)" +#: ../../source/cookbook/optical_mosaic.rst:423 +msgid ":guilabel:`dayOfYear`: the Julian calendar date (day of the year)" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:412 -msgid ":guilabel:`dayfromtarget`: the distance to the target date within the season in days" +#: ../../source/cookbook/optical_mosaic.rst:424 +msgid "" +":guilabel:`daysFromTarget`: the distance to the target date within the " +"season in days" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:415 +#: ../../source/cookbook/optical_mosaic.rst:428 +msgid "" +"These metadata bands are only available when the :guilabel:`Medoid` " +"composing method is used (the :guilabel:`Median` method produces " +"artificial pixels that carry no metadata)." +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:431 msgid "Scale" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:417 -msgid "You can set a custom scale for exportation by changing the value of the slider in metres (m) (note that requesting a smaller resolution than images' native resolution will not improve the quality of the output – just its size – keep in mind that the native resolution of Sentinel data is 10 m, while Landsat is 30 m.)" +#: ../../source/cookbook/optical_mosaic.rst:433 +msgid "" +"You can set a custom scale for exportation by selecting a value in metres" +" (m) (note that requesting a smaller resolution than the images' native " +"resolution will not improve the quality of the output – just its size – " +"keep in mind that the native resolution of Sentinel data is 10 m, while " +"Landsat is 30 m)." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:420 +#: ../../source/cookbook/optical_mosaic.rst:436 msgid "Destination" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:422 -msgid "You can export the image to the :guilabel:`SEPAL workspace` or to the ;guilabel:`Google Earth Engine Asset` folder. The same image will be exported to both; however, for the former, you will find it in :code:`.tif` format in the :code:`Downloads` folder; for the latter, the image will be exported to your GEE account asset list." +#: ../../source/cookbook/optical_mosaic.rst:438 +msgid "Choose a single destination for the export:" +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:440 +msgid "" +":guilabel:`SEPAL workspace`: the image is written to your SEPAL files in " +":code:`.tif` format (by default in the :code:`Downloads` folder)." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:426 -msgid "If :guilabel:`Google Earth Engine Asset` is not displayed, it means that your GEE account is not connected to SEPAL. Please refer to `Connect SEPAL to GEE <../setup/gee.html>`__." +#: ../../source/cookbook/optical_mosaic.rst:441 +msgid "" +":guilabel:`Google Earth Engine asset`: the image is exported to your GEE " +"account as an asset. You can export it either as a single " +":guilabel:`Image` or as an :guilabel:`Image collection` (tiled, which is " +"better suited to large exports), and set its sharing to " +":guilabel:`Private` or :guilabel:`Public`." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:428 -msgid "Select :guilabel:`Apply` to start the download process." +#: ../../source/cookbook/optical_mosaic.rst:442 +msgid "" +":guilabel:`Google Drive`: the image is exported to the Google Drive of " +"the connected Google account." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:431 +#: ../../source/cookbook/optical_mosaic.rst:446 +msgid "" +"The :guilabel:`Google Earth Engine asset` and :guilabel:`Google Drive` " +"destinations are only displayed when a Google account is connected to " +"SEPAL. If they are missing, please refer to `Connect SEPAL to GEE " +"<../setup/gee.html>`__." +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:448 +msgid "Select :guilabel:`Retrieve` to start the export process." +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:451 msgid "Exportation status" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:433 -msgid "In the **Tasks** tab (lower-left corner using the :icon:`fa-solid fa-list-check` or :icon:`fa-solid fa-spinner` buttons, depending on the loading status), you will see the list of the different loading tasks. The interface will provide you with information about task progress and display an error if the exportation has failed." +#: ../../source/cookbook/optical_mosaic.rst:453 +msgid "" +"In the **Tasks** tab (lower-left corner using the :icon:`fa-solid fa-" +"list-check` or :icon:`fa-solid fa-spinner` buttons, depending on the " +"loading status), you will see the list of the different loading tasks. " +"The interface will provide you with information about task progress and " +"display an error if the exportation has failed." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:435 -msgid "If you are unsatisfied with the way we present information, the task can also be monitored using the `GEE task manager `__." +#: ../../source/cookbook/optical_mosaic.rst:455 +msgid "" +"If you are unsatisfied with the way we present information, the task can " +"also be monitored using the `GEE task manager " +"`__." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:439 -msgid "This operation is running between GEE and SEPAL servers in the background. You can close the SEPAL page without stopping the process." +#: ../../source/cookbook/optical_mosaic.rst:459 +msgid "" +"This operation is running between GEE and SEPAL servers in the " +"background. You can close the SEPAL page without stopping the process." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:441 -msgid "When the task is finished, the frame will be displayed in green, as shown on the second image below." +#: ../../source/cookbook/optical_mosaic.rst:461 +msgid "" +"When the task is finished, the frame will be displayed in green, as shown" +" on the second image below." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:454 +#: ../../source/cookbook/optical_mosaic.rst:474 msgid "Access" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:456 -msgid "Once the download process is complete, you can access the data in your SEPAL folders. The data will be stored in the :code:`Downloads` folder using the following format:" +#: ../../source/cookbook/optical_mosaic.rst:476 +msgid "" +"Once the download process is complete, you can access the data in your " +"SEPAL folders. The data will be stored in the :code:`Downloads` folder " +"using the following format:" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:471 -msgid "Understanding how images are stored in an optical mosaic is only required if you want to manually use them. The SEPAL applications are bound to this tiling system and can digest the information for you." +#: ../../source/cookbook/optical_mosaic.rst:491 +msgid "" +"Understanding how images are stored in an optical mosaic is only required" +" if you want to manually use them. The SEPAL applications are bound to " +"this tiling system and can digest the information for you." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:473 -msgid "The data are stored in a folder using the name of the optical mosaic as it was created in the first section of this article. As the number of data is spatially too big to be exported at once, the data are divided into smaller pieces and brought back together in a :code:`_.vrt` file." +#: ../../source/cookbook/optical_mosaic.rst:493 +msgid "" +"The data are stored in a folder using the name of the optical mosaic as " +"it was created in the first section of this article. As the number of " +"data is spatially too big to be exported at once, the data are divided " +"into smaller pieces and brought back together in a :code:`_.vrt` file." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:477 -msgid "The full folder with a consistent tree folder is required to read the `.vrt`" +#: ../../source/cookbook/optical_mosaic.rst:497 +msgid "" +"The full folder with a consistent tree folder is required to read the " +"`.vrt`" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:481 -msgid "Now that you have downloaded the optical mosaic to your SEPAL and/or GEE account, it can be downloaded to your computer using `FileZilla <../setup.filezilla.html>`__ or used in other SEPAL workflows." +#: ../../source/cookbook/optical_mosaic.rst:501 +msgid "" +"Now that you have exported the optical mosaic to your SEPAL workspace, it" +" can be downloaded to your computer using `file exchange options " +"<../setup/filezilla.html>`__ or used in other SEPAL workflows." msgstr "" #~ msgid "Optical mosaic" @@ -1794,3 +2201,539 @@ msgstr "" #~ " SEPAL workflows." #~ msgstr "" +#~ msgid "" +#~ "The first step is to change the" +#~ " name of the recipe. This name " +#~ "will be used to identify your " +#~ "files and recipes in SEPAL folders. " +#~ "Use the best-suited convention for " +#~ "your needs. Simply double-click the " +#~ "tab and write a new name. It " +#~ "will default to " +#~ ":code:`Optical_mosaic___`." +#~ msgstr "" + +#~ msgid "" +#~ "As mentioned in the introduction, a " +#~ "mosaic uses different raster datasets " +#~ "that can be obtained from multiple " +#~ "sources. SEPAL allows you to select " +#~ "data from multiple entry points. Below," +#~ " you can find a description of " +#~ "these sources (select a link to " +#~ "see the corresponding dataset information):" +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`L8`: `Landsat 8 Tier 1 " +#~ "`__. Landsat " +#~ "scenes with the highest available data" +#~ " quality are placed into **Tier 1**" +#~ " and considered suitable for time-" +#~ "series processing analysis. **Tier 1** " +#~ "includes Level-1 Precision Terrain (L1TP) " +#~ "processed data that have well-" +#~ "characterized radiometry and are " +#~ "intercalibrated across different Landsat " +#~ "sensors. The geo-registration of **Tier" +#~ " 1** scenes will be consistent and" +#~ " within prescribed tolerances (< = 12" +#~ " m root mean square error [RMSE])." +#~ " All **Tier 1** Landsat data can " +#~ "be considered consistent and intercalibrated" +#~ " (regardless of the sensor used) " +#~ "across the full collection." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`L8 T2`: `Landsat 8 Tier 2 " +#~ "`__. Scenes " +#~ "not meeting **Tier 1** criteria during" +#~ " processing are assigned to **Tier " +#~ "2**. This includes Systematic terrain " +#~ "(L1GT) and Systematic (L1GS) processed " +#~ "scenes, as well as any L1TP scenes" +#~ " that do not meet the **Tier " +#~ "1** specifications due to significant " +#~ "cloud cover, insufficient ground control " +#~ "and other factors. Users interested in" +#~ " **Tier 2** scenes can analyze the" +#~ " RMSE and other properties to " +#~ "determine the suitability for use in " +#~ "individual applications and studies." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`L7`: `Landsat 7 Tier 1 " +#~ "`__. Landsat " +#~ "scenes with the highest available data" +#~ " quality are placed into **Tier 1**" +#~ " and are considered suitable for " +#~ "time-series processing analysis. **Tier 1**" +#~ " includes Level-1 Precision Terrain (L1TP)" +#~ " processed data that have well-" +#~ "characterized radiometry and are " +#~ "intercalibrated across different Landsat " +#~ "sensors. The geo-registration of **Tier" +#~ " 1** scenes will be consistent and" +#~ " within prescribed tolerances (< = 12" +#~ " m RMSE). All **Tier 1** Landsat " +#~ "data can be considered consistent and" +#~ " intercalibrated across the full collection" +#~ " (regardless of the sensor used)." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`L7 T2`: `Landsat 7 Tier 2 " +#~ "`__. Scenes " +#~ "not meeting **Tier 1** criteria during" +#~ " processing are assigned to **Tier " +#~ "2**. This includes Systematic terrain " +#~ "(L1GT) and Systematic (L1GS) processed " +#~ "scenes, as well as any L1TP scenes" +#~ " that do not meet the **Tier " +#~ "1** specifications due to significant " +#~ "cloud cover, insufficient ground control " +#~ "and other factors. Users interested in" +#~ " **Tier 2** scenes can analyze the" +#~ " RMSE and other properties to " +#~ "determine the suitability for use in " +#~ "individual applications and studies." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`L4-5`: `Landsat 4 Tier 1 " +#~ "`__ combined " +#~ "with `Landsat 5 Tier 1 " +#~ "`__. Landsat " +#~ "scenes with the highest available data" +#~ " quality are placed into **Tier 1**" +#~ " and are considered suitable for " +#~ "time-series processing analysis. **Tier 1**" +#~ " includes Level-1 Precision Terrain (L1TP)" +#~ " processed data that have well-" +#~ "characterized radiometry and are " +#~ "intercalibrated across different Landsat " +#~ "sensors. The geo-registration of **Tier" +#~ " 1** scenes will be consistent and" +#~ " within prescribed tolerances (< = 12" +#~ " m RMSE). All **Tier 1** Landsat " +#~ "data can be considered consistent and" +#~ " intercalibrated across the full collection" +#~ " (regardless of the sensor used)." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`L4-5 T2`: `Landsat 4 TM Tier" +#~ " 2 `__ combined " +#~ "with `Landsat 5 TM Tier 2 " +#~ "`__. Scenes " +#~ "not meeting **Tier 1** criteria during" +#~ " processing are assigned to **Tier " +#~ "2**. This includes Systematic terrain " +#~ "(L1GT) and Systematic (L1GS) processed " +#~ "scenes, as well as any L1TP scenes" +#~ " that do not meet the **Tier " +#~ "1** specifications due to significant " +#~ "cloud cover, insufficient ground control " +#~ "and other factors. Users interested in" +#~ " **Tier 2** scenes can analyze the" +#~ " RMSE and other properties to " +#~ "determine the suitability for use in " +#~ "individual applications and studies." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`A+B`: `Sentinel-2 Multispectral " +#~ "instrument `__ is a " +#~ "wide-swath, high-resolution, multispectral " +#~ "imaging mission supporting Copernicus Land " +#~ "Monitoring studies, including the monitoring" +#~ " of vegetation, soil and water cover," +#~ " as well as the observation of " +#~ "inland waterways and coastal areas." +#~ msgstr "" + +#~ msgid "" +#~ "Choose :guilabel:`Select scenes` and choose" +#~ " one of the three available " +#~ ":code:`Priority` options, based on the " +#~ "needs of your analysis (SEPAL sorts " +#~ "the images available for each tile):" +#~ msgstr "" + +#~ msgid ":guilabel:`Cloud free`: Prioritizes images with zero or few clouds." +#~ msgstr "" + +#~ msgid ":guilabel:`Target date`: Prioritizes images that match the target date." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`Balanced`: Prioritizes images that " +#~ "maximize both cloud and target date." +#~ msgstr "" + +#~ msgid "This step is optional. SEPAL provides the following options by default:" +#~ msgstr "" + +#~ msgid "**Correction**: :guilabel:`SR`, :guilabel:`BRDF`" +#~ msgstr "" + +#~ msgid "**Pixel filters**: No filters" +#~ msgstr "" + +#~ msgid "**Cloud detection**: :guilabel:`QA bands`, :guilabel:`Cloud score`" +#~ msgstr "" + +#~ msgid "**Cloud buffering**: :guilabel:`None`" +#~ msgstr "" + +#~ msgid "**Snow masking**: :guilabel:`On`" +#~ msgstr "" + +#~ msgid "" +#~ "To create a mosaic, provide SEPAL " +#~ "with the compositing method to create" +#~ " the final image. See the following" +#~ " image for all possible compositing " +#~ "options available." +#~ msgstr "" + +#~ msgid "" +#~ "This will apply corrections on the " +#~ "stacked pixels to improve the quality" +#~ " of the mosaic." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`SR`: Surface reflectance improves " +#~ "comparison between multiple images over " +#~ "the same region by accounting for " +#~ "atmospheric effects such as aerosol " +#~ "scattering and thin clouds, which can" +#~ " help in the detection and " +#~ "characterization of Earth surface change. " +#~ "Top-of-atmosphere images are used " +#~ "if not selected." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`BRDF`: Uses a bidirectional " +#~ "reflectance distribution function (BRDF) model" +#~ " to characterize surface reflectance " +#~ "anisotropy. For a given land area, " +#~ "the BRDF is established based on " +#~ "selected multi-angular observations of " +#~ "surface reflectance." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`Calibrate`: Calibrates Sentinel and " +#~ "Landsat data to make them compatible." +#~ msgstr "" + +#~ msgid "Landsat and Sentinel data are mixed; and" +#~ msgstr "" + +#~ msgid "BRDF and surface reflectance (SR) corrections are disabled." +#~ msgstr "" + +#~ msgid "" +#~ "Activating any of the filters will " +#~ "remove some pixels from the stack. " +#~ "Removing pixels improves the quality of" +#~ " the mosaic, as they are not " +#~ "taken into account in the median " +#~ "value computation." +#~ msgstr "" + +#~ msgid "" +#~ "Each filter is applied iteratively (e.g." +#~ " if the normalized difference vegetation" +#~ " index [NDVI] is already filtering " +#~ "all pixels but one, there will be" +#~ " nothing left in the stack to " +#~ "be filtered by day of year)." +#~ msgstr "" + +#~ msgid "**Shadow**: Filters the XX percent darkest pixels of the stack." +#~ msgstr "" + +#~ msgid "" +#~ "**Haze**: Computes a haze index and " +#~ "filters the XX percent highest values." +#~ msgstr "" + +#~ msgid "" +#~ "**NDVI**: Computes the NDVI and only " +#~ "keeps the XX percent highest values." +#~ msgstr "" + +#~ msgid "" +#~ "**Day of the year**: Computes the " +#~ "distance from target day in days " +#~ "and filters out the XX percent " +#~ "farthest." +#~ msgstr "" + +#~ msgid "Cloud detection" +#~ msgstr "" + +#~ msgid "Refers to the algorithm used to detect clouds." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`QA bands`: Uses quality assessment" +#~ " (QA) bands to identify clouds in " +#~ "Sentinel data." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`Cloud score`: Uses the computed " +#~ "cloud score to identify clouds in " +#~ "Landsat data." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`Pino 26`: Uses the Pino_26 " +#~ "algorithm to identify clouds (for more" +#~ " information, see `D. Simonetti [2021] " +#~ "`__)." +#~ msgstr "" + +#~ msgid "" +#~ "This filter is only available for " +#~ "Sentinel exclusive source when both " +#~ ":guilabel:`BRDF` and :guilabel:`SR` correction " +#~ "are disabled." +#~ msgstr "" + +#~ msgid "" +#~ "Controls how clouds will be masked " +#~ "based on the cloud detection algorithm" +#~ " selected." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`off`: Uses cloud-free pixels " +#~ "if possible, but doesn't mask areas " +#~ "without cloud-free pixels." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`moderate`: Relies only on image " +#~ "source QA bands for cloud masking " +#~ "(a moderate threshold is used)." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`aggressive`: Relies on image source" +#~ " QA bands and a cloud scoring " +#~ "algorithm for cloud masking with an " +#~ "aggressive threshold (this will probably " +#~ "mask out some built-up areas and" +#~ " other bright features)." +#~ msgstr "" + +#~ msgid "" +#~ "When pixels are identified as clouds," +#~ " SEPAL can remove pixels in a " +#~ "small buffer around it to prevent " +#~ "hazy pixels at the borders of " +#~ "clouds to be included in the " +#~ "mosaic." +#~ msgstr "" + +#~ msgid "" +#~ "Buffering is done on the pixel " +#~ "level, so using this option will " +#~ "significantly increase the creation time " +#~ "of the mosaic." +#~ msgstr "" + +#~ msgid ":guilabel:`none`: Doesn't use cloud buffering." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`moderate`: Masks an additional " +#~ "**120 m** around each larger cloud." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`aggressive`: Masks an additional " +#~ "**600 m** around each larger cloud." +#~ msgstr "" + +#~ msgid "Snow masking" +#~ msgstr "" + +#~ msgid "Defines how snowy pixels will be masked." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`on`: Masks snow. This tends " +#~ "to leave some pixels with shadowy " +#~ "snow." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`off`: Doesn't mask snow. Note " +#~ "that some clouds might get misclassified" +#~ " as snow; therefore, disabling snow " +#~ "masking might lead to cloud artifacts." +#~ msgstr "" + +#~ msgid "" +#~ "After filtering the stack of pixels, " +#~ "SEPAL will compute the median value " +#~ "on the different bands of the " +#~ "image. The composing method will define" +#~ " how the final pixel value is " +#~ "extracted." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`Medoid`: Uses the closest pixel " +#~ "from the median value. As a real" +#~ " pixel from the stack, the final " +#~ "value will embed metadata (e.g. the " +#~ "date of observation)." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`Median`: Uses the computed value" +#~ " of the median. If no pixel is" +#~ " matching this value, the pixel will" +#~ " not embed any metadata. It tends " +#~ "to produce smoother mosaics." +#~ msgstr "" + +#~ msgid ":btn:``: auto-select scenes" +#~ msgstr "" + +#~ msgid "" +#~ "If you have not selected the " +#~ "option :guilabel:`Select scenes` in the " +#~ ":guilabel:`SCN` tab, the :icon:`fa-solid " +#~ "fa-wand-magic` button will be " +#~ "disabled and the scene areas will " +#~ "be hidden as no scene selection " +#~ "needs to be performed (see those " +#~ "with a number in a circle on " +#~ "the previous screenshot)." +#~ msgstr "" + +#~ msgid "" +#~ "Selecting the :icon:`fa-solid fa-" +#~ "wand-magic` tab will open the " +#~ "**Auto-selection** pane." +#~ msgstr "" + +#~ msgid "" +#~ "Move the sliders to select the " +#~ "minimum and the maximum number of " +#~ "scenes SEPAL should select in a " +#~ "tile. Then, select the :guilabel:`Validate`" +#~ " button to apply the auto-select " +#~ "method." +#~ msgstr "" + +#~ msgid "" +#~ "A small preview of the scene in" +#~ " the *red, blue, green* band " +#~ "combination." +#~ msgstr "" + +#~ msgid "" +#~ "You can decide to move the scene" +#~ " to the **Selected scene** area by" +#~ " selecting :icon:`fa-solid fa-" +#~ "plus`:guilabel:`Add` or moving it back " +#~ "to **Available scene** pane by selecting" +#~ " :icon:`fa-solid fa-minus` " +#~ ":guilabel:`Remove`." +#~ msgstr "" + +#~ msgid "" +#~ "You cannot export a recipe as an" +#~ " asset or a :code:`.tiff` file " +#~ "without a small computation quota. If" +#~ " you are a new user, see " +#~ ":doc:`../setup/resource`." +#~ msgstr "" + +#~ msgid "" +#~ "You need to select the band(s) to" +#~ " export with the mosaic. There is " +#~ "no maximum number of bands, but " +#~ "exporting useless bands will only " +#~ "increase the size and time of the" +#~ " output. To discover the full list" +#~ " of available bands with SEPAL, see" +#~ " :doc:`../feature/bands`." +#~ msgstr "" + +#~ msgid ":guilabel:`dayofyear`: the Julian calendar date (day of the year)" +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`dayfromtarget`: the distance to the" +#~ " target date within the season in " +#~ "days" +#~ msgstr "" + +#~ msgid "" +#~ "You can set a custom scale for " +#~ "exportation by changing the value of " +#~ "the slider in metres (m) (note " +#~ "that requesting a smaller resolution " +#~ "than images' native resolution will not" +#~ " improve the quality of the output" +#~ " – just its size – keep in " +#~ "mind that the native resolution of " +#~ "Sentinel data is 10 m, while " +#~ "Landsat is 30 m.)" +#~ msgstr "" + +#~ msgid "" +#~ "You can export the image to the" +#~ " :guilabel:`SEPAL workspace` or to the " +#~ ";guilabel:`Google Earth Engine Asset` folder." +#~ " The same image will be exported " +#~ "to both; however, for the former, " +#~ "you will find it in :code:`.tif` " +#~ "format in the :code:`Downloads` folder; " +#~ "for the latter, the image will be" +#~ " exported to your GEE account asset" +#~ " list." +#~ msgstr "" + +#~ msgid "" +#~ "If :guilabel:`Google Earth Engine Asset` " +#~ "is not displayed, it means that " +#~ "your GEE account is not connected " +#~ "to SEPAL. Please refer to `Connect " +#~ "SEPAL to GEE <../setup/gee.html>`__." +#~ msgstr "" + +#~ msgid "Select :guilabel:`Apply` to start the download process." +#~ msgstr "" + +#~ msgid "" +#~ "Now that you have downloaded the " +#~ "optical mosaic to your SEPAL and/or " +#~ "GEE account, it can be downloaded " +#~ "to your computer using `FileZilla " +#~ "<../setup.filezilla.html>`__ or used in other" +#~ " SEPAL workflows." +#~ msgstr "" + diff --git a/docs/source/_locale/es/LC_MESSAGES/cookbook/time_series.po b/docs/source/_locale/es/LC_MESSAGES/cookbook/time_series.po index 5745628e57..919096cca9 100644 --- a/docs/source/_locale/es/LC_MESSAGES/cookbook/time_series.po +++ b/docs/source/_locale/es/LC_MESSAGES/cookbook/time_series.po @@ -1,29 +1,27 @@ + msgid "" msgstr "" -"Project-Id-Version: sepal-doc\n" +"Project-Id-Version: sepal-doc\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-03-07 09:39+0100\n" -"PO-Revision-Date: 2024-03-07 08:54\n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: 2024-03-07 08:54+0000\n" "Last-Translator: \n" +"Language: es_ES\n" "Language-Team: Spanish\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.14.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Crowdin-Project: sepal-doc\n" -"X-Crowdin-Project-ID: 562097\n" -"X-Crowdin-Language: es-ES\n" -"X-Crowdin-File: /main/docs/source/_locale/en/LC_MESSAGES/cookbook/time_series.po\n" -"X-Crowdin-File-ID: 75\n" -"Language: es_ES\n" +"Generated-By: Babel 2.18.0\n" #: ../../source/cookbook/time_series.rst:2 msgid "Time series" msgstr "" #: ../../source/cookbook/time_series.rst:4 -msgid "*Create and retrieve SITS to study patterns and key changes in landscape evolution over time*" +msgid "" +"*Create and retrieve SITS to study patterns and key changes in landscape " +"evolution over time*" msgstr "" #: ../../source/cookbook/time_series.rst:7 @@ -31,23 +29,48 @@ msgid "Overview" msgstr "" #: ../../source/cookbook/time_series.rst:9 -msgid "A Satellite Image Time Series (SITS) is a set of satellite images taken of the same scene at different times. A SITS makes use of different satellite sources to obtain a larger data series with a short time interval between two images. In this case, it is fundamental to observe the spatial resolution and registration constraints." +msgid "" +"A Satellite Image Time Series (SITS) is a set of satellite images taken " +"of the same scene at different times. A SITS makes use of different " +"satellite sources to obtain a larger data series with a short time " +"interval between two images. In this case, it is fundamental to observe " +"the spatial resolution and registration constraints." msgstr "" #: ../../source/cookbook/time_series.rst:11 -msgid "Satellite observations offer opportunities for understanding how the Earth is changing, determining the causes of these changes and predicting future changes. Remotely sensed data, combined with information from ecosystem models, offer an opportunity for predicting and understanding the behaviour of Earth's ecosystems. Sensors with high spatial and temporal resolutions make the observation of precise spatio-temporal structures in dynamic scenes more accessible. Temporal components integrated with spectral and spatial dimensions allow the identification of complex patterns concerning applications connected with environmental monitoring and analysis of land cover dynamics." +msgid "" +"Satellite observations offer opportunities for understanding how the " +"Earth is changing, determining the causes of these changes and predicting" +" future changes. Remotely sensed data, combined with information from " +"ecosystem models, offer an opportunity for predicting and understanding " +"the behaviour of Earth's ecosystems. Sensors with high spatial and " +"temporal resolutions make the observation of precise spatio-temporal " +"structures in dynamic scenes more accessible. Temporal components " +"integrated with spectral and spatial dimensions allow the identification " +"of complex patterns concerning applications connected with environmental " +"monitoring and analysis of land cover dynamics." msgstr "" #: ../../source/cookbook/time_series.rst:13 -msgid "Change detection can only provide a \"before and after\" scenario; a time-series analysis provides an opportunity to study patterns and key changes in the landscape evolution over time." +msgid "" +"Change detection can only provide a \"before and after\" scenario; a " +"time-series analysis provides an opportunity to study patterns and key " +"changes in the landscape evolution over time." msgstr "" #: ../../source/cookbook/time_series.rst:15 -msgid "This SEPAL recipe allows users to create and retrieve SITS based on `Landsat `__ and `Copernicus `__ programmes' imagery using the Google Earth Engine (GEE) datacube." +msgid "" +"This SEPAL recipe allows users to create and retrieve SITS based on " +"`Landsat `__ and `Copernicus `__ programmes' " +"imagery using the Google Earth Engine (GEE) datacube." msgstr "" #: ../../source/cookbook/time_series.rst:19 -msgid "You won't be able to download images if your SEPAL and GEE account aren't connected. To learn more, go to `Connect SEPAL to GEE <../setup/gee.html>`__." +msgid "" +"You won't be able to download images if your SEPAL and GEE account aren't" +" connected. To learn more, go to `Connect SEPAL to GEE " +"<../setup/gee.html>`__." msgstr "" #: ../../source/cookbook/time_series.rst:22 @@ -55,15 +78,27 @@ msgid "Start" msgstr "" #: ../../source/cookbook/time_series.rst:24 -msgid "Once the **Time series** recipe is selected, SEPAL will open the recipe process in a new tab (see **1** in the following figure). The base map will change to Google high-resolution imagery and the **Area of interest (AOI)** selection window will appear in the lower right (**2**)." +msgid "" +"Once the **Time series** recipe is selected, SEPAL will open the recipe " +"process in a new tab (see **1** in the following figure). The base map " +"will change to Google high-resolution imagery and the **Area of interest " +"(AOI)** selection window will appear in the lower right (**2**)." msgstr "" #: ../../source/cookbook/time_series.rst:30 -msgid "The first step is to change the name of the recipe. This name will be used to identify your files and recipes in the SEPAL folders. Use the best-suited convention for your needs. Simply double-click the tab and enter a new name. It will default to :code:`Time_series___`." +msgid "" +"The first step is to change the name of the recipe. This name will be " +"used to identify your files and recipes in the SEPAL folders. Use the " +"best-suited convention for your needs. Simply double-click the tab and " +"enter a new name. It will default to " +":code:`Time_series___`." msgstr "" #: ../../source/cookbook/time_series.rst:42 -msgid "The SEPAL team recommends using the following naming convention: :code:`___` (e.g. :code:`sgp_2012-2018_ndfi_l78`)." +msgid "" +"The SEPAL team recommends using the following naming convention: " +":code:`___` (e.g. " +":code:`sgp_2012-2018_ndfi_l78`)." msgstr "" #: ../../source/cookbook/time_series.rst:45 @@ -72,7 +107,9 @@ msgid "Parameters" msgstr "" #: ../../source/cookbook/time_series.rst:47 -msgid "In the lower-right corner, four tabs are available, allowing you to customize the time series to your needs:" +msgid "" +"In the lower-right corner, four tabs are available, allowing you to " +"customize the time series to your needs:" msgstr "" #: ../../source/cookbook/time_series.rst:49 @@ -96,7 +133,9 @@ msgid "AOI selection" msgstr "" #: ../../source/cookbook/time_series.rst:61 -msgid "The data exported by the recipe will be confined to the bounds of the AOI. There are multiple ways to select the AOI in SEPAL:" +msgid "" +"The data exported by the recipe will be confined to the bounds of the " +"AOI. There are multiple ways to select the AOI in SEPAL:" msgstr "" #: ../../source/cookbook/time_series.rst:63 @@ -120,7 +159,12 @@ msgid "Dates" msgstr "" #: ../../source/cookbook/time_series.rst:76 -msgid "In the :guilabel:`DAT` tab, you will be asked to select the start date and end date of the time series. Select the **Date** text field to open a pop-up window. Choose the :btn:` Select` button to choose a date. When both dates have been chosen, select the :btn:` Apply` button." +msgid "" +"In the :guilabel:`DAT` tab, you will be asked to select the start date " +"and end date of the time series. Select the **Date** text field to open a" +" pop-up window. Choose the :btn:` Select` button to " +"choose a date. When both dates have been chosen, select the :btn:` Apply` button." msgstr "" #: ../../source/cookbook/time_series.rst:89 @@ -128,11 +172,18 @@ msgid "Sources" msgstr "" #: ../../source/cookbook/time_series.rst:91 -msgid "As mentioned in the introduction, a SITS makes use of different satellite sources to obtain a larger data series with a shorter time interval between the images. To meet this objective, SEPAL allows you to select data from multiple entry points. You can select multiple sources from :btn:`Radar`, :btn:`Optical` or :btn:`Planet` datasets." +msgid "" +"As mentioned in the introduction, a SITS makes use of different satellite" +" sources to obtain a larger data series with a shorter time interval " +"between the images. To meet this objective, SEPAL allows you to select " +"data from multiple entry points. You can select multiple sources from " +":btn:`Radar`, :btn:`Optical` or :btn:`Planet` datasets." msgstr "" #: ../../source/cookbook/time_series.rst:93 -msgid "When all of the data has been selected, select :btn:` Apply`." +msgid "" +"When all of the data has been selected, select :btn:` " +"Apply`." msgstr "" #: ../../source/cookbook/time_series.rst:100 @@ -160,7 +211,12 @@ msgid "Snow masking: :guilabel:`on`" msgstr "" #: ../../source/cookbook/time_series.rst:111 -msgid "Multiple pre-processing parameters can be set to improve the quality of the provided images. SEPAL has gathered four of them in the form of these interactive buttons. If you think others should be added, tell us in the `issue tracker `__." +msgid "" +"Multiple pre-processing parameters can be set to improve the quality of " +"the provided images. SEPAL has gathered four of them in the form of these" +" interactive buttons. If you think others should be added, tell us in the" +" `issue tracker " +"`__." msgstr "" #: ../../source/cookbook/time_series.rst:113 @@ -168,11 +224,15 @@ msgid "**Correction**" msgstr "" #: ../../source/cookbook/time_series.rst:115 -msgid ":guilabel:`Surface reflectance`: Use scenes' atmospherically corrected surface reflectance." +msgid "" +":guilabel:`Surface reflectance`: Use scenes' atmospherically corrected " +"surface reflectance." msgstr "" #: ../../source/cookbook/time_series.rst:116 -msgid ":guilabel:`BRDF correction`: Correct for bidirectional reflectance distribution function (BRDF) effects." +msgid "" +":guilabel:`BRDF correction`: Correct for bidirectional reflectance " +"distribution function (BRDF) effects." msgstr "" #: ../../source/cookbook/time_series.rst:118 @@ -180,7 +240,9 @@ msgid "**Cloud detection**" msgstr "" #: ../../source/cookbook/time_series.rst:120 -msgid ":guilabel:`QA bands`: Use previously created quality assessment (QA) bands from datasets." +msgid "" +":guilabel:`QA bands`: Use previously created quality assessment (QA) " +"bands from datasets." msgstr "" #: ../../source/cookbook/time_series.rst:121 @@ -192,11 +254,16 @@ msgid "**Cloud masking**" msgstr "" #: ../../source/cookbook/time_series.rst:125 -msgid ":guilabel:`Moderate`: Rely only on image source QA bands for cloud masking." +msgid "" +":guilabel:`Moderate`: Rely only on image source QA bands for cloud " +"masking." msgstr "" #: ../../source/cookbook/time_series.rst:126 -msgid ":guilabel:`Aggressive`: Rely on image source QA bands and a cloud-scoring algorithm for cloud masking (this will probably \"mask\" some built-up areas and other bright features)." +msgid "" +":guilabel:`Aggressive`: Rely on image source QA bands and a cloud-scoring" +" algorithm for cloud masking (this will probably \"mask\" some built-up " +"areas and other bright features)." msgstr "" #: ../../source/cookbook/time_series.rst:128 @@ -204,11 +271,16 @@ msgid "**Snow masking**" msgstr "" #: ../../source/cookbook/time_series.rst:130 -msgid ":guilabel:`On`: Mask snow (this tends to leave some pixels with shadowy snow)." +msgid "" +":guilabel:`On`: Mask snow (this tends to leave some pixels with shadowy " +"snow)." msgstr "" #: ../../source/cookbook/time_series.rst:131 -msgid ":guilabel:`Off`: Don't mask snow (some clouds might get misclassified as snow, and because of this, disabling snow masking might lead to cloud artefacts)." +msgid "" +":guilabel:`Off`: Don't mask snow (some clouds might get misclassified as " +"snow, and because of this, disabling snow masking might lead to cloud " +"artefacts)." msgstr "" #: ../../source/cookbook/time_series.rst:138 @@ -220,7 +292,11 @@ msgid "The wavelength of each band is dependent on the satellite used." msgstr "" #: ../../source/cookbook/time_series.rst:144 -msgid "The time series will use a single observation for each pixel. This observation can be one of the available bands in SEPAL. To discover the full list of available bands, see :doc:`../feature/bands`." +msgid "" +"The time series will use a single observation for each pixel. This " +"observation can be one of the available bands in SEPAL. To discover the " +"full list of available bands, see :doc:`../feature/optical_bands` and " +"`../feature/radar_bands`." msgstr "" #: ../../source/cookbook/time_series.rst:147 @@ -228,11 +304,16 @@ msgid "Analysis" msgstr "" #: ../../source/cookbook/time_series.rst:149 -msgid "Once all parameters are set, you can generate data from the recipe. Some can be directly generated on the fly from the interface; the rest require retrieving the data from SEPAL folders." +msgid "" +"Once all parameters are set, you can generate data from the recipe. Some " +"can be directly generated on the fly from the interface; the rest require" +" retrieving the data from SEPAL folders." msgstr "" #: ../../source/cookbook/time_series.rst:151 -msgid "The analysis icons can be found in the upper-right corner of the SEPAL interface:" +msgid "" +"The analysis icons can be found in the upper-right corner of the SEPAL " +"interface:" msgstr "" #: ../../source/cookbook/time_series.rst:153 @@ -244,7 +325,10 @@ msgid ":btn:``: Retrieve data." msgstr "" #: ../../source/cookbook/time_series.rst:162 -msgid "The **Download** icon is only enabled when the data parameters are complete. If the button is disabled, check your parameters, as some might be missing." +msgid "" +"The **Download** icon is only enabled when the data parameters are " +"complete. If the button is disabled, check your parameters, as some might" +" be missing." msgstr "" #: ../../source/cookbook/time_series.rst:165 @@ -252,7 +336,11 @@ msgid "Plot" msgstr "" #: ../../source/cookbook/time_series.rst:167 -msgid "Select :btn:`` to start the plotting tool. Move the pointer to the main map; the pointer will be transformed into a :icon:`fa-solid fa-plus`. Click anywhere in the AOI to plot data for this specific location in the following pop-up window." +msgid "" +"Select :btn:`` to start the plotting tool. Move " +"the pointer to the main map; the pointer will be transformed into a :icon" +":`fa-solid fa-plus`. Click anywhere in the AOI to plot data for this " +"specific location in the following pop-up window." msgstr "" #: ../../source/cookbook/time_series.rst:169 @@ -260,15 +348,23 @@ msgid "The plotting area is dynamic and can be customized by the user." msgstr "" #: ../../source/cookbook/time_series.rst:171 -msgid "Using the slider (1), the temporal width displayed can be changed. It cannot exceed the start and/or end date of the time series." +msgid "" +"Using the slider (1), the temporal width displayed can be changed. It " +"cannot exceed the start and/or end date of the time series." msgstr "" #: ../../source/cookbook/time_series.rst:173 -msgid "You can also select the observation feature by selecting one of the available measures in the dropdown selector in the upper-left corner (2). The available bands are the same as those described previously." +msgid "" +"You can also select the observation feature by selecting one of the " +"available measures in the dropdown selector in the upper-left corner (2)." +" The available bands are the same as those described previously." msgstr "" #: ../../source/cookbook/time_series.rst:175 -msgid "On the main graph, each point represents one valid observation (based on the pre-processing filters). Hover over the point to let the tooltip describe the value and date of the observation (3)." +msgid "" +"On the main graph, each point represents one valid observation (based on " +"the pre-processing filters). Hover over the point to let the tooltip " +"describe the value and date of the observation (3)." msgstr "" #: ../../source/cookbook/time_series.rst:179 @@ -276,7 +372,13 @@ msgid "The coordinates of the point are displayed at the top of the chart window msgstr "" #: ../../source/cookbook/time_series.rst:187 -msgid "Since the plot feature is retrieving information from GEE on the fly and presenting it in an interactive window, this operation can take time, depending on the number of available observations and the complexity of the selected pre-processing parameters. If a spinning wheel appears in the pop-up window, you may have to wait up to two minutes to see the data displayed." +msgid "" +"Since the plot feature is retrieving information from GEE on the fly and " +"presenting it in an interactive window, this operation can take time, " +"depending on the number of available observations and the complexity of " +"the selected pre-processing parameters. If a spinning wheel appears in " +"the pop-up window, you may have to wait up to two minutes to see the data" +" displayed." msgstr "" #: ../../source/cookbook/time_series.rst:194 @@ -284,27 +386,47 @@ msgid "Export" msgstr "" #: ../../source/cookbook/time_series.rst:196 -msgid "In order for the data generated by the recipe to be used in other workflows, it needs to be retrieved from GEE and uploaded to SEPAL." +msgid "" +"In order for the data generated by the recipe to be used in other " +"workflows, it needs to be retrieved from GEE and uploaded to SEPAL." msgstr "" #: ../../source/cookbook/time_series.rst:200 -msgid "You cannot export a recipe as an asset or a :code:`.tiff` file without a small computation quota. If you are a new user, see :doc:`../setup/resource`." +msgid "" +"You cannot export a recipe as an asset or a :code:`.tiff` file without a " +"small computation quota. If you are a new user, see " +":doc:`../setup/resource`." msgstr "" #: ../../source/cookbook/time_series.rst:204 -msgid "Select :btn:`` to open the **Download parameters** window. You will be able to select the measure to use on each observation of the time series. This measure can be selected in the list of available bands presented above in a previous section." +msgid "" +"Select :btn:`` to open the **Download " +"parameters** window. You will be able to select the measure to use on " +"each observation of the time series. This measure can be selected in the " +"list of available bands presented above in a previous section." msgstr "" #: ../../source/cookbook/time_series.rst:208 -msgid "There is no fixed rule to the measure selection. Each index is more adapted to a set of analyses in a defined biome. The knowledge of the study area, the evolution expected and the careful selection of an adapted measure will improve the quality of downstream analysis." +msgid "" +"There is no fixed rule to the measure selection. Each index is more " +"adapted to a set of analyses in a defined biome. The knowledge of the " +"study area, the evolution expected and the careful selection of an " +"adapted measure will improve the quality of downstream analysis." msgstr "" #: ../../source/cookbook/time_series.rst:210 -msgid "You can set a custom scale for exportation by changing the value of the slider in metres (m). Keep in mind that Sentinel data native resolution is 10 m and Landsat is 30 m." +msgid "" +"You can set a custom scale for exportation by changing the value of the " +"slider in metres (m). Keep in mind that Sentinel data native resolution " +"is 10 m and Landsat is 30 m." msgstr "" #: ../../source/cookbook/time_series.rst:212 -msgid "When all the data is selected, select the :btn:` apply` button. Notice that the task tab in the lower-left corner of the screen (1) will change from :btn:`` to :btn:``, meaning that the tasks are loading." +msgid "" +"When all the data is selected, select the :btn:` " +"apply` button. Notice that the task tab in the lower-left corner of the " +"screen (1) will change from :btn:`` to :btn:``, meaning that the tasks are loading." msgstr "" #: ../../source/cookbook/time_series.rst:220 @@ -312,15 +434,27 @@ msgid "Exportation status" msgstr "" #: ../../source/cookbook/time_series.rst:222 -msgid "By selecting the **Tasks** tab (lower-left corner using the :btn:`` or :btn:`` buttons, depending on the loading status), you will see the list of different tasks loading. The interface will provide you with information about the task progress and display an error if the exportation has failed. If you are unsatisfied with the way we present information, the task can also be monitored using the `GEE task manager `__." +msgid "" +"By selecting the **Tasks** tab (lower-left corner using the :btn:`` or :btn:`` buttons, depending " +"on the loading status), you will see the list of different tasks loading." +" The interface will provide you with information about the task progress " +"and display an error if the exportation has failed. If you are " +"unsatisfied with the way we present information, the task can also be " +"monitored using the `GEE task manager " +"`__." msgstr "" #: ../../source/cookbook/time_series.rst:226 -msgid "This operation is running between GEE and SEPAL servers in the background, so you can close the SEPAL page without ending the process." +msgid "" +"This operation is running between GEE and SEPAL servers in the " +"background, so you can close the SEPAL page without ending the process." msgstr "" #: ../../source/cookbook/time_series.rst:228 -msgid "When the task is finished, the frame will be displayed in green, as shown in the second image below." +msgid "" +"When the task is finished, the frame will be displayed in green, as shown" +" in the second image below." msgstr "" #: ../../source/cookbook/time_series.rst:241 @@ -328,43 +462,82 @@ msgid "Access" msgstr "" #: ../../source/cookbook/time_series.rst:243 -msgid "Once the download process is done, you can access the data in your **SEPAL folders** in :code:`Downloads`, using the following format:" +msgid "" +"Once the download process is done, you can access the data in your " +"**SEPAL folders** in :code:`Downloads`, using the following format:" msgstr "" #: ../../source/cookbook/time_series.rst:268 -msgid "Understanding how images are stored in a time series is only required if you want to manually use them. The SEPAL applications are bound to this tiling system and can digest this information for you." +msgid "" +"Understanding how images are stored in a time series is only required if " +"you want to manually use them. The SEPAL applications are bound to this " +"tiling system and can digest this information for you." msgstr "" #: ../../source/cookbook/time_series.rst:270 -msgid "The data are stored in a folder using the name of the time series as it was labeled in the first section of this document. The SEPAL team was forced to use this folder structure as GEE is unable to export an :code:`ee.ImageCollection`. As the data is spatially too big to be exported at once, they are divided into smaller pieces and reassembled in a :code:`stack.vrt` file." +msgid "" +"The data are stored in a folder using the name of the time series as it " +"was labeled in the first section of this document. The SEPAL team was " +"forced to use this folder structure as GEE is unable to export an " +":code:`ee.ImageCollection`. As the data is spatially too big to be " +"exported at once, they are divided into smaller pieces and reassembled in" +" a :code:`stack.vrt` file." msgstr "" #: ../../source/cookbook/time_series.rst:272 -msgid "The AOI provided by the user will be divided into multiple SEPAL tiles. The AOI is a :code:`ee.FeatureCollection`; each feature is downloaded in a different tile. If the tile is bigger than 2° x 2° (EPSG:4326), then the feature is divided again until all of the tiles are smaller than the maximum 2° size. The tiles are identified by their :code:``." +msgid "" +"The AOI provided by the user will be divided into multiple SEPAL tiles. " +"The AOI is a :code:`ee.FeatureCollection`; each feature is downloaded in " +"a different tile. If the tile is bigger than 2° x 2° (EPSG:4326), then " +"the feature is divided again until all of the tiles are smaller than the " +"maximum 2° size. The tiles are identified by their :code:``." msgstr "" #: ../../source/cookbook/time_series.rst:274 -msgid "To limit the size of the downloaded images, in each SEPAL tile, the time period is divided into **Chunks** of 3 months. They are identified by their :code:`_`. **Chunks** are image folders. As a SEPAL tile is still bigger than what GEE can download at once, the images are divided into GEE tiles. This tiling process uses its own identification system (000000xxxx-000000xxxx). Consequently, **Chunks** contain tile raster images. Each one of these images is composed of one band per observation date, with the value of the measure for each pixel. The bands are named with the date." +msgid "" +"To limit the size of the downloaded images, in each SEPAL tile, the time " +"period is divided into **Chunks** of 3 months. They are identified by " +"their :code:`_`. **Chunks** are image folders. As a " +"SEPAL tile is still bigger than what GEE can download at once, the images" +" are divided into GEE tiles. This tiling process uses its own " +"identification system (000000xxxx-000000xxxx). Consequently, **Chunks** " +"contain tile raster images. Each one of these images is composed of one " +"band per observation date, with the value of the measure for each pixel. " +"The bands are named with the date." msgstr "" #: ../../source/cookbook/time_series.rst:276 -msgid "To gather all these rasters together, a first aggregation on time is performed. One :code:`stack.vrt` is created per GEE tile, meaning that each :code:`stack.vrt` file contains all the :code:`*.tif` contained in each **Chunk**, reconstituting the full time period on the smallest spatial unit: the GEE tile. Each file is stored in a folder called :code:`tile-`." +msgid "" +"To gather all these rasters together, a first aggregation on time is " +"performed. One :code:`stack.vrt` is created per GEE tile, meaning that " +"each :code:`stack.vrt` file contains all the :code:`*.tif`" +" contained in each **Chunk**, reconstituting the full time period on the " +"smallest spatial unit: the GEE tile. Each file is stored in a folder " +"called :code:`tile-`." msgstr "" #: ../../source/cookbook/time_series.rst:278 -msgid "Finally, information is gathered spatially at the SEPAL tile level in the main :code:`stack.vrt` file." +msgid "" +"Finally, information is gathered spatially at the SEPAL tile level in the" +" main :code:`stack.vrt` file." msgstr "" #: ../../source/cookbook/time_series.rst:280 -msgid "The last file, :code:`date.csv`, gathers all the observation dates in chronological order." +msgid "" +"The last file, :code:`date.csv`, gathers all the observation dates in " +"chronological order." msgstr "" #: ../../source/cookbook/time_series.rst:284 -msgid "The dates contained in :code:`date.csv` can differ from one SEPAL tile to another, due to data availability and pre-processing filters." +msgid "" +"The dates contained in :code:`date.csv` can differ from one SEPAL tile to" +" another, due to data availability and pre-processing filters." msgstr "" #: ../../source/cookbook/time_series.rst:288 -msgid "The full folder with a consistent treefolder is required to read the `.vrt`" +msgid "" +"The full folder with a consistent treefolder is required to read the " +"`.vrt`" msgstr "" #: ../../source/cookbook/time_series.rst:290 @@ -372,7 +545,11 @@ msgid "Here is an example of a real TS folder:" msgstr "" #: ../../source/cookbook/time_series.rst:315 -msgid "Now that you have downloaded the TS to your SEPAL account, it can be downloaded to your computer using `FileZilla <../setup.filezilla.html>`__ or used in one of our `Time-series analysis modules <../modules/time-series.html>`__." +msgid "" +"Now that you have downloaded the TS to your SEPAL account, it can be " +"downloaded to your computer using `FileZilla <../setup.filezilla.html>`__" +" or used in one of our `Time-series analysis modules <../modules/time-" +"series.html>`__." msgstr "" #~ msgid "" @@ -961,3 +1138,12 @@ msgstr "" #~ "analysis modules <../modules/time-series.html>`__." #~ msgstr "" +#~ msgid "" +#~ "The time series will use a single" +#~ " observation for each pixel. This " +#~ "observation can be one of the " +#~ "available bands in SEPAL. To discover" +#~ " the full list of available bands," +#~ " see :doc:`../feature/bands`." +#~ msgstr "" + diff --git a/docs/source/_locale/es/LC_MESSAGES/developers/apps/app_catalog.po b/docs/source/_locale/es/LC_MESSAGES/developers/apps/app_catalog.po new file mode 100644 index 0000000000..f9540d80b8 --- /dev/null +++ b/docs/source/_locale/es/LC_MESSAGES/developers/apps/app_catalog.po @@ -0,0 +1,478 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: es\n" +"Language-Team: es \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/developers/apps/app_catalog.rst:4 +msgid "Request a new app" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:5 +msgid "*Add your app to the SEPAL apps catalog so it appears on the platform*" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:8 +msgid "The catalog" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:10 +msgid "" +"The list of apps SEPAL runs lives in a dedicated repository, `dfguerrerom" +"/sepal-apps-catalog `__. For docker apps the catalog pins the exact commit SEPAL will" +" run; for jupyter apps it records the ``branch`` and SEPAL runs its tip. " +"Either way, adding or updating an app means opening a pull request " +"against this catalog, where a maintainer reviews the change before it " +"goes live." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:17 +msgid "The catalog ships two files:" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:19 +msgid "" +"``apps.test.json`` — apps available on test.sepal.io (the staging " +"environment used to validate changes before they reach end users)" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:21 +msgid "" +"``apps.prod.json`` — apps available on sepal.io (the production " +"environment)" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:23 +msgid "" +"New apps always land in ``apps.test.json`` first and are promoted to " +"``apps.prod.json`` only once they behave correctly on test.sepal.io." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:27 +msgid "Anatomy of a catalog entry" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:29 +msgid "" +"An app is a JSON object in the ``apps`` array. The schema only enforces " +"``id`` and ``label`` as universally required, plus a docker-specific " +"block — but the catalog convention is to **fill every field** so each " +"entry carries a complete dashboard listing. The only practical " +"exceptions:" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:34 +msgid "``port`` applies only to docker apps (and is required there)." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:35 +msgid "" +"For hidden kernel-only apps (see :ref:`developers_apps_kernels`) the " +"user-facing presentation fields (``description``, ``tagline``, " +"``logoRef``, ``projectLink``, ``author``, ``tags``) can be omitted, since" +" they are never shown." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:41 +msgid "Identification and routing" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:47 +#: ../../source/developers/apps/app_catalog.rst:84 +#: ../../source/developers/apps/app_catalog.rst:110 +#: ../../source/developers/apps/app_catalog.rst:144 +msgid "Field" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:48 +#: ../../source/developers/apps/app_catalog.rst:85 +#: ../../source/developers/apps/app_catalog.rst:111 +#: ../../source/developers/apps/app_catalog.rst:145 +msgid "When" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:49 +#: ../../source/developers/apps/app_catalog.rst:86 +#: ../../source/developers/apps/app_catalog.rst:112 +#: ../../source/developers/apps/app_catalog.rst:146 +msgid "Meaning" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:50 +msgid "``id``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:51 +#: ../../source/developers/apps/app_catalog.rst:54 +msgid "always (schema)" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:52 +msgid "Unique identifier across the catalog (``[A-Za-z0-9_.-]+``)." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:53 +msgid "``label``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:55 +msgid "Display name shown on the apps dashboard." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:56 +msgid "``endpoint``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:57 +#: ../../source/developers/apps/app_catalog.rst:62 +#: ../../source/developers/apps/app_catalog.rst:66 +#: ../../source/developers/apps/app_catalog.rst:69 +msgid "always" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:58 +msgid "" +"How SEPAL runs the app: ``jupyter`` or ``docker`` for new apps — " +"``shiny`` is legacy and ``rstudio`` is reserved for the built-in tool. " +"See :ref:`developers_apps_types`." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:61 +msgid "``repository``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:63 +msgid "" +"``https://github.com//`` of the app source. SEPAL clones it " +"to run the app." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:65 +msgid "``branch``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:67 +msgid "Branch the app tracks (commonly ``release``)." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:68 +msgid "``path``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:70 +msgid "" +"Entry point the app-launcher routes to. For jupyter, the Voila URL of the" +" notebook (e.g. " +"``/sandbox/jupyter/voila/render/shared/apps//ui.ipynb``); for " +"docker, **must equal** ``/api/app-launcher/`` exactly — the schema " +"enforces the prefix and ``check-docker-rules.js`` enforces that ```` " +"matches the entry's ``id``." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:78 +msgid "Docker-only fields" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:87 +msgid "``commit``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:88 +#: ../../source/developers/apps/app_catalog.rst:93 +msgid "docker only (schema)" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:89 +msgid "" +"Full 40-character lowercase commit SHA. Required for ``endpoint: " +"docker``; not allowed for other endpoints, which track the branch tip." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:92 +msgid "``port``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:94 +msgid "" +"Container port the docker app listens on. Integer 1–65535. Must be unique" +" across ``apps.test.json`` and ``apps.prod.json``; ``check-docker-" +"rules.js`` enforces this and prints ``Next free port: N`` on a violation." +" New apps take the next free port — ``max(existing_ports) + 1``." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:101 +msgid "Presentation" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:103 +msgid "" +"These fields populate the dashboard tile and the app's detail page. Skip " +"them *only* on hidden kernel-only entries." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:113 +msgid "``author``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:114 +#: ../../source/developers/apps/app_catalog.rst:117 +#: ../../source/developers/apps/app_catalog.rst:120 +#: ../../source/developers/apps/app_catalog.rst:123 +#: ../../source/developers/apps/app_catalog.rst:127 +#: ../../source/developers/apps/app_catalog.rst:130 +msgid "visible apps" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:115 +msgid "Who maintains the app (free-form string)." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:116 +msgid "``description``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:118 +msgid "Long-form description shown on the app's detail page." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:119 +msgid "``tagline``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:121 +msgid "One-line summary shown on the dashboard tile." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:122 +msgid "``logoRef``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:124 +msgid "Filename of the logo asset bundled with the catalog (e.g. ``my-app.svg``)." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:126 +msgid "``projectLink``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:128 +msgid "URL to the project's home page, docs, or upstream repository." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:129 +msgid "``tags``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:131 +msgid "" +"Array of tag values defined in the catalog's top-level ``tags`` block " +"(e.g. ``[\"TOOLS\", \"TIME_SERIES\"]``)." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:135 +msgid "Behaviour flags" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:137 +msgid "" +"Optional booleans that alter how the app is listed or launched. Defaults " +"are all ``false``." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:147 +msgid "``hidden``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:148 +#: ../../source/developers/apps/app_catalog.rst:152 +#: ../../source/developers/apps/app_catalog.rst:155 +#: ../../source/developers/apps/app_catalog.rst:158 +#: ../../source/developers/apps/app_catalog.rst:162 +msgid "optional" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:149 +msgid "" +"If ``true``, the app builds but does not show a dashboard tile. Used for " +"packaged kernels — see :ref:`developers_apps_kernels`." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:151 +msgid "``pinned``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:153 +msgid "Pin the app to the top of the dashboard." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:154 +msgid "``googleAccountRequired``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:156 +msgid "The app needs a connected Google account (e.g. for GEE)." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:157 +msgid "``single``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:159 +msgid "" +"Only one instance of this app can run at a time per user (used by the " +"built-in ``jupyter-notebook``, ``jupyter-lab`` and ``rstudio`` tools)." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:161 +msgid "``skip``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:163 +msgid "Temporarily skip building/serving this app without removing the entry." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:165 +msgid "" +"A typical jupyter entry — every field a user sees on the dashboard is " +"filled in:" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:187 +msgid "" +"A docker entry adds the docker-only ``commit``, ``port`` and the schema-" +"enforced ``/api/app-launcher/`` path; the presentation fields are the" +" same:" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:213 +msgid "Adding the app" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:215 +msgid "" +"Open a pull request adding your entry to ``apps.test.json``. The fastest " +"way is to edit the file directly on GitHub: `edit apps.test.json " +"`__. For a docker app, ``commit`` must " +"be a full 40-character SHA that exists on the declared ``branch``." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:220 +msgid "" +"The ``Validate catalog`` and ``Review helper`` workflows run " +"automatically. Validation is a blocking gate (schema, canonical " +"formatting, and — for docker apps — a check that the commit is reachable " +"from its branch). The review helper posts a single PR comment with a per-" +"app diff and *risk flags* (new dependencies, network calls, shell-outs) " +"to help maintainers review safely." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:226 +msgid "" +"A SEPAL maintainer reviews and merges. Once merged, the app appears on " +"test.sepal.io within minutes." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:228 +msgid "" +"When you are happy with its behaviour on test.sepal.io, promote it to " +"production — see `Promoting to production`_." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:232 +msgid "Promoting to production" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:234 +msgid "" +"Promotion copies the *exact same pinned reference* (commit for docker, " +"branch for the others) from ``apps.test.json`` into ``apps.prod.json``. " +"Two paths, either of which produces the same promotion PR for a " +"maintainer to merge:" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:239 +msgid "Self-service ``/promote`` comment (recommended)" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:241 +msgid "" +"The catalog has a single pinned issue titled *\"Promotion requests — " +"comment ``/promote `` here\"*, labeled ``promote-request``. Find " +"it in the catalog's `issues tab `__ " +"(there is only ever one) and comment:" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:251 +msgid "" +"The ``Promote app on /promote comment`` workflow then verifies the " +"commenter is authorized for the app's source repository and, if so, opens" +" the promotion PR. Authorization uses public GitHub data only:" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:255 +msgid "If the source repo is owned by a User, the commenter must equal that user." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:256 +msgid "" +"If it is owned by an Organization, the commenter must be a **public** " +"member of that org. If your membership is private, make it public at " +"``https://github.com/orgs//people`` or use the manual-PR path below." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:260 +msgid "A maintainer still merges the PR." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:263 +msgid "Manual PR" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:265 +msgid "" +"Open a pull request copying the entry's ``commit`` (or whole object) from" +" ``apps.test.json`` into ``apps.prod.json``. The same validation and " +"review checks run; a maintainer merges." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:270 +msgid "Working on the catalog locally" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:272 +msgid "" +"The catalog files use canonical ``JSON.stringify(parsed, null, 2)`` " +"formatting (2-space indent, one-element arrays expanded, trailing " +"newline). A ``.prettierignore`` keeps editor formatters off them, and CI " +"rejects PRs that don't match. Install the pre-commit hooks once so " +"problems are caught before they fail CI:" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:284 +msgid "To re-canonicalize a file before pushing:" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:292 +msgid "" +"The catalog's own ``docs/contributing.md`` and ``docs/ci.md`` document " +"every workflow, check, and script in detail." +msgstr "" + diff --git a/docs/source/_locale/es/LC_MESSAGES/developers/apps/app_types.po b/docs/source/_locale/es/LC_MESSAGES/developers/apps/app_types.po new file mode 100644 index 0000000000..97e8182299 --- /dev/null +++ b/docs/source/_locale/es/LC_MESSAGES/developers/apps/app_types.po @@ -0,0 +1,290 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: es\n" +"Language-Team: es \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/developers/apps/app_types.rst:4 +msgid "Docker vs. Jupyter apps" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:5 +msgid "*The two endpoints you'll choose between, and where each one fits*" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:7 +msgid "" +"Every catalog entry declares an ``endpoint`` that tells SEPAL how to run " +"the app. For new apps the practical choice is between ``docker`` and " +"``jupyter``." +msgstr "" + +#: ../../source/developers/apps/app_types.rst:12 +msgid "" +"``shiny`` is a legacy endpoint and is no longer recommended for new apps " +"— package the same UX as a Jupyter/Voila app instead. ``rstudio`` is " +"reserved for the built-in RStudio tool. Both still work, but neither " +"should be picked for anything new." +msgstr "" + +#: ../../source/developers/apps/app_types.rst:18 +msgid "At a glance" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:25 +msgid "Docker app" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:26 +msgid "Jupyter app" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:27 +msgid "``endpoint``" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:28 +msgid "``docker``" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:29 +msgid "``jupyter``" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:30 +msgid "Where it runs" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:31 +msgid "Its own container, on its own port, on the shared SEPAL server" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:32 +msgid "Inside the user's own SEPAL instance (sandbox), served through Voila" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:33 +msgid "Where compute happens" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:34 +msgid "On the shared SEPAL server — all users hit the same instance" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:35 +msgid "On the user's own SEPAL instance, at the size they have provisioned" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:36 +msgid "Versioning" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:37 +msgid "Pinned to a commit SHA (required)" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:38 +msgid "Tracks the catalog's ``branch``; no commit pin" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:39 +msgid "Code location" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:40 +msgid "Cloned from ``repository`` into the container" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:41 +msgid "" +"Cloned from ``repository`` into the shared sandbox at ``/home/sepal-" +"user/shared/apps//``" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:43 +msgid "Isolation" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:44 +msgid "Strong — separate container and dependencies" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:45 +msgid "" +"Own micromamba kernel built from ``sepal_environment.yml`` (see " +":ref:`developers_apps_kernels`)" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:47 +msgid "Update trigger" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:48 +msgid "" +"Catalog PR bumps ``commit`` → app-launcher checks out that commit on the " +"next launch" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:50 +msgid "" +"app-manager refreshes the clone to the branch tip and rebuilds the kernel" +" if the env file changed" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:54 +msgid "Docker apps" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:56 +msgid "" +"A docker app lives in its own repository and runs in its own container " +"with a dedicated ``port`` on the shared SEPAL server. Because it is fully" +" isolated, the catalog schema requires ``repository``, ``branch``, " +"``commit``, ``port`` and ``path`` for every ``endpoint: docker`` entry." +msgstr "" + +#: ../../source/developers/apps/app_types.rst:61 +msgid "When SEPAL launches the app it runs the equivalent of:" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:68 +msgid "" +"That is why the pinned ``commit`` must be reachable from ``branch`` (see " +":ref:`developers_apps_releases`). The app's dependencies are baked into " +"its container, so its update cycle is independent of the rest of the " +"platform — it changes only when you bump its commit in the catalog." +msgstr "" + +#: ../../source/developers/apps/app_types.rst:73 +msgid "" +"Because the docker app runs on the shared SEPAL server, every user hits " +"the same instance. That makes docker a good fit for **lightweight, low-" +"compute apps that act as a single service for many users** — interfaces " +"over a small API, lookups, light visualizations, dashboards. It is *not* " +"a good fit for heavy per-user compute: there is only one container " +"backing all users." +msgstr "" + +#: ../../source/developers/apps/app_types.rst:80 +msgid "Jupyter apps" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:82 +msgid "" +"A jupyter app does not get its own container. Its code is cloned from the" +" ``repository`` into the shared sandbox under ``/home/sepal-" +"user/shared/apps//``, and its ``ui.ipynb`` notebook is rendered with" +" `Voila `__ (hence catalog paths such as " +"``/sandbox/jupyter/voila/render/shared/apps//ui.ipynb``). Crucially," +" it runs **inside each user's own SEPAL instance** — so the compute " +"budget is whatever the user has provisioned for themselves." +msgstr "" + +#: ../../source/developers/apps/app_types.rst:90 +msgid "" +"Versioning is by branch, not by commit: the app-manager keeps the cloned " +"``shared/apps//`` working tree on the tip of the catalog's " +"``branch`` and rebuilds the app's kernel whenever " +"``sepal_environment.yml`` (or ``requirements.txt``) changes — see " +":ref:`developers_apps_kernels`. Pushing to that branch is enough to ship " +"a new version; no catalog PR is required (the catalog PR is only needed " +"to *list* the app in the first place)." +msgstr "" + +#: ../../source/developers/apps/app_types.rst:97 +msgid "" +"Because compute lives on the user's instance, a jupyter app is the right " +"choice for **heavy, scalable, per-user workloads**: anything where the " +"user needs to be able to size their machine to the job — training " +"pipelines, large geospatial analyses, model inference, parallel " +"processing." +msgstr "" + +#: ../../source/developers/apps/app_types.rst:103 +msgid "When to use which" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:105 +msgid "A simple rule of thumb:" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:112 +msgid "Use ``docker``" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:113 +msgid "Use ``jupyter``" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:114 +msgid "Compute profile" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:115 +msgid "Light; same load no matter who is using it" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:116 +msgid "Heavy or variable; each user should be able to scale their own instance" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:118 +msgid "Usage pattern" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:119 +msgid "Single backend service serving many users" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:120 +msgid "Per-user notebook session, isolated per user" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:121 +msgid "Versioning needs" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:122 +msgid "You want strict, audited control of *exactly* which commit is live" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:123 +msgid "Push-to-branch is a fine release model" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:124 +msgid "Runtime needs" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:125 +msgid "Custom system stack, services, ports, or a non-Python runtime" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:126 +msgid "" +"Standard SEPAL geospatial / scientific Python stack (extended via " +"``sepal_environment.yml``)" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:129 +msgid "" +"If the answer to most of these points the same way, that's your endpoint." +" If the app is genuinely a notebook UI doing heavy compute, jupyter is " +"almost always the right pick — that is the most common pattern on SEPAL." +msgstr "" + diff --git a/docs/source/_locale/es/LC_MESSAGES/developers/apps/index.po b/docs/source/_locale/es/LC_MESSAGES/developers/apps/index.po new file mode 100644 index 0000000000..8df6663eb3 --- /dev/null +++ b/docs/source/_locale/es/LC_MESSAGES/developers/apps/index.po @@ -0,0 +1,72 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: es\n" +"Language-Team: es \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/developers/apps/index.rst:48 +msgid "Docker vs. Jupyter apps" +msgstr "" + +#: ../../source/developers/apps/index.rst:48 +msgid "Request a new app" +msgstr "" + +#: ../../source/developers/apps/index.rst:48 +msgid "Request a new kernel" +msgstr "" + +#: ../../source/developers/apps/index.rst:48 +msgid "Create a release" +msgstr "" + +#: ../../source/developers/apps/index.rst:4 +msgid "Develop apps" +msgstr "" + +#: ../../source/developers/apps/index.rst:5 +msgid "*Build, release and publish your own apps on the SEPAL platform*" +msgstr "" + +#: ../../source/developers/apps/index.rst:7 +msgid "" +"These pages explain how SEPAL decides which app code to run and how that " +"code reaches the platform — useful when you want to add an app, ship a " +"new version of an existing one, or package a reusable environment for a " +"notebook or workflow." +msgstr "" + +#: ../../source/developers/apps/index.rst:14 +msgid "" +"The set of apps SEPAL runs is curated in the `dfguerrerom/sepal-apps-" +"catalog `__ " +"repository. Getting an app onto SEPAL — or updating one — means opening a" +" pull request there. For docker apps, the catalog also pins the *exact " +"commit* SEPAL will run; for jupyter apps, the catalog records the " +"``branch`` and SEPAL still runs the tip of that branch. The pages below " +"walk through both flows." +msgstr "" + +#: ../../source/developers/apps/index.rst:23 +msgid "How an app reaches SEPAL" +msgstr "" + +#: ../../source/developers/apps/index.rst:46 +msgid "Contents" +msgstr "" + diff --git a/docs/source/_locale/es/LC_MESSAGES/developers/apps/kernels.po b/docs/source/_locale/es/LC_MESSAGES/developers/apps/kernels.po new file mode 100644 index 0000000000..d6a8ddadf0 --- /dev/null +++ b/docs/source/_locale/es/LC_MESSAGES/developers/apps/kernels.po @@ -0,0 +1,260 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: es\n" +"Language-Team: es \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/developers/apps/kernels.rst:4 +msgid "Request a new kernel" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:5 +msgid "" +"*Package an environment once and share it with every SEPAL user as a " +"named Jupyter kernel*" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:7 +#, python-format +msgid "" +"A \"kernel\" in the SEPAL catalog is really just a special-purpose " +"jupyter app: the same catalog entry, the same :ref:`PR flow " +"`, the same :ref:`release lifecycle " +"`. The only difference is *intent* — " +"the deliverable is the environment (and, often, training notebooks and " +"data alongside it), not an app UI. If you have read " +":ref:`developers_apps_catalog`, you already know 90% of how to ship one." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:15 +msgid "Why request a kernel" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:17 +msgid "" +"Some notebooks need a large or unusual environment: a deep-learning " +"stack, a pinned GDAL build, a model with awkward native dependencies. " +"Asking every user — or every training participant — to build that " +"environment by hand is slow, fragile, and easy to get subtly wrong." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:22 +msgid "" +"A shared kernel solves that. You package the environment once, in a " +"repository; SEPAL builds it centrally and exposes it as a named Jupyter " +"kernel that lives in the shared sandbox. Every user then simply *selects*" +" that kernel for the relevant notebook — no per-user installation, and " +"everyone runs the same, reproducible environment." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:28 +msgid "This is the right approach when:" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:30 +msgid "" +"You are preparing a notebook or workflow for a training and want every " +"participant on an identical environment." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:32 +msgid "" +"A notebook needs heavy dependencies (GPU/ML, large geospatial stacks) " +"that are wasteful to rebuild per user." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:34 +msgid "You want a stable, named environment that several notebooks can share." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:36 +msgid "" +"It is *not* the right approach for quick, personal experiments. For an " +"environment only you need, build it yourself with :guilabel:`uv` or " +":guilabel:`micromamba` — see :ref:`env_management`." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:41 +msgid "It's the same flow as a jupyter app" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:43 +msgid "A kernel-only entry in the catalog is just a jupyter app that:" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:45 +msgid "has ``\"hidden\": true`` (no dashboard tile — see below), and" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:46 +msgid "ships a ``sepal_environment.yml`` at the root of its repository." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:48 +msgid "" +"Everything else — the PR against ``apps.test.json``, the validation and " +"review-helper workflows, the promotion to ``apps.prod.json`` — works " +"exactly as described in :ref:`developers_apps_catalog`." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:52 +msgid "" +"The one extra behaviour, which fires automatically whenever the app-" +"manager updates a jupyter app, is the kernel build itself: if the cloned " +"repository contains a ``sepal_environment.yml`` (or a legacy " +"``requirements.txt``), SEPAL builds an isolated environment from it and " +"registers it as a named Jupyter kernel. For a ``sepal_environment.yml`` " +"the build is, in essence:" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:63 +msgid "" +"The script then writes a ``kernel.json`` so the environment shows up in " +"JupyterLab as ``(venv) ``, and wires the geospatial " +"environment variables (``PROJ_LIB``, ``PROJ_DATA``, ``GDAL_DATA``) to the" +" environment's own data directories. The kernel is rebuilt only when the " +"environment file changes (the script compares timestamps against an " +"``.installed`` marker), so unchanged apps don't pay a rebuild cost on " +"every update." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:71 +msgid "Hiding the app" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:73 +msgid "" +"A packaged kernel usually has no dashboard UI of its own — it exists to " +"back *other* notebooks. Set ``\"hidden\": true`` on its catalog entry so " +"SEPAL builds the environment and registers the kernel without showing a " +"tile in the apps dashboard." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:81 +msgid "Ship notebooks and data alongside the kernel" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:83 +msgid "" +"The same clone the app-manager uses to build the kernel lands at ``/home" +"/sepal-user/shared/apps//`` **inside every user's sandbox**. " +"Anything you put in the repository is therefore reachable from every " +"user's JupyterLab — not just the ``sepal_environment.yml``." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:88 +msgid "" +"This makes the same mechanism useful for a second job: shipping " +"**training notebooks and supporting data** to a cohort of users. For a " +"workshop or a training, you can put the curriculum in the repo alongside " +"the environment file. Each participant gets the notebooks already on " +"their instance under ``shared/apps//``, with the matching " +"``(venv) `` kernel pre-built and ready to select — no per-" +"user clone, no per-user pip install, no \"it works on my machine\"." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:96 +msgid "Practical conventions for that case:" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:98 +msgid "" +"Keep notebook files at the top level (or in a clearly named subdirectory)" +" so participants can find them via ``shared/apps//``." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:100 +msgid "" +"Keep sample inputs in the repo only if they are small. For larger " +"datasets, point notebooks at a shared SEPAL location or an external URL " +"so the clone stays light." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:103 +msgid "" +"Tag a ``release`` branch for each cohort you run, so an in-flight push to" +" ``main`` does not surprise a session that is already underway. See " +":ref:`developers_apps_releases_branch`." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:107 +msgid "" +"The catalog entry itself stays the same — ``\"hidden\": true``, " +"``\"endpoint\": \"jupyter\"``, ``sepal_environment.yml`` in the repo. The" +" notebooks just ride along in the same clone." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:112 +msgid "Worked example: ``sepal-sam``" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:114 +msgid "" +"The catalog entry below is a real, hidden kernel app. Its description is " +"simply *\"SAM environment\"* — it ships the environment for SAM-based " +"notebooks and never appears in the dashboard:" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:130 +msgid "" +"Because the ``sepal-sam`` repository contains a " +"``sepal_environment.yml``, SEPAL builds its micromamba environment and " +"registers a ``(venv) Sepal SAM`` kernel. Any notebook a user opens can " +"then select that kernel and run against the SAM stack immediately." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:138 +msgid "Recommended: ``sepal_environment.yml``" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:140 +msgid "" +"Declare your kernel with a ``sepal_environment.yml`` at the root of the " +"app repository. It is a standard conda/micromamba environment file, and " +"it is the preferred way to define a SEPAL kernel because micromamba " +"bundles native libraries (GDAL, GEOS, CUDA, HDF5, …) inside the " +"environment — so it keeps working when SEPAL upgrades system-level " +"libraries. A plain ``requirements.txt`` is still supported for backward " +"compatibility, but it installs into a system-Python venv and can break on" +" platform upgrades." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:148 +msgid "A minimal example:" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:164 +msgid "" +"You do not need to add ``ipykernel`` yourself — SEPAL installs it into " +"the environment when it builds the kernel." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:167 +msgid "" +"Once the file is in your repository and the app is in the catalog (see " +":ref:`developers_apps_catalog`), every release that changes " +"``sepal_environment.yml`` triggers a rebuild of the shared kernel on the " +"next update." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:174 +msgid "" +":ref:`env_management` — managing your *own* environments and kernels " +"interactively, when you don't need a shared, centrally built one." +msgstr "" + diff --git a/docs/source/_locale/es/LC_MESSAGES/developers/apps/releases.po b/docs/source/_locale/es/LC_MESSAGES/developers/apps/releases.po new file mode 100644 index 0000000000..3a66c982ec --- /dev/null +++ b/docs/source/_locale/es/LC_MESSAGES/developers/apps/releases.po @@ -0,0 +1,214 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: es\n" +"Language-Team: es \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/developers/apps/releases.rst:4 +msgid "Create a release" +msgstr "" + +#: ../../source/developers/apps/releases.rst:5 +msgid "*Ship a new version of an app already in the SEPAL catalog*" +msgstr "" + +#: ../../source/developers/apps/releases.rst:7 +msgid "" +"Once your app is in the catalog (see :ref:`developers_apps_catalog`), the" +" way you ship a new version depends on the app's ``endpoint`` (see " +":ref:`developers_apps_types`):" +msgstr "" + +#: ../../source/developers/apps/releases.rst:11 +msgid "" +"**Jupyter apps** (and :ref:`kernels `, which are" +" just hidden jupyter apps) are not pinned to a commit. The app-manager " +"checks out the tip of the catalog's ``branch`` (defaulting to ``HEAD``) " +"every time the sandbox refreshes the app, so a release is just a push to " +"that branch in your source repository — no catalog change is needed." +msgstr "" + +#: ../../source/developers/apps/releases.rst:16 +msgid "" +"**Docker apps** are pinned in the catalog to an exact commit SHA. SEPAL " +"keeps running the old commit until that ``commit`` field is advanced, so " +"a release is, in practice, a pull request against the catalog." +msgstr "" + +#: ../../source/developers/apps/releases.rst:20 +msgid "The rest of this page describes each flow in turn." +msgstr "" + +#: ../../source/developers/apps/releases.rst:25 +msgid "Jupyter and kernel apps" +msgstr "" + +#: ../../source/developers/apps/releases.rst:27 +msgid "" +"These endpoints don't take a ``commit`` field in the catalog — only " +"``branch`` (which defaults to ``HEAD``). On every sandbox refresh the " +"app-manager runs the equivalent of ``git fetch`` + checkout of that " +"branch's tip, so whatever is at the head of the tracked branch is what " +"users get." +msgstr "" + +#: ../../source/developers/apps/releases.rst:33 +msgid "Releasing a new version" +msgstr "" + +#: ../../source/developers/apps/releases.rst:35 +msgid "" +"Push the change to the branch the catalog tracks for your app. The next " +"time the user's sandbox refreshes the app, the new tip is picked up " +"automatically. No catalog PR is required." +msgstr "" + +#: ../../source/developers/apps/releases.rst:42 +#: ../../source/developers/apps/releases.rst:68 +msgid "The release branch convention" +msgstr "" + +#: ../../source/developers/apps/releases.rst:44 +msgid "" +"Because every push to the tracked branch is effectively a release, most " +"contributors keep a dedicated ``release`` branch and pin ``\"branch\": " +"\"release\"`` in the catalog rather than ``main``. You develop on " +"``main`` and merge into ``release`` only when you intend to publish — " +"that way unreviewed work on ``main`` doesn't go live the moment it is " +"pushed." +msgstr "" + +#: ../../source/developers/apps/releases.rst:50 +msgid "" +"This is a convention, not a requirement. Any branch works; if you pin " +"``main``, every push to ``main`` is a release." +msgstr "" + +#: ../../source/developers/apps/releases.rst:56 +msgid "Docker apps" +msgstr "" + +#: ../../source/developers/apps/releases.rst:58 +msgid "" +"Docker apps carry a required ``commit`` SHA in the catalog. The app-" +"launcher runs ``git fetch origin `` followed by ``git checkout " +"--detach ``, so SEPAL only ever runs that exact commit — " +"regardless of what is at the tip of ``branch``. Shipping a new version " +"therefore means advancing the ``commit`` field in the catalog." +msgstr "" + +#: ../../source/developers/apps/releases.rst:64 +msgid "" +"There are two ways to do that: a manual pull request, or an automated " +"bump triggered when your source repository publishes a release." +msgstr "" + +#: ../../source/developers/apps/releases.rst:70 +msgid "" +"Many docker apps pin ``\"branch\": \"release\"`` rather than ``main``. " +"Since the catalog validation requires the pinned ``commit`` to be " +"reachable from ``branch``, keeping a dedicated ``release`` branch lets " +"you continue developing on ``main`` while controlling exactly which " +"commits are eligible to be pinned: you merge into ``release`` only when " +"you intend to publish, and that merge commit is the one you pin." +msgstr "" + +#: ../../source/developers/apps/releases.rst:77 +msgid "" +"This is a convention, not a requirement — any branch works as long as the" +" pinned commit is reachable from it." +msgstr "" + +#: ../../source/developers/apps/releases.rst:81 +msgid "Manual release" +msgstr "" + +#: ../../source/developers/apps/releases.rst:83 +msgid "" +"Push the code you want to ship and note the commit SHA on your release " +"branch." +msgstr "" + +#: ../../source/developers/apps/releases.rst:85 +msgid "" +"Open a PR against ``apps.test.json`` changing the ``commit`` field of " +"your app's entry (and ``branch`` if it moved)." +msgstr "" + +#: ../../source/developers/apps/releases.rst:87 +msgid "" +"The ``Review helper`` bot posts a compare link showing exactly what " +"changed upstream between the old and new commit, with risk flags. A " +"maintainer reviews and merges; the change goes live on test.sepal.io." +msgstr "" + +#: ../../source/developers/apps/releases.rst:90 +msgid "" +"Promote to sepal.io with a second PR against ``apps.prod.json`` (or the " +"``Promote app to production`` workflow)." +msgstr "" + +#: ../../source/developers/apps/releases.rst:95 +msgid "" +"Validation requires the new commit to be an *ancestor of* (or equal to) " +"the branch tip — exactly what the app-launcher needs, since it runs ``git" +" fetch origin `` then ``git checkout --detach ``. You can" +" spot-check this before opening the PR:" +msgstr "" + +#: ../../source/developers/apps/releases.rst:106 +msgid "Automated release from your source repo" +msgstr "" + +#: ../../source/developers/apps/releases.rst:108 +msgid "" +"The catalog can bump a docker app automatically when your repository " +"publishes a GitHub release. The catalog's ``update-from-release.yml`` " +"workflow listens for a ``repository_dispatch`` event of type ``bump-" +"app``; on receipt it updates the app's ``commit`` in ``apps.test.json`` " +"and opens a pull request for a maintainer to review." +msgstr "" + +#: ../../source/developers/apps/releases.rst:114 +msgid "" +"To wire this up, add a workflow to your app's repository that sends the " +"dispatch on release. The snippet below is a starting point — adjust the " +"app ``id`` and the catalog repository to match your setup:" +msgstr "" + +#: ../../source/developers/apps/releases.rst:139 +msgid "" +"The token must have permission to dispatch to the catalog repository. The" +" bump only updates ``commit`` — never ``branch`` — and still goes through" +" the normal validation, risk-flag review, and maintainer merge before " +"reaching test." +msgstr "" + +#: ../../source/developers/apps/releases.rst:145 +msgid "" +"The exact ``client_payload`` fields the catalog expects may evolve. " +"Confirm against the catalog's ``update-from-release.yml`` and " +"``docs/ci.md`` before relying on this in production." +msgstr "" + +#: ../../source/developers/apps/releases.rst:151 +msgid "" +"The end-to-end lifecycle diagram lives on the section landing page — " +":ref:`developers_apps`." +msgstr "" + diff --git a/docs/source/_locale/es/LC_MESSAGES/developers/index.po b/docs/source/_locale/es/LC_MESSAGES/developers/index.po new file mode 100644 index 0000000000..6a769b2621 --- /dev/null +++ b/docs/source/_locale/es/LC_MESSAGES/developers/index.po @@ -0,0 +1,45 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: es\n" +"Language-Team: es \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/developers/index.rst:11 +msgid "Command-line tools" +msgstr "" + +#: ../../source/developers/index.rst:11 +msgid "Develop apps" +msgstr "" + +#: ../../source/developers/index.rst:4 +msgid "For developers" +msgstr "" + +#: ../../source/developers/index.rst:5 +msgid "*Tools, conventions and workflows for building on the SEPAL platform*" +msgstr "" + +#: ../../source/developers/index.rst:7 +msgid "" +"This section is for developers and trainers working on SEPAL rather than " +"just using it: scripting against the sandbox from the command line, " +"packaging environments for shared use, and publishing apps that other " +"users can run." +msgstr "" + diff --git a/docs/source/_locale/es/LC_MESSAGES/feature/index.po b/docs/source/_locale/es/LC_MESSAGES/feature/index.po index 9a77874162..e63814ae08 100644 --- a/docs/source/_locale/es/LC_MESSAGES/feature/index.po +++ b/docs/source/_locale/es/LC_MESSAGES/feature/index.po @@ -1,33 +1,53 @@ + msgid "" msgstr "" -"Project-Id-Version: sepal-doc\n" +"Project-Id-Version: sepal-doc\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-03-07 09:39+0100\n" -"PO-Revision-Date: 2024-03-07 08:54\n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: 2024-03-07 08:54+0000\n" "Last-Translator: \n" +"Language: es_ES\n" "Language-Team: Spanish\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.14.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Crowdin-Project: sepal-doc\n" -"X-Crowdin-Project-ID: 562097\n" -"X-Crowdin-Language: es-ES\n" -"X-Crowdin-File: /main/docs/source/_locale/en/LC_MESSAGES/feature/index.po\n" -"X-Crowdin-File-ID: 81\n" -"Language: es_ES\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/feature/index.rst:9 +msgid "Organize recipes" +msgstr "" + +#: ../../source/feature/index.rst:9 +msgid "AOI selection" +msgstr "" + +#: ../../source/feature/index.rst:9 +msgid "Optical bands" +msgstr "" + +#: ../../source/feature/index.rst:9 +msgid "Radar bands" +msgstr "" + +#: ../../source/feature/index.rst:9 +msgid "Visualization" +msgstr "" #: ../../source/feature/index.rst:2 msgid "Features" msgstr "" #: ../../source/feature/index.rst:3 -msgid "*Analyse, combine and visualize different types of data with SEPAL features*" +msgid "" +"*Analyse, combine and visualize different types of data with SEPAL " +"features*" msgstr "" #: ../../source/feature/index.rst:5 -msgid "Since these features can be accessed across various recipes and modules, they are described extensively in this section of the documentation." +msgid "" +"Since these features can be accessed across various recipes and modules, " +"they are described extensively in this section of the documentation." msgstr "" #: ../../source/feature/index.rst:7 diff --git a/docs/source/_locale/es/LC_MESSAGES/feature/optical_bands.po b/docs/source/_locale/es/LC_MESSAGES/feature/optical_bands.po new file mode 100644 index 0000000000..6676085bd3 --- /dev/null +++ b/docs/source/_locale/es/LC_MESSAGES/feature/optical_bands.po @@ -0,0 +1,953 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: es\n" +"Language-Team: es \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/feature/optical_bands.rst:2 +msgid "Optical Satellite bands, transformations, and indices" +msgstr "" + +#: ../../source/feature/optical_bands.rst:4 +msgid "" +"When exporting an optical satellite image in SEPAL, you can choose from a" +" variety of bands, transformations, and indices to enhance your analysis " +"and visualization. Understanding the characteristics and applications of " +"different bands can help you optimize your image processing workflow and " +"extract valuable insights from satellite data." +msgstr "" + +#: ../../source/feature/optical_bands.rst:13 +msgid "Bands" +msgstr "" + +#: ../../source/feature/optical_bands.rst:15 +msgid "" +"Satellite imagery is composed of multiple bands, each capturing light in " +"specific wavelengths. Depending on the satellite sensor and mission, " +"SEPAL offers a range of bands that can be used for export and analysis." +msgstr "" + +#: ../../source/feature/optical_bands.rst:18 +msgid "Band" +msgstr "" + +#: ../../source/feature/optical_bands.rst:18 +msgid "Sentinel 2" +msgstr "" + +#: ../../source/feature/optical_bands.rst:18 +msgid "Landsat 9" +msgstr "" + +#: ../../source/feature/optical_bands.rst:18 +msgid "Landsat 8" +msgstr "" + +#: ../../source/feature/optical_bands.rst:18 +msgid "Landsat 7" +msgstr "" + +#: ../../source/feature/optical_bands.rst:18 +msgid "Landsat TM" +msgstr "" + +#: ../../source/feature/optical_bands.rst:20 +msgid "pan" +msgstr "" + +#: ../../source/feature/optical_bands.rst:20 +#: ../../source/feature/optical_bands.rst:22 +#: ../../source/feature/optical_bands.rst:32 +#: ../../source/feature/optical_bands.rst:34 +#: ../../source/feature/optical_bands.rst:36 +#: ../../source/feature/optical_bands.rst:38 +#: ../../source/feature/optical_bands.rst:44 +#: ../../source/feature/optical_bands.rst:46 +#: ../../source/feature/optical_bands.rst:48 +#: ../../source/feature/optical_bands.rst:50 +msgid "❌" +msgstr "" + +#: ../../source/feature/optical_bands.rst:20 +#: ../../source/feature/optical_bands.rst:22 +#: ../../source/feature/optical_bands.rst:24 +#: ../../source/feature/optical_bands.rst:26 +#: ../../source/feature/optical_bands.rst:28 +#: ../../source/feature/optical_bands.rst:30 +#: ../../source/feature/optical_bands.rst:32 +#: ../../source/feature/optical_bands.rst:34 +#: ../../source/feature/optical_bands.rst:36 +#: ../../source/feature/optical_bands.rst:38 +#: ../../source/feature/optical_bands.rst:40 +#: ../../source/feature/optical_bands.rst:42 +#: ../../source/feature/optical_bands.rst:44 +#: ../../source/feature/optical_bands.rst:46 +#: ../../source/feature/optical_bands.rst:48 +#: ../../source/feature/optical_bands.rst:50 +#: ../../source/feature/optical_bands.rst:52 +#: ../../source/feature/optical_bands.rst:54 +#: ../../source/feature/optical_bands.rst:56 +#: ../../source/feature/optical_bands.rst:58 +#: ../../source/feature/optical_bands.rst:60 +#: ../../source/feature/optical_bands.rst:62 +msgid "✅" +msgstr "" + +#: ../../source/feature/optical_bands.rst:22 +msgid "aerosol" +msgstr "" + +#: ../../source/feature/optical_bands.rst:24 +msgid "blue" +msgstr "" + +#: ../../source/feature/optical_bands.rst:26 +msgid "green" +msgstr "" + +#: ../../source/feature/optical_bands.rst:28 +msgid "red" +msgstr "" + +#: ../../source/feature/optical_bands.rst:30 +msgid "nir" +msgstr "" + +#: ../../source/feature/optical_bands.rst:32 +msgid "redEdge1" +msgstr "" + +#: ../../source/feature/optical_bands.rst:34 +msgid "redEdge2" +msgstr "" + +#: ../../source/feature/optical_bands.rst:36 +msgid "redEdge3" +msgstr "" + +#: ../../source/feature/optical_bands.rst:38 +msgid "redEdge4" +msgstr "" + +#: ../../source/feature/optical_bands.rst:40 +msgid "swir1" +msgstr "" + +#: ../../source/feature/optical_bands.rst:42 +msgid "swir2" +msgstr "" + +#: ../../source/feature/optical_bands.rst:44 +msgid "cirrus" +msgstr "" + +#: ../../source/feature/optical_bands.rst:46 +msgid "thermal" +msgstr "" + +#: ../../source/feature/optical_bands.rst:48 +msgid "thermal2" +msgstr "" + +#: ../../source/feature/optical_bands.rst:50 +msgid "waterVapor" +msgstr "" + +#: ../../source/feature/optical_bands.rst:52 +msgid "brightness" +msgstr "" + +#: ../../source/feature/optical_bands.rst:54 +msgid "greenness" +msgstr "" + +#: ../../source/feature/optical_bands.rst:56 +msgid "wetness" +msgstr "" + +#: ../../source/feature/optical_bands.rst:58 +msgid "fourth" +msgstr "" + +#: ../../source/feature/optical_bands.rst:60 +msgid "fifth" +msgstr "" + +#: ../../source/feature/optical_bands.rst:62 +msgid "sixth" +msgstr "" + +#: ../../source/feature/optical_bands.rst:66 +msgid "Description" +msgstr "" + +#: ../../source/feature/optical_bands.rst:68 +msgid "**Pan (Panchromatic)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:69 +msgid "" +"**Description**: Captures data in a single broad wavelength band, " +"offering higher spatial resolution." +msgstr "" + +#: ../../source/feature/optical_bands.rst:70 +#: ../../source/feature/optical_bands.rst:76 +#: ../../source/feature/optical_bands.rst:83 +#: ../../source/feature/optical_bands.rst:90 +#: ../../source/feature/optical_bands.rst:97 +#: ../../source/feature/optical_bands.rst:104 +#: ../../source/feature/optical_bands.rst:111 +#: ../../source/feature/optical_bands.rst:117 +#: ../../source/feature/optical_bands.rst:124 +#: ../../source/feature/optical_bands.rst:131 +#: ../../source/feature/optical_bands.rst:138 +#: ../../source/feature/optical_bands.rst:144 +msgid "**Wavelengths**:" +msgstr "" + +#: ../../source/feature/optical_bands.rst:71 +msgid "0.500-0.680 µm, only for Landsat." +msgstr "" + +#: ../../source/feature/optical_bands.rst:72 +msgid "**Usage**: High-resolution imaging for mapping and urban planning." +msgstr "" + +#: ../../source/feature/optical_bands.rst:74 +msgid "**Aerosol**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:75 +msgid "" +"**Description**: Used for detecting aerosols (tiny particles) in the " +"atmosphere, which can be crucial for air quality monitoring and climate " +"studies." +msgstr "" + +#: ../../source/feature/optical_bands.rst:77 +msgid "0.433-0.453 µm for Landsat 8 and 9." +msgstr "" + +#: ../../source/feature/optical_bands.rst:78 +msgid "0.443-0.463 µm for Sentinel-2." +msgstr "" + +#: ../../source/feature/optical_bands.rst:79 +msgid "**Usage**: Air pollution assessment, wildfire smoke tracking." +msgstr "" + +#: ../../source/feature/optical_bands.rst:81 +msgid "**Blue**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:82 +msgid "**Description**: Captures light in the blue wavelength." +msgstr "" + +#: ../../source/feature/optical_bands.rst:84 +msgid "0.450-0.510 µm for Landsat 8 and 9." +msgstr "" + +#: ../../source/feature/optical_bands.rst:85 +msgid "0.490-0.555 µm for Sentinel-2." +msgstr "" + +#: ../../source/feature/optical_bands.rst:86 +msgid "" +"**Usage**: Coastal water mapping, vegetation health monitoring, and " +"identification of shallow water bodies." +msgstr "" + +#: ../../source/feature/optical_bands.rst:88 +msgid "**Green**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:89 +msgid "**Description**: Captures light in the green wavelength." +msgstr "" + +#: ../../source/feature/optical_bands.rst:91 +msgid "0.530-0.590 µm for Landsat 8 and 9." +msgstr "" + +#: ../../source/feature/optical_bands.rst:92 +msgid "0.560-0.595 µm for Sentinel-2." +msgstr "" + +#: ../../source/feature/optical_bands.rst:93 +msgid "**Usage**: Mapping vegetation, water bodies, and urban areas." +msgstr "" + +#: ../../source/feature/optical_bands.rst:95 +msgid "**Red**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:96 +msgid "**Description**: Captures light in the red wavelength." +msgstr "" + +#: ../../source/feature/optical_bands.rst:98 +msgid "0.640-0.670 µm for Landsat 8 and 9." +msgstr "" + +#: ../../source/feature/optical_bands.rst:99 +msgid "0.665-0.695 µm for Sentinel-2." +msgstr "" + +#: ../../source/feature/optical_bands.rst:100 +msgid "" +"**Usage**: Vegetation analysis, especially in calculating vegetation " +"indices like NDVI." +msgstr "" + +#: ../../source/feature/optical_bands.rst:102 +msgid "**NIR (Near-Infrared)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:103 +msgid "**Description**: Captures light in the near-infrared spectrum." +msgstr "" + +#: ../../source/feature/optical_bands.rst:105 +msgid "0.850-0.880 µm for Landsat 8 and 9." +msgstr "" + +#: ../../source/feature/optical_bands.rst:106 +msgid "0.780-0.900 µm for Sentinel-2." +msgstr "" + +#: ../../source/feature/optical_bands.rst:107 +msgid "" +"**Usage**: Differentiating between vegetation and water, and monitoring " +"vegetation health." +msgstr "" + +#: ../../source/feature/optical_bands.rst:109 +msgid "**Red Edge (4)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:110 +msgid "" +"**Description**: 4 narrow Bands in the VNIR vegetation red edge spectral " +"domain: Red edge 1, Red edge 2, Red edge 3, Red edge 4, is a region of " +"the electromagnetic spectrum where the spectral reflectance of green " +"vegetation changes rapidly" +msgstr "" + +#: ../../source/feature/optical_bands.rst:112 +msgid "~704nm,~740nm, ~783nm and ~865nm, only for Sentinel-2." +msgstr "" + +#: ../../source/feature/optical_bands.rst:113 +msgid "" +"**Usage**: Detailed vegetation health monitoring, particularly for " +"precision agriculture." +msgstr "" + +#: ../../source/feature/optical_bands.rst:115 +msgid "**SWIR 1 (Shortwave Infrared 1)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:116 +#: ../../source/feature/optical_bands.rst:123 +msgid "**Description**: Captures light in the shortwave infrared spectrum." +msgstr "" + +#: ../../source/feature/optical_bands.rst:118 +msgid "1.570-1.650 µm for Landsat 8 and 9." +msgstr "" + +#: ../../source/feature/optical_bands.rst:119 +msgid "1.560-1.660 µm for Sentinel-2." +msgstr "" + +#: ../../source/feature/optical_bands.rst:120 +msgid "" +"**Usage**: Detecting moisture content in soil and vegetation, mapping " +"burned areas." +msgstr "" + +#: ../../source/feature/optical_bands.rst:122 +msgid "**SWIR 2 (Shortwave Infrared 2)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:125 +msgid "2.110-2.290 µm for Landsat 8 and 9." +msgstr "" + +#: ../../source/feature/optical_bands.rst:126 +msgid "2.100-2.280 µm for Sentinel-2." +msgstr "" + +#: ../../source/feature/optical_bands.rst:127 +msgid "" +"**Usage**: Distinguishing snow from clouds, mapping geological features, " +"and burn scars." +msgstr "" + +#: ../../source/feature/optical_bands.rst:129 +msgid "**Cirrus**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:130 +msgid "**Description**: A band designed to detect high-altitude cirrus clouds." +msgstr "" + +#: ../../source/feature/optical_bands.rst:132 +msgid "1.360-1.380 µm for Landsat 8 and 9." +msgstr "" + +#: ../../source/feature/optical_bands.rst:133 +msgid "1.360-1.390 µm for Sentinel-2." +msgstr "" + +#: ../../source/feature/optical_bands.rst:134 +msgid "" +"**Usage**: Cloud screening in high-altitude regions to improve " +"atmospheric correction." +msgstr "" + +#: ../../source/feature/optical_bands.rst:136 +msgid "**Thermal 1**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:137 +#: ../../source/feature/optical_bands.rst:143 +msgid "" +"**Description**: Measures thermal radiation emitted by the Earth's " +"surface." +msgstr "" + +#: ../../source/feature/optical_bands.rst:139 +msgid "10.60-11.19 µm for Landsat 8 and 9." +msgstr "" + +#: ../../source/feature/optical_bands.rst:140 +#: ../../source/feature/optical_bands.rst:146 +msgid "" +"**Usage**: Monitoring land surface temperature, detecting fires, and " +"assessing volcanic activity." +msgstr "" + +#: ../../source/feature/optical_bands.rst:142 +msgid "**Thermal 2**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:145 +msgid "11.50-12.51 µm for Landsat 8 and 9." +msgstr "" + +#: ../../source/feature/optical_bands.rst:148 +msgid "**Water Vapor**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:149 +msgid "" +"**Description**: Sensitive to atmospheric water vapor absorption, " +"commonly used for weather and climate studies." +msgstr "" + +#: ../../source/feature/optical_bands.rst:150 +msgid "**Usage**: Studying cloud formation, precipitation, and humidity levels." +msgstr "" + +#: ../../source/feature/optical_bands.rst:154 +msgid "Tasseled Cap Transformation" +msgstr "" + +#: ../../source/feature/optical_bands.rst:156 +msgid "" +"The Tasseled Cap Transformation is a method to transform satellite " +"imagery into three brightness components (Brightness, Greenness, and " +"Wetness) and three color components (Red, Green, and Blue). This " +"transformation is particularly useful for analyzing land cover changes, " +"vegetation health, and urban development over time." +msgstr "" + +#: ../../source/feature/optical_bands.rst:158 +msgid "**Brightness**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:159 +msgid "" +"**Description**: Measures the brightness band measures the overall " +"brightness of the image, specifically the soil." +msgstr "" + +#: ../../source/feature/optical_bands.rst:160 +msgid "" +"**Usage**: this band is often used to identify bare or partially covered " +"soil, man-made features, and natural features like asphalt, concrete, " +"gravel, and rock outcrops." +msgstr "" + +#: ../../source/feature/optical_bands.rst:162 +msgid "**Greenness**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:163 +msgid "" +"**Description**: Measures the density and health of vegetation by " +"capitalizing on the chlorophyll absorption in the red band and the high " +"reflectance in the near-infrared band. It enhances the contrast between " +"vegetated areas and non-vegetated areas." +msgstr "" + +#: ../../source/feature/optical_bands.rst:164 +msgid "" +"**Usage**: Widely used in assessing plant health, monitoring crop " +"conditions, tracking forest cover changes, and managing natural " +"resources." +msgstr "" + +#: ../../source/feature/optical_bands.rst:166 +msgid "**Wetness**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:167 +msgid "" +"**Description**: Captures moisture content in both soil and vegetation. " +"This band is sensitive to the moisture continuum from dry to wet " +"surfaces, helping to differentiate moist soils and saturated vegetation " +"from dry areas." +msgstr "" + +#: ../../source/feature/optical_bands.rst:168 +msgid "" +"**Usage**: Important for identifying wetlands, managing irrigation in " +"agriculture, detecting flood-prone areas, and conducting soil moisture " +"studies." +msgstr "" + +#: ../../source/feature/optical_bands.rst:170 +msgid "**Fourth Component**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:171 +msgid "" +"**Description**: Often calibrated to highlight additional properties of " +"vegetation or soil, such as senescence or specific soil types. The exact " +"nature of this band can vary depending on the coefficients and sensor " +"used." +msgstr "" + +#: ../../source/feature/optical_bands.rst:172 +msgid "" +"**Usage**: Can be used to differentiate between types of vegetation or " +"stages of crop maturity, and to detect stressed vegetation in forestry " +"and agriculture." +msgstr "" + +#: ../../source/feature/optical_bands.rst:174 +msgid "**Fifth Component**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:175 +msgid "" +"**Description**: Typically emphasizes land disturbance or variability in " +"land cover types, providing a finer distinction between different types " +"of ground cover and land use." +msgstr "" + +#: ../../source/feature/optical_bands.rst:176 +msgid "" +"**Usage**: Useful in monitoring land cover changes over time, detecting " +"disturbances like deforestation or urban expansion, and enhancing land " +"cover classification schemes." +msgstr "" + +#: ../../source/feature/optical_bands.rst:178 +msgid "**Sixth Component**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:179 +msgid "" +"**Description**: This band often captures more subtle or residual " +"information that the other bands do not emphasize. It can be less " +"directly interpretable and might be seen as highlighting noise or " +"anomalies in the data." +msgstr "" + +#: ../../source/feature/optical_bands.rst:180 +msgid "" +"**Usage**: Potentially useful for detecting subtle ecological changes, " +"analyzing noise in the data for improved image processing, and refining " +"classifications by providing additional context." +msgstr "" + +#: ../../source/feature/optical_bands.rst:184 +msgid "Vegetation Indices" +msgstr "" + +#: ../../source/feature/optical_bands.rst:186 +msgid "" +"Vegetation indices are mathematical transformations of satellite data " +"that highlight specific vegetation properties, such as chlorophyll " +"content, leaf area, or vegetation health. These indices are widely used " +"in agriculture, forestry, and environmental monitoring to assess plant " +"growth, detect stress, and monitor land cover changes." +msgstr "" + +#: ../../source/feature/optical_bands.rst:188 +msgid "**NDVI (Normalized Difference Vegetation Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:189 +msgid "" +"**Description**: Measures the density and health of vegetation by " +"calculating the difference between the near-infrared (NIR) and red light " +"reflected by vegetation. Healthy vegetation absorbs most of the visible " +"light and reflects a large portion of the NIR." +msgstr "" + +#: ../../source/feature/optical_bands.rst:190 +msgid "" +"**Usage**: Used to assess vegetation health, monitor drought, and manage " +"agricultural operations." +msgstr "" + +#: ../../source/feature/optical_bands.rst:191 +msgid "**Formula**: (NIR - Red) / (NIR + Red)" +msgstr "" + +#: ../../source/feature/optical_bands.rst:193 +msgid "**NDMI (Normalized Difference Moisture Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:194 +msgid "" +"**Description**: Highlights moisture content in vegetation by utilizing " +"the NIR and short-wave infrared (SWIR1) bands. It is sensitive to " +"moisture content in vegetation." +msgstr "" + +#: ../../source/feature/optical_bands.rst:195 +msgid "" +"**Usage**: Useful in monitoring vegetation hydration and managing " +"irrigation in agricultural contexts." +msgstr "" + +#: ../../source/feature/optical_bands.rst:196 +msgid "**Formula**: (NIR - SWIR1) / (NIR + SWIR1)" +msgstr "" + +#: ../../source/feature/optical_bands.rst:198 +msgid "**NDWI (Normalized Difference Water Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:199 +msgid "" +"**Description**: Designed to identify and monitor changes in water " +"content in vegetation, leveraging the green and NIR bands to maximize the" +" reflection differences." +msgstr "" + +#: ../../source/feature/optical_bands.rst:200 +msgid "" +"**Usage**: Employed in monitoring water stress in crops, detecting water " +"bodies, and managing wetland areas." +msgstr "" + +#: ../../source/feature/optical_bands.rst:201 +msgid "**Formula**: (Green - NIR) / (Green + NIR)" +msgstr "" + +#: ../../source/feature/optical_bands.rst:203 +msgid "**MNDWI (Modified Normalized Difference Water Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:204 +msgid "" +"**Description**: Enhances the detection of surface water by using the " +"green and SWIR1 bands, reducing the influence of built-up land that can " +"be confused with water in traditional NDWI." +msgstr "" + +#: ../../source/feature/optical_bands.rst:205 +msgid "" +"**Usage**: Used to map and monitor surface water bodies, crucial for " +"flood mapping and water resource management." +msgstr "" + +#: ../../source/feature/optical_bands.rst:206 +msgid "**Formula**: (Green - SWIR1) / (Green + SWIR1)" +msgstr "" + +#: ../../source/feature/optical_bands.rst:208 +msgid "**NDFI (Normalized Difference Fraction Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:209 +msgid "" +"**Description**: Typically used to distinguish between different types of" +" vegetation and non-vegetation elements, providing a measure of " +"vegetation cover fraction." +msgstr "" + +#: ../../source/feature/optical_bands.rst:210 +msgid "" +"**Usage**: Utilized in forest management and land cover classification " +"tasks." +msgstr "" + +#: ../../source/feature/optical_bands.rst:211 +msgid "**Formula**: Index-specific, varies based on application." +msgstr "" + +#: ../../source/feature/optical_bands.rst:213 +msgid "**EVI (Enhanced Vegetation Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:214 +msgid "" +"**Description**: Improves the NDVI by optimizing the vegetation signal " +"with improved sensitivity in high biomass regions and reducing background" +" and atmospheric noise." +msgstr "" + +#: ../../source/feature/optical_bands.rst:215 +msgid "" +"**Usage**: Frequently used in areas where vegetation monitoring requires " +"greater sensitivity to biomass." +msgstr "" + +#: ../../source/feature/optical_bands.rst:216 +msgid "**Formula**: 2.5 * (NIR - Red) / (NIR + 6 * Red - 7.5 * Blue + 1)" +msgstr "" + +#: ../../source/feature/optical_bands.rst:218 +msgid "**EVI2 (Enhanced Vegetation Index 2)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:219 +msgid "" +"**Description**: A refinement of EVI that uses only red and NIR bands, " +"designed for areas where blue band data may not be reliable." +msgstr "" + +#: ../../source/feature/optical_bands.rst:220 +msgid "" +"**Usage**: Ideal for vegetation monitoring through dense atmosphere or " +"where the blue band is unavailable." +msgstr "" + +#: ../../source/feature/optical_bands.rst:221 +msgid "**Formula**: 2.5 * (NIR - Red) / (NIR + 2.4 * Red + 1)" +msgstr "" + +#: ../../source/feature/optical_bands.rst:223 +msgid "**SAVI (Soil-Adjusted Vegetation Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:224 +msgid "" +"**Description**: Adjusts the NDVI for the influence of soil brightness, " +"particularly useful in areas with sparse vegetation where soil is " +"visible." +msgstr "" + +#: ../../source/feature/optical_bands.rst:225 +msgid "" +"**Usage**: Applied in semi-arid regions to improve the accuracy of " +"vegetation assessments." +msgstr "" + +#: ../../source/feature/optical_bands.rst:226 +msgid "**Formula**: (1.5 * (NIR - Red) / (NIR + Red + 0.5))" +msgstr "" + +#: ../../source/feature/optical_bands.rst:228 +msgid "**NBR (Normalized Burn Ratio)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:229 +msgid "" +"**Description**: Utilizes NIR and SWIR2 bands to assess the severity of " +"burn damage and the delineation of burned areas." +msgstr "" + +#: ../../source/feature/optical_bands.rst:230 +msgid "" +"**Usage**: Key for assessing post-fire recovery in forested areas and " +"mapping burn severity." +msgstr "" + +#: ../../source/feature/optical_bands.rst:231 +msgid "**Formula**: (NIR - SWIR2) / (NIR + SWIR2)" +msgstr "" + +#: ../../source/feature/optical_bands.rst:233 +msgid "**MVI (Mangrove Vegetation Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:234 +msgid "" +"**Description**: Specifically designed to enhance the detection and " +"monitoring of mangrove forests by using NIR and green bands." +msgstr "" + +#: ../../source/feature/optical_bands.rst:235 +msgid "" +"**Usage**: Used in coastal management and conservation of mangrove " +"ecosystems." +msgstr "" + +#: ../../source/feature/optical_bands.rst:236 +msgid "**Formula**: 0.1 * (NIR - Green) / abs(SWIR1 - Green)" +msgstr "" + +#: ../../source/feature/optical_bands.rst:238 +msgid "**UI (Urban Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:239 +msgid "" +"**Description**: Highlights urban areas by exploiting the differences in " +"reflection between SWIR2 and NIR bands." +msgstr "" + +#: ../../source/feature/optical_bands.rst:240 +msgid "" +"**Usage**: Useful for urban mapping and monitoring changes in urban land " +"use." +msgstr "" + +#: ../../source/feature/optical_bands.rst:241 +msgid "**Formula**: (SWIR2 - NIR) / (SWIR2 + NIR)" +msgstr "" + +#: ../../source/feature/optical_bands.rst:243 +msgid "**NDBI (Normalized Difference Built-up Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:244 +msgid "" +"**Description**: Differentiates urban and built-up areas from natural " +"land cover by using NIR and SWIR1 bands." +msgstr "" + +#: ../../source/feature/optical_bands.rst:245 +msgid "**Usage**: Employed in urban planning and studying urban heat islands." +msgstr "" + +#: ../../source/feature/optical_bands.rst:246 +msgid "**Formula**: (SWIR1 - NIR) / (SWIR1 + NIR)" +msgstr "" + +#: ../../source/feature/optical_bands.rst:248 +msgid "**IBI (Index-based Built-up Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:249 +msgid "" +"**Description**: Combines NDBI with SAVI and MNDWI to provide a more " +"comprehensive measure of built-up areas." +msgstr "" + +#: ../../source/feature/optical_bands.rst:250 +msgid "**Usage**: Useful in detailed urban analysis and land use classification." +msgstr "" + +#: ../../source/feature/optical_bands.rst:251 +msgid "**Formula**: (NDBI - (SAVI + MNDWI) / 2) / (NDBI + (SAVI + MNDWI) / 2)" +msgstr "" + +#: ../../source/feature/optical_bands.rst:253 +msgid "**NBI (New Built-up Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:254 +msgid "" +"**Description**: Employs red, NIR, and SWIR1 bands to enhance the " +"detection of built-up areas." +msgstr "" + +#: ../../source/feature/optical_bands.rst:255 +msgid "**Usage**: Applied in urban growth monitoring and land use planning." +msgstr "" + +#: ../../source/feature/optical_bands.rst:256 +msgid "**Formula**: Red * SWIR1 / NIR" +msgstr "" + +#: ../../source/feature/optical_bands.rst:258 +msgid "**EBBI (Enhanced Built-Up and Bareness Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:259 +msgid "" +"**Description**: Focuses on urban areas and bare land by incorporating " +"thermal and SWIR1 bands to detect built-up regions." +msgstr "" + +#: ../../source/feature/optical_bands.rst:260 +msgid "" +"**Usage**: Crucial for urban mapping and identifying heat-stressed areas " +"in cities." +msgstr "" + +#: ../../source/feature/optical_bands.rst:261 +msgid "**Formula**: (SWIR1 - NIR) / (10 * sqrt(SWIR1 + Thermal))" +msgstr "" + +#: ../../source/feature/optical_bands.rst:263 +msgid "**BUI (Built-Up Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:264 +msgid "" +"**Description**: Combines multiple SWIR bands to enhance the detection " +"and differentiation of built-up areas." +msgstr "" + +#: ../../source/feature/optical_bands.rst:265 +msgid "" +"**Usage**: Employed in urban and regional planning to delineate built-up " +"from natural areas." +msgstr "" + +#: ../../source/feature/optical_bands.rst:266 +msgid "" +"**Formula**: (Red - SWIR1) / (Red + SWIR1) + (SWIR2 - SWIR1) / (SWIR2 + " +"SWIR1)" +msgstr "" + +#: ../../source/feature/optical_bands.rst:268 +msgid "**KNDVI (Kernel Normalized Difference Vegetation Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:269 +msgid "" +"**Description**: Applies a kernel function to traditional NDVI to improve" +" sensitivity and accuracy in vegetation monitoring." +msgstr "" + +#: ../../source/feature/optical_bands.rst:270 +msgid "" +"**Usage**: Used in precision agriculture and detailed vegetation studies " +"where standard NDVI is not sufficient." +msgstr "" + +#: ../../source/feature/optical_bands.rst:271 +msgid "" +"**Formula**: Kernel-function applied to NDVI, specific implementation " +"details vary." +msgstr "" + diff --git a/docs/source/_locale/es/LC_MESSAGES/feature/project.po b/docs/source/_locale/es/LC_MESSAGES/feature/project.po index 88bdfa76f7..6778e824a5 100644 --- a/docs/source/_locale/es/LC_MESSAGES/feature/project.po +++ b/docs/source/_locale/es/LC_MESSAGES/feature/project.po @@ -1,33 +1,34 @@ + msgid "" msgstr "" -"Project-Id-Version: sepal-doc\n" +"Project-Id-Version: sepal-doc\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-03-07 09:39+0100\n" -"PO-Revision-Date: 2024-03-07 08:55\n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: 2024-03-07 08:55+0000\n" "Last-Translator: \n" +"Language: es_ES\n" "Language-Team: Spanish\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.14.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Crowdin-Project: sepal-doc\n" -"X-Crowdin-Project-ID: 562097\n" -"X-Crowdin-Language: es-ES\n" -"X-Crowdin-File: /main/docs/source/_locale/en/LC_MESSAGES/feature/project.po\n" -"X-Crowdin-File-ID: 83\n" -"Language: es_ES\n" +"Generated-By: Babel 2.18.0\n" #: ../../source/feature/project.rst:2 -msgid "Recipe projects" +msgid "Organize Recipes by projects" msgstr "" #: ../../source/feature/project.rst:4 -msgid "When interacting with SEPAL processes, a user creates **Recipes**, which can work together and be interconnected inside a single project (e.g. :code:`Mosaics` used in a :code:`Classification`)." +msgid "" +"When interacting with SEPAL processes, a user creates **Recipes**, which " +"can work together and be interconnected inside a single project (e.g. " +":code:`Mosaics` used in a :code:`Classification`)." msgstr "" #: ../../source/feature/project.rst:6 -msgid "To help with these interconnections, the SEPAL platform provides a :code:`Project` system to organize users' work." +msgid "" +"To help with these interconnections, the SEPAL platform provides a " +":code:`Project` system to organize users' work." msgstr "" #: ../../source/feature/project.rst:9 @@ -39,7 +40,9 @@ msgid "Go to the **Processes** interface of SEPAL (:btn:``)." msgstr "" #: ../../source/feature/project.rst:13 -msgid "(You should see the following. If you've already created recipes in previous releases, you will see a list of existing recipes)." +msgid "" +"(You should see the following. If you've already created recipes in " +"previous releases, you will see a list of existing recipes)." msgstr "" #: ../../source/feature/project.rst:20 @@ -67,7 +70,9 @@ msgid "Edit recipes" msgstr "" #: ../../source/feature/project.rst:28 -msgid "Read the following section to understand how users can create a new project and manage existing projects in the SEPAL platform." +msgid "" +"Read the following section to understand how users can create a new " +"project and manage existing projects in the SEPAL platform." msgstr "" #: ../../source/feature/project.rst:31 @@ -75,19 +80,29 @@ msgid "Project" msgstr "" #: ../../source/feature/project.rst:35 -msgid "Projects are personal. They cannot be shared and they are not visible to other users." +msgid "" +"Projects are personal. They cannot be shared and they are not visible to " +"other users." msgstr "" #: ../../source/feature/project.rst:39 -msgid "For every user, a :code:`[no project]` project is created during registration. This project will be the fallback for every recipe that was created before the publication of the feature. It cannot be deleted or renamed." +msgid "" +"For every user, a :code:`[no project]` project is created during " +"registration. This project will be the fallback for every recipe that was" +" created before the publication of the feature. It cannot be deleted or " +"renamed." msgstr "" #: ../../source/feature/project.rst:41 -msgid "To create a project, select :btn:` Projects`, which opens the interface (see figure below)." +msgid "" +"To create a project, select :btn:` Projects`, " +"which opens the interface (see figure below)." msgstr "" #: ../../source/feature/project.rst:43 -msgid "Then, select :btn:` Add` to create a new project. Enter the name and select :btn:` Apply`." +msgid "" +"Then, select :btn:` Add` to create a new project. " +"Enter the name and select :btn:` Apply`." msgstr "" #: ../../source/feature/project.rst:45 @@ -95,7 +110,10 @@ msgid "The newly created project will now appear in the list." msgstr "" #: ../../source/feature/project.rst:57 -msgid "To remove a project, select the :btn:`` icon (located beside its name), which will destroy all recipes included in the process as well." +msgid "" +"To remove a project, select the :btn:`` icon (located " +"beside its name), which will destroy all recipes included in the process " +"as well." msgstr "" #: ../../source/feature/project.rst:65 @@ -103,7 +121,11 @@ msgid "Recipes" msgstr "" #: ../../source/feature/project.rst:67 -msgid "When entering the **Process** interface, no projects are selected by default, meaning that users will see all recipes available in their SEPAL accounts. All recipes are displayed using the following prototype: :code:` / `." +msgid "" +"When entering the **Process** interface, no projects are selected by " +"default, meaning that users will see all recipes available in their SEPAL" +" accounts. All recipes are displayed using the following prototype: " +":code:` / `." msgstr "" #: ../../source/feature/project.rst:74 @@ -115,23 +137,36 @@ msgid "Filter recipes" msgstr "" #: ../../source/feature/project.rst:79 -msgid "Select (3) to filter recipes according to your project. Once selected, only the recipes included in the project will be displayed. The field is clearable (i.e. you can go back to the unfiltered state and select another project). Also, :code:`[no project]` can be selected." +msgid "" +"Select (3) to filter recipes according to your project. Once selected, " +"only the recipes included in the project will be displayed. The field is " +"clearable (i.e. you can go back to the unfiltered state and select " +"another project). Also, :code:`[no project]` can be selected." msgstr "" #: ../../source/feature/project.rst:86 -msgid "Once a project is selected, it will appear as **Current project** in the project list (see figure below)." +msgid "" +"Once a project is selected, it will appear as **Current project** in the " +"project list (see figure below)." msgstr "" #: ../../source/feature/project.rst:93 -msgid "Once a project is selected and a recipe is created, it will belong to the selected project." +msgid "" +"Once a project is selected and a recipe is created, it will belong to the" +" selected project." msgstr "" #: ../../source/feature/project.rst:97 -msgid "If you don't want your recipe to be associated with any project, unfilter the list before selecting :btn:` Add recipe`." +msgid "" +"If you don't want your recipe to be associated with any project, unfilter" +" the list before selecting :btn:` Add recipe`." msgstr "" #: ../../source/feature/project.rst:102 -msgid "Recipe behaviour can be edited directly from this view. Select the :btn:` Edit` button to open the **Editing** interface." +msgid "" +"Recipe behaviour can be edited directly from this view. Select the :btn" +":` Edit` button to open the **Editing** " +"interface." msgstr "" #: ../../source/feature/project.rst:109 @@ -139,11 +174,16 @@ msgid "From this interface, you can:" msgstr "" #: ../../source/feature/project.rst:111 -msgid ":btn:` Select`: Select/unselect all recipes shown on the screen. Any other editing operation will only be applied to the selected recipe(s)." +msgid "" +":btn:` Select`: Select/unselect all recipes shown on " +"the screen. Any other editing operation will only be applied to the " +"selected recipe(s)." msgstr "" #: ../../source/feature/project.rst:112 -msgid ":btn:` Move`: Move the selected recipe(s) to another project." +msgid "" +":btn:` Move`: Move the selected recipe(s) to another" +" project." msgstr "" #: ../../source/feature/project.rst:113 @@ -151,7 +191,9 @@ msgid ":btn:` Remove`: Delete the recipe(s) permanently." msgstr "" #: ../../source/feature/project.rst:117 -msgid "Before deleting individual recipes, make sure that they are not used as inputs in others." +msgid "" +"Before deleting individual recipes, make sure that they are not used as " +"inputs in others." msgstr "" #: ../../source/feature/project.rst:120 @@ -159,11 +201,18 @@ msgid "Connect recipes" msgstr "" #: ../../source/feature/project.rst:122 -msgid "When creating recipes such as :code:`Classification`, users can use other recipes as inputs for the process. To avoid flooding the dropdown list with too many values, only the recipes from the same project will be displayed (see following figure on the left)." +msgid "" +"When creating recipes such as :code:`Classification`, users can use other" +" recipes as inputs for the process. To avoid flooding the dropdown list " +"with too many values, only the recipes from the same project will be " +"displayed (see following figure on the left)." msgstr "" #: ../../source/feature/project.rst:124 -msgid "If one still wants to see all of the recipes in the dropdown list, select :btn:`All` and all recipes will be displayed using project names as headers (see following figure on right)." +msgid "" +"If one still wants to see all of the recipes in the dropdown list, select" +" :btn:`All` and all recipes will be displayed using project names as " +"headers (see following figure on right)." msgstr "" #~ msgid "" @@ -490,3 +539,6 @@ msgstr "" #~ " (see following figure on right)." #~ msgstr "" +#~ msgid "Recipe projects" +#~ msgstr "" + diff --git a/docs/source/_locale/es/LC_MESSAGES/feature/radar_bands.po b/docs/source/_locale/es/LC_MESSAGES/feature/radar_bands.po new file mode 100644 index 0000000000..ee191d3489 --- /dev/null +++ b/docs/source/_locale/es/LC_MESSAGES/feature/radar_bands.po @@ -0,0 +1,121 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: es\n" +"Language-Team: es \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/feature/radar_bands.rst:2 +msgid "Sentinel-1 Radar Bands" +msgstr "" + +#: ../../source/feature/radar_bands.rst:4 +msgid "" +"When exporting a radar mosaic from the SEPAL platform, the following " +"radar band metrics are available for analysis:" +msgstr "" + +#: ../../source/feature/radar_bands.rst:13 +msgid "Basic Radar Metrics (VV and VH Polarizations)" +msgstr "" + +#: ../../source/feature/radar_bands.rst:15 +msgid "**Metrics Included**:" +msgstr "" + +#: ../../source/feature/radar_bands.rst:16 +msgid "" +"*VV_min, VV_max, VV_mean, VV_std, VV_med*: Statistics of the VV " +"polarization signal, covering minimum, maximum, mean, standard deviation," +" and median." +msgstr "" + +#: ../../source/feature/radar_bands.rst:17 +msgid "" +"*VH_min, VH_max, VH_mean, VH_std, VH_med*: Similar statistics for the VH " +"polarization." +msgstr "" + +#: ../../source/feature/radar_bands.rst:18 +msgid "" +"*ratio_VV_med_VH_med*: The ratio of the median values of VV to VH " +"polarizations, indicating surface roughness and moisture." +msgstr "" + +#: ../../source/feature/radar_bands.rst:19 +msgid "" +"*VV_cv, VH_cv*: Coefficient of variation for VV and VH, showing the " +"variability relative to the mean." +msgstr "" + +#: ../../source/feature/radar_bands.rst:20 +msgid "" +"*NDCV (Normalized Difference Coefficient of Variation)*: A normalized " +"measure that highlights differences in texture or moisture content " +"between VV and VH returns." +msgstr "" + +#: ../../source/feature/radar_bands.rst:21 +msgid "" +"*orbit*: The orbit direction (ascending or descending), which can affect " +"the radar's observation angle and thus the backscatter properties." +msgstr "" + +#: ../../source/feature/radar_bands.rst:23 +msgid "" +"**Description**: These metrics are essential for analyzing surface " +"features, moisture content, vegetation, and other land cover " +"characteristics using radar backscatter properties." +msgstr "" + +#: ../../source/feature/radar_bands.rst:24 +msgid "" +"**Usage**: Widely used in agricultural monitoring, flood mapping, forest " +"monitoring, and urban expansion studies." +msgstr "" + +#: ../../source/feature/radar_bands.rst:27 +msgid "Harmonic Analysis Metrics (Conditional on Data Availability)" +msgstr "" + +#: ../../source/feature/radar_bands.rst:29 +msgid "**Metrics Included** (Only if harmonic dependents are available):" +msgstr "" + +#: ../../source/feature/radar_bands.rst:30 +msgid "" +"*VV_phase, VV_amp, VV_res*: Phase, amplitude, and residuals of the VV " +"signal following harmonic analysis." +msgstr "" + +#: ../../source/feature/radar_bands.rst:31 +msgid "*VH_phase, VH_amp, VH_res*: Similar metrics for the VH signal." +msgstr "" + +#: ../../source/feature/radar_bands.rst:32 +msgid "" +"**Description**: Harmonic analysis metrics help in understanding seasonal" +" variations and temporal patterns in the radar signal, useful for long-" +"term monitoring." +msgstr "" + +#: ../../source/feature/radar_bands.rst:33 +msgid "" +"**Usage**: Ideal for studying seasonal changes in vegetation, detecting " +"changes in water bodies over time, and monitoring environmental changes." +msgstr "" + diff --git a/docs/source/_locale/es/LC_MESSAGES/feature/visualization.po b/docs/source/_locale/es/LC_MESSAGES/feature/visualization.po new file mode 100644 index 0000000000..c4e32b985f --- /dev/null +++ b/docs/source/_locale/es/LC_MESSAGES/feature/visualization.po @@ -0,0 +1,161 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: es\n" +"Language-Team: es \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/feature/visualization.rst:2 +msgid "Visualization in SEPAL" +msgstr "" + +#: ../../source/feature/visualization.rst:4 +msgid "**Natural color: red, green, blue**" +msgstr "" + +#: ../../source/feature/visualization.rst:5 +msgid "" +"**Description**: Represents the true color of the terrain as human eyes " +"would see it, using the red, green, and blue bands." +msgstr "" + +#: ../../source/feature/visualization.rst:6 +msgid "" +"**Usage**: Used for general mapping and visual inspections where true " +"color representation is necessary." +msgstr "" + +#: ../../source/feature/visualization.rst:8 +msgid "**False color: nir, red, green**" +msgstr "" + +#: ../../source/feature/visualization.rst:9 +msgid "" +"**Description**: Uses near-infrared, red, and green bands. Vegetation " +"appears red due to the high reflection of NIR by healthy vegetation, " +"helpful for distinguishing vegetative areas." +msgstr "" + +#: ../../source/feature/visualization.rst:10 +msgid "" +"**Usage**: Commonly used in vegetation studies to easily distinguish live" +" green vegetation, which reflects NIR strongly." +msgstr "" + +#: ../../source/feature/visualization.rst:12 +msgid "**False color: nir, swir1, red**" +msgstr "" + +#: ../../source/feature/visualization.rst:13 +msgid "" +"**Description**: Combines near-infrared, short-wave infrared, and red " +"bands. This combination is effective in highlighting vegetation and " +"differentiating moisture levels and geological features." +msgstr "" + +#: ../../source/feature/visualization.rst:14 +msgid "" +"**Usage**: Useful in geological mapping, vegetation health assessment, " +"and moisture content analysis." +msgstr "" + +#: ../../source/feature/visualization.rst:16 +msgid "**False color: swir2, nir, red**" +msgstr "" + +#: ../../source/feature/visualization.rst:17 +msgid "" +"**Description**: Utilizes short-wave infrared, near-infrared, and red " +"bands. It enhances the differentiation between mineral types and can " +"indicate burn severity in post-fire assessments." +msgstr "" + +#: ../../source/feature/visualization.rst:18 +msgid "" +"**Usage**: Often used in mineralogical mapping, soil and rock " +"differentiation, and detecting burned areas." +msgstr "" + +#: ../../source/feature/visualization.rst:20 +msgid "**False color: swir2, swir1, red**" +msgstr "" + +#: ../../source/feature/visualization.rst:21 +msgid "" +"**Description**: Involves short-wave infrared bands and red band. This " +"setup enhances geological features and is sensitive to water content and " +"urban areas." +msgstr "" + +#: ../../source/feature/visualization.rst:22 +msgid "" +"**Usage**: Ideal for enhanced geological mapping, urban sprawl studies, " +"and discriminating between different water bodies." +msgstr "" + +#: ../../source/feature/visualization.rst:24 +msgid "**False color: swir2, nir, green**" +msgstr "" + +#: ../../source/feature/visualization.rst:25 +msgid "" +"**Description**: Features short-wave infrared, near-infrared, and green " +"bands. This visualization aids in the analysis of vegetation health and " +"soil/water interactions." +msgstr "" + +#: ../../source/feature/visualization.rst:26 +msgid "" +"**Usage**: Useful for detailed vegetation health monitoring and " +"differentiating water stress in plants." +msgstr "" + +#: ../../source/feature/visualization.rst:28 +msgid "**Tasseled cap: brightness, greenness, wetness**" +msgstr "" + +#: ../../source/feature/visualization.rst:29 +msgid "" +"**Description**: Applies the Tasseled Cap transformation to highlight " +"physical properties of the land surface such as brightness " +"(reflectivity), greenness (vegetation), and wetness (moisture content)." +msgstr "" + +#: ../../source/feature/visualization.rst:30 +msgid "" +"**Usage**: Extensively used in environmental monitoring, land cover " +"classification, and assessing vegetation and water content dynamics." +msgstr "" + +#: ../../source/feature/visualization.rst:32 +msgid "**Tasseled cap: fifth, sixth, fourth**" +msgstr "" + +#: ../../source/feature/visualization.rst:33 +msgid "" +"**Description**: Another Tasseled Cap visualization focusing on the " +"additional components that might reflect other surface properties not " +"captured by the primary three bands." +msgstr "" + +#: ../../source/feature/visualization.rst:34 +msgid "" +"**Usage**: Useful for specialized studies in vegetation dynamics, soil " +"properties, and other environmental monitoring where standard Tasseled " +"Cap indices might need supplementation." +msgstr "" + diff --git a/docs/source/_locale/es/LC_MESSAGES/index.po b/docs/source/_locale/es/LC_MESSAGES/index.po index 625f4ca41a..af2c34ee63 100644 --- a/docs/source/_locale/es/LC_MESSAGES/index.po +++ b/docs/source/_locale/es/LC_MESSAGES/index.po @@ -1,24 +1,20 @@ + msgid "" msgstr "" -"Project-Id-Version: sepal-doc\n" +"Project-Id-Version: sepal-doc\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-03-07 09:39+0100\n" -"PO-Revision-Date: 2024-03-07 08:55\n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: 2024-03-07 08:55+0000\n" "Last-Translator: \n" +"Language: es_ES\n" "Language-Team: Spanish\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.14.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Crowdin-Project: sepal-doc\n" -"X-Crowdin-Project-ID: 562097\n" -"X-Crowdin-Language: es-ES\n" -"X-Crowdin-File: /main/docs/source/_locale/en/LC_MESSAGES/index.po\n" -"X-Crowdin-File-ID: 87\n" -"Language: es_ES\n" +"Generated-By: Babel 2.18.0\n" -#: ../../source/index.rst:20 ../../source/index.rst:54 +#: ../../source/index.rst:20 ../../source/index.rst:55 msgid "Getting started" msgstr "" @@ -31,15 +27,19 @@ msgid "Modules" msgstr "" #: ../../source/index.rst:20 -msgid "CLI" +msgid "Workflows" +msgstr "" + +#: ../../source/index.rst:20 +msgid "Features" msgstr "" #: ../../source/index.rst:20 -msgid "Workflows" +msgid "Troubleshooting" msgstr "" #: ../../source/index.rst:20 -msgid "Features" +msgid "Developers" msgstr "" #: ../../source/index.rst:20 @@ -50,140 +50,176 @@ msgstr "" msgid "Documentation" msgstr "" -#: ../../source/index.rst:36 -msgid "The System for Earth Observation Data Access, Processing and Analysis for Land Monitoring (**SEPAL**) is an open-source project and platform empowering people around the world to gain a better understanding of land cover dynamics by facilitating the efficient access and use of Earth observation data – without the need of coding knowledge." +#: ../../source/index.rst:37 +msgid "" +"The System for Earth Observation Data Access, Processing and Analysis for" +" Land Monitoring (**SEPAL**) is an open-source project and platform " +"empowering people around the world to gain a better understanding of land" +" cover dynamics by facilitating the efficient access and use of Earth " +"observation data – without the need of coding knowledge." msgstr "" -#: ../../source/index.rst:47 +#: ../../source/index.rst:48 msgid "Learn how to use the platform with SEPAL documentation" msgstr "" -#: ../../source/index.rst:49 -msgid "The SEPAL team developed this GitHub page to help users get the most out of the interface." +#: ../../source/index.rst:50 +msgid "" +"The SEPAL team developed this GitHub page to help users get the most out " +"of the interface." msgstr "" -#: ../../source/index.rst:59 +#: ../../source/index.rst:60 msgid "Register to SEPAL" msgstr "" -#: ../../source/index.rst:62 +#: ../../source/index.rst:63 msgid "Set up your SEPAL account and request additional resources." msgstr "" -#: ../../source/index.rst:64 +#: ../../source/index.rst:65 msgid "Connect to GEE" msgstr "" -#: ../../source/index.rst:67 +#: ../../source/index.rst:68 msgid "Register with Google Earth Engine (GEE) and connect your account to SEPAL." msgstr "" -#: ../../source/index.rst:69 +#: ../../source/index.rst:70 msgid "Connect to NICFI–PlanetLab imagery" msgstr "" -#: ../../source/index.rst:72 -msgid "Sign up to use Norway’s International Climate and Forests Initiative (NICFI) – PlanetLab data and connect your account to GEE." +#: ../../source/index.rst:73 +msgid "" +"Sign up to use Norway’s International Climate and Forests Initiative " +"(NICFI) – PlanetLab data and connect your account to GEE." msgstr "" -#: ../../source/index.rst:77 +#: ../../source/index.rst:78 msgid "Recipes and modules" msgstr "" -#: ../../source/index.rst:82 +#: ../../source/index.rst:83 msgid "Start a recipe" msgstr "" -#: ../../source/index.rst:85 +#: ../../source/index.rst:86 msgid "Run analysis with recipes – the foundation of SEPAL processes." msgstr "" -#: ../../source/index.rst:87 +#: ../../source/index.rst:88 msgid "Start a module" msgstr "" -#: ../../source/index.rst:90 -msgid "Run integrated workflows with modules – no need of coding experience required." +#: ../../source/index.rst:91 +msgid "" +"Run integrated workflows with modules – no need of coding experience " +"required." msgstr "" -#: ../../source/index.rst:92 +#: ../../source/index.rst:93 msgid "Use the se.plan module" msgstr "" -#: ../../source/index.rst:95 -msgid "Compute your restoration index with se.plan, a spatially explicit online tool designed to support forest restoration planning decisions by restoration stakeholders." +#: ../../source/index.rst:96 +msgid "" +"Compute your restoration index with se.plan, a spatially explicit online " +"tool designed to support forest restoration planning decisions by " +"restoration stakeholders." msgstr "" -#: ../../source/index.rst:100 +#: ../../source/index.rst:101 msgid "Other resources" msgstr "" -#: ../../source/index.rst:105 +#: ../../source/index.rst:106 msgid "SEPAL website" msgstr "" -#: ../../source/index.rst:108 +#: ../../source/index.rst:109 msgid "Discover the impact of the project." msgstr "" -#: ../../source/index.rst:110 +#: ../../source/index.rst:111 msgid "SEPAL platform" msgstr "" -#: ../../source/index.rst:113 +#: ../../source/index.rst:114 msgid "Learn more about the interface." msgstr "" -#: ../../source/index.rst:115 +#: ../../source/index.rst:116 msgid "Open Foris" msgstr "" -#: ../../source/index.rst:118 +#: ../../source/index.rst:119 msgid "Browse the Suite of Tools." msgstr "" -#: ../../source/index.rst:123 +#: ../../source/index.rst:124 msgid "SEPAL is always improving" msgstr "" -#: ../../source/index.rst:125 -msgid "Encounter a problem? See an issue? Need help? Help our team members enhance user experience by improving the platform and its documentation." +#: ../../source/index.rst:126 +msgid "" +"Encounter a problem? See an issue? Need help? Help our team members " +"enhance user experience by improving the platform and its documentation." msgstr "" -#: ../../source/index.rst:132 +#: ../../source/index.rst:133 msgid "For general support, ask the Google Group community" msgstr "" -#: ../../source/index.rst:135 +#: ../../source/index.rst:136 msgid "For documentation improvement, use the GitHub Issue Tracker" msgstr "" -#: ../../source/index.rst:138 +#: ../../source/index.rst:139 msgid "For usage questions, ask the GIS StackExchange community" msgstr "" -#: ../../source/index.rst:141 -msgid "For training, register for the SEPAL Forest and Land Monitoring for Climate Action e-learning course" +#: ../../source/index.rst:142 +msgid "" +"For training, register for the SEPAL Forest and Land Monitoring for " +"Climate Action e-learning course" msgstr "" -#: ../../source/index.rst:147 +#: ../../source/index.rst:148 msgid "About the platform" msgstr "" -#: ../../source/index.rst:149 -msgid "SEPAL is part of the `Open Foris `__ Suite of Tools. The platform allows users to query and process satellite data quickly and efficiently, tailor their products for local needs, and produce sophisticated and relevant geospatial analyses. Harnessing cloud-based supercomputers and modern geospatial data infrastructures (e.g. GEE), the interface enables users to access and process historical satellite data as well as newer data from Landsat and higher-resolution data from Europe’s Copernicus programme." +#: ../../source/index.rst:150 +msgid "" +"SEPAL is part of the `Open Foris `__ Suite of " +"Tools. The platform allows users to query and process satellite data " +"quickly and efficiently, tailor their products for local needs, and " +"produce sophisticated and relevant geospatial analyses. Harnessing cloud-" +"based supercomputers and modern geospatial data infrastructures (e.g. " +"GEE), the interface enables users to access and process historical " +"satellite data as well as newer data from Landsat and higher-resolution " +"data from Europe’s Copernicus programme." msgstr "" -#: ../../source/index.rst:151 -msgid "SEPAL is a cloud computing-based platform for autonomous land monitoring using remotely sensed data. It is a combination of GEE and open-source software such as GDAL, Jupyter, the Open Foris Geospatial Toolkit, ORFEO Toolbox, Python, R, R Shiny Server, R Studio Server, and the SNAP Toolkit. The platform allows users to access powerful cloud-computing resources to query, access and process satellite data quickly and efficiently for conducting advanced analyses." +#: ../../source/index.rst:152 +msgid "" +"SEPAL is a cloud computing-based platform for autonomous land monitoring " +"using remotely sensed data. It is a combination of GEE and open-source " +"software such as GDAL, Jupyter, the Open Foris Geospatial Toolkit, ORFEO " +"Toolbox, Python, R, R Shiny Server, R Studio Server, and the SNAP " +"Toolkit. The platform allows users to access powerful cloud-computing " +"resources to query, access and process satellite data quickly and " +"efficiently for conducting advanced analyses." msgstr "" -#: ../../source/index.rst:156 +#: ../../source/index.rst:157 msgid "Supporting institutions" msgstr "" -#: ../../source/index.rst:158 -msgid "SEPAL is a project funded by the Government of Norway from the Forestry Department of the Food and Agriculture Organization of the United Nations (FAO)." +#: ../../source/index.rst:159 +msgid "" +"SEPAL is a project funded by the Government of Norway from the Forestry " +"Department of the Food and Agriculture Organization of the United Nations" +" (FAO)." msgstr "" #~ msgid "Modules" @@ -478,3 +514,6 @@ msgstr "" #~ "for creating advanced analyses." #~ msgstr "" +#~ msgid "CLI" +#~ msgstr "" + diff --git a/docs/source/_locale/es/LC_MESSAGES/troubleshooting/fix_venvs.po b/docs/source/_locale/es/LC_MESSAGES/troubleshooting/fix_venvs.po new file mode 100644 index 0000000000..157d45aa1f --- /dev/null +++ b/docs/source/_locale/es/LC_MESSAGES/troubleshooting/fix_venvs.po @@ -0,0 +1,381 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: es\n" +"Language-Team: es \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/troubleshooting/fix_venvs.rst:4 +msgid "Recovering broken Python environments" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:6 +msgid "" +"On 5 March 2026, SEPAL sandboxes upgraded from Ubuntu Jammy to Ubuntu " +"Noble. As part of this upgrade, the system Python changed from version " +"3.10 to 3.12. This was a deliberate and necessary change: Python 3.10 " +"reaches end of life in October 2026, meaning it will no longer receive " +"security patches, and an increasing number of libraries are dropping " +"support for it and requiring Python 3.11 or newer. Staying on 3.10 would " +"eventually mean being locked out of updated packages and exposed to " +"unpatched security issues." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:8 +msgid "" +"If you created Python virtual environments using ``python -m venv`` on " +"SEPAL before this upgrade, those environments are now broken. This page " +"explains why, and how to recover." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:12 +msgid "" +"This only affects environments created with ``python -m venv``. " +"Environments created with :guilabel:`uv` or :guilabel:`micromamba` are " +"not affected." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:14 +msgid "" +"See :ref:`env_management` for full guidance on using :guilabel:`uv` and " +":guilabel:`micromamba` — better alternatives that will not break when " +"SEPAL upgrades Python in the future." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:18 +msgid "" +"Python 3.10 reaches end of life on 4 October 2026. Rather than putting " +"effort into restoring environments on the old version, consider migrating" +" to Python 3.12 at the same time." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:23 +msgid "Why venvs break after a Python upgrade" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:25 +msgid "" +"A venv is not a fully self-contained copy of Python. It is a lightweight " +"directory structure that relies on the system Python being present at a " +"specific path. When you run ``python -m venv myenv``, it records the " +"exact path to the Python binary (e.g. ``/usr/bin/python3.10``) and " +"creates symbolic links inside the environment's ``bin/`` directory " +"pointing back to it. Installed packages land in a versioned subdirectory," +" for example ``lib/python3.10/site-packages/``." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:27 +msgid "" +"When the system Python changes from 3.10 to 3.12, two things go wrong " +"simultaneously:" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:29 +msgid "" +"The symlinks inside ``bin/`` now point to a Python binary that no longer " +"exists at the recorded path, so the environment cannot start correctly." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:30 +msgid "" +"Any packages with compiled C extensions (numpy, scipy, cryptography, " +"etc.) were built against the Python 3.10 ABI. Python 3.12 has a different" +" ABI, so those compiled ``.so`` files are no longer valid and will crash " +"or fail to load." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:32 +msgid "" +"The package files themselves — the pure Python code and the package " +"metadata — are still intact on disk. Only the wiring is broken, which is " +"why it is possible to extract a list of what was installed without " +"activating the environment." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:37 +msgid "Why Jupyter kernels disappear" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:39 +msgid "" +"When you register a venv as a Jupyter kernel using ``ipykernel``, Jupyter" +" saves a small ``kernel.json`` file under " +"``~/.local/share/jupyter/kernels//``. This file contains the " +"absolute path to the Python binary inside the environment." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:41 +msgid "" +"After the upgrade, Jupyter still finds the ``kernel.json`` file and may " +"still show the kernel in the launcher — but when you try to start it, it " +"attempts to launch the Python binary at the recorded path. Because that " +"binary no longer works, the kernel either fails to start or starts and " +"immediately crashes, which JupyterLab reports as the kernel repeatedly " +"dying." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:43 +msgid "" +"In some cases the kernel disappears from the launcher entirely. In others" +" it appears but cannot be used. Either way, notebooks that relied on it " +"cannot run." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:48 +msgid "Symptoms of a broken environment" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:50 +msgid "You may see any of the following:" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:52 +msgid "" +"A Jupyter kernel that was previously available has disappeared from the " +"launcher, or starts and immediately dies" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:53 +msgid "``ModuleNotFoundError: No module named 'pip'`` when running pip commands" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:54 +msgid "Packages that were previously installed fail to import" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:55 +msgid "Compiled packages (numpy, scipy, etc.) segfault or raise ``ImportError``" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:56 +msgid "" +"``python --version`` inside the activated environment shows 3.12 even " +"though it was created with 3.10" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:58 +msgid "" +"All of these have the same root cause: the environment's internal " +"symlinks and compiled extensions were built against Python 3.10 and are " +"no longer valid." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:63 +msgid "Recovery" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:68 +msgid "Extract your requirements" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:70 +msgid "" +"You cannot activate the broken environment, but the package metadata is " +"still readable on disk. SEPAL provides a script that extracts the list of" +" installed packages from a broken environment. Run it from the terminal:" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:76 +msgid "" +"This scans the package metadata inside the broken environment and writes " +"a ``requirements.txt`` with pinned versions. Verify the output:" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:85 +msgid "Recreate the environment with uv" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:87 +msgid "" +":guilabel:`uv` is a fast, modern Python package manager already installed" +" on SEPAL. Unlike venv, it manages its own Python versions independently " +"of the system, so future upgrades will not break your environments." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:91 +msgid "" +"See :ref:`env_management` for full guidance on :guilabel:`uv` and other " +"environment tools available on SEPAL." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:93 +msgid "You have two options:" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:98 +msgid "Option A — Recreate on Python 3.10" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:100 +msgid "" +"*Fewer compatibility issues — use this if you need to get back up and " +"running quickly and cannot yet deal with package compatibility on 3.12.*" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:110 +msgid "" +"The ``requirements.txt`` referenced here is the file you extracted in the" +" previous step." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:115 +msgid "Option B — Migrate to Python 3.12" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:117 +msgid "" +"*Better long-term choice — most pure-Python packages work on 3.12 without" +" any changes.*" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:127 +msgid "" +"The ``requirements.txt`` referenced here is the file you extracted in the" +" first step." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:132 +msgid "Handling package version conflicts (Option B)" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:134 +msgid "" +"When migrating to Python 3.12, the ``requirements.txt`` from the first " +"step contains fully pinned versions (e.g. ``numpy==1.23.4``). Some of " +"these may not have wheels available for Python 3.12. If installation " +"fails, try removing the version pins:" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:142 +msgid "" +"The following packages are known to cause issues when moving from 3.10 to" +" 3.12:" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:148 +msgid "Package" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:149 +msgid "Issue" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:150 +msgid "Fix" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:151 +msgid "``numpy < 1.24``" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:152 +#: ../../source/troubleshooting/fix_venvs.rst:155 +msgid "No Python 3.12 wheels available" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:153 +msgid "Unpin: ``numpy``" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:154 +msgid "``scipy < 1.11``" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:156 +msgid "Unpin: ``scipy``" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:157 +msgid "Packages using ``distutils``" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:158 +msgid "``distutils`` was removed in Python 3.12" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:159 +msgid "Upgrade or replace the package" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:160 +msgid "Old Cython extensions" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:161 +msgid "ABI mismatch, segfaults at import" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:162 +msgid "``uv pip install --force-reinstall ``" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:163 +msgid "``cryptography`` (old versions)" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:164 +msgid "Needs a recent version for the 3.12 ABI" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:165 +msgid "Unpin: ``cryptography``" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:170 +msgid "Re-register your Jupyter kernel" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:172 +msgid "" +"JupyterLab discovers environments through kernel specifications — small " +"JSON files that point to a specific Python binary. When you recreate an " +"environment, the old kernel specification still points to the broken " +"binary, so JupyterLab cannot find or use the new environment. You need to" +" remove the old specification and register a new one." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:174 +msgid "First, list existing kernels and remove the broken one:" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:184 +msgid "Then register the new environment as a kernel:" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:192 +msgid "" +"After restarting JupyterLab, the new kernel will appear in the launcher " +"and notebooks that reference it by name will work again." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:197 +msgid "Going forward" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:199 +msgid "" +"To avoid this problem in the future, stop using venv. :guilabel:`uv` " +"manages Python versions independently of the system and will not break " +"when SEPAL upgrades Python." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:201 +msgid "" +"See :ref:`env_management` for full guidance on creating and managing " +"environments, including how to add Jupyter kernels." +msgstr "" + diff --git a/docs/source/_locale/es/LC_MESSAGES/troubleshooting/index.po b/docs/source/_locale/es/LC_MESSAGES/troubleshooting/index.po new file mode 100644 index 0000000000..c05eaa68d2 --- /dev/null +++ b/docs/source/_locale/es/LC_MESSAGES/troubleshooting/index.po @@ -0,0 +1,42 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: es\n" +"Language-Team: es \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/troubleshooting/index.rst:7 +msgid "Recovering broken Python environments" +msgstr "" + +#: ../../source/troubleshooting/index.rst:2 +msgid "Troubleshooting" +msgstr "" + +#: ../../source/troubleshooting/index.rst:3 +msgid "*Solve common issues on the SEPAL platform*" +msgstr "" + +#: ../../source/troubleshooting/index.rst:5 +msgid "" +"This section covers known issues and step-by-step solutions for problems " +"you may encounter while using SEPAL. If your issue is not listed here, " +"ask the `Google Group community `__ or report it on the `GitHub Issue Tracker " +"`__." +msgstr "" + diff --git a/docs/source/_locale/es/LC_MESSAGES/workflows/mangrove_mapping.po b/docs/source/_locale/es/LC_MESSAGES/workflows/mangrove_mapping.po new file mode 100644 index 0000000000..88e36d5093 --- /dev/null +++ b/docs/source/_locale/es/LC_MESSAGES/workflows/mangrove_mapping.po @@ -0,0 +1,1850 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: es\n" +"Language-Team: es \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/workflows/mangrove_mapping.rst:4 +msgid "Mangrove mapping with SEPAL" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:6 +msgid "" +"This article describes a complete workflow for mapping mangroves using " +"SEPAL — FAO's free, open-source, web-based cloud platform for satellite " +"data analysis. The approach combines multi-sensor satellite data, global " +"mangrove reference datasets, and machine learning classification to " +"produce locally relevant mangrove maps and detect change over time. An " +"optional extension covers above-ground biomass (AGB) mapping." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:10 +msgid "" +"**Author:** Erik Lindquist, Forestry Officer, Food and Agriculture " +"Organization of the United Nations (FAO)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:13 +msgid "Overview" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:15 +msgid "The workflow consists of the following stages:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:17 +msgid ":ref:`Registration and setup `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:18 +msgid ":ref:`Request SEPAL resources `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:19 +msgid ":ref:`Define the area of interest `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:20 +msgid ":ref:`Build an optical mosaic (optional) `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:21 +msgid ":ref:`Build a radar mosaic (optional) `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:22 +msgid ":ref:`Load global mangrove reference datasets `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:23 +msgid "" +":ref:`Create the high-confidence mangrove reference map `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:24 +msgid ":ref:`Generate training data `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:25 +msgid ":ref:`Incorporate Google Satellite Embeddings `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:26 +msgid ":ref:`Classify mangroves `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:27 +msgid ":ref:`Map above-ground biomass (optional) `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:28 +msgid ":ref:`Detect change using CCDC `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:29 +msgid ":ref:`Download and export results `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:32 +msgid "Why use SEPAL for mangrove mapping?" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:34 +msgid "" +"SEPAL democratises access to satellite data and analysis tools, enabling " +"autonomous land monitoring without the need for local compute " +"infrastructure. For mangrove mapping specifically, SEPAL provides:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:36 +msgid "" +"**Multi-sensor data access** – seamless integration of optical " +"(Sentinel-2, Landsat, NICFI/Planet) and synthetic aperture radar (SAR) " +"(Sentinel-1 C-band, ALOS L-band) imagery" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:37 +msgid "" +"**Multi-temporal analysis** – time-series processing and change detection" +" using the Continuous Change Detection and Classification (CCDC) " +"algorithm" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:38 +msgid "" +"**Cloud-based classification** – machine learning classification recipes " +"powered by Google Earth Engine (GEE)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:39 +msgid "" +"**Global reference data** – integration with existing global mangrove " +"products to generate locally relevant training data automatically" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:40 +msgid "" +"**Team collaboration** – data saved as GEE assets can be shared across a " +"team, allowing one person to build a composite that all team members can " +"access and classify" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:45 +msgid "1. Registration and setup" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:47 +msgid "Before starting, create accounts on two platforms." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:50 +msgid "1.1 Google Earth Engine" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:52 +msgid "SEPAL's processing recipes run on GEE. A free GEE account is required." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:54 +msgid "Go to `earthengine.google.com `__." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:55 +msgid "Sign up using a Gmail account." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:56 +msgid "Wait for approval (usually within a few hours to a few days)." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:59 +msgid "1.2 SEPAL" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:61 +msgid "Go to `sepal.io `__ and register for a free account." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:62 +msgid "Connect the GEE account within SEPAL settings." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:66 +msgid "" +"For a step-by-step walkthrough of SEPAL setup, see " +":doc:`../setup/register`." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:71 +msgid "2. Request SEPAL resources" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:73 +msgid "" +"SEPAL is always free to use; however, downloading data and running high-" +"performance computing in the cloud requires resources to be allocated to " +"an account. Resources are requested via the **User report** button " +"(displayed as **$ 0/h**) in the lower-right corner of the **SEPAL " +"interface**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:75 +msgid "To request resources:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:77 +msgid "" +"Select the **User report** button in the lower-right corner of the " +"**SEPAL interface**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:78 +msgid "Select **Request additional resources**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:79 +msgid "" +"Enter the requested amounts. For most mapping work, the following is a " +"reasonable starting point:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:81 +msgid "**Processing:** $10 USD/month of cloud compute time" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:82 +msgid "**Storage:** $10 USD/month" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:83 +msgid "**Workspace:** 10 gigabytes (GB) of personal SEPAL workspace storage" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:85 +msgid "Enter a short message describing the work (e.g. \"Mangrove mapping\")." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:86 +msgid "Select **Apply**. The SEPAL team will review and approve the request." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:88 +msgid "" +"Once resources are approved, the **Download** button (displayed as a " +"cloud with an arrow icon) will become active in all recipes. Even $1 of " +"resources is sufficient to activate downloading to GEE or Google Drive." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:92 +msgid "" +"SEPAL supports requests for larger amounts of resources for intensive " +"work, such as training machine learning models. Describe the use case in " +"the request message if needed." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:97 +msgid "3. Define the area of interest" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:99 +msgid "" +"Use the same area of interest (AOI) for all downstream recipes to ensure " +"composites, reference layers, and classification outputs are spatially " +"aligned." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:101 +msgid "Open **Process** in the **SEPAL interface**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:102 +msgid "" +"Set the AOI using an administrative boundary, an uploaded geometry, or a " +"drawn polygon." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:107 +msgid "4. Build an optical mosaic (optional)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:111 +msgid "" +"This step is only required if Google Satellite Embeddings are **not** " +"used as the classification input (see :ref:`Section 9 `). If using embeddings, proceed directly to :ref:`Section 6 " +"`." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:113 +msgid "" +"A cloud-free optical mosaic provides the spectral bands used for " +"classification. In SEPAL, all processing starts with a *recipe*. Open a " +"new recipe from the recipe book by selecting the **+** button, then the " +"green **Add recipe** button." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:116 +msgid "Recommended data sources" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:122 +msgid "Source" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:123 +msgid "Spatial resolution" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:124 +msgid "Temporal resolution" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:125 +msgid "Bands" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:126 +#: ../../source/workflows/mangrove_mapping.rst:361 +msgid "Sentinel-2" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:127 +msgid "10 m" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:128 +msgid "5 days" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:129 +msgid "12" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:130 +msgid "Landsat (8/9)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:131 +msgid "30 m" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:132 +msgid "16 days" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:133 +msgid "8" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:134 +msgid "NICFI/Planet" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:135 +msgid "4.5 m" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:136 +msgid "Monthly" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:137 +msgid "4" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:140 +msgid "Recommended bands and indices" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:142 +msgid "" +"For Sentinel-2, include bands: **B2, B3, B4, B5, B6, B7, B8, B8A, B11, " +"B12**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:144 +msgid "Suggested derived indices:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:146 +msgid "normalized difference vegetation index (NDVI)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:147 +msgid "normalized difference moisture index (NDMI)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:148 +msgid "normalized difference water index (NDWI)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:149 +msgid "modified normalized difference water index (MNDWI)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:150 +msgid "red-edge NDVI variants" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:151 +msgid "Tasseled Cap Brightness, Greenness and Wetness" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:152 +msgid "short-wave infrared (SWIR) ratios (B11/B8, B12/B11)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:153 +msgid "enhanced vegetation index (EVI)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:157 +msgid "" +"Avoid the **Aerosol** band for vegetation mapping — it captures " +"atmospheric rather than surface conditions. The near-infrared (NIR) and " +"SWIR bands are particularly important for mangroves: NIR is sensitive to " +"chlorophyll and vegetation health; SWIR helps distinguish inundated " +"vegetation from upland forest and open water." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:160 +msgid "Composite method" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:162 +msgid "" +"Use the **Medoid** composite method, which selects actual observed pixel " +"values rather than statistical summaries, preserving spectral integrity. " +"Save the recipe with a meaningful name (e.g. ``Optical_Medoid_2023``) so " +"it can be referenced in the classification recipe." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:166 +msgid "" +"See :doc:`../cookbook/optical_mosaic` for full instructions on the SEPAL " +"optical mosaic recipe." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:171 +msgid "5. Build a radar mosaic (optional)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:175 +msgid "" +"This step is only required if Google Satellite Embeddings are **not** " +"used as the classification input." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:177 +msgid "" +"SAR data penetrates cloud cover and is sensitive to canopy structure and " +"soil moisture — making it a valuable complement to optical data in " +"tropical coastal environments where persistent cloud cover limits optical" +" data availability." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:180 +msgid "Recommended data source" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:182 +msgid "" +"The primary radar source used in this workflow is **Sentinel-1 C-band " +"SAR**:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:184 +msgid "spatial resolution: 10 m" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:185 +msgid "temporal resolution: 12 days" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:186 +msgid "bands: VV and VH polarisations" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:188 +msgid "" +"ALOS PALSAR L-band mosaics (25 m, yearly) can be added where available " +"for additional structural information." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:191 +msgid "Recommended statistics to include" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:197 +msgid "Band" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:198 +#: ../../source/workflows/mangrove_mapping.rst:448 +msgid "Description" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:199 +msgid "VV mean" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:200 +msgid "Average VV backscatter across the year" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:201 +msgid "VH mean" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:202 +msgid "Average VH backscatter across the year" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:203 +msgid "VV/VH ratio" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:204 +msgid "Structural differentiation" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:205 +msgid "VH standard deviation" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:206 +msgid "Seasonal variability; helps distinguish vegetation types" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:208 +msgid "Save the recipe as ``Radar_Mosaic_YYYY``." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:212 +msgid "" +"See :doc:`../cookbook/radar_mosaic` for full instructions on the SEPAL " +"radar mosaic recipe." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:217 +msgid "6. Load global mangrove reference datasets" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:219 +msgid "" +"Load three global datasets as **EE Asset** recipes in SEPAL to build the " +"high-confidence reference map in :ref:`Section 7 `. " +"Each dataset is available in the GEE catalog or the Awesome GEE Community" +" Catalog." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:221 +msgid "To add an **EE Asset** recipe:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:223 +#: ../../source/workflows/mangrove_mapping.rst:391 +msgid "Add a new recipe and select **EE Asset**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:224 +#: ../../source/workflows/mangrove_mapping.rst:392 +msgid "Set the AOI." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:225 +msgid "Search for the asset by name or paste the asset path." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:226 +#: ../../source/workflows/mangrove_mapping.rst:394 +msgid "Select **Done**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:227 +msgid "" +"To visualise, open the **Menu** (☰) → select **+** → select the band → " +"set min/max values → select **Apply**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:228 +msgid "Save the recipe with the name indicated below." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:231 +msgid "6.1 Global Mangrove Watch (GMW) v3 — 2020 extent" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:236 +#: ../../source/workflows/mangrove_mapping.rst:251 +#: ../../source/workflows/mangrove_mapping.rst:266 +#: ../../source/workflows/mangrove_mapping.rst:382 +msgid "**Asset path**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:237 +#: ../../source/workflows/mangrove_mapping.rst:683 +msgid "``projects/sat-io/open-datasets/GMW/extent/GMW_V3``" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:238 +#: ../../source/workflows/mangrove_mapping.rst:253 +#: ../../source/workflows/mangrove_mapping.rst:268 +#: ../../source/workflows/mangrove_mapping.rst:530 +msgid "**Band**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:239 +msgid "``b1`` (1 = mangrove, 0 = non-mangrove)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:240 +msgid "**Date filter**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:241 +msgid "2020-01-01 to 2020-12-31; select first image" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:242 +#: ../../source/workflows/mangrove_mapping.rst:257 +#: ../../source/workflows/mangrove_mapping.rst:270 +#: ../../source/workflows/mangrove_mapping.rst:388 +#: ../../source/workflows/mangrove_mapping.rst:534 +msgid "**Save as**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:243 +msgid "``GMW_2020_EEAsset``" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:246 +msgid "6.2 ESA WorldCover land cover — 2021" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:252 +#: ../../source/workflows/mangrove_mapping.rst:686 +msgid "``ESA/WorldCover/v200``" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:254 +msgid "``Map``" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:255 +msgid "**Mangrove class value**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:256 +msgid "95" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:258 +msgid "``WorldCover_2021_EEAsset``" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:261 +msgid "6.3 Digital elevation model (MERIT DEM)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:267 +#: ../../source/workflows/mangrove_mapping.rst:689 +msgid "``MERIT/DEM/v1_0_3``" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:269 +msgid "``dem``" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:271 +msgid "``MERIT_DEM_EEAsset``" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:273 +msgid "" +"The digital elevation model (DEM) provides an elevation constraint — " +"mangroves occupy low-lying intertidal zones, so pixels above 40 m " +"elevation are excluded from the high-confidence product in :ref:`Section " +"7 `." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:278 +msgid "7. Create the high-confidence mangrove reference map" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:280 +msgid "" +"This step converts the three global datasets into a single high-" +"confidence binary map of mangrove and non-mangrove, which is then used to" +" automatically generate training data for the local classification." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:282 +msgid "" +"If multiple independent global datasets agree that a pixel is mangrove " +"(or non-mangrove), confidence in that label is much higher than if only " +"one dataset indicates this. The elevation constraint further removes " +"unlikely mangrove locations." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:285 +msgid "Remapping rules" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:287 +msgid "In SEPAL, use the **Remapping** recipe with the following logic:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:293 +msgid "Output class" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:294 +msgid "Condition" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:295 +msgid "**Class 1 – Mangrove**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:296 +msgid "GMW ``b1`` = 1 **AND** WorldCover ``Map`` = 95 **AND** DEM ``dem`` < 40 m" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:297 +msgid "**Class 2 – Non-mangrove**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:298 +msgid "GMW ``b1`` = 0 **AND** WorldCover ``Map`` ≠ 95 **AND** DEM ``dem`` < 40 m" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:299 +msgid "*(No data)*" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:300 +msgid "Pixels that do not meet either condition are excluded" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:302 +msgid "**Output band:** ``class`` (1 = mangrove, 2 = non-mangrove)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:304 +msgid "**Save as:** ``Mangrove_HighConfidence_Remapping``" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:308 +msgid "" +"The DEM < 40 m filter restricts both mangrove and non-mangrove samples to" +" the intertidal zone, improving the relevance of the non-mangrove class " +"and avoiding confusion with upland forest." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:312 +msgid "" +"Use the divided interface (multi-view panel) to inspect the high-" +"confidence product against the optical and radar mosaics before " +"proceeding. Confirm that the mangrove extent looks reasonable for the " +"area." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:317 +msgid "8. Generate training data" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:319 +msgid "" +"With the high-confidence reference map produced, generate training data " +"automatically by stratified sampling — more efficiently and at greater " +"scale than manual digitising." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:321 +msgid "" +"In SEPAL, training data is generated within the **Classification** recipe" +" using the **Sample classification** option:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:323 +msgid "Open a new **Classification** recipe." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:324 +msgid "In the training data tab, select **Add** > **Sample classification**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:325 +msgid "" +"Set the sampling source to ``Mangrove_HighConfidence_Remapping`` (recipe " +"reference) or an exported GEE asset of the same (band: ``class``)." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:326 +msgid "Use balanced (stratified) sampling — equal numbers of samples per class." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:327 +msgid "Set a random seed for reproducibility." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:330 +msgid "Recommended sample sizes" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:336 +msgid "Area of interest" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:337 +msgid "Samples per class" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:338 +msgid "Small AOI" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:339 +msgid "300–800" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:340 +msgid "Subnational/national AOI" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:341 +msgid "1000–2000" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:342 +msgid "Very large or heterogeneous AOI" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:343 +msgid "5000–10000" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:345 +msgid "" +"After sampling, inspect the training points visually against the imagery " +"in the multi-view panel. If contaminated points are observed (e.g. " +"mangrove samples landing on water), resample or remove them before " +"running the classification." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:350 +msgid "9. Incorporate Google Satellite Embeddings (AlphaEarth Foundations)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:354 +msgid "" +"These are referred to as \"Alpha Earth Embeddings\" in some training " +"materials. They are now publicly available as the **Google Satellite " +"Embedding dataset**, powered by `AlphaEarth Foundations " +"`__ — a geospatial artificial " +"intelligence (AI) model developed by Google and Google DeepMind." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:357 +msgid "What are satellite embeddings?" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:359 +msgid "" +"Satellite embeddings are pre-computed, AI-generated feature vectors that " +"summarise multi-sensor, multi-temporal Earth observation data into a " +"compact representation. Each 10 m pixel is described by a 64-dimensional " +"embedding vector encoding a full year of observations from:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:362 +msgid "Landsat" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:363 +msgid "Sentinel-1 SAR" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:364 +msgid "Copernicus DEM (elevation)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:365 +msgid "ERA5 (climate)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:366 +msgid "GEDI LiDAR (vegetation structure)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:368 +msgid "Key advantages for mangrove mapping:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:370 +msgid "" +"**Fewer training samples needed** – embeddings encode rich spatial and " +"temporal context, reducing the labelled points required for accurate " +"classification;" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:371 +msgid "" +"**Cloud-robust** – embeddings summarise an entire year of acquisitions, " +"making them more robust to cloud contamination than single-date " +"composites;" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:372 +msgid "" +"**No deep learning infrastructure required** – pre-computed and analysis-" +"ready; compatible with SEPAL's built-in classifiers;" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:373 +msgid "" +"**Faster classification** – typically faster than classifying equivalent " +"optical and radar inputs separately; and" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:374 +msgid "**Temporal coverage** – annual embeddings available from 2017 onwards." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:377 +msgid "Loading embeddings as an EE Asset recipe" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:383 +#: ../../source/workflows/mangrove_mapping.rst:680 +msgid "``GOOGLE/SATELLITE_EMBEDDING/V1/ANNUAL``" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:384 +msgid "**Asset type**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:385 +msgid "ImageCollection — mosaic or select target year" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:386 +msgid "**Bands**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:387 +msgid "All 64 embedding bands" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:389 +msgid "``AlphaEarth_Embeddings_EEAsset``" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:393 +msgid "" +"Search for ``embeddings`` and select **Satellite Embeddings V1**, or " +"paste the asset path above." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:395 +msgid "" +"To confirm data is loading: open the **Menu** (☰) → select **+** → select" +" any band (e.g. ``Z00``) → select **Apply**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:396 +msgid "Save the recipe as ``AlphaEarth_Embeddings_EEAsset``." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:399 +msgid "When to use embeddings vs. optical/radar mosaics" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:401 +msgid "" +"Use **embeddings** when an annual classification is needed and good " +"results are required with limited training data or compute time. When " +"embeddings are used, optical and radar mosaics are **not** needed as " +"classifier inputs." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:402 +msgid "" +"Use **optical and radar mosaics** when classification at a specific sub-" +"annual time point is needed, or when within-year temporal detail is " +"important." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:403 +msgid "Both approaches can be combined if desired." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:407 +msgid "" +"`GEE Data Catalog: Satellite Embedding V1 `__" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:408 +msgid "" +"`GEE tutorial series: Introduction to Satellite Embeddings " +"`__" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:409 +msgid "Brown et al. (2025)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:414 +msgid "10. Classify mangroves" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:416 +msgid "" +"With training data and image inputs prepared, run the SEPAL " +"**Classification** recipe to produce a mangrove/non-mangrove map." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:419 +msgid "10.1 Set up the classification recipe" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:421 +msgid "Add a new recipe and select **Classification**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:422 +msgid "When asked which image to classify, choose one of the following:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:424 +msgid "" +"**Embeddings approach:** ``AlphaEarth_Embeddings_EEAsset`` only (do " +"**not** add optical or radar mosaics)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:425 +msgid "" +"**Optical/radar approach:** the optical mosaic recipe plus the radar " +"mosaic recipe" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:426 +msgid "**Combined approach:** embeddings plus optical and/or radar mosaics" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:429 +msgid "10.2 Select input bands" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:431 +msgid "For the **embeddings approach**, add all 64 embedding bands." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:433 +msgid "For the **optical/radar approach**, recommended bands are:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:435 +msgid "" +"Sentinel-2: B2, B3, B4, B5, B6, B7, B8, B8A, B11, B12, plus derived " +"indices (NDVI, NDMI, NDWI, Tasseled Cap)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:436 +msgid "Sentinel-1: VV mean, VH mean, VH standard deviation" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:439 +msgid "10.3 Define classification classes" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:441 +msgid "For mangrove mapping, a three-class legend is recommended:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:447 +msgid "Class" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:449 +msgid "Mangrove" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:450 +msgid "Mangrove forest" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:451 +msgid "Non-mangrove" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:452 +msgid "All other land cover" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:453 +msgid "Water" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:454 +msgid "Open water" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:456 +msgid "" +"Keep classes distinct — overlapping or ambiguous classes reduce " +"classification accuracy. Assign recognisable colours (e.g. green for " +"mangrove, blue for water)." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:459 +msgid "10.4 Add training data" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:461 +msgid "" +"Reference the ``Mangrove_HighConfidence_Remapping`` recipe (or exported " +"asset) generated in :ref:`Section 7 ` and sampled in " +":ref:`Section 8 `. In the training data tab, select " +"**Add** > **Sample classification**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:463 +msgid "" +"Add manual training points using the **Marker** icon if local knowledge " +"suggests corrections are needed." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:467 +msgid "" +"The classification updates in real time as training points are added or " +"modified, allowing the impact of each change to be seen immediately." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:470 +msgid "10.5 Configure the classifier" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:472 +msgid "SEPAL uses **Random Forest** by default. Recommended settings:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:478 +msgid "Parameter" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:479 +msgid "Recommended value" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:480 +msgid "Number of trees" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:481 +msgid "~300 (use 25 for exploration; increase for production)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:482 +msgid "Variables per split (mTry)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:483 +msgid "Default/auto" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:484 +msgid "Probability outputs" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:485 +msgid "Enable if available" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:488 +msgid "10.6 Interpret and refine results" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:490 +msgid "Use the **Menu** (☰) to switch between display bands:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:492 +msgid "**Class** – the final classified map (one class per pixel)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:493 +msgid "" +"**Mangrove percent** – the probability that each pixel belongs to the " +"mangrove class; more informative than the binary class map for " +"understanding model uncertainty" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:495 +msgid "To improve results, iterate by:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:497 +msgid "" +"tightening the high-confidence mask criteria in the **Remapping** recipe " +"(:ref:`Section 7 `) and resampling (:ref:`Section 8 " +"`);" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:498 +msgid "adding more training samples;" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:499 +msgid "increasing the number of Random Forest trees; or" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:500 +msgid "adjusting the input data stack." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:504 +msgid "" +"See :doc:`../cookbook/classification` for full instructions on the SEPAL " +"classification recipe." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:509 +msgid "11. Map above-ground biomass (optional)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:511 +msgid "" +"In addition to mangrove extent, SEPAL can produce wall-to-wall maps of " +"above-ground biomass (AGB) by combining point-based biomass measurements " +"with satellite embeddings using a **Regression** recipe." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:514 +msgid "11.1 Approach" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:516 +msgid "" +"Where biomass measurements are available (from field plots or GEDI " +"LiDAR), and where the 64 embedding bands are available, the known biomass" +" values can be statistically related to the embedding values and applied " +"to every pixel across the AOI — producing a continuous biomass estimate " +"map." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:519 +msgid "11.2 Option A – Using GEDI LiDAR data" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:521 +msgid "" +"The Global Ecosystem Dynamics Investigation (GEDI) is a full-waveform " +"LiDAR instrument on the International Space Station, capturing vegetation" +" height, canopy structure, and above-ground biomass density. GEDI data " +"are point samples rather than wall-to-wall, but can be used as training " +"data to produce a continuous biomass map." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:523 +msgid "To load GEDI L4A as an EE Asset recipe:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:528 +msgid "**Asset**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:529 +msgid "GEDI L4A Above Ground Biomass Density v2.1" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:531 +msgid "``AGBD`` (above-ground biomass density, Mg/ha)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:532 +msgid "**Visualisation**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:533 +msgid "Thermal colour palette, min = 0, max = ~194" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:535 +msgid "``GEDI_L4A_EEAsset``" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:537 +msgid "To run the biomass regression:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:539 +#: ../../source/workflows/mangrove_mapping.rst:564 +msgid "Add a new recipe and select **Regression**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:540 +#: ../../source/workflows/mangrove_mapping.rst:565 +msgid "Select ``AlphaEarth_Embeddings_EEAsset`` as the image (all 64 bands)." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:541 +msgid "In the training data tab, select **Add** > **Sample image**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:542 +msgid "" +"Select ``GEDI_L4A_EEAsset`` as the source, with ``AGBD`` as the target " +"band." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:543 +msgid "Set the number of samples (increase for production results)." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:544 +#: ../../source/workflows/mangrove_mapping.rst:569 +msgid "Select **Apply** and run." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:548 +msgid "" +"If the study area is changing rapidly, match the GEDI acquisition year to" +" the target image year. For more stable mangrove areas, using all " +"available GEDI data is acceptable." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:551 +msgid "11.3 Option B – Using field-collected AGB data" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:553 +msgid "" +"Field-collected plot data with geographic coordinates can be uploaded to " +"GEE as an asset table and used as training data in the **Regression** " +"recipe." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:555 +msgid "To upload field data to GEE:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:557 +msgid "In the GEE Code Editor, go to the **Assets** tab." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:558 +msgid "Select **New** > **CSV file**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:559 +msgid "Upload the data file — GEE handles reprojection automatically." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:560 +msgid "Note the asset ID from the asset details panel." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:562 +msgid "To run the regression using field data:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:566 +msgid "In the training data tab, select **Add** > **Earth Engine table**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:567 +msgid "Paste the field data table asset ID." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:568 +msgid "Select the AGB column as the target value band." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:572 +msgid "11.4 Interpreting biomass results" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:574 +#, python-format +msgid "" +"The regression produces a continuous map of estimated above-ground " +"biomass (Mg/ha). Results improve significantly with more training samples" +" and more trees in the Random Forest model. Consider reserving 20–30% of " +"samples for independent validation." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:579 +msgid "12. Detect change using CCDC" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:581 +msgid "" +"To map mangrove loss or gain over time, this workflow uses the Continuous" +" Change Detection and Classification (CCDC) algorithm (Zhu and Woodcock, " +"2014). CCDC fits a time-series model to each pixel using all available " +"satellite observations and detects structural breaks — making it well " +"suited to detecting mangrove conversion events." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:584 +msgid "12.1 Create a CCDC asset" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:586 +msgid "Add a new recipe and select **CCDC Asset**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:587 +msgid "Define the AOI and date range." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:588 +msgid "Select input imagery (Sentinel-2 and/or Landsat recommended)." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:589 +msgid "Run the recipe and save the result as a GEE asset." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:593 +msgid "" +"Pre-built CCDC assets for specific study areas may be shared by the SEPAL" +" team or colleagues as GEE asset links, avoiding the need to run this " +"computationally intensive step independently." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:597 +msgid "" +"See :doc:`../cookbook/ccdc_slice` for full instructions on creating a " +"CCDC asset." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:600 +msgid "12.2 Extract CCDC slices" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:602 +msgid "" +"A *CCDC slice* is a snapshot of the fitted time-series model at a " +"specific date — providing harmonised, cloud-free spectral values " +"consistent across dates. CCDC slices can be used:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:604 +msgid "" +"as additional input bands in the **Classification** recipe (:ref:`Section" +" 10 `) for improved accuracy using spatio-" +"temporal descriptors; or" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:605 +msgid "from two different dates to detect change between them." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:609 +msgid "" +"See :doc:`../cookbook/ccdc_slice` for full instructions on using CCDC " +"slices." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:612 +msgid "12.3 Run change detection" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:614 +msgid "**Option A – Index Change recipe (two-date comparison):**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:616 +msgid "Add a new recipe and select **Index Change**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:617 +msgid "Load CCDC slices from two target dates (e.g. 2015 and 2023)." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:618 +msgid "Run the recipe to produce a map of positive and negative spectral change." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:619 +msgid "Interpret positive and negative values as mangrove gain or loss." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:621 +msgid "**Option B – Near-real-time alert recipe:**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:623 +msgid "" +"SEPAL includes an alert recipe based on CCDC that compares the time-" +"series model to very recent observations (last few days to weeks), " +"enabling near-real-time detection of mangrove disturbance events for " +"operational monitoring." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:628 +msgid "13. Download and export results" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:631 +msgid "13.1 Export destinations" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:633 +msgid "" +"Select the **Download** button (cloud with arrow icon) in any recipe to " +"open the export dialog. Choose:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:635 +msgid "" +"**Bands to export** – e.g. ``class`` for a classified map, or " +"``mangrove_percent`` for a probability map;" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:636 +msgid "" +"**Scale** – spatial resolution in metres (e.g. 10 m for Sentinel-2 or " +"embeddings-based results); and" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:637 +msgid "**Destination:**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:639 +msgid "" +"**Google Earth Engine asset** – exports to the GEE asset folder; " +"recommended for further analysis or sharing;" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:640 +msgid "**Google Drive** – exports to Google Drive for local download; or" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:641 +msgid "" +"**SEPAL workspace** – exports to the SEPAL workspace; use if running " +"further analysis inside SEPAL." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:644 +msgid "13.2 Monitor export tasks" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:646 +msgid "" +"After selecting **Retrieve**, a spinning icon appears on the purple task " +"button. A green check mark indicates completion. Monitor tasks in the GEE" +" Code Editor under the **Tasks** tab." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:649 +msgid "13.3 Upload data to GEE" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:651 +msgid "" +"To use local raster or vector data in SEPAL (e.g. field plots, " +"administrative boundaries, existing maps):" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:653 +msgid "In the GEE Code Editor, go to the **Assets** tab and select **New**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:654 +msgid "Select the file type:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:656 +msgid "**GeoTIFF** for raster data;" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:657 +msgid "" +"**Shapefile** – upload ``.shp``, ``.shx``, ``.dbf``, and ``.prj`` files " +"together; or" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:658 +msgid "**CSV** for tabular data with geographic coordinates." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:660 +msgid "GEE handles reprojection automatically." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:661 +msgid "" +"Copy the asset ID and use it in any SEPAL **EE Asset** recipe or training" +" data input." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:664 +msgid "Summary: recommended input data stack" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:670 +msgid "Layer" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:671 +msgid "Asset/source" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:672 +msgid "Purpose" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:673 +msgid "Optical mosaic (Medoid)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:674 +msgid "Sentinel-2 (B2–B12 + indices)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:675 +msgid "Spectral features (if not using embeddings)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:676 +msgid "Radar mosaic" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:677 +msgid "Sentinel-1 (VV mean, VH mean, VH STD)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:678 +msgid "Structural features (if not using embeddings)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:679 +msgid "Google Satellite Embeddings" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:681 +msgid "AI-derived multi-sensor features (64 bands)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:682 +msgid "Global Mangrove Watch v3" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:684 +msgid "Reference mangrove mask" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:685 +msgid "ESA WorldCover v2" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:687 +msgid "Reference land cover (mangrove class = 95)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:688 +msgid "MERIT DEM" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:690 +msgid "Elevation constraint (< 40 m)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:691 +msgid "High-confidence reference map" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:692 +msgid "Remapping recipe output" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:693 +msgid "Training data source" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:694 +msgid "GEDI L4A" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:695 +msgid "GEE catalog" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:696 +#: ../../source/workflows/mangrove_mapping.rst:699 +msgid "Biomass regression training (optional)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:697 +msgid "Field AGB plots" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:698 +msgid "User-uploaded GEE table" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:700 +msgid "CCDC asset" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:701 +msgid "SEPAL CCDC Asset recipe" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:702 +msgid "Change detection" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:705 +msgid "Additional resources" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:711 +msgid "Resource" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:712 +msgid "Link" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:713 +msgid "SEPAL platform" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:714 +msgid "`sepal.io `__" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:715 +msgid "SEPAL documentation" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:716 +msgid "`docs.sepal.io `__" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:717 +msgid "SEPAL certified online course" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:718 +msgid "" +"`FAO SEPAL course `__" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:719 +msgid "FAO SEPAL brochure" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:720 +msgid "`fao.org/in-action/sepal `__" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:721 +msgid "Global Mangrove Watch v3.0" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:722 +msgid "" +"`JAXA GMW " +"`__" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:723 +msgid "ESA WorldCover" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:724 +msgid "`ESA WorldCover `__" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:725 +msgid "GEDI L4A AGB dataset" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:726 +msgid "" +"`GEDI L4A on GEE `__" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:727 +msgid "GEE Satellite Embeddings catalog" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:728 +msgid "" +"`GEE Data Catalog `__" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:729 +msgid "AlphaEarth Foundations" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:730 +msgid "" +"`Google DeepMind blog `__" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:731 +msgid "Contact" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:732 +msgid "sepal@fao.org" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:735 +msgid "References" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:737 +msgid "" +"Brown, C.F., Kazmierski, M.R., Pasquarella, V.J., et al. 2025. AlphaEarth" +" Foundations: An embedding field model for accurate and efficient global " +"mapping from sparse label data. *arXiv preprint* arXiv:2507.22291." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:739 +msgid "" +"Simard, M., Fatoyinbo, L., Smetanka, C., Rivera-Monroy, V.H., Castañeda-" +"Moya, E., Thomas, N. and Van der Stocken, T. 2019. Mangrove canopy height" +" globally related to precipitation, temperature and cyclone frequency. " +"*Nature Geoscience*, 12: 40–45." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:741 +msgid "" +"Zhu, Z. and Woodcock, C.E. 2014. Continuous change detection and " +"classification of land cover using all available Landsat data. *Remote " +"Sensing of Environment*, 144: 152–171." +msgstr "" + diff --git a/docs/source/_locale/es/LC_MESSAGES/workflows/proms.po b/docs/source/_locale/es/LC_MESSAGES/workflows/proms.po new file mode 100644 index 0000000000..82f89f11bf --- /dev/null +++ b/docs/source/_locale/es/LC_MESSAGES/workflows/proms.po @@ -0,0 +1,456 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: es\n" +"Language-Team: es \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/workflows/proms.rst:2 +msgid "Probability Map Subtraction (PROMS)" +msgstr "" + +#: ../../source/workflows/proms.rst:5 +msgid "Overview" +msgstr "" + +#: ../../source/workflows/proms.rst:7 +msgid "" +"This tutorial provides a step-by-step guide to estimate forest change " +"areas between two dates using an improved area estimation technique. The " +"method leverages a statistically optimized stratification of forest and " +"forest change areas using continuous probability layers and sample " +"allocation." +msgstr "" + +#: ../../source/workflows/proms.rst:17 +msgid "In lighter green optional data and steps." +msgstr "" + +#: ../../source/workflows/proms.rst:21 +msgid "Workflow Steps" +msgstr "" + +#: ../../source/workflows/proms.rst:24 +msgid "Input Data Collection for Time 1 and Time 2" +msgstr "" + +#: ../../source/workflows/proms.rst:25 +msgid "" +"Training data on Stable Forest and Stable Non-Forest between Time 1 And " +"Time 2" +msgstr "" + +#: ../../source/workflows/proms.rst:26 +msgid "Forest Probability Classification at Time 1 and Time 2" +msgstr "" + +#: ../../source/workflows/proms.rst:27 +msgid "Forest Change Probability Calculation" +msgstr "" + +#: ../../source/workflows/proms.rst:28 +msgid "Inclusive Forest Mask Application (Optional)" +msgstr "" + +#: ../../source/workflows/proms.rst:29 +msgid "Stratification" +msgstr "" + +#: ../../source/workflows/proms.rst:30 +msgid "Sample Allocation" +msgstr "" + +#: ../../source/workflows/proms.rst:31 +msgid "Sample Interpretation and analysis" +msgstr "" + +#: ../../source/workflows/proms.rst:35 +msgid "Summary Approach" +msgstr "" + +#: ../../source/workflows/proms.rst:37 +msgid "" +"In this tutorial, we will demonstrate the methodology applied to the " +"region of Alto Paraguay, aiming to estimate the forest change area " +"between the years 2018 (Time 1) and 2020 (Time 2)." +msgstr "" + +#: ../../source/workflows/proms.rst:40 +msgid "Step 1: Input Data" +msgstr "" + +#: ../../source/workflows/proms.rst:42 +msgid "" +"The first step is to select the input imagery for classification. A " +"minimum of one type of data source is required; however, for optimal " +"classification results, a combination of sensors is recommended. The " +"selection depends on data availability and quality for your study area. " +"To capture changes occurring between Time 1 and Time 2, it is recommended" +" to create annual composites for one year before and one year after each " +"respective time point. This approach includes all possible changes that " +"occurred during Time 1 and Time 2." +msgstr "" + +#: ../../source/workflows/proms.rst:45 +msgid "SEPAL Tools for Image Combination:" +msgstr "" + +#: ../../source/workflows/proms.rst:47 +msgid "" +"SEPAL offers several tools to combine images from several sensors into " +"single raster:" +msgstr "" + +#: ../../source/workflows/proms.rst:49 +msgid "" +"**Optical Mosaics**: For creating optical mosaics, refer to the `Optical " +"Mosaics tool " +"`__." +msgstr "" + +#: ../../source/workflows/proms.rst:50 +msgid "" +"**Radar Mosaics**: For creating radar mosaics, use the `Radar Mosaics " +"tool `__." +msgstr "" + +#: ../../source/workflows/proms.rst:51 +msgid "" +"**Planet Mosaic**: For creating optical mosaics with high-resolution " +"imagery, see the `Planet Mosaic tool " +"`__." +msgstr "" + +#: ../../source/workflows/proms.rst:53 +msgid "" +"For areas with seasonal vegetation variations (e.g., dry forests), " +"consider using Continuous Change Detection and Classification (CCDC). " +"Refer to `CCDC Asset Creation " +"`__ for" +" more information." +msgstr "" + +#: ../../source/workflows/proms.rst:56 +msgid "Case Study Data Preparation:" +msgstr "" + +#: ../../source/workflows/proms.rst:58 +msgid "In our case study, we created:" +msgstr "" + +#: ../../source/workflows/proms.rst:60 +msgid "Planet Mosaics, Sentinel-1 Time Scans, Sentinel-2 Mosaics in SEPAL." +msgstr "" + +#: ../../source/workflows/proms.rst:61 +msgid "" +"ALOS-2 Time Scans in Google Earth Engine (`Link to Script " +"`__)" +msgstr "" + +#: ../../source/workflows/proms.rst:63 +msgid "" +"These datasets were prepared for both years 2017 and 2021 (one year " +"before and one year after Time 1 and Time 2, respectively)." +msgstr "" + +#: ../../source/workflows/proms.rst:71 +msgid "Step 2: Training Data" +msgstr "" + +#: ../../source/workflows/proms.rst:73 +msgid "" +"Create training data on the presence and absence of forest for your " +"period of interest. Depending on availability, training data can be " +"sourced from:" +msgstr "" + +#: ../../source/workflows/proms.rst:75 +msgid "**Existing Maps**: Extract samples from global or regional forest maps." +msgstr "" + +#: ../../source/workflows/proms.rst:76 +msgid "**Field Data**: Use ground-truth data collected from field surveys." +msgstr "" + +#: ../../source/workflows/proms.rst:77 +msgid "**Other Sources**: Extract samples from datasets like GEDI or GLANCE." +msgstr "" + +#: ../../source/workflows/proms.rst:80 +msgid "Step 3: Forest Probability Classification" +msgstr "" + +#: ../../source/workflows/proms.rst:82 +msgid "" +"Obtain forest probability maps for Time 1 and Time 2 through supervised " +"classification of your input data, using training data on forest and non-" +"forest classes. It is preferable to use stable samples from the period " +"between Time 1 and Time 2." +msgstr "" + +#: ../../source/workflows/proms.rst:85 +msgid "Using SEPAL's Classification Tool:" +msgstr "" + +#: ../../source/workflows/proms.rst:87 +msgid "" +"SEPAL offers a user-friendly `Classification tool " +"`__ for " +"building supervised classifications." +msgstr "" + +#: ../../source/workflows/proms.rst:90 ../../source/workflows/proms.rst:215 +#: ../../source/workflows/proms.rst:256 +msgid "Case Study Implementation:" +msgstr "" + +#: ../../source/workflows/proms.rst:92 +msgid "" +"Auxiliary Data: Added terrain data from the `MERIT Digital Elevation " +"Model `__ to the " +"mosaic stack for both years. Classifier: Used a Random Forest Classifier " +"in probability output mode. Output: Generated forest probability maps for" +" 2017 and 2021." +msgstr "" + +#: ../../source/workflows/proms.rst:96 +msgid "" +"If the number of samples that changed class between Time 1 and Time 2 is " +"small relative to the total number, it won’t significantly affect Random " +"Forest results due to its multiple decision trees and bootstrapping " +"method." +msgstr "" + +#: ../../source/workflows/proms.rst:103 +msgid "Step 4: Forest Change Probability Calculation" +msgstr "" + +#: ../../source/workflows/proms.rst:105 +msgid "" +"Calculate the forest change probability map by finding the difference " +"between the forest probability maps of Time 1 and Time 2." +msgstr "" + +#: ../../source/workflows/proms.rst:108 +msgid "Using SEPAL's Band Math Tool:" +msgstr "" + +#: ../../source/workflows/proms.rst:110 +msgid "" +"The `Band Math tool " +"`__ allows for " +"mathematical operations on images from SEPAL or Google Earth Engine." +msgstr "" + +#: ../../source/workflows/proms.rst:113 +msgid "Case Study Calculation:" +msgstr "" + +#: ../../source/workflows/proms.rst:115 +msgid "" +"Operation: Subtracted the forest probability band (probability_1) of the " +"2021 image from the 2017 image as an absolute value." +msgstr "" + +#: ../../source/workflows/proms.rst:116 +msgid "" +"Result: High values indicate a high probability of forest change, both " +"possible ‘forest losses’ and ‘forest gains’; low values indicate " +"stability." +msgstr "" + +#: ../../source/workflows/proms.rst:124 +msgid "For Multiple Monitoring Dates:" +msgstr "" + +#: ../../source/workflows/proms.rst:126 +msgid "" +"When intermediate dates are available, calculate the maximum forest " +"change probability:" +msgstr "" + +#: ../../source/workflows/proms.rst:140 +#, python-brace-format +msgid "" +"\\text{Max Change Probability} = \\max(\\text{probabilities over all " +"dates}) - \\min(\\text{probabilities over all dates})\n" +"\n" +msgstr "" + +#: ../../source/workflows/proms.rst:147 +msgid "With only two dates:" +msgstr "" + +#: ../../source/workflows/proms.rst:149 +#, python-brace-format +msgid "" +"\\text{Change Probability} = |\\text{Probability at Time 1} - " +"\\text{Probability at Time 2}|\n" +"\n" +msgstr "" + +#: ../../source/workflows/proms.rst:157 +msgid "Step 5: Inclusive Forest Mask Application (optional)" +msgstr "" + +#: ../../source/workflows/proms.rst:159 +msgid "" +"Apply a ‘forest mask’ to exclude areas with very low forest probability, " +"focusing the stratification on relevant areas." +msgstr "" + +#: ../../source/workflows/proms.rst:163 +msgid "" +"This mask should not be regarded as a commonly used forest mask but " +"rather as a highly conservative one, designed to include all areas where " +"forest could potentially exist at both Time 1 and Time 2, while excluding" +" areas where forest is definitively absent, such as deserts, croplands, " +"or built-up areas, especially when these categories constitute a " +"significant portion of the total area)." +msgstr "" + +#: ../../source/workflows/proms.rst:166 +msgid "Using SEPAL’s Band Math Tool:" +msgstr "" + +#: ../../source/workflows/proms.rst:168 +msgid "" +"Calculate Maximum Forest Probability: Use the Band Math tool to find the " +"maximum probability across all dates (Time 1 and Time 2 in the case " +"study)." +msgstr "" + +#: ../../source/workflows/proms.rst:172 +msgid "Using SEPAL’s Remapping Tool:" +msgstr "" + +#: ../../source/workflows/proms.rst:174 +msgid "" +"Remap Values: With the Remapping tool, classify areas as 'forest' where " +"the maximum forest probability exceeds a specified threshold, and mask " +"out areas that fall below this threshold." +msgstr "" + +#: ../../source/workflows/proms.rst:182 +msgid "Case study implementation:" +msgstr "" + +#: ../../source/workflows/proms.rst:184 +msgid "" +"In our case study we used a 10% maximum forest probability threshold that" +" masked out cropland areas." +msgstr "" + +#: ../../source/workflows/proms.rst:188 +msgid "Using SEPAL’s Masking Tool:" +msgstr "" + +#: ../../source/workflows/proms.rst:190 +msgid "" +"Apply Mask: Use the Masking tool to apply the ‘forest mask’ to the forest" +" change probability layer." +msgstr "" + +#: ../../source/workflows/proms.rst:200 +msgid "Step 6: Stratification" +msgstr "" + +#: ../../source/workflows/proms.rst:203 +msgid "" +"Convert the continuous forest change probability map into a categorical " +"map using the SEPAL's `Unsupervised Classification tool " +"`__" +" tool to create a stratification layer." +msgstr "" + +#: ../../source/workflows/proms.rst:207 +msgid "Using SEPAL’s Unsupervised Classification tool" +msgstr "" + +#: ../../source/workflows/proms.rst:210 +msgid "" +"**Sampling**: Number of Samples: Use a high number (e.g., 100,000) for " +"better representation, especially when areas with high forest change " +"probability are small. Sampling Scale: Consider the forest definition " +"(e.g., 70 meters aligning with a 0.5-hectare MMU)." +msgstr "" + +#: ../../source/workflows/proms.rst:211 +msgid "" +"**Clusterer**: Algorithm: Use the k-means algorithm. Number of Clusters: " +"Five classes are recommended (Kozak, 2011)." +msgstr "" + +#: ../../source/workflows/proms.rst:217 +msgid "" +"Samples: 100,000 samples to train the clusterer. Sampling Scale: 70 " +"meters." +msgstr "" + +#: ../../source/workflows/proms.rst:225 +msgid "Apply to Forest Areas Only:" +msgstr "" + +#: ../../source/workflows/proms.rst:227 +msgid "" +"The stratification could be applied exclusively to areas where forest " +"could potentially exist during the period of interest (both stable and " +"changing) using the masked forest change probability map as input image." +msgstr "" + +#: ../../source/workflows/proms.rst:235 +msgid "Step 7: Sample allocation" +msgstr "" + +#: ../../source/workflows/proms.rst:237 +msgid "" +"Select the sample points for interpretation on the stratification layer " +"using Neyman's method. The samples are optimally distributed according to" +" the variability and area of each stratum:" +msgstr "" + +#: ../../source/workflows/proms.rst:239 +msgid "" +":math:`n_h = \\left( \\frac{\\text{sd} \\cdot \\text{área del " +"estrato}}{\\sum (\\text{sd} \\cdot \\text{área})} \\right) \\cdot " +"\\text{targetSampleSize}`" +msgstr "" + +#: ../../source/workflows/proms.rst:242 +msgid "Using Google Earth Engine" +msgstr "" + +#: ../../source/workflows/proms.rst:244 +msgid "" +"The sample allocation can be applied either to the unmasked " +"stratification layer (as shown in the image above) or to the masked " +"stratification layer (as depicted in the image below)." +msgstr "" + +#: ../../source/workflows/proms.rst:258 +msgid "Total number of samples to select: 3000. Spatial resolution: 70m." +msgstr "" + +#: ../../source/workflows/proms.rst:261 +msgid "Step 8: Sample interpretation and analysis" +msgstr "" + +#: ../../source/workflows/proms.rst:263 +msgid "Estimate the forest change area." +msgstr "" + diff --git a/docs/source/_locale/fr/LC_MESSAGES/cli/env_management.po b/docs/source/_locale/fr/LC_MESSAGES/cli/env_management.po new file mode 100644 index 0000000000..a6b6940c94 --- /dev/null +++ b/docs/source/_locale/fr/LC_MESSAGES/cli/env_management.po @@ -0,0 +1,337 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: fr\n" +"Language-Team: fr \n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/cli/env_management.rst:4 +msgid "Python environment management" +msgstr "" + +#: ../../source/cli/env_management.rst:6 +msgid "" +"SEPAL provides two tools for managing Python environments: :guilabel:`uv`" +" and :guilabel:`micromamba`. Both are already installed and both are " +"better choices than the built-in :guilabel:`venv` for work on SEPAL." +msgstr "" + +#: ../../source/cli/env_management.rst:8 +msgid "" +"The core problem with :guilabel:`venv` on a shared platform is that it " +"creates environments tightly coupled to the system Python. When SEPAL " +"upgrades Python — as happened with the Ubuntu Noble upgrade from 3.10 to " +"3.12 — every venv breaks. The tools described on this page do not have " +"this problem." +msgstr "" + +#: ../../source/cli/env_management.rst:12 +msgid "" +"Do not use :guilabel:`venv` for new work on SEPAL. Use :guilabel:`uv` or " +":guilabel:`micromamba` instead." +msgstr "" + +#: ../../source/cli/env_management.rst:17 +msgid "Which tool should I use?" +msgstr "" + +#: ../../source/cli/env_management.rst:19 +msgid "The right choice depends on what your project needs." +msgstr "" + +#: ../../source/cli/env_management.rst:25 +msgid "Your stack includes..." +msgstr "" + +#: ../../source/cli/env_management.rst:26 +msgid "Use" +msgstr "" + +#: ../../source/cli/env_management.rst:27 +msgid "Why" +msgstr "" + +#: ../../source/cli/env_management.rst:28 +msgid "Web frameworks, APIs, pure Python tools" +msgstr "" + +#: ../../source/cli/env_management.rst:29 +#: ../../source/cli/env_management.rst:32 +msgid ":guilabel:`uv`" +msgstr "" + +#: ../../source/cli/env_management.rst:30 +msgid "Fast, lightweight, no overhead" +msgstr "" + +#: ../../source/cli/env_management.rst:31 +msgid "Data science: pandas, scikit-learn, statsmodels" +msgstr "" + +#: ../../source/cli/env_management.rst:33 +msgid "Good PyPI wheel coverage for Python 3.12" +msgstr "" + +#: ../../source/cli/env_management.rst:34 +msgid "Geospatial: GDAL, rasterio, fiona, GEOS" +msgstr "" + +#: ../../source/cli/env_management.rst:35 +#: ../../source/cli/env_management.rst:38 +msgid ":guilabel:`micromamba`" +msgstr "" + +#: ../../source/cli/env_management.rst:36 +msgid "Bundles native libraries inside the environment" +msgstr "" + +#: ../../source/cli/env_management.rst:37 +msgid "GPU / ML: CUDA, cuDNN, PyTorch with CUDA" +msgstr "" + +#: ../../source/cli/env_management.rst:39 +msgid "Pins CUDA runtime inside the environment" +msgstr "" + +#: ../../source/cli/env_management.rst:40 +msgid "Mixed: some native libraries, some pure Python" +msgstr "" + +#: ../../source/cli/env_management.rst:41 +msgid ":guilabel:`micromamba` + pip" +msgstr "" + +#: ../../source/cli/env_management.rst:42 +msgid "micromamba for native libraries, pip for the rest" +msgstr "" + +#: ../../source/cli/env_management.rst:46 +msgid "" +":guilabel:`uv` environments can still break if SEPAL upgrades a system-" +"level native library such as GDAL or CUDA. This is because :guilabel:`uv`" +" installs Python packages from PyPI but cannot bundle the underlying " +"``.so`` files they depend on. If your project uses geospatial or GPU " +"packages, use :guilabel:`micromamba`." +msgstr "" + +#: ../../source/cli/env_management.rst:51 +msgid "uv" +msgstr "" + +#: ../../source/cli/env_management.rst:53 +msgid "" +":guilabel:`uv` is a fast, modern Python and package manager. It manages " +"its own Python versions independently of the system, so a system Python " +"upgrade will not affect your environments." +msgstr "" + +#: ../../source/cli/env_management.rst:56 +msgid "Why use uv" +msgstr "" + +#: ../../source/cli/env_management.rst:58 +msgid "" +"**Survives system Python upgrades.** uv pins the Python version inside " +"the project. If you create an environment with Python 3.12.2, it stays on" +" 3.12.2 regardless of what the system does." +msgstr "" + +#: ../../source/cli/env_management.rst:59 +msgid "" +"**Much faster than pip and venv.** Dependency resolution and installation" +" are typically 10–100× faster due to parallel downloads and a compiled " +"resolver." +msgstr "" + +#: ../../source/cli/env_management.rst:60 +msgid "" +"**Lockfiles for reproducibility.** ``uv lock`` generates a precise, " +"cross-platform lockfile — more reliable than ``pip freeze`` for sharing " +"environments with colleagues." +msgstr "" + +#: ../../source/cli/env_management.rst:61 +msgid "" +"**Drop-in pip compatibility.** ``uv pip install`` works exactly like " +"``pip install``. Any package on PyPI works with uv. No new formats to " +"learn." +msgstr "" + +#: ../../source/cli/env_management.rst:62 +msgid "" +"**Works with standard project files.** Reads ``pyproject.toml`` and " +"``requirements.txt`` natively." +msgstr "" + +#: ../../source/cli/env_management.rst:63 +msgid "" +"**Manages multiple Python versions.** ``uv python install 3.10`` lets you" +" run any Python version without touching the system." +msgstr "" + +#: ../../source/cli/env_management.rst:64 +msgid "" +"**Single lightweight binary.** No base environment, no shell hooks, no " +"overhead." +msgstr "" + +#: ../../source/cli/env_management.rst:67 +msgid "Creating a uv project (recommended)" +msgstr "" + +#: ../../source/cli/env_management.rst:69 +msgid "" +"``uv init`` creates a project with a ``pyproject.toml`` and a lockfile, " +"giving you reproducible installs and clean dependency tracking:" +msgstr "" + +#: ../../source/cli/env_management.rst:83 +msgid "" +"uv automatically creates a ``.venv`` inside the project directory, " +"generates a ``uv.lock`` lockfile, and tracks all dependencies in " +"``pyproject.toml``. You do not need to activate anything — ``uv run`` " +"handles it." +msgstr "" + +#: ../../source/cli/env_management.rst:85 +msgid "To reproduce the environment elsewhere (or after a fresh clone):" +msgstr "" + +#: ../../source/cli/env_management.rst:92 +msgid "Creating a standalone uv environment" +msgstr "" + +#: ../../source/cli/env_management.rst:94 +msgid "" +"If you do not need a full project structure — for example, when working " +"with an existing ``requirements.txt`` — you can create a standalone " +"environment:" +msgstr "" + +#: ../../source/cli/env_management.rst:111 +#: ../../source/cli/env_management.rst:208 +msgid "Adding a Jupyter kernel" +msgstr "" + +#: ../../source/cli/env_management.rst:113 +msgid "Register your environment as a named kernel so it appears in JupyterLab:" +msgstr "" + +#: ../../source/cli/env_management.rst:115 +msgid "**For uv projects:**" +msgstr "" + +#: ../../source/cli/env_management.rst:123 +msgid "**For standalone uv environments:**" +msgstr "" + +#: ../../source/cli/env_management.rst:131 +msgid "Verify it appears:" +msgstr "" + +#: ../../source/cli/env_management.rst:137 +#: ../../source/cli/env_management.rst:224 +msgid "To remove a kernel:" +msgstr "" + +#: ../../source/cli/env_management.rst:146 +msgid "micromamba" +msgstr "" + +#: ../../source/cli/env_management.rst:148 +msgid "" +":guilabel:`micromamba` works like conda (if you have used conda before, " +"you already know how to use micromamba). Unlike :guilabel:`uv`, it " +"bundles native system libraries — GDAL, CUDA, HDF5, and others — inside " +"the environment itself, completely isolated from the system. This makes " +"it the right choice for geospatial and GPU workloads." +msgstr "" + +#: ../../source/cli/env_management.rst:151 +msgid "Why use micromamba" +msgstr "" + +#: ../../source/cli/env_management.rst:153 +msgid "" +"**Complete isolation including native libraries.** GDAL, CUDA, HDF5, " +"GEOS, and other system libraries are installed inside the environment. " +"Upgrading system libraries on SEPAL will not break your environment." +msgstr "" + +#: ../../source/cli/env_management.rst:154 +msgid "" +"**conda-forge provides excellent binary coverage.** conda-forge provides " +"pre-compiled, compatible builds of complex packages across all platforms " +"— often better than what is available on PyPI." +msgstr "" + +#: ../../source/cli/env_management.rst:155 +msgid "" +"**Environment files capture the full stack.** ``environment.yml`` files " +"describe both Python packages and native libraries in one place, making " +"environments fully reproducible by colleagues." +msgstr "" + +#: ../../source/cli/env_management.rst:156 +msgid "" +"**Pins native library versions.** You can pin ``cudatoolkit=11.8`` or " +"``gdal=3.6`` and those exact versions live inside the environment, " +"regardless of what is installed system-wide." +msgstr "" + +#: ../../source/cli/env_management.rst:157 +msgid "" +"**Faster than conda.** Written in C++, micromamba solves and installs " +"dependencies significantly faster than the original conda tool." +msgstr "" + +#: ../../source/cli/env_management.rst:158 +msgid "" +"**No base environment.** micromamba has no base environment that needs " +"updating — cleaner and lighter on disk." +msgstr "" + +#: ../../source/cli/env_management.rst:161 +msgid "Creating a micromamba environment" +msgstr "" + +#: ../../source/cli/env_management.rst:178 +msgid "Using an environment.yml file (recommended)" +msgstr "" + +#: ../../source/cli/env_management.rst:180 +msgid "" +"An ``environment.yml`` file captures the full environment — Python " +"version, native libraries, and Python packages — in one place:" +msgstr "" + +#: ../../source/cli/env_management.rst:197 +msgid "Create or update an environment from the file:" +msgstr "" + +#: ../../source/cli/env_management.rst:233 +msgid "Recovering a broken venv" +msgstr "" + +#: ../../source/cli/env_management.rst:235 +msgid "" +"If you have an existing venv that broke due to the Python upgrade, see " +":ref:`fix_venvs` for step-by-step recovery instructions, including a " +"script to extract your requirements without activating the broken " +"environment." +msgstr "" + diff --git a/docs/source/_locale/fr/LC_MESSAGES/cli/index.po b/docs/source/_locale/fr/LC_MESSAGES/cli/index.po index a1b616d3e5..df417cec4d 100644 --- a/docs/source/_locale/fr/LC_MESSAGES/cli/index.po +++ b/docs/source/_locale/fr/LC_MESSAGES/cli/index.po @@ -1,22 +1,54 @@ + msgid "" msgstr "" -"Project-Id-Version: sepal-doc\n" +"Project-Id-Version: sepal-doc\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-03-07 09:39+0100\n" -"PO-Revision-Date: 2024-03-07 08:53\n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: 2024-03-07 08:53+0000\n" "Last-Translator: \n" +"Language: fr_FR\n" "Language-Team: French\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.14.0\n" -"Plural-Forms: nplurals=2; plural=(n > 1);\n" -"X-Crowdin-Project: sepal-doc\n" -"X-Crowdin-Project-ID: 562097\n" -"X-Crowdin-Language: fr\n" -"X-Crowdin-File: /main/docs/source/_locale/en/LC_MESSAGES/cli/index.po\n" -"X-Crowdin-File-ID: 49\n" -"Language: fr_FR\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/cli/index.rst:10 +msgid "GDAL — Geospatial Data Abstraction Library" +msgstr "" + +#: ../../source/cli/index.rst:10 +msgid "Google Drive" +msgstr "" + +#: ../../source/cli/index.rst:10 +msgid "Google Earth Engine" +msgstr "" + +#: ../../source/cli/index.rst:10 +msgid "GuidosToolbox Workbench" +msgstr "" + +#: ../../source/cli/index.rst:10 +msgid "Open Foris Geospatial Toolkit" +msgstr "" + +#: ../../source/cli/index.rst:10 +msgid "Orfeo ToolBox" +msgstr "" + +#: ../../source/cli/index.rst:10 +msgid "Python" +msgstr "" + +#: ../../source/cli/index.rst:10 +msgid "R" +msgstr "" + +#: ../../source/cli/index.rst:10 +msgid "Python environment management" +msgstr "" #: ../../source/cli/index.rst:2 msgid "CLI" @@ -31,51 +63,72 @@ msgid "CLI tools" msgstr "Outils CLI" #: ../../source/cli/index.rst:8 -msgid "To help resolve specific problems, the SEPAL platform includes a variety of useful command-line interface (CLI) utilities, including:" +msgid "" +"To help resolve specific problems, the SEPAL platform includes a variety " +"of useful command-line interface (CLI) utilities, including:" msgstr "" -#: ../../source/cli/index.rst:22 -msgid "These tools can be called directly from the terminal or via any programming language sending commands to the kernel, including R and Python (installed by default on any SEPAL account)." +#: ../../source/cli/index.rst:23 +msgid "" +"These tools can be called directly from the terminal or via any " +"programming language sending commands to the kernel, including R and " +"Python (installed by default on any SEPAL account)." msgstr "" -#: ../../source/cli/index.rst:29 +#: ../../source/cli/index.rst:30 msgid "The code executed previously on an existing :code:`example.tif` file:" msgstr "" -#: ../../source/cli/index.rst:37 -msgid "If you're running actions from multiple directories or instances, you can open multiple **Terminal** tabs and name them as you see fit." +#: ../../source/cli/index.rst:38 +msgid "" +"If you're running actions from multiple directories or instances, you can" +" open multiple **Terminal** tabs and name them as you see fit." msgstr "" -#: ../../source/cli/index.rst:41 -msgid "If the code you want to execute is taking time, consider running it in the background using :code:`nohup`:" +#: ../../source/cli/index.rst:42 +msgid "" +"If the code you want to execute is taking time, consider running it in " +"the background using :code:`nohup`:" msgstr "" -#: ../../source/cli/index.rst:47 -msgid "All console outputs will be redirected to a :code:`nohup.out` in your home directory, but the execution will be running in the background. You will be able to safely close the terminal or even the browser window without interrupting the process (for more information about :code:`nohup`, see `this article `__)." +#: ../../source/cli/index.rst:48 +msgid "" +"All console outputs will be redirected to a :code:`nohup.out` in your " +"home directory, but the execution will be running in the background. You " +"will be able to safely close the terminal or even the browser window " +"without interrupting the process (for more information about " +":code:`nohup`, see `this article " +"`__)." msgstr "" -#: ../../source/cli/index.rst:50 +#: ../../source/cli/index.rst:51 msgid "Coding tools" msgstr "" -#: ../../source/cli/index.rst:52 -msgid "In the **Apps** section, there are three coding tools at the top of the list:" +#: ../../source/cli/index.rst:53 +msgid "" +"In the **Apps** section, there are three coding tools at the top of the " +"list:" msgstr "" -#: ../../source/cli/index.rst:54 +#: ../../source/cli/index.rst:55 msgid "JupyterLab" msgstr "JupyterLab" -#: ../../source/cli/index.rst:55 +#: ../../source/cli/index.rst:56 msgid "Jupyter Notebook" msgstr "Jupyter Notebook" -#: ../../source/cli/index.rst:56 +#: ../../source/cli/index.rst:57 msgid "RStudio" msgstr "" -#: ../../source/cli/index.rst:61 -msgid "They will allow the user to code wokflows in any of the available languages using the corresponding environment in SEPAL. These environments are fully customizable (view the :code:`Python` or :code:`R` section to know more)." +#: ../../source/cli/index.rst:62 +msgid "" +"They will allow the user to code wokflows in any of the available " +"languages using the corresponding environment in SEPAL. These " +"environments are fully customizable (view the :code:`Python` or :code:`R`" +" section to know more)." msgstr "" #~ msgid "" diff --git a/docs/source/_locale/fr/LC_MESSAGES/cookbook/band_math.po b/docs/source/_locale/fr/LC_MESSAGES/cookbook/band_math.po new file mode 100644 index 0000000000..2b125166c0 --- /dev/null +++ b/docs/source/_locale/fr/LC_MESSAGES/cookbook/band_math.po @@ -0,0 +1,233 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: fr\n" +"Language-Team: fr \n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/cookbook/band_math.rst:2 +msgid "Band Math" +msgstr "" + +#: ../../source/cookbook/band_math.rst:4 +msgid "" +"The **Band Math** recipe in SEPAL allows you to derive new raster layers " +"from existing ones by evaluating mathematical expressions. You can " +"combine, scale or subtract spectral bands, build indices or apply logical" +" masks. This guide walks through the Band Math workflow from start to " +"finish and uses a vegetation index as an example. The same steps apply " +"whether you are creating a simple ratio or a complex index." +msgstr "" + +#: ../../source/cookbook/band_math.rst:7 +msgid "Getting started" +msgstr "" + +#: ../../source/cookbook/band_math.rst:9 +msgid "Open `sepal.io `_ in your web browser and sign in." +msgstr "" + +#: ../../source/cookbook/band_math.rst:10 +msgid "" +"Go to the **Process** page where SEPAL lists your recipes. If you have " +"not created any recipes yet this list will be empty." +msgstr "" + +#: ../../source/cookbook/band_math.rst:13 +msgid "Creating a Band Math recipe" +msgstr "" + +#: ../../source/cookbook/band_math.rst:15 +msgid "" +"Click :btn:` Add recipe` in the recipe list and choose " +"**Band Math**. SEPAL opens a new tab for your recipe. On the right‑hand " +"side you will see three vertically stacked tabs labelled :guilabel:`IMG`," +" :guilabel:`CAL` and :guilabel:`OUT` corresponding to *Input imagery*, " +"*Calculations* and *Outputs*." +msgstr "" + +#: ../../source/cookbook/band_math.rst:27 +msgid "" +"Select the :guilabel:`IMG` button. Click :btn:` Add` " +"and then **Earth Engine Asset**. An entry form appears where you can " +"provide a Google Earth Engine image. Paste a valid asset ID into the " +"**Earth Engine asset ID** field (for example the Landsat 8 Level‑2 scene " +"``LANDSAT/LC08/C02/T1_L2/LC08_232064_20200119``). Leave the **Image " +"name** as the default (``i1``) unless you intend to add multiple images. " +"Use the tick icon to validate the ID; if the field turns red the asset is" +" not available. Once it loads successfully you will see a section " +"labelled **CONTINUOUS** listing the available bands." +msgstr "" + +#: ../../source/cookbook/band_math.rst:34 +msgid "" +"Specify which bands you need. Click the green :btn:` " +"Add` button to insert a row, select the band name from the drop‑down list" +" and leave the :guilabel:`TYPE` as **CONTINUOUS**. Repeat this step for " +"every band referenced in your expression. For a vegetation index select " +"the red band ``SR_B4`` and the near‑infrared band ``SR_B5``. When you " +"have added all your bands, click :btn:` Apply` to " +"confirm. The :guilabel:`IMG` tab now lists your Earth Engine asset and " +"the chosen name." +msgstr "" + +#: ../../source/cookbook/band_math.rst:42 +msgid "Defining a calculation" +msgstr "" + +#: ../../source/cookbook/band_math.rst:44 +msgid "" +"Switch to the :guilabel:`CAL` tab and click :btn:` " +"Add`. A dialog appears offering two paths: **Function** and " +"**Expression**. Choose **Function** when you want to compute built‑in " +"statistics (sum, mean, min, max, product) on your bands. Choose " +"**Expression** when you need to write a custom formula. For indices you " +"will almost always select **Expression**." +msgstr "" + +#: ../../source/cookbook/band_math.rst:51 +msgid "" +"In the expression editor type your formula. Refer to each band using its " +"image name and band name, for example ``i1.SR_B5`` for the near‑infrared " +"band of the first image. Parentheses control the order of operations. To " +"compute a vegetation index you can use:" +msgstr "" + +#: ../../source/cookbook/band_math.rst:57 +msgid "" +"You could just as easily substitute other bands or constants, for example" +" the Normalised Difference Water Index (NDWI) ``(i1.SR_B3 - i1.SR_B5) / " +"(i1.SR_B3 + i1.SR_B5)`` or a simple ratio like ``i1.SR_B5 / i1.SR_B4``." +msgstr "" + +#: ../../source/cookbook/band_math.rst:59 +msgid "" +"Enter a short Band name beneath the editor. This will be the label of the" +" resulting layer – for example ``ndvi`` for a vegetation index." +msgstr "" + +#: ../../source/cookbook/band_math.rst:66 +msgid "" +"Click :btn:` Apply`. Your calculation appears in the " +"list with an identifier such as ``c1``. You can add additional " +"calculations by repeating this process; each one becomes a separate " +"output band." +msgstr "" + +#: ../../source/cookbook/band_math.rst:74 +msgid "Managing outputs and naming" +msgstr "" + +#: ../../source/cookbook/band_math.rst:76 +msgid "" +"The :guilabel:`OUT` tab displays the bands produced by your expressions. " +"Check that the band names are correct. You can delete or add them using " +"the icons on the right of each row. Above the map the recipe tab uses a " +"default timestamp; rename it by double‑clicking the label, entering a " +"descriptive name (for example ``Amazon_BandMath``) and pressing " +"**Enter**. When everything looks correct close the :guilabel:`OUT` tab." +msgstr "" + +#: ../../source/cookbook/band_math.rst:84 +msgid "Visualising the results" +msgstr "" + +#: ../../source/cookbook/band_math.rst:86 +msgid "" +"By default your calculation is not drawn on the map. To create a " +"visualisation:" +msgstr "" + +#: ../../source/cookbook/band_math.rst:88 +msgid "" +"Locate the small :btn:`` icon near the bottom centre of" +" the map and click it. This opens the **This recipe** panel. If your " +"derived bands appear here they are ready for visualisation; if not, click" +" the :btn:`` button in that panel to create one." +msgstr "" + +#: ../../source/cookbook/band_math.rst:95 +msgid "" +"A **Visualisation** dialog opens. Choose the band you want to display " +"from the **Band** drop‑down (for example ``ndvi``). Set **Min** and " +"**Max** values to define the stretch – for indices spanning –1 to 1, " +"values such as –0.2 and 0.8 often provide good contrast." +msgstr "" + +#: ../../source/cookbook/band_math.rst:97 +msgid "" +"Select a colour palette. You can load a preset palette from the drop‑down" +" or define your own. To enter custom colours click the :guilabel:`HEX` " +"button; a text box appears containing a comma‑separated list of colour " +"codes. Replace it with your own codes (e.g. ``#ffffcc, #c2e699, #78c679, " +"#31a354, #006837`` for a light‑to‑dark green gradient). Multiple colours " +"create a smooth ramp." +msgstr "" + +#: ../../source/cookbook/band_math.rst:104 +msgid "" +"Click :btn:` Apply`. SEPAL renders the band using your" +" settings and adds a legend bar at the bottom of the map. If the map " +"stays blank for more than a few seconds, ensure you added the correct " +"bands and that the area of interest is not outside the footprint of your " +"image." +msgstr "" + +#: ../../source/cookbook/band_math.rst:113 +msgid "What else can you do with Band Math?" +msgstr "" + +#: ../../source/cookbook/band_math.rst:115 +msgid "" +"Band Math is a general‑purpose calculator for raster bands. Beyond " +"vegetation indices you can:" +msgstr "" + +#: ../../source/cookbook/band_math.rst:117 +msgid "" +"Highlight water bodies by computing the Normalised Difference Water Index" +" (NDWI): ``(i1.SR_B3 - i1.SR_B5) / (i1.SR_B3 + i1.SR_B5)``." +msgstr "" + +#: ../../source/cookbook/band_math.rst:118 +msgid "" +"Assess burn severity with the Normalised Burn Ratio (NBR) using " +"near‑infrared and short‑wave infrared bands: ``(i1.SR_B5 - i1.SR_B7) / " +"(i1.SR_B5 + i1.SR_B7)``." +msgstr "" + +#: ../../source/cookbook/band_math.rst:119 +msgid "" +"Perform arithmetic between bands (for example ``i1.SR_B5 - i1.SR_B4``), " +"multiply by constants to convert digital numbers to reflectance or add " +"bands to create composites." +msgstr "" + +#: ../../source/cookbook/band_math.rst:120 +msgid "" +"Create masks based on conditions – for instance ``i1.SR_B5 > 0.3`` to " +"select highly vegetated pixels – and combine them with logical operators " +"(`and`, `or`)." +msgstr "" + +#: ../../source/cookbook/band_math.rst:122 +msgid "" +"Every expression you add becomes a new band that can be visualised or " +"used in subsequent calculations. By chaining calculations together you " +"can build complex workflows in SEPAL without writing any external code." +msgstr "" + diff --git a/docs/source/_locale/fr/LC_MESSAGES/cookbook/classification.po b/docs/source/_locale/fr/LC_MESSAGES/cookbook/classification.po index 93fae9cf28..702fdb5124 100644 --- a/docs/source/_locale/fr/LC_MESSAGES/cookbook/classification.po +++ b/docs/source/_locale/fr/LC_MESSAGES/cookbook/classification.po @@ -1,29 +1,27 @@ + msgid "" msgstr "" -"Project-Id-Version: sepal-doc\n" +"Project-Id-Version: sepal-doc\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-03-07 09:39+0100\n" -"PO-Revision-Date: 2024-03-07 08:53\n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: 2024-03-07 08:53+0000\n" "Last-Translator: \n" +"Language: fr_FR\n" "Language-Team: French\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.14.0\n" -"Plural-Forms: nplurals=2; plural=(n > 1);\n" -"X-Crowdin-Project: sepal-doc\n" -"X-Crowdin-Project-ID: 562097\n" -"X-Crowdin-Language: fr\n" -"X-Crowdin-File: /main/docs/source/_locale/en/LC_MESSAGES/cookbook/classification.po\n" -"X-Crowdin-File-ID: 65\n" -"Language: fr_FR\n" +"Generated-By: Babel 2.18.0\n" #: ../../source/cookbook/classification.rst:2 msgid "Classification" msgstr "Classification" #: ../../source/cookbook/classification.rst:3 -msgid "*Build supervised classifications of mosaic images to create easy-to-use user interfaces with the Classification recipe*" +msgid "" +"*Build supervised classifications of mosaic images to create easy-to-use " +"user interfaces with the Classification recipe*" msgstr "" #: ../../source/cookbook/classification.rst:6 @@ -31,7 +29,12 @@ msgid "Overview" msgstr "Présentation" #: ../../source/cookbook/classification.rst:8 -msgid "With this recipe, SEPAL helps users build supervised classifications of any mosaic image. It is built on top of the most advanced tools available on Google Earth Engine (GEE) – including the classifiers CART, RandomForest, NaiveBayes and SVM – allowing users to create an easy-to-use user interface to:" +msgid "" +"With this recipe, SEPAL helps users build supervised classifications of " +"any mosaic image. It is built on top of the most advanced tools available" +" on Google Earth Engine (GEE) – including seven classifiers, such as " +"Random Forest, CART and SVM – allowing users to create an easy-to-use " +"user interface to:" msgstr "" #: ../../source/cookbook/classification.rst:10 @@ -39,15 +42,21 @@ msgid "select an image to classify;" msgstr "" #: ../../source/cookbook/classification.rst:11 -msgid "define the class table; and" +#, fuzzy +msgid "define the legend; and" msgstr "définir la table de classe ; et" #: ../../source/cookbook/classification.rst:12 msgid "add training data from external sources and on-the-fly selection." -msgstr "ajouter des données d'entrainement à partir de sources externes et de sélection à la volée." +msgstr "" +"ajouter des données d'entrainement à partir de sources externes et de " +"sélection à la volée." #: ../../source/cookbook/classification.rst:14 -msgid "In combination with other tools of SEPAL, the **Classification** recipe can help you provide accurate land-use maps, without writing a single line of code." +msgid "" +"In combination with other tools of SEPAL, the **Classification** recipe " +"can help you provide accurate land-use maps, without writing a single " +"line of code." msgstr "" #: ../../source/cookbook/classification.rst:17 @@ -55,24 +64,45 @@ msgid "Start" msgstr "Commencer" #: ../../source/cookbook/classification.rst:19 -msgid "Once the **Classification** recipe is selected, SEPAL will show the recipe process in a new tab (see **1** in figure below); the **Image selection** window will appear in the lower right (**2**)." +msgid "" +"Once the **Classification** recipe is selected, SEPAL will show the " +"recipe process in a new tab (see **1** in figure below); the **Image " +"selection** window will appear in the lower right (**2**)." msgstr "" #: ../../source/cookbook/classification.rst:25 -msgid "The first step is to change the name of the recipe. This name will be used to identify your files and recipes in SEPAL folders. Use the best-suited convention for your needs. Simply double-click the tab and enter a new name. It will default to :code:`Classification_`." -msgstr "La première étape est de changer le nom de la recette. Ce nom sera utilisé pour identifier vos fichiers et recettes dans les dossiers SEPAL. Utilisez la convention la mieux adaptée à vos besoins. Double-cliquez simplement sur l'onglet et entrez un nouveau nom. Il sera par défaut à :code:`Classification_`." +msgid "" +"The first step is to change the name of the recipe. This name will be " +"used to identify your files and recipes in SEPAL folders. Use the best-" +"suited convention for your needs. Simply double-click the tab and enter a" +" new name. It will default to :code:`Classification_`." +msgstr "" +"La première étape est de changer le nom de la recette. Ce nom sera " +"utilisé pour identifier vos fichiers et recettes dans les dossiers SEPAL." +" Utilisez la convention la mieux adaptée à vos besoins. Double-cliquez " +"simplement sur l'onglet et entrez un nouveau nom. Il sera par défaut à " +":code:`Classification_`." #: ../../source/cookbook/classification.rst:37 -msgid "The SEPAL team recommends using the following naming convention: :code:`__`." -msgstr "L'équipe SEPAL recommande d'utiliser la convention suivante : :code:`__`." +msgid "" +"The SEPAL team recommends using the following naming convention: " +":code:`__`." +msgstr "" +"L'équipe SEPAL recommande d'utiliser la convention suivante : " +":code:`__`." #: ../../source/cookbook/classification.rst:40 msgid "Parameters" msgstr "Paramètres" #: ../../source/cookbook/classification.rst:42 -msgid "In the lower-right corner, the following five tabs are available, allowing you to customize the time series to your needs:" -msgstr "Dans le coin inférieur droit, les cinq onglets suivants sont disponibles, vous permettant de personnaliser la série temporelle selon vos besoins:" +#, fuzzy +msgid "" +"In the lower-right corner, the following five tabs are available, " +"allowing you to customize the classification to your needs:" +msgstr "" +"Dans le coin inférieur droit, les cinq onglets suivants sont disponibles," +" vous permettant de personnaliser la série temporelle selon vos besoins:" #: ../../source/cookbook/classification.rst:44 msgid ":guilabel:`IMG`: image to classify" @@ -99,19 +129,34 @@ msgid "Image selection" msgstr "Sélection de l'image" #: ../../source/cookbook/classification.rst:57 -msgid "The first step consists of selecting the image bands on which to apply the classifier. The number of selected bands (i.e. images) is not limited." -msgstr "La première étape consiste à sélectionner les bandes d'images sur lesquelles appliquer le classificateur. Le nombre de bandes sélectionnées (c'est-à-dire les images) n'est pas limité." +msgid "" +"The first step consists of selecting the image bands on which to apply " +"the classifier. The number of selected bands (i.e. images) is not " +"limited." +msgstr "" +"La première étape consiste à sélectionner les bandes d'images sur " +"lesquelles appliquer le classificateur. Le nombre de bandes sélectionnées" +" (c'est-à-dire les images) n'est pas limité." #: ../../source/cookbook/classification.rst:61 -msgid "Keep in mind that increasing the number of bands to analyse will improve the model but slow down the rendering of the final image." -msgstr "Gardez à l'esprit que l'augmentation du nombre de bandes à analyser améliorera le modèle mais ralentira le rendu de l'image finale." +msgid "" +"Keep in mind that increasing the number of bands to analyse will improve " +"the model but slow down the rendering of the final image." +msgstr "" +"Gardez à l'esprit que l'augmentation du nombre de bandes à analyser " +"améliorera le modèle mais ralentira le rendu de l'image finale." #: ../../source/cookbook/classification.rst:65 -msgid "If multiple images are selected, all selected images should overlap. If masked pixels are found in one of the bands, the classifier will mask them." +msgid "" +"If multiple images are selected, all selected images should overlap. If " +"masked pixels are found in one of the bands, the classifier will mask " +"them." msgstr "" #: ../../source/cookbook/classification.rst:67 -msgid "Select :btn:` Add`. The following screen should be displayed:" +msgid "" +"Select :btn:` Add`. The following screen should be " +"displayed:" msgstr "" #: ../../source/cookbook/classification.rst:74 @@ -119,11 +164,21 @@ msgid "Image type" msgstr "Type d'image" #: ../../source/cookbook/classification.rst:76 -msgid "Users can select images coming from an **Existing recipe** or an exported **GEE asset** (see advantages and disadvantages below). Both should be an :code:`ee.Image`, rather than a :code:`Time series` or :code:`ee.ImageCollection`." -msgstr "Les utilisateurs peuvent sélectionner des images provenant d'une **recette existante** ou d'un **asset GEE** exporté (voir avantages et inconvénients ci-dessous). Les deux devraient être un :code:`ee.Image`, plutôt qu'une :code:`série temporelle` ou :code:`ee.ImageCollection`." +#, fuzzy +msgid "" +"Users can select images coming from a **Saved SEPAL recipe** or an " +"exported **Earth Engine asset** (see advantages and disadvantages below)." +" Both should be an :code:`ee.Image`, rather than a :code:`Time series` or" +" :code:`ee.ImageCollection`." +msgstr "" +"Les utilisateurs peuvent sélectionner des images provenant d'une " +"**recette existante** ou d'un **asset GEE** exporté (voir avantages et " +"inconvénients ci-dessous). Les deux devraient être un :code:`ee.Image`, " +"plutôt qu'une :code:`série temporelle` ou :code:`ee.ImageCollection`." #: ../../source/cookbook/classification.rst:78 -msgid "**Existing recipe**:" +#, fuzzy +msgid "**Saved SEPAL recipe**:" msgstr "**Recette existante**:" #: ../../source/cookbook/classification.rst:80 @@ -136,7 +191,9 @@ msgid "all of the computed bands from SEPAL can be used; and" msgstr "" #: ../../source/cookbook/classification.rst:83 -msgid "any modification to the existing recipe will be propagated in the final classification." +msgid "" +"any modification to the existing recipe will be propagated in the final " +"classification." msgstr "" #: ../../source/cookbook/classification.rst:85 @@ -145,11 +202,15 @@ msgid "Disadvantages:" msgstr "Inconvénients :" #: ../../source/cookbook/classification.rst:87 -msgid "the initial recipe will be computed at each rendering step, slowing down the classification process and potentially breaking on-the-fly rendering due to GEE timeout errors." +msgid "" +"the initial recipe will be computed at each rendering step, slowing down " +"the classification process and potentially breaking on-the-fly rendering " +"due to GEE timeout errors." msgstr "" #: ../../source/cookbook/classification.rst:89 -msgid "**GEE asset**:" +#, fuzzy +msgid "**Earth Engine asset**:" msgstr "**Asset GEE**:" #: ../../source/cookbook/classification.rst:93 @@ -177,19 +238,34 @@ msgid "Select bands" msgstr "Sélectionnez des bandes" #: ../../source/cookbook/classification.rst:108 -msgid "For this example, we will use a public asset created with the **Optical mosaic** tool from SEPAL. It's a Sentinel-2 mosaic of Eastern Province in Zambia during the dry season from 2012 to 2020. Multiple bands are available." +msgid "" +"For this example, we will use a public asset created with the **Optical " +"mosaic** tool from SEPAL. It's a Sentinel-2 mosaic of Eastern Province in" +" Zambia during the dry season from 2012 to 2021. Multiple bands are " +"available." msgstr "" #: ../../source/cookbook/classification.rst:110 -msgid "Use the following asset name if you want to reproduce our workflow: :code:`projects/sepal-cookbook/assets/classification/zmb-eastern_2012_2021`" -msgstr "Utilisez le nom d'actif suivant si vous voulez reproduire notre flux de travail: :code:`projects/sepal-cookbook/assets/classification/zmb-eastern_2012_2021`" +msgid "" +"Use the following asset name if you want to reproduce our workflow: " +":code:`projects/sepal-cookbook/assets/classification/zmb-" +"eastern_2012_2021`" +msgstr "" +"Utilisez le nom d'actif suivant si vous voulez reproduire notre flux de " +"travail: :code:`projects/sepal-cookbook/assets/classification/zmb-" +"eastern_2012_2021`" #: ../../source/cookbook/classification.rst:113 msgid "Image bands" msgstr "Bandes spectrales" #: ../../source/cookbook/classification.rst:115 -msgid "Once an asset has been selected, SEPAL will load its bands in the interface. You can use any band that is native to the image as input for the classification process. Simply click on the band name to select them. The selected bands are summarized in the expansion panel title (**1**) and displayed in gold in the pane content (**2**)." +msgid "" +"Once an asset has been selected, SEPAL will load its bands in the " +"interface. You can use any band that is native to the image as input for " +"the classification. Open the :guilabel:`Select bands...` dropdown and " +"click a band name to add it (the highlighted option). Each selected band " +"then appears as a removable chip in the **Image bands** panel." msgstr "" #: ../../source/cookbook/classification.rst:117 @@ -205,7 +281,8 @@ msgid ":code:`nir`" msgstr ":code:`nir`" #: ../../source/cookbook/classification.rst:121 -msgid ":code:`swir`" +#, fuzzy +msgid ":code:`swir1`" msgstr ":code:`swir`" #: ../../source/cookbook/classification.rst:122 @@ -217,39 +294,62 @@ msgid "Derived bands" msgstr "Bandes dérivées" #: ../../source/cookbook/classification.rst:131 -msgid "The analysis is not limited to natively available bands. SEPAL can also build additional derived bands on-the-fly." -msgstr "L'analyse ne se limite pas à des bandes natives disponibles ; SEPAL peut également construire des bandes dérivées supplémentaires à la volée." +msgid "" +"The analysis is not limited to natively available bands. SEPAL can also " +"build additional derived bands on-the-fly." +msgstr "" +"L'analyse ne se limite pas à des bandes natives disponibles ; SEPAL peut " +"également construire des bandes dérivées supplémentaires à la volée." #: ../../source/cookbook/classification.rst:133 -msgid "Select :btn:` Derived bands` at the bottom of the pop-up window and select the deriving method. This will add a a new panel to the expansion panel with the selected method name (**1**). The selected method will be applied to the selected bands." +msgid "" +"Select :btn:` Derived bands` at the bottom of the pop-" +"up window and select the deriving method. This adds a new panel named " +"after the selected method (e.g. **Normalized difference**). The method " +"will be applied to the bands you add to that panel." msgstr "" #: ../../source/cookbook/classification.rst:137 -msgid "If more than two bands are selected, the operation will be applied to the Cartesian product of the bands. If you select bands :math:`A`, :math:`B` and :math:`C`, and apply the :code:`Difference` derived bands, you'll add three bands to your analysis:" -msgstr "Si plus de deux bandes sont sélectionnées, l'opération sera appliquée au produit cartésien des bandes. Si vous sélectionnez des bandes :math:`A`, :math:`B` et :math:`C`, et appliquez les bandes dérivées de :code:`Différence`, vous ajouterez trois bandes à votre analyse :" +#, fuzzy +msgid "" +"If you select two bands, :math:`A` and :math:`B`, and apply the " +"**Normalized difference** derived band, you'll add one band to your " +"analysis:" +msgstr "" +"Si plus de deux bandes sont sélectionnées, l'opération sera appliquée au " +"produit cartésien des bandes. Si vous sélectionnez des bandes :math:`A`, " +":math:`B` et :math:`C`, et appliquez les bandes dérivées de " +":code:`Différence`, vous ajouterez trois bandes à votre analyse :" #: ../../source/cookbook/classification.rst:139 -msgid ":math:`A - B`" +#, fuzzy +msgid ":math:`(A - B) / (A + B)`" msgstr ":math:`A - B`" -#: ../../source/cookbook/classification.rst:140 -msgid ":math:`A - C`" -msgstr ":math:`A - C`" - #: ../../source/cookbook/classification.rst:141 -msgid ":math:`B - C`" -msgstr ":math:`B - C`" +msgid "Selecting more than two bands applies the operation to each pair of them." +msgstr "" #: ../../source/cookbook/classification.rst:149 -msgid "You should notice that in the figure, we compute the normalized difference between :code:`nir` and :code:`red` (i.e. the NDVI). It is also pre-computed in the :code:`Indexes` derived bands." +msgid "" +"You should notice that in the figure, we compute the normalized " +"difference between :code:`nir` and :code:`red` (i.e. the NDVI). It is " +"also pre-computed in the :code:`Indexes` derived bands." msgstr "" #: ../../source/cookbook/classification.rst:151 -msgid "Once image selection is complete, select :btn:` Apply` and the pop-up window will close. The images and bands will be displayed in the :guilabel:`IMG` panel in the lower-right corner of the screen. By selecting the :btn:`` button, you will remove the image and its band from the analysis altogether." +msgid "" +"Once image selection is complete, select :btn:` Apply`" +" and the pop-up window will close. The images and bands will be displayed" +" in the :guilabel:`IMG` panel in the lower-right corner of the screen. By" +" selecting the :btn:`` button, you will remove the " +"image and its bands from the analysis altogether." msgstr "" #: ../../source/cookbook/classification.rst:157 -msgid "From there, select :btn:` Next` to continue to the next step." +msgid "" +"From there, select :btn:` Next` to continue to" +" the next step." msgstr "" #: ../../source/cookbook/classification.rst:160 @@ -257,20 +357,37 @@ msgid "Legend setup" msgstr "Configuration de la légende" #: ../../source/cookbook/classification.rst:162 -msgid "In this step, the user will specify the legend that should be used in the output classified image. Any categorical classification that associates integer value to a class name will work. SEPAL provides multiple ways to create and customize a legend." -msgstr "Dans cette étape, l'utilisateur spécifiera la légende qui doit être utilisée dans l'image de sortie classifiée. Toute classification catégorielle qui associe une valeur entière à un nom de classe fonctionnera. SEPAL fournit plusieurs façons de créer et de personnaliser une légende." +msgid "" +"In this step, the user will specify the legend that should be used in the" +" output classified image. Any categorical classification that associates " +"integer value to a class name will work. SEPAL provides multiple ways to " +"create and customize a legend." +msgstr "" +"Dans cette étape, l'utilisateur spécifiera la légende qui doit être " +"utilisée dans l'image de sortie classifiée. Toute classification " +"catégorielle qui associe une valeur entière à un nom de classe " +"fonctionnera. SEPAL fournit plusieurs façons de créer et de personnaliser" +" une légende." #: ../../source/cookbook/classification.rst:170 -msgid "Legends created here are fully compatible with other functionalities of SEPAL, including applications." -msgstr "Les légendes créées ici sont entièrement compatibles avec d'autres fonctionnalités de SEPAL, y compris les applications." +msgid "" +"Legends created here are fully compatible with other functionalities of " +"SEPAL, including applications." +msgstr "" +"Les légendes créées ici sont entièrement compatibles avec d'autres " +"fonctionnalités de SEPAL, y compris les applications." #: ../../source/cookbook/classification.rst:173 msgid "Manual legend" msgstr "Légende manuelle" #: ../../source/cookbook/classification.rst:175 -msgid "The first and most natural way of building a legend is to do it from scratch." -msgstr "La première et la plus naturelle façon de construire une légende est de le faire à partir de zéro." +msgid "" +"The first and most natural way of building a legend is to do it from " +"scratch." +msgstr "" +"La première et la plus naturelle façon de construire une légende est de " +"le faire à partir de zéro." #: ../../source/cookbook/classification.rst:177 msgid "Select :btn:` Add` to add a new class to your legend." @@ -281,27 +398,48 @@ msgid "A class is defined by three key elements:" msgstr "Une classe est définie par trois éléments clés :" #: ../../source/cookbook/classification.rst:181 -msgid "Color (1): Select the small color square to open the color selector and choose any color (color[s] must be unique)." -msgstr "Couleur (1) : Sélectionnez le petit carré de couleur pour ouvrir le sélecteur de couleur et choisissez n'importe quelle couleur (la couleur doit être unique)." +msgid "" +"Color (1): Select the small color square to open the color selector and " +"choose any color (color[s] must be unique)." +msgstr "" +"Couleur (1) : Sélectionnez le petit carré de couleur pour ouvrir le " +"sélecteur de couleur et choisissez n'importe quelle couleur (la couleur " +"doit être unique)." #: ../../source/cookbook/classification.rst:182 msgid "Value (2): Select any integer value (value must be unique)." -msgstr "Valeur (2): Sélectionnez n'importe quelle valeur entière (la valeur doit être unique)." +msgstr "" +"Valeur (2): Sélectionnez n'importe quelle valeur entière (la valeur doit " +"être unique)." #: ../../source/cookbook/classification.rst:183 msgid "Class (3): Insert a class description (cannot be empty)." msgstr "Classe (3): Insérer une description de classe (ne peut pas être vide)." #: ../../source/cookbook/classification.rst:185 -msgid "Select the :btn:` Add` button again to add an extra class line. The :btn:`` button can be used to remove a specific line." +msgid "" +"Select the :btn:` Add` button again to add an extra " +"class line. The :btn:`` button can be used to remove a" +" specific line." msgstr "" #: ../../source/cookbook/classification.rst:189 -msgid "Select :btn:`HEX` (4) to display the hexadecimal value of the selected color. It can also be used to insert a known color palette by utilizing its values." -msgstr "Sélectionnez :btn:`HEX` (4) pour afficher la valeur hexadécimale de la couleur sélectionnée. Il peut également être utilisé pour insérer une palette de couleurs connue en utilisant ses valeurs." +msgid "" +"Select :btn:`HEX` (4) to display the hexadecimal value of the selected " +"color. It can also be used to insert a known color palette by utilizing " +"its values." +msgstr "" +"Sélectionnez :btn:`HEX` (4) pour afficher la valeur hexadécimale de la " +"couleur sélectionnée. Il peut également être utilisé pour insérer une " +"palette de couleurs connue en utilisant ses valeurs." #: ../../source/cookbook/classification.rst:191 -msgid "If multiple classes are created and you are not sure which one to use, you can apply colors to them by selecting a preselected color-map (5). They are provided by the `GEE community `__ and will be applied to every existing class in your panel." +msgid "" +"If multiple classes are created and you are not sure which one to use, " +"you can apply colors to them by selecting a preselected color-map (5). " +"They are provided by the `GEE community `__ and will be applied to every existing class in your " +"panel." msgstr "" #: ../../source/cookbook/classification.rst:198 @@ -309,11 +447,20 @@ msgid "Import legend" msgstr "Importer une légende" #: ../../source/cookbook/classification.rst:200 -msgid "If you already have a file describing your legend, you can use it, rather than identifying every legend item individually. Your legend needs to be saved in .csv format and contain the following information:" -msgstr "Si vous avez déjà un fichier décrivant votre légende, vous pouvez l'utiliser plutôt que d'identifier chaque élément de légende individuellement. Votre légende doit être enregistrée au format .csv et contenir les informations suivantes :" +msgid "" +"If you already have a file describing your legend, you can use it, rather" +" than identifying every legend item individually. Your legend needs to be" +" saved in .csv format and contain the following information:" +msgstr "" +"Si vous avez déjà un fichier décrivant votre légende, vous pouvez " +"l'utiliser plutôt que d'identifier chaque élément de légende " +"individuellement. Votre légende doit être enregistrée au format .csv et " +"contenir les informations suivantes :" #: ../../source/cookbook/classification.rst:202 -msgid "color (stored as a hexadecimal value [e.g. #FFFF00] or in three columns [red, blue, green]);" +msgid "" +"color (stored as a hexadecimal value [e.g. #FFFF00] or in three columns " +"[red, blue, green]);" msgstr "" #: ../../source/cookbook/classification.rst:203 @@ -325,27 +472,49 @@ msgid "class (stored as a string)." msgstr "classe (stocké sous forme de chaine de caractères)." #: ../../source/cookbook/classification.rst:208 -msgid "The column names will help SEPAL predict information, but are not compulsory." +msgid "" +"The column names will help SEPAL predict information, but are not " +"compulsory." msgstr "" #: ../../source/cookbook/classification.rst:210 -msgid "For example, a .csv file containing the following information is fully qualified to be used in SEPAL:" +msgid "" +"For example, a .csv file containing the following information is fully " +"qualified to be used in SEPAL:" msgstr "" #: ../../source/cookbook/classification.rst:227 -msgid "Alternatively, a file containing the following information – including RGB-defined colors – is also acceptable:" +msgid "" +"Alternatively, a file containing the following information – including " +"RGB-defined colors – is also acceptable:" msgstr "" #: ../../source/cookbook/classification.rst:244 -msgid "Once the fully qualified legend file has been prepared on your computer, select :btn:`` and then :code:`Import from CSV`, which will open a pop-up window where you can drag and drop the file or select it manually from your computer files." -msgstr "Une fois que le fichier de légende entièrement qualifié a été préparé sur votre ordinateur, sélectionnez :btn:`` et ensuite :code:`Importer à partir de CSV`, qui ouvrira une fenêtre pop-up où vous pouvez glisser-déposer le fichier ou le sélectionner manuellement à partir des fichiers de votre ordinateur." +#, fuzzy +msgid "" +"Once the fully qualified legend file has been prepared on your computer, " +"select :btn:`` and then :code:`Import from " +"CSV...`, which will open a pop-up window where you can drag and drop the " +"file or select it manually from your computer files." +msgstr "" +"Une fois que le fichier de légende entièrement qualifié a été préparé sur" +" votre ordinateur, sélectionnez :btn:`` et " +"ensuite :code:`Importer à partir de CSV`, qui ouvrira une fenêtre pop-up " +"où vous pouvez glisser-déposer le fichier ou le sélectionner manuellement" +" à partir des fichiers de votre ordinateur." #: ../../source/cookbook/classification.rst:246 -msgid "As shown in the following image, you can then select the columns that are defining your .csv file (select :btn:`Single column` for hexadecimal-defined colors and :btn:`Multiple columns` for RGB-defined colors)." +msgid "" +"As shown in the following image, you can then select the columns that are" +" defining your .csv file (select :btn:`Single column` for hexadecimal-" +"defined colors and :btn:`Multiple columns` for RGB-defined colors)." msgstr "" #: ../../source/cookbook/classification.rst:252 -msgid "Select :btn:` Apply` to validate your selection. The classes will be added to the legend panel and you'll be able to modify the legend using the parameters presented in the previous subsection." +msgid "" +"Select :btn:` Apply` to validate your selection. The " +"classes will be added to the legend panel and you'll be able to modify " +"the legend using the parameters presented in the previous subsection." msgstr "" #: ../../source/cookbook/classification.rst:258 @@ -353,7 +522,12 @@ msgid "Select :btn:` Done` to validate this step." msgstr "" #: ../../source/cookbook/classification.rst:260 -msgid "Every pane should be closed; the colors of the legend should now be displayed at the bottom of the map. No classification is performed, as we didn't provide any training data. Nevertheless, this step is the last mandatory step for setting parameters. Training data can be added using the on-the-fly training functionality." +msgid "" +"Every pane should be closed; the colors of the legend should now be " +"displayed at the bottom of the map. No classification is performed, as we" +" didn't provide any training data. Nevertheless, this step is the last " +"mandatory step for setting parameters. Training data can be added using " +"the on-the-fly training functionality." msgstr "" #: ../../source/cookbook/classification.rst:263 @@ -361,475 +535,930 @@ msgid "Export legend" msgstr "" #: ../../source/cookbook/classification.rst:265 -msgid "Once your legend is validated, select the :btn:`` and then :code:`Export as CSV`." +msgid "" +"Once your legend is validated, select the :btn:``" +" and then :code:`Export as CSV`." msgstr "" #: ../../source/cookbook/classification.rst:267 -msgid "A file will be downloaded to you computer named :code:`_legend.csv`, which will contain the legend information in the following format:" +msgid "" +"A file will be downloaded to your computer named " +":code:`_legend.csv`, which will contain the legend " +"information in the following format:" msgstr "" #: ../../source/cookbook/classification.rst:277 -msgid "Select training data" +msgid "Training data setup" msgstr "" -#: ../../source/cookbook/classification.rst:281 -msgid "This step is not mandatory." -msgstr "" - -#: ../../source/cookbook/classification.rst:283 +#: ../../source/cookbook/classification.rst:279 msgid "Two inputs are required to create the classification output:" msgstr "" -#: ../../source/cookbook/classification.rst:285 +#: ../../source/cookbook/classification.rst:281 msgid "pixel values (e.g. bands) to classify; and" msgstr "" -#: ../../source/cookbook/classification.rst:286 +#: ../../source/cookbook/classification.rst:282 msgid "training data to set up the classification model." msgstr "" -#: ../../source/cookbook/classification.rst:288 -msgid "This menu will help the user manage the training data of the model used. To open it, select :btn:`TRN` in the lower-right side of the window." +#: ../../source/cookbook/classification.rst:284 +msgid "" +"This menu will help the user manage the training data of the model used. " +"To open it, select :btn:`TRN` in the lower-right side of the window." msgstr "" -#: ../../source/cookbook/classification.rst:295 -msgid "Collected reference data" +#: ../../source/cookbook/classification.rst:291 +msgid "Import existing training data" msgstr "" -#: ../../source/cookbook/classification.rst:297 -msgid "Collected reference data are data selected on the fly by the user. The workflow will be explained later in the documentation." +#: ../../source/cookbook/classification.rst:293 +msgid "" +"Instead of collecting all data by hand, SEPAL provides numerous ways to " +"include already existing training data into your analysis. The data can " +"be from multiple formats and will be included in the model to improve the" +" quality of the final map." msgstr "" -#: ../../source/cookbook/classification.rst:299 -msgid "In this pane, this type of data can be managed by the user. The data appear as a pair, associating coordinates to a class value, which will be used to create training data in the classification model." +#: ../../source/cookbook/classification.rst:297 +msgid "" +"The imported files can use an extended version of the legend provided in " +"the previous step, but to avoid unexpected behaviour, at least one of the" +" classes of your legend and the provided training data need to match." msgstr "" #: ../../source/cookbook/classification.rst:301 -msgid "If you're satisfied with the current selection and you want to share the data with others, select :btn:`` and then :code:`Export reference data to csv`. A file will be created and sent to your computer, named :code:`_reference_data.csv`. It will embed all of the gathered point data using the following convention:" +msgid "" +"If the added training data are outside of the image to classify, they " +"will have no impact on the final result (with the exception of the SEPAL " +"recipe)." msgstr "" -#: ../../source/cookbook/classification.rst:309 -msgid "If you are not satisfied with the selected data, select :btn:`` and then :code:`Clear collected reference data` to remove all collected data from the analysis." +#: ../../source/cookbook/classification.rst:303 +msgid "" +"To add new data, select :btn:` Add` and choose the type" +" of data to import:" msgstr "" -#: ../../source/cookbook/classification.rst:313 -msgid "A confirmation pop-up window should prevent you from accidentally deleting everything." +#: ../../source/cookbook/classification.rst:310 +msgid "CSV" msgstr "" -#: ../../source/cookbook/classification.rst:316 -msgid "Existing training data" +#: ../../source/cookbook/classification.rst:312 +msgid "" +"By selecting :btn:`CSV file`, SEPAL will request a file from your " +"computer in :code:`.csv` format. The file needs to include two pieces of " +"information: geographic coordinates and class value." msgstr "" -#: ../../source/cookbook/classification.rst:318 -msgid "Instead of collecting all data by hand, SEPAL provides numerous ways to include already existing training data into your analysis. The data can be from multiple formats and will be included in the model to improve the quality of the final map." +#: ../../source/cookbook/classification.rst:314 +msgid "" +"This can be done using coordinates in :code:`EPSG:4326` latitude and " +"longitude, as well as a `GeoJSON `__ compatible " +"point object. The file can embed other multiple columns that will not be " +"considered during the analysis." msgstr "" -#: ../../source/cookbook/classification.rst:322 -msgid "The imported files can use an extended version of the legend provided in the previous step, but to avoid unexpected behaviour, at least one of the classes of your legend and the provided training data need to match." +#: ../../source/cookbook/classification.rst:316 +msgid "The following table is compatible with SEPAL:" msgstr "" -#: ../../source/cookbook/classification.rst:326 -msgid "If the added training data are outside of the image to classify, they will have no impact on the final result (with the exception of the SEPAL recipe)." +#: ../../source/cookbook/classification.rst:324 +msgid "" +"The columns used to define the X (longitude) and Y (latitude) coordinates" +" are manually set up in the pop-up window. Select :btn:` Next` once every column is filled." msgstr "" -#: ../../source/cookbook/classification.rst:328 -msgid "To add new data, select :btn:` Add` and choose the type of data to import:" +#: ../../source/cookbook/classification.rst:332 +msgid "" +"If your file contains a GeoJSON column instead of coordinates, select " +":btn:`GeoJSON column` to switch the interface to one column selection." msgstr "" -#: ../../source/cookbook/classification.rst:335 -msgid "CSV" +#: ../../source/cookbook/classification.rst:334 +msgid "" +"Now that you have set up the coordinates of your points, SEPAL will ask " +"how the class values (not the names) are stored, through the **Class " +"format** selector:" +msgstr "" + +#: ../../source/cookbook/classification.rst:336 +msgid "" +"**Single column**: all class values are held in a single column — select " +"that column from your file." msgstr "" #: ../../source/cookbook/classification.rst:337 -msgid "By selecting :btn:`csv file`, SEPAL will request a file from your computer in :code:`.csv` format. The file needs to include two pieces of information: geographic coordinates and class value." +msgid "**Column per class**: each class has its own column." msgstr "" -#: ../../source/cookbook/classification.rst:339 -msgid "This can be done using coordinates in :code:`EPSG:4326` latitude and longitude, as well as a `GeoJSON `__ compatible point object. The file can embed other multiple columns that will not be considered during the analysis." +#: ../../source/cookbook/classification.rst:338 +msgid "**Other format**: use this if your data has a different layout." msgstr "" -#: ../../source/cookbook/classification.rst:341 -msgid "The following table is compatible with SEPAL:" +#: ../../source/cookbook/classification.rst:342 +msgid "" +"Using the :code:`Row filter expression` field, you can keep only the rows" +" that meet a condition — a JavaScript-like expression, referencing your " +"columns by name, that evaluates to ``true`` for the rows to keep (leave " +"it empty to keep all). For example, :code:`class == 30` keeps only the " +"rows in class 30, and :code:`class == 10 || class == 20` keeps classes 10" +" and 20." msgstr "" -#: ../../source/cookbook/classification.rst:349 -msgid "The columns used to define the X (longitude) and Y (latitude) coordinates are manually set up in the pop-up window. Select :btn:` Next` once every column is filled." +#: ../../source/cookbook/classification.rst:348 +msgid "" +"Select :btn:` Next` to add the data to the " +"model. SEPAL will provide a summary of the classes in the legend of the " +"classification and the number of training points added by your file." +msgstr "" + +#: ../../source/cookbook/classification.rst:350 +msgid "" +"Selecting the :btn:` Done` button will complete the " +"uploading procedure." msgstr "" #: ../../source/cookbook/classification.rst:357 -msgid "If your file contains a GeoJSON column instead of coordinates, select :btn:`geojson column` to switch the interface to one column selection." +msgid "GEE table" msgstr "" #: ../../source/cookbook/classification.rst:359 -msgid "Now that you have set up the coordinates of your points, SEPAL will request the columns specifying the class value (not the name) in a second frame. Only the single column is supported so far. Select the column from your file that embeds the class values." +msgid "" +"By selecting :btn:`Earth Engine Table`, SEPAL will request a file from " +"your computer in :code:`.csv` format. The file needs to provide two " +"pieces of information: geographic coordinates and class value." msgstr "" -#: ../../source/cookbook/classification.rst:363 -msgid "Using the :code:`row filter expression` text field, one can filter out some lines of the table. Refer to the `features <#>`__ section to learn more." +#: ../../source/cookbook/classification.rst:361 +msgid "" +"The process is nearly the same as found in the documentation above " +"discussing .csv tables. The only difference should be the geometry " +"column, as GEE assets usually embed a :code:`.geojson` column by default." +" If this column exists, it will be autodetected by SEPAL." msgstr "" -#: ../../source/cookbook/classification.rst:369 -msgid "Select :btn:` next` to add the data to the model. SEPAL will provide a summary of the classes in the legend of the classification and the number of training points added by your file." +#: ../../source/cookbook/classification.rst:363 +msgid "" +"For the other steps, please reproduce what was presented in the .csv " +"section above." msgstr "" #: ../../source/cookbook/classification.rst:371 -msgid "Selecting the :btn:` Done` button will complete the uploading procedure." +msgid "" +"To build the documentation example, use this public asset: " +":code:`projects/sepal-" +"cookbook/assets/classification/zmb_eastern_esa_2012_2021_reference_data`." +msgstr "" + +#: ../../source/cookbook/classification.rst:374 +msgid "Sample classification" +msgstr "" + +#: ../../source/cookbook/classification.rst:376 +msgid "" +"Instead of providing dataset points, SEPAL can also extract reference " +"data from an already existing classification – which is a good way to " +"improve an already existing classification system using an image with a " +"better resolution." msgstr "" #: ../../source/cookbook/classification.rst:378 -msgid "GEE table" +msgid "" +"To sample data, SEPAL will randomly select a number of points in each " +"class and extract the class value using the provided resolution." msgstr "" #: ../../source/cookbook/classification.rst:380 -msgid "By selecting :btn:`Earth Engine Table`, SEPAL will request a file from your computer in :code:`.csv` format. The file needs to provide two pieces of information: geographic coordinates and class value." +msgid "" +"Start by selecting :btn:`Sample classification` in the opened pop-up " +"window, where all of the parameters can be set:" msgstr "" #: ../../source/cookbook/classification.rst:382 -msgid "The process is nearly the same as found in the documentation above discussing .csv tables. The only difference should be the geometry column, as GEE assets usually embed a :code:`.goejson` column by default. If this column exists, it will be autodetected by SEPAL." -msgstr "" - -#: ../../source/cookbook/classification.rst:384 -msgid "For the other steps, please reproduce what was presented in the .csv section above." +msgid "" +"**Samples per class**: the number of samples per class of the provided " +"image. The more samples you request, the more accurate the model will be " +"(if too many samples are selected, on-the-fly visualization will never " +"render). The default is :code:`100`, but you can pick other preset " +"values, such as the :code:`1000` used in this example." msgstr "" -#: ../../source/cookbook/classification.rst:392 -msgid "To build the documentation example, use this public asset: :code:`projects/sepal-cookbook/assets/classification/zmb_eastern_esa_2012_2021_reference_data`." +#: ../../source/cookbook/classification.rst:383 +msgid "" +"**Scale to sample in**: the scale used to create the sample in the " +"provided image (it should match the image to classify resolution; default" +" to: :code:`30 m`)." msgstr "" -#: ../../source/cookbook/classification.rst:395 -msgid "Sample classification" +#: ../../source/cookbook/classification.rst:384 +msgid "" +"**Image source**: choose whether to sample from an existing :guilabel:`EE" +" Asset` or a saved :guilabel:`Recipe`." msgstr "" -#: ../../source/cookbook/classification.rst:397 -msgid "Instead of providing dataset points, SEPAL can also extract reference data from an already existing classification – which is a good way to improve an already existing classification system using an image with a better resolution." +#: ../../source/cookbook/classification.rst:385 +msgid "" +"**EE asset ID of classification**: when :guilabel:`EE Asset` is selected," +" the ID of the classification to sample (it should be an :code:`ee.Image`" +" accessible to the user). When :guilabel:`Recipe` is selected instead, " +"choose one of your saved classification recipes to sample." msgstr "" -#: ../../source/cookbook/classification.rst:399 -msgid "To sample data, SEPAL will randomly select a number of points in each class and extract the class value using the provided resolution." +#: ../../source/cookbook/classification.rst:386 +msgid "" +"**Class band**: The class to use for classification value (the dropdown " +"menu will be filled with the bands found in the provided asset or " +"recipe)." msgstr "" -#: ../../source/cookbook/classification.rst:401 -msgid "Start by selecting btn:`Sample classification` in the opened pop-up window, where all of the the parameters can be set:" +#: ../../source/cookbook/classification.rst:394 +msgid "" +"When all of the parameters are selected, it can take time, as SEPAL " +"builds the sampling values on the fly. They will only be displayed once " +"the sampling is validated." msgstr "" -#: ../../source/cookbook/classification.rst:403 -msgid "**Sample per class**: the number of samples per class of the provided image. The more samples you request, the more accurate the model will be (if too many samples are selected, on-the-fly visualization will never render; default to: :code:`1000`)." +#: ../../source/cookbook/classification.rst:396 +msgid "" +"Select :btn:` Next` to display the sampling " +"summary. In this pane, SEPAL displays each class of the legend (as " +"defined in the previous subsection) and the number of samples created for" +" it." msgstr "" -#: ../../source/cookbook/classification.rst:404 -msgid "**Scale to sample in**: the scale used to create the sample in the provided image (it should match the image to classify resolution; default to: :code:`30 m`)." +#: ../../source/cookbook/classification.rst:398 +msgid "" +"Each class shows its sample count next to a green :btn:`` button — use it to change the number of samples for that class. By" +" default, SEPAL ignores the samples with a :code:`Null` value; select " +":btn:`Default` on any class so that these points end up in the default " +"class instead of being ignored." msgstr "" #: ../../source/cookbook/classification.rst:405 -msgid "**EE asset ID**: the ID of the classification to sample (it should be an :code:`ee.Image` accessible to the user)." +msgid "SEPAL recipe" msgstr "" -#: ../../source/cookbook/classification.rst:406 -msgid "**Class band**: The class to use for classification value (the dropdown menu will be filled with the bands found in the provided asset)." +#: ../../source/cookbook/classification.rst:407 +msgid "" +"SEPAL is also able to directly apply a model built in another recipe as " +"training data. In this case, we are not importing the points, but all of " +"the model from the external recipe. It will not add points to the map. " +"It's useful when the same classification needs to be applied on the same " +"area for multiple years. The classification work can be carried out only " +"in the first year and then applied recursively on all the others." msgstr "" -#: ../../source/cookbook/classification.rst:410 -msgid "To reproduce this example, use the following asset as an image to sample: :code:`projects/sepal-cookbook/assets/classification/zmb_copernicus_landcover`." +#: ../../source/cookbook/classification.rst:409 +msgid "" +"Select :btn:`Saved SEPAL recipe` to open the pop-up window. In the " +"dropdown menu, select one of the recipes saved in your SEPAL account." msgstr "" -#: ../../source/cookbook/classification.rst:418 -msgid "When all of the parameters are selected, it can take time, as SEPAL builds the sampling values on the fly. They will only be displayed once the sampling is validated." +#: ../../source/cookbook/classification.rst:413 +msgid "" +"The imported recipe needs to be a **Classification** recipe. If none are " +"found, the dropdown menu will be empty." msgstr "" -#: ../../source/cookbook/classification.rst:420 -msgid "Select :btn:` Next` to display the sampling summary. In this pane, SEPAL displays each class of the legend (as defined in the previous subsection) and the number of samples created for it." +#: ../../source/cookbook/classification.rst:415 +msgid "This recipe cannot come from another SEPAL account." msgstr "" #: ../../source/cookbook/classification.rst:422 -msgid "Select the :btn:`` buttons (**1**) to change the number of samples in a specific class. By default, SEPAL ignores the samples with a :code:`Null` value. One can select :btn:`Default` (**2**) for any of the classes so that these points end up in the default class instead of being ignored." +msgid "Collect Earth Online" +msgstr "" + +#: ../../source/cookbook/classification.rst:427 +msgid "" +"SEPAL can import training data you have collected in a `Collect Earth " +"Online `__ (CEO) project directly, without " +"exporting and re-uploading a file. Select :btn:`Collect Earth Online` to " +"open the panel." msgstr "" #: ../../source/cookbook/classification.rst:429 -msgid "SEPAL recipe" +msgid "**Connect to your CEO account**" msgstr "" #: ../../source/cookbook/classification.rst:431 -msgid "SEPAL is also able to directly apply a model built in another recipe as training data. In this case, we are not importing the points, but all of the model from the external recipe. It will not add points to the map. It's useful when the same classification needs to be applied on the same area for multiple years. The classification work can be carried out only in the first year and then applied recursively on all the others." +msgid "The panel starts as :ceo-disconnected:`Disconnected from CEO`." msgstr "" #: ../../source/cookbook/classification.rst:433 -msgid "Select :btn:`Saved SEPAL recipe` to open the pop-up window. In the dropdown menu, select one of the recipes saved in your SEPAL account." +msgid "" +"Select :btn:`Connect` to open the **Collect Earth Online Authentication**" +" window, enter your :code:`CEO Email` and :code:`CEO Password`, and " +"select :btn:`Connect` again." msgstr "" #: ../../source/cookbook/classification.rst:437 -msgid "The imported recipe needs to be a **Classification** recipe. If none are found, the dropdown menu will be empty." +msgid "" +"Your credentials are never stored on SEPAL servers. When your SEPAL " +"session ends, the CEO connection is terminated automatically. You can " +"also select :btn:`Disconnect` at any time to end it manually." msgstr "" #: ../../source/cookbook/classification.rst:439 -msgid "This recipe cannot come from another SEPAL account." +msgid "**Select the institution and project**" msgstr "" -#: ../../source/cookbook/classification.rst:446 -msgid "Use auxiliary datasets" +#: ../../source/cookbook/classification.rst:441 +msgid "Once connected (:ceo-connected:`You are connected to CEO`), fill in:" +msgstr "" + +#: ../../source/cookbook/classification.rst:443 +msgid "" +"**Institution**: the CEO institution to pull data from. Only institutions" +" where you are both a **member** and an **admin** are listed." msgstr "" -#: ../../source/cookbook/classification.rst:448 -msgid "Some information that could be useful to the classification model is not always included in your image bands. A common example is **Elevation**. In order to improve the quality of the classification, SEPAL can provide some extra datasets to add auxiliary bands to the classification model." +#: ../../source/cookbook/classification.rst:444 +msgid "" +"**Project**: the project within that institution whose collected data you" +" want to use." msgstr "" -#: ../../source/cookbook/classification.rst:450 -msgid "Select :btn:`AUX` to open the **Auxiliaries** tab. Three sources are currently implemented in the platform (any number of them can be selected):" +#: ../../source/cookbook/classification.rst:445 +msgid "" +"**Data type**: whether to import the project's :guilabel:`Plot` " +"(aggregated plot) data or its :guilabel:`Sample` data." msgstr "" -#: ../../source/cookbook/classification.rst:452 -msgid "**Latitude**: On-the-fly latitude dataset built from the coordinates of each pixel's center." +#: ../../source/cookbook/classification.rst:451 +msgid "" +"SEPAL then loads the collected data, ready to be mapped to your legend in" +" the next two steps." msgstr "" #: ../../source/cookbook/classification.rst:453 -msgid "**Terrain**: From the `NASA SRTM Digital Elevation 30 m `__ dataset, SEPAL will use the :code:`Elevation`, :code:`Slope` and :code:`Aspect` bands. It will also add an :code:`Eastness` and :code:`Northness` band derived from :code:`Aspect`." +msgid "**Set the location**" +msgstr "" + +#: ../../source/cookbook/classification.rst:455 +msgid "" +"SEPAL reads the point locations from the data and pre-fills the " +"**Location type** (:guilabel:`X/Y coordinate columns` or " +":guilabel:`GeoJSON column`) together with the matching coordinate " +"columns. These are detected automatically from the CEO data, so you can " +"usually confirm them as they are." +msgstr "" + +#: ../../source/cookbook/classification.rst:457 +msgid "**Set the class format**" msgstr "" -#: ../../source/cookbook/classification.rst:454 -msgid "**Water**: From the `JRC Global Surface Water Mapping Layers, v1.3 `__ dataset, SEPAL will add the following bands: :code:`occurrence`, :code:`change_abs`, :code:`change_norm`, :code:`seasonality`, :code:`max_extent`, :code:`water_occurrence`, :code:`water_change_abs`, :code:`water_change_norm`, :code:`water_seasonality` and :code:`water_max_extent`." +#: ../../source/cookbook/classification.rst:459 +msgid "" +"Tell SEPAL how the class values are stored in the CEO data, through the " +"**Class format** selector:" msgstr "" #: ../../source/cookbook/classification.rst:461 -msgid "Classifier configuration" +msgid "**Single column**: all class values are held in a single column." msgstr "" -#: ../../source/cookbook/classification.rst:465 -msgid "Customizing the classifier is a section designed for advanced users. Make sure that you thoroughly understand how the classifier you're using works before changing its parameters." +#: ../../source/cookbook/classification.rst:462 +msgid "" +"**Column per class**: each class has its own column. CEO data is mostly " +"organized this way." msgstr "" -#: ../../source/cookbook/classification.rst:469 -msgid "The default value is a **Random Forest** classifier using 25 trees." +#: ../../source/cookbook/classification.rst:463 +msgid "**Other format**: use this if your reference data has a different layout." msgstr "" -#: ../../source/cookbook/classification.rst:471 -msgid "The **Classification** tool used in SEPAL is based on the `Smile - Statistical Machine Intelligence and Learning Engine Javascript `__ library (refer to their documentation for specific descriptions of each model)." +#: ../../source/cookbook/classification.rst:465 +msgid "" +"SEPAL pre-selects the format based on the chosen data type, but you can " +"change it." msgstr "" -#: ../../source/cookbook/classification.rst:473 -msgid "Select :btn:`CLS` to open the **Classification parameter** menu. SEPAL supports seven classifiers:" +#: ../../source/cookbook/classification.rst:467 +msgid "" +"Select :btn:` Next` to reach the class " +"summary, which lists each legend class. For every class, select the :btn" +":`` button to choose the column that corresponds to it," +" then select :btn:` Done` to add the reference data to" +" the model." msgstr "" -#: ../../source/cookbook/classification.rst:475 -msgid "random forest" +#: ../../source/cookbook/classification.rst:474 +msgid "Manage collected reference data" msgstr "" #: ../../source/cookbook/classification.rst:476 -msgid "gradient tree boost" +msgid "" +"Collected reference data are the points you add directly on the map with " +"the on-the-fly training tool, described in the `On-the-fly training`_ " +"section. Each point pairs a set of coordinates with a class value. Select" +" the :btn:`` button — to the right of the :btn" +":` Add` button in the :btn:`TRN` tab — to manage them:" msgstr "" -#: ../../source/cookbook/classification.rst:477 -msgid "cart" +#: ../../source/cookbook/classification.rst:478 +msgid "" +"**Export reference data to CSV**: download a " +":code:`_reference_data.csv` file to share your points with " +"others. It will embed all of the gathered point data using the following " +"convention:" msgstr "" -#: ../../source/cookbook/classification.rst:478 -msgid "naive bayes" +#: ../../source/cookbook/classification.rst:486 +msgid "" +"**Clear collected reference data**: remove every collected point from the" +" analysis." +msgstr "" + +#: ../../source/cookbook/classification.rst:490 +msgid "A confirmation pop-up prevents you from accidentally deleting everything." +msgstr "" + +#: ../../source/cookbook/classification.rst:493 +msgid "Use auxiliary datasets" msgstr "" -#: ../../source/cookbook/classification.rst:479 +#: ../../source/cookbook/classification.rst:495 +msgid "" +"Some information that could be useful to the classification model is not " +"always included in your image bands. A common example is **Elevation**. " +"In order to improve the quality of the classification, SEPAL can provide " +"some extra datasets to add auxiliary bands to the classification model." +msgstr "" + +#: ../../source/cookbook/classification.rst:497 +msgid "" +"Select :btn:`AUX` to open the **Auxiliaries** tab. Three sources are " +"currently implemented in the platform (any number of them can be " +"selected):" +msgstr "" + +#: ../../source/cookbook/classification.rst:499 +msgid "" +"**Latitude**: On-the-fly latitude dataset built from the coordinates of " +"each pixel's center." +msgstr "" + +#: ../../source/cookbook/classification.rst:500 +msgid "" +"**Terrain**: From the `NASA SRTM Digital Elevation 30 m " +"`__ dataset, SEPAL will use the " +":code:`Elevation`, :code:`Slope` and :code:`Aspect` bands. It will also " +"add an :code:`Eastness` and :code:`Northness` band derived from " +":code:`Aspect`." +msgstr "" + +#: ../../source/cookbook/classification.rst:501 +msgid "" +"**Water**: From the `JRC Global Surface Water Mapping Layers, v1.3 " +"`__ dataset, SEPAL " +"will add the following bands: :code:`occurrence`, :code:`change_abs`, " +":code:`change_norm`, :code:`seasonality`, :code:`max_extent`, " +":code:`water_occurrence`, :code:`water_change_abs`, " +":code:`water_change_norm`, :code:`water_seasonality` and " +":code:`water_max_extent`." +msgstr "" + +#: ../../source/cookbook/classification.rst:508 +msgid "Classifier configuration" +msgstr "" + +#: ../../source/cookbook/classification.rst:512 +msgid "" +"Customizing the classifier is a section designed for advanced users. Make" +" sure that you thoroughly understand how the classifier you're using " +"works before changing its parameters." +msgstr "" + +#: ../../source/cookbook/classification.rst:516 +msgid "The default value is a **Random Forest** classifier using 25 trees." +msgstr "" + +#: ../../source/cookbook/classification.rst:518 +msgid "" +"The **Classification** tool used in SEPAL is based on the `Smile - " +"Statistical Machine Intelligence and Learning Engine Javascript " +"`__ library (refer to " +"their documentation for specific descriptions of each model)." +msgstr "" + +#: ../../source/cookbook/classification.rst:520 +msgid "" +"Select :btn:`CLS` to open the **Classification parameter** menu. SEPAL " +"supports seven classifiers:" +msgstr "" + +#: ../../source/cookbook/classification.rst:522 +msgid "Random Forest" +msgstr "" + +#: ../../source/cookbook/classification.rst:523 +msgid "Gradient tree boost" +msgstr "" + +#: ../../source/cookbook/classification.rst:524 +#, fuzzy +msgid "Cart" +msgstr "Commencer" + +#: ../../source/cookbook/classification.rst:525 +msgid "Naive bayes" +msgstr "" + +#: ../../source/cookbook/classification.rst:526 msgid "SVM" msgstr "" -#: ../../source/cookbook/classification.rst:480 -msgid "min distance" +#: ../../source/cookbook/classification.rst:527 +msgid "Min distance" msgstr "" -#: ../../source/cookbook/classification.rst:481 -msgid "decision tree" +#: ../../source/cookbook/classification.rst:528 +msgid "Decision tree" msgstr "" -#: ../../source/cookbook/classification.rst:483 +#: ../../source/cookbook/classification.rst:530 msgid "For each of them, the workflow is the same:" msgstr "" -#: ../../source/cookbook/classification.rst:485 -msgid "Select the classifier by clicking on the corresponding name. SEPAL will display some of the parameters available." +#: ../../source/cookbook/classification.rst:532 +msgid "" +"Select the classifier by clicking on the corresponding name. SEPAL will " +"display some of the parameters available." msgstr "" -#: ../../source/cookbook/classification.rst:486 -msgid "Select :btn:`More` on the lower-left side of the panel to fully customize your classifier. The classification results will be updated on the fly." +#: ../../source/cookbook/classification.rst:533 +msgid "" +"Select :btn:`More` on the lower-left side of the panel to fully customize" +" your classifier. The classification results will be updated on the fly." msgstr "" -#: ../../source/cookbook/classification.rst:499 -msgid "On-the-fly training" -msgstr "" +#: ../../source/cookbook/classification.rst:546 +#, fuzzy +msgid "Refine the classification" +msgstr "Classification" -#: ../../source/cookbook/classification.rst:503 -msgid "This process requires a good understanding of the **Visualization** feature of SEPAL (refer to the `feature <#>`__ section for more information)." +#: ../../source/cookbook/classification.rst:550 +msgid "" +"This process requires a good understanding of the **Visualization** " +"feature of SEPAL (see :doc:`../feature/visualization` for more " +"information)." msgstr "" -#: ../../source/cookbook/classification.rst:505 -msgid "Once all of the parameters are set, the user is free to add extra training data in the web interface and the new points will be added to the final model, improving the quality of the classification." +#: ../../source/cookbook/classification.rst:552 +msgid "" +"Once all of the parameters are set, you can refine the classification " +"directly on the map: set up the view, add or edit training points on the " +"fly, and check the model's confidence." msgstr "" -#: ../../source/cookbook/classification.rst:508 +#: ../../source/cookbook/classification.rst:555 msgid "Set up the view" msgstr "" -#: ../../source/cookbook/classification.rst:510 -msgid "In order to improve the classification, one must set up the view to display all of the information. While these guidelines could be modified and extended, they are still useful as an introductory resource." +#: ../../source/cookbook/classification.rst:557 +msgid "" +"In order to improve the classification, one must set up the view to " +"display all of the information; you choose what the map shows from the " +"**Layers** panel. Select the :btn:`` layers-to-" +"show icon in the top-right of the screen to open the panel, then:" msgstr "" -#: ../../source/cookbook/classification.rst:512 +#: ../../source/cookbook/classification.rst:559 +msgid "" +"Pick a layout mode — :guilabel:`Grid` to split the map into several panes" +" side by side, or :guilabel:`Stack` to overlay the layers in a single " +"pane." +msgstr "" + +#: ../../source/cookbook/classification.rst:560 +msgid "" +"Drag and drop each layer onto a position (centre, a side, or a corner) to" +" choose where it appears; drag it between positions to rearrange it, or " +"off the areas to remove it." +msgstr "" + +#: ../../source/cookbook/classification.rst:561 +msgid "" +"If the layer you need is not already in the panel, select :btn:` Add` to add a source: **Add a SEPAL recipe**, **Add an Earth " +"Engine asset**, or **Add a Planet account**." +msgstr "" + +#: ../../source/cookbook/classification.rst:567 +msgid "" +"With your layers arranged, the map displays them together so you can " +"compare them while adding training data." +msgstr "" + +#: ../../source/cookbook/classification.rst:569 msgid "In the following image, we displayed:" msgstr "" -#: ../../source/cookbook/classification.rst:514 +#: ../../source/cookbook/classification.rst:571 msgid "The current recipe (**1**) using the class colors in categorical mode." msgstr "" -#: ../../source/cookbook/classification.rst:515 -msgid "The current image (what you are classifying) (**2**) using the NIR,RED,SWIR band combination." +#: ../../source/cookbook/classification.rst:572 +msgid "" +"The current image (what you are classifying) (**2**) using the " +"NIR,RED,SWIR1 band combination." msgstr "" -#: ../../source/cookbook/classification.rst:516 +#: ../../source/cookbook/classification.rst:573 msgid "The extra visual dataset NICFI Planet Lab data (**3**) from 2021." msgstr "" -#: ../../source/cookbook/classification.rst:518 -msgid "The number (4) indicates a cluster of existing training points. Zoom in and they will be displayed as markers using the color of the class they mark (**5**)." +#: ../../source/cookbook/classification.rst:575 +msgid "" +"The number (4) indicates a cluster of existing training points. Zoom in " +"and they will be displayed as markers using the color of the class they " +"mark (**5**)." msgstr "" -#: ../../source/cookbook/classification.rst:522 -msgid "This initial classification has been set using sampled data. Since they are sampled from a larger image, some are out of the image. They will have no impact on the classification as they are applied to masked pixels (**6**)." +#: ../../source/cookbook/classification.rst:583 +msgid "" +"This initial classification has been set using sampled data. Since they " +"are sampled from a larger image, some are out of the image. They will " +"have no impact on the classification as they are applied to masked pixels" +" (**6**)." msgstr "" -#: ../../source/cookbook/classification.rst:530 +#: ../../source/cookbook/classification.rst:587 +msgid "On-the-fly training" +msgstr "" + +#: ../../source/cookbook/classification.rst:589 +msgid "" +"You are free to add extra training data in the web interface; each new " +"point is added to the final model, improving the quality of the " +"classification." +msgstr "" + +#: ../../source/cookbook/classification.rst:592 msgid "Select points" msgstr "" -#: ../../source/cookbook/classification.rst:532 -msgid "To start adding points, open the training interface by selecting :btn:`` in the upper right of the screen (**1**). Once selected, the background color becomes darker and the pointer of the mouse becomes a :icon:`fa-solid fa-plus`." +#: ../../source/cookbook/classification.rst:594 +msgid "" +"To start adding points, open the training interface by selecting :btn" +":`` in the upper right of the screen (**1**). " +"Once selected, the background color becomes darker and the pointer of the" +" mouse becomes a :icon:`fa-solid fa-plus`." msgstr "" -#: ../../source/cookbook/classification.rst:534 +#: ../../source/cookbook/classification.rst:596 msgid "The process to add new training data is as follows:" msgstr "" -#: ../../source/cookbook/classification.rst:536 -msgid "**Click on the map to select a point**: You can click in any of the panes (not restricted to the **Recipe** pane), but to be useful, the point needs to be within the border of the AOI. If it's not already the case, the **Class selection** panel will appear in the upper right of the window (**2**)." +#: ../../source/cookbook/classification.rst:598 +msgid "" +"**Click on the map to select a point**: You can click in any of the panes" +" (not restricted to the **Recipe** pane), but to be useful, the point " +"needs to be within the border of the AOI. If it's not already the case, " +"the **Class selection** panel will appear in the upper right of the " +"window (**2**)." msgstr "" -#: ../../source/cookbook/classification.rst:537 -msgid "**Select the class value**: The previous class value is preselected, but you can change it to any other class value from the defined legend. The legend is displayed as :code:` ()`." +#: ../../source/cookbook/classification.rst:599 +msgid "" +"**Select the class value**: The previous class value is preselected, but " +"you can change it to any other class value from the defined legend. The " +"legend is displayed as :code:` ()`." msgstr "" -#: ../../source/cookbook/classification.rst:539 -msgid "You can now click elsewhere on the map to add another point. If you are satisfied with the classification, select :btn:` Close` (3) and select :btn:`` again to stop editing the points. Every time a new point is added, the **Classification** map is recomputed and rendered on the left side." +#: ../../source/cookbook/classification.rst:601 +msgid "" +"You can now click elsewhere on the map to add another point. If you are " +"satisfied with the classification, select :btn:` " +"Close` (3) and select :btn:`` again to stop " +"editing the points. Every time a new point is added, the " +"**Classification** map is recomputed and rendered on the left side." msgstr "" -#: ../../source/cookbook/classification.rst:546 +#: ../../source/cookbook/classification.rst:608 msgid "Modify existing points" msgstr "" -#: ../../source/cookbook/classification.rst:548 -msgid "To modify existing points, select the :btn:`` to open the **Point editing** interface. Then:" +#: ../../source/cookbook/classification.rst:610 +msgid "" +"To modify existing points, select the :btn:`` " +"to open the **Point editing** interface. Then:" msgstr "" -#: ../../source/cookbook/classification.rst:550 -msgid "**Select a point**: To select a point, click on an existing marker. It will appear bolder than the others. If it's not already the case, the **Class selection** pane will appear in the upper right." +#: ../../source/cookbook/classification.rst:612 +msgid "" +"**Select a point**: To select a point, click on an existing marker. It " +"will appear bolder than the others. If it's not already the case, the " +"**Class selection** pane will appear in the upper right." msgstr "" -#: ../../source/cookbook/classification.rst:551 -msgid "**Change the class value**: The point class will be selected in the **Editing** menu with a :icon:`fa-solid fa-check`. Select any other class value to change it." +#: ../../source/cookbook/classification.rst:613 +msgid "" +"**Change the class value**: The point class will be selected in the " +"**Editing** menu with a :icon:`fa-solid fa-check`. Select any other class" +" value to change it." msgstr "" -#: ../../source/cookbook/classification.rst:554 +#: ../../source/cookbook/classification.rst:616 msgid "Check the validity" msgstr "" -#: ../../source/cookbook/classification.rst:556 -msgid "SEPAL embeds information to help the user understand if the amount of training data is sufficient to produce an accurate classification model. In the **Recipe** window, change the **Band combination** to :code:`Class probability`." +#: ../../source/cookbook/classification.rst:618 +msgid "" +"SEPAL embeds information to help the user understand if the amount of " +"training data is sufficient to produce an accurate classification model. " +"In the **Recipe** window, select the :btn:`` button at " +"the bottom centre of the map to open the layer's options, then change the" +" **Bands** selector to :code:`Class probability`." msgstr "" -#: ../../source/cookbook/classification.rst:558 -msgid "The user now sees the probability of the model (i.e. the confidence level of the level with output class for each pixel)." +#: ../../source/cookbook/classification.rst:620 +msgid "" +"The user now sees the probability of the model (i.e. the confidence level" +" of the output class for each pixel)." msgstr "" -#: ../../source/cookbook/classification.rst:560 -msgid "If the value is high (> 80 percent), then the pixel can be considered valid; if the value is low (< 80 percent), the model needs more training data or extra bands to improve the analysis." +#: ../../source/cookbook/classification.rst:622 +msgid "" +"If the value is high (> 80 percent), then the pixel can be considered " +"valid; if the value is low (< 80 percent), the model needs more training " +"data or extra bands to improve the analysis." msgstr "" -#: ../../source/cookbook/classification.rst:562 -msgid "In the example image, the lake is classified as a **permanent water body** with a confidence of 65 percent, which is higher than the rest of the vegetation around it." +#: ../../source/cookbook/classification.rst:624 +msgid "" +"In the example image, the lake is classified as a **permanent water " +"body** with a confidence of 65 percent, which is higher than the rest of " +"the vegetation around it." msgstr "" -#: ../../source/cookbook/classification.rst:568 -msgid "This analysis can also be conducted class-by-class using the built-in :code:` %` bands. Select the one corresponding to the class you want to assess (see the following image) and you'll get the percentage of confidence for each pixel to be in the sub-mentioned class." +#: ../../source/cookbook/classification.rst:630 +msgid "" +"This analysis can also be conducted class-by-class using the built-in " +":code:` %` bands. Select the one corresponding to the class " +"you want to assess (see the following image) and you'll get the " +"percentage of confidence for each pixel to be in the sub-mentioned class." msgstr "" -#: ../../source/cookbook/classification.rst:575 +#: ../../source/cookbook/classification.rst:637 msgid "Export" msgstr "Exporter" -#: ../../source/cookbook/classification.rst:579 -msgid "You cannot export a recipe as an asset or a :code:`.tiff` file without a small computation quota. If you are a new user, see :doc:`../setup/resource`." +#: ../../source/cookbook/classification.rst:641 +msgid "" +"You cannot export a recipe as an asset or a :code:`.tif` file without a " +"small computation quota. If you are a new user, see " +":doc:`../setup/resource`." msgstr "" -#: ../../source/cookbook/classification.rst:582 +#: ../../source/cookbook/classification.rst:644 msgid "Start download" msgstr "" -#: ../../source/cookbook/classification.rst:584 -msgid "Selecting the :icon:`fa-solid fa-cloud-arrow-down` tab will open the **Retrieve** pane, where you can select the exportation parameters (**1**)." +#: ../../source/cookbook/classification.rst:646 +msgid "" +"Selecting the :icon:`fa-solid fa-cloud-arrow-down` tab will open the " +"**Retrieve** pane where you can select the exportation parameters." msgstr "" -#: ../../source/cookbook/classification.rst:586 -msgid "You need to select the band to export (**2**). There is no maximum number of bands; however, exporting useless bands will only increase the size and time of the output." +#: ../../source/cookbook/classification.rst:653 +#, fuzzy +msgid "Bands" +msgstr "Bandes spectrales" + +#: ../../source/cookbook/classification.rst:655 +msgid "" +"You need to select the band(s) to export. There is no maximum number of " +"bands, but exporting useless bands will only increase the size and time " +"of the output. The available bands include the classified Class band, the" +" Class probability band, and the per-class confidence " +"(:code:` %`) bands." msgstr "" -#: ../../source/cookbook/classification.rst:588 -msgid "You can set a custom scale for exportation (**3**) by changing the value of the slider in metres (m). (Note: Requesting a smaller resolution than images' native resolution will not improve the quality of the output – just its size; keep in mind that the native resolution of Sentinel data is 10 m, while Landsat is 30 m.)" +#: ../../source/cookbook/classification.rst:658 +msgid "Scale" msgstr "" -#: ../../source/cookbook/classification.rst:590 -msgid "You can export the image to the :btn:`SEPAL workspace` or to the :btn:`Google Earth Engine Asset` list. The same image will be exported, but for the former, you will find it in :code:`.tif` format in the :code:`Downloads` folder; for the latter, the image will be exported to your **GEE account asset list**." +#: ../../source/cookbook/classification.rst:660 +msgid "" +"You can set a custom scale for exportation by selecting a value in metres" +" (m) (note that requesting a smaller resolution than the images' native " +"resolution will not improve the quality of the output – just its size – " +"keep in mind that the native resolution of Sentinel data is 10 m, while " +"Landsat is 30 m)." msgstr "" -#: ../../source/cookbook/classification.rst:594 -msgid "If :btn:`Google Earth Engine Asset` is not displayed, your GEE account is not connected to SEPAL. Refer to `Connect SEPAL to GEE <../setup/gee.html>`__." +#: ../../source/cookbook/classification.rst:663 +msgid "Destination" msgstr "" -#: ../../source/cookbook/classification.rst:596 -msgid "Select :btn:` Apply` to start the download process." +#: ../../source/cookbook/classification.rst:665 +msgid "Choose a single destination for the export:" +msgstr "" + +#: ../../source/cookbook/classification.rst:667 +msgid "" +":guilabel:`SEPAL workspace`: the image is written to your SEPAL files in " +":code:`.tif` format (by default in the :code:`Downloads` folder)." +msgstr "" + +#: ../../source/cookbook/classification.rst:668 +msgid "" +":guilabel:`Google Earth Engine asset`: the image is exported to your GEE " +"account as an asset. You can export it either as a single " +":guilabel:`Image` or as an :guilabel:`Image collection` (tiled, which is " +"better suited to large exports), and set its sharing to " +":guilabel:`Private` or :guilabel:`Public`." msgstr "" -#: ../../source/cookbook/classification.rst:603 +#: ../../source/cookbook/classification.rst:669 +msgid "" +":guilabel:`Google Drive`: the image is exported to the Google Drive of " +"the connected Google account." +msgstr "" + +#: ../../source/cookbook/classification.rst:673 +msgid "" +"The :guilabel:`Google Earth Engine asset` and :guilabel:`Google Drive` " +"destinations are only displayed when a Google account is connected to " +"SEPAL. If they are missing, please refer to `Connect SEPAL to GEE " +"<../setup/gee.html>`__." +msgstr "" + +#: ../../source/cookbook/classification.rst:675 +msgid "Select :guilabel:`Retrieve` to start the export process." +msgstr "" + +#: ../../source/cookbook/classification.rst:678 msgid "Exportation status" msgstr "État d'exportation" -#: ../../source/cookbook/classification.rst:605 -msgid "By going to the **Tasks** tab (in the lower-left corner using the :btn:`` or :btn:`` buttons, depending on the loading status), you will see the list of different loading tasks." +#: ../../source/cookbook/classification.rst:680 +msgid "" +"By going to the **Tasks** tab (in the lower-left corner using the :btn" +":`` or :btn:`` buttons, " +"depending on the loading status), you will see the list of different " +"loading tasks." msgstr "" -#: ../../source/cookbook/classification.rst:607 -msgid "The interface will provide you with information about the task progress and display an error if the exportation has failed. If you are unsatisfied with the way we present information, the task can also be monitored using the `GEE task manager `__." +#: ../../source/cookbook/classification.rst:682 +msgid "" +"The interface will provide you with information about the task progress " +"and display an error if the exportation has failed. If you are " +"unsatisfied with the way we present information, the task can also be " +"monitored using the `GEE task manager " +"`__." msgstr "" -#: ../../source/cookbook/classification.rst:611 -msgid "This operation is running between GEE and SEPAL servers in the background. You can close the SEPAL page without ending the process." +#: ../../source/cookbook/classification.rst:686 +msgid "" +"This operation is running between GEE and SEPAL servers in the " +"background. You can close the SEPAL page without ending the process." msgstr "" -#: ../../source/cookbook/classification.rst:613 -msgid "When the task is finished, the frame will be displayed in green, as shown in the second image below." +#: ../../source/cookbook/classification.rst:688 +msgid "" +"When the task is finished, the frame will be displayed in green, as shown" +" in the second image below." msgstr "" -#: ../../source/cookbook/classification.rst:626 +#: ../../source/cookbook/classification.rst:701 msgid "Access" msgstr "" -#: ../../source/cookbook/classification.rst:628 -msgid "Once the download process is done, you can access the data in your **SEPAL folders**. The data will be stored in the :code:`Downloads` folder using the following format:" +#: ../../source/cookbook/classification.rst:703 +msgid "" +"Once the download process is done, you can access the data in your " +"**SEPAL folders**. The data will be stored in the :code:`Downloads` " +"folder using the following format:" msgstr "" -#: ../../source/cookbook/classification.rst:643 -msgid "Understanding how images are stored in an optical mosaic is only required if you want to manually use them. The SEPAL applications are bound to this tiling system and can digest this information for you." +#: ../../source/cookbook/classification.rst:718 +msgid "" +"Understanding how images are stored in an optical mosaic is only required" +" if you want to manually use them. The SEPAL applications are bound to " +"this tiling system and can digest this information for you." msgstr "" -#: ../../source/cookbook/classification.rst:645 -msgid "The data are stored in a folder using the name of the optical mosaic as it was created in the first section of this article. As the data are spatially too big to be exported at once, they are divided into smaller pieces and brought back together in a :code:`_.vrt` file." +#: ../../source/cookbook/classification.rst:720 +msgid "" +"The data are stored in a folder using the name of the optical mosaic as " +"it was created in the first section of this article. As the data are " +"spatially too big to be exported at once, they are divided into smaller " +"pieces and brought back together in a :code:`_.vrt`" +" file." msgstr "" -#: ../../source/cookbook/classification.rst:649 -msgid "The full folder with a consistent tree folder is required to read the `.vrt`." +#: ../../source/cookbook/classification.rst:724 +msgid "" +"The full folder with a consistent tree folder is required to read the " +"`.vrt`." msgstr "" #~ msgid "" @@ -2394,3 +3023,392 @@ msgstr "" #~ "file." #~ msgstr "" +#~ msgid "" +#~ "With this recipe, SEPAL helps users " +#~ "build supervised classifications of any " +#~ "mosaic image. It is built on top" +#~ " of the most advanced tools available" +#~ " on Google Earth Engine (GEE) – " +#~ "including the classifiers CART, RandomForest," +#~ " NaiveBayes and SVM – allowing users" +#~ " to create an easy-to-use user" +#~ " interface to:" +#~ msgstr "" + +#~ msgid "" +#~ "For this example, we will use a" +#~ " public asset created with the " +#~ "**Optical mosaic** tool from SEPAL. It's" +#~ " a Sentinel-2 mosaic of Eastern " +#~ "Province in Zambia during the dry " +#~ "season from 2012 to 2020. Multiple " +#~ "bands are available." +#~ msgstr "" + +#~ msgid "" +#~ "Once an asset has been selected, " +#~ "SEPAL will load its bands in the" +#~ " interface. You can use any band " +#~ "that is native to the image as " +#~ "input for the classification process. " +#~ "Simply click on the band name to" +#~ " select them. The selected bands are" +#~ " summarized in the expansion panel " +#~ "title (**1**) and displayed in gold " +#~ "in the pane content (**2**)." +#~ msgstr "" + +#~ msgid "" +#~ "Select :btn:` Derived" +#~ " bands` at the bottom of the " +#~ "pop-up window and select the deriving" +#~ " method. This will add a a new" +#~ " panel to the expansion panel with" +#~ " the selected method name (**1**). " +#~ "The selected method will be applied " +#~ "to the selected bands." +#~ msgstr "" + +#~ msgid ":math:`A - C`" +#~ msgstr ":math:`A - C`" + +#~ msgid ":math:`B - C`" +#~ msgstr ":math:`B - C`" + +#~ msgid "" +#~ "Once image selection is complete, select" +#~ " :btn:` Apply` and" +#~ " the pop-up window will close. " +#~ "The images and bands will be " +#~ "displayed in the :guilabel:`IMG` panel " +#~ "in the lower-right corner of the" +#~ " screen. By selecting the :btn:`` button, you will " +#~ "remove the image and its band from" +#~ " the analysis altogether." +#~ msgstr "" + +#~ msgid "" +#~ "A file will be downloaded to you" +#~ " computer named :code:`_legend.csv`, " +#~ "which will contain the legend " +#~ "information in the following format:" +#~ msgstr "" + +#~ msgid "Select training data" +#~ msgstr "" + +#~ msgid "This step is not mandatory." +#~ msgstr "" + +#~ msgid "Collected reference data" +#~ msgstr "" + +#~ msgid "" +#~ "Collected reference data are data " +#~ "selected on the fly by the user." +#~ " The workflow will be explained later" +#~ " in the documentation." +#~ msgstr "" + +#~ msgid "" +#~ "In this pane, this type of data" +#~ " can be managed by the user. " +#~ "The data appear as a pair, " +#~ "associating coordinates to a class " +#~ "value, which will be used to " +#~ "create training data in the " +#~ "classification model." +#~ msgstr "" + +#~ msgid "" +#~ "If you're satisfied with the current " +#~ "selection and you want to share " +#~ "the data with others, select :btn" +#~ ":`` and then" +#~ " :code:`Export reference data to csv`. " +#~ "A file will be created and sent" +#~ " to your computer, named " +#~ ":code:`_reference_data.csv`. It will " +#~ "embed all of the gathered point " +#~ "data using the following convention:" +#~ msgstr "" + +#~ msgid "" +#~ "If you are not satisfied with the" +#~ " selected data, select :btn:`` and then :code:`Clear" +#~ " collected reference data` to remove " +#~ "all collected data from the analysis." +#~ msgstr "" + +#~ msgid "" +#~ "A confirmation pop-up window should " +#~ "prevent you from accidentally deleting " +#~ "everything." +#~ msgstr "" + +#~ msgid "Existing training data" +#~ msgstr "" + +#~ msgid "" +#~ "By selecting :btn:`csv file`, SEPAL will" +#~ " request a file from your computer" +#~ " in :code:`.csv` format. The file " +#~ "needs to include two pieces of " +#~ "information: geographic coordinates and class" +#~ " value." +#~ msgstr "" + +#~ msgid "" +#~ "If your file contains a GeoJSON " +#~ "column instead of coordinates, select " +#~ ":btn:`geojson column` to switch the " +#~ "interface to one column selection." +#~ msgstr "" + +#~ msgid "" +#~ "Now that you have set up the " +#~ "coordinates of your points, SEPAL will" +#~ " request the columns specifying the " +#~ "class value (not the name) in a" +#~ " second frame. Only the single column" +#~ " is supported so far. Select the " +#~ "column from your file that embeds " +#~ "the class values." +#~ msgstr "" + +#~ msgid "" +#~ "Using the :code:`row filter expression` " +#~ "text field, one can filter out " +#~ "some lines of the table. Refer to" +#~ " the `features <#>`__ section to " +#~ "learn more." +#~ msgstr "" + +#~ msgid "" +#~ "Select :btn:`" +#~ " next` to add the data to the" +#~ " model. SEPAL will provide a summary" +#~ " of the classes in the legend " +#~ "of the classification and the number " +#~ "of training points added by your " +#~ "file." +#~ msgstr "" + +#~ msgid "" +#~ "The process is nearly the same as" +#~ " found in the documentation above " +#~ "discussing .csv tables. The only " +#~ "difference should be the geometry " +#~ "column, as GEE assets usually embed " +#~ "a :code:`.goejson` column by default. If" +#~ " this column exists, it will be " +#~ "autodetected by SEPAL." +#~ msgstr "" + +#~ msgid "" +#~ "Start by selecting btn:`Sample classification`" +#~ " in the opened pop-up window, " +#~ "where all of the the parameters " +#~ "can be set:" +#~ msgstr "" + +#~ msgid "" +#~ "**Sample per class**: the number of " +#~ "samples per class of the provided " +#~ "image. The more samples you request, " +#~ "the more accurate the model will " +#~ "be (if too many samples are " +#~ "selected, on-the-fly visualization will" +#~ " never render; default to: :code:`1000`)." +#~ msgstr "" + +#~ msgid "" +#~ "**EE asset ID**: the ID of the " +#~ "classification to sample (it should be" +#~ " an :code:`ee.Image` accessible to the " +#~ "user)." +#~ msgstr "" + +#~ msgid "" +#~ "**Class band**: The class to use " +#~ "for classification value (the dropdown " +#~ "menu will be filled with the bands" +#~ " found in the provided asset)." +#~ msgstr "" + +#~ msgid "" +#~ "To reproduce this example, use the " +#~ "following asset as an image to " +#~ "sample: :code:`projects/sepal-" +#~ "cookbook/assets/classification/zmb_copernicus_landcover`." +#~ msgstr "" + +#~ msgid "" +#~ "Select the :btn:`` " +#~ "buttons (**1**) to change the number " +#~ "of samples in a specific class. By" +#~ " default, SEPAL ignores the samples " +#~ "with a :code:`Null` value. One can " +#~ "select :btn:`Default` (**2**) for any of" +#~ " the classes so that these points " +#~ "end up in the default class " +#~ "instead of being ignored." +#~ msgstr "" + +#~ msgid "random forest" +#~ msgstr "" + +#~ msgid "gradient tree boost" +#~ msgstr "" + +#~ msgid "cart" +#~ msgstr "" + +#~ msgid "naive bayes" +#~ msgstr "" + +#~ msgid "min distance" +#~ msgstr "" + +#~ msgid "decision tree" +#~ msgstr "" + +#~ msgid "" +#~ "This process requires a good " +#~ "understanding of the **Visualization** feature" +#~ " of SEPAL (refer to the `feature " +#~ "<#>`__ section for more information)." +#~ msgstr "" + +#~ msgid "" +#~ "Once all of the parameters are " +#~ "set, the user is free to add " +#~ "extra training data in the web " +#~ "interface and the new points will " +#~ "be added to the final model, " +#~ "improving the quality of the " +#~ "classification." +#~ msgstr "" + +#~ msgid "" +#~ "In order to improve the classification," +#~ " one must set up the view to" +#~ " display all of the information. " +#~ "While these guidelines could be modified" +#~ " and extended, they are still useful" +#~ " as an introductory resource." +#~ msgstr "" + +#~ msgid "" +#~ "The current image (what you are " +#~ "classifying) (**2**) using the NIR,RED,SWIR" +#~ " band combination." +#~ msgstr "" + +#~ msgid "" +#~ "To start adding points, open the " +#~ "training interface by selecting :btn:`` in the " +#~ "upper right of the screen (**1**). " +#~ "Once selected, the background color " +#~ "becomes darker and the pointer of " +#~ "the mouse becomes a :icon:`fa-solid " +#~ "fa-plus`." +#~ msgstr "" + +#~ msgid "" +#~ "You can now click elsewhere on the" +#~ " map to add another point. If " +#~ "you are satisfied with the " +#~ "classification, select :btn:` Close` (3) and select :btn" +#~ ":`` again " +#~ "to stop editing the points. Every " +#~ "time a new point is added, the " +#~ "**Classification** map is recomputed and " +#~ "rendered on the left side." +#~ msgstr "" + +#~ msgid "" +#~ "To modify existing points, select the" +#~ " :btn:`` to" +#~ " open the **Point editing** interface. " +#~ "Then:" +#~ msgstr "" + +#~ msgid "" +#~ "SEPAL embeds information to help the " +#~ "user understand if the amount of " +#~ "training data is sufficient to produce" +#~ " an accurate classification model. In " +#~ "the **Recipe** window, change the **Band" +#~ " combination** to :code:`Class probability`." +#~ msgstr "" + +#~ msgid "" +#~ "The user now sees the probability " +#~ "of the model (i.e. the confidence " +#~ "level of the level with output " +#~ "class for each pixel)." +#~ msgstr "" + +#~ msgid "" +#~ "You cannot export a recipe as an" +#~ " asset or a :code:`.tiff` file " +#~ "without a small computation quota. If" +#~ " you are a new user, see " +#~ ":doc:`../setup/resource`." +#~ msgstr "" + +#~ msgid "" +#~ "Selecting the :icon:`fa-solid fa-" +#~ "cloud-arrow-down` tab will open the" +#~ " **Retrieve** pane, where you can " +#~ "select the exportation parameters (**1**)." +#~ msgstr "" + +#~ msgid "" +#~ "You need to select the band to " +#~ "export (**2**). There is no maximum " +#~ "number of bands; however, exporting " +#~ "useless bands will only increase the " +#~ "size and time of the output." +#~ msgstr "" + +#~ msgid "" +#~ "You can set a custom scale for " +#~ "exportation (**3**) by changing the " +#~ "value of the slider in metres (m)." +#~ " (Note: Requesting a smaller resolution " +#~ "than images' native resolution will not" +#~ " improve the quality of the output" +#~ " – just its size; keep in mind" +#~ " that the native resolution of " +#~ "Sentinel data is 10 m, while " +#~ "Landsat is 30 m.)" +#~ msgstr "" + +#~ msgid "" +#~ "You can export the image to the" +#~ " :btn:`SEPAL workspace` or to the " +#~ ":btn:`Google Earth Engine Asset` list. " +#~ "The same image will be exported, " +#~ "but for the former, you will find" +#~ " it in :code:`.tif` format in the " +#~ ":code:`Downloads` folder; for the latter, " +#~ "the image will be exported to your" +#~ " **GEE account asset list**." +#~ msgstr "" + +#~ msgid "" +#~ "If :btn:`Google Earth Engine Asset` is" +#~ " not displayed, your GEE account is" +#~ " not connected to SEPAL. Refer to " +#~ "`Connect SEPAL to GEE <../setup/gee.html>`__." +#~ msgstr "" + +#~ msgid "Select :btn:` Apply` to start the download process." +#~ msgstr "" + diff --git a/docs/source/_locale/fr/LC_MESSAGES/cookbook/optical_mosaic.po b/docs/source/_locale/fr/LC_MESSAGES/cookbook/optical_mosaic.po index 37cdf481f7..8617d97318 100644 --- a/docs/source/_locale/fr/LC_MESSAGES/cookbook/optical_mosaic.po +++ b/docs/source/_locale/fr/LC_MESSAGES/cookbook/optical_mosaic.po @@ -1,22 +1,18 @@ + msgid "" msgstr "" -"Project-Id-Version: sepal-doc\n" +"Project-Id-Version: sepal-doc\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-03-07 09:39+0100\n" -"PO-Revision-Date: 2024-03-07 08:53\n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: 2024-03-07 08:53+0000\n" "Last-Translator: \n" +"Language: fr_FR\n" "Language-Team: French\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.14.0\n" -"Plural-Forms: nplurals=2; plural=(n > 1);\n" -"X-Crowdin-Project: sepal-doc\n" -"X-Crowdin-Project-ID: 562097\n" -"X-Crowdin-Language: fr\n" -"X-Crowdin-File: /main/docs/source/_locale/en/LC_MESSAGES/cookbook/optical_mosaic.po\n" -"X-Crowdin-File-ID: 69\n" -"Language: fr_FR\n" +"Generated-By: Babel 2.18.0\n" #: ../../source/cookbook/optical_mosaic.rst:2 msgid "Optical mosaics" @@ -31,20 +27,32 @@ msgid "Overview" msgstr "Aperçu" #: ../../source/cookbook/optical_mosaic.rst:8 -msgid "A mosaic is a combination or fusion of two or more images. In SEPAL, you can create a single raster dataset from several raster datasets by mosaicing them together. This can be achieved on both contiguous rasters (see first image below) and overlapping images (see second image below)." +msgid "" +"A mosaic is a combination or fusion of two or more images. In SEPAL, you " +"can create a single raster dataset from several raster datasets by " +"mosaicing them together. This can be achieved on both contiguous rasters " +"(see first image below) and overlapping images (see second image below)." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:21 -msgid "These overlay areas can be managed in various ways. For example, you can choose to:" -msgstr "Ces zones de superposition peuvent être gérées de différentes manières. Par exemple, vous pouvez choisir de:" +msgid "" +"These overlay areas can be managed in various ways. For example, you can " +"choose to:" +msgstr "" +"Ces zones de superposition peuvent être gérées de différentes manières. " +"Par exemple, vous pouvez choisir de:" #: ../../source/cookbook/optical_mosaic.rst:23 msgid "keep only the raster data from the first or last dataset;" -msgstr "ne conserve que les données matricielles du premier ou dernier jeu de données ;" +msgstr "" +"ne conserve que les données matricielles du premier ou dernier jeu de " +"données ;" #: ../../source/cookbook/optical_mosaic.rst:24 msgid "combine the values of the overlay cells using a weighting algorithm;" -msgstr "combiner les valeurs des cellules de superposition à l'aide d'un algorithme de pondération ;" +msgstr "" +"combiner les valeurs des cellules de superposition à l'aide d'un " +"algorithme de pondération ;" #: ../../source/cookbook/optical_mosaic.rst:25 msgid "average the values of the overlay cells; or" @@ -55,39 +63,75 @@ msgid "take the maximum or minimum value." msgstr "prend la valeur maximale ou minimale." #: ../../source/cookbook/optical_mosaic.rst:28 -msgid "In addition, certain corrections can be made to the image to account for clouds, snow and other factors; these operations are complex and repetitive." -msgstr "En outre, certaines corrections peuvent être apportées à l'image pour tenir compte des nuages, de la neige et d'autres facteurs; ces opérations sont complexes et répétitives." +msgid "" +"In addition, certain corrections can be made to the image to account for " +"clouds, snow and other factors; these operations are complex and " +"repetitive." +msgstr "" +"En outre, certaines corrections peuvent être apportées à l'image pour " +"tenir compte des nuages, de la neige et d'autres facteurs; ces opérations" +" sont complexes et répétitives." #: ../../source/cookbook/optical_mosaic.rst:30 -msgid "SEPAL offers you an interactive and intuitive way to create mosaics in any area of interest (AOI)." -msgstr "SEPAL vous offre un moyen interactif et intuitif de créer des mosaïques dans n'importe quel zone d'intérêt (AOI)." +msgid "" +"SEPAL offers you an interactive and intuitive way to create mosaics in " +"any area of interest (AOI)." +msgstr "" +"SEPAL vous offre un moyen interactif et intuitif de créer des mosaïques " +"dans n'importe quel zone d'intérêt (AOI)." #: ../../source/cookbook/optical_mosaic.rst:34 -msgid "You won't be able to retrieve the images if your SEPAL and Google Earth Engine (GEE) accounts are not connected. For more information, go to :doc:`../setup/gee`." -msgstr "Vous ne pourrez pas récupérer les images si vos comptes SEPAL et Google Earth Engine (GEE) ne sont pas connectés. Pour plus d'informations, allez dans :doc:`../setup/gee`." +msgid "" +"You won't be able to retrieve the images if your SEPAL and Google Earth " +"Engine (GEE) accounts are not connected. For more information, go to " +":doc:`../setup/gee`." +msgstr "" +"Vous ne pourrez pas récupérer les images si vos comptes SEPAL et Google " +"Earth Engine (GEE) ne sont pas connectés. Pour plus d'informations, allez" +" dans :doc:`../setup/gee`." #: ../../source/cookbook/optical_mosaic.rst:37 msgid "Start" msgstr "Début" #: ../../source/cookbook/optical_mosaic.rst:39 -msgid "Once the mosaic recipe is selected, SEPAL will display the recipe process in a new tab (see **1** in the image below) and the **AOI selection** window will appear in the lower right (**2**)." +msgid "" +"Once the mosaic recipe is selected, SEPAL will display the recipe process" +" in a new tab (see **1** in the image below) and the **AOI selection** " +"window will appear in the lower right (**2**)." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:45 -msgid "The first step is to change the name of the recipe. This name will be used to identify your files and recipes in SEPAL folders. Use the best-suited convention for your needs. Simply double-click the tab and write a new name. It will default to :code:`Optical_mosaic___`." -msgstr "La première étape est de changer le nom de la recette. Ce nom sera utilisé pour identifier vos fichiers et recettes dans les dossiers SEPAL. Utilisez la convention la mieux adaptée à vos besoins. Double-cliquez simplement sur l'onglet et écrivez un nouveau nom. Il sera par défaut à :code:`Optical_mosaic___`." +#, fuzzy +msgid "" +"The first step is to change the name of the recipe. This name will be " +"used to identify your files and recipes in SEPAL folders. Use the best-" +"suited convention for your needs. Simply double-click the tab and write a" +" new name. It defaults to " +":code:`Optical_mosaic___`." +msgstr "" +"La première étape est de changer le nom de la recette. Ce nom sera " +"utilisé pour identifier vos fichiers et recettes dans les dossiers SEPAL." +" Utilisez la convention la mieux adaptée à vos besoins. Double-cliquez " +"simplement sur l'onglet et écrivez un nouveau nom. Il sera par défaut à " +":code:`Optical_mosaic___`." #: ../../source/cookbook/optical_mosaic.rst:57 -msgid "The SEPAL team recommends using the following naming convention: :code:`__`." -msgstr "L'équipe SEPAL recommande d'utiliser la convention suivante : :code:`__`." +msgid "" +"The SEPAL team recommends using the following naming convention: " +":code:`__`." +msgstr "" +"L'équipe SEPAL recommande d'utiliser la convention suivante : :code:`__`." #: ../../source/cookbook/optical_mosaic.rst:60 msgid "Parameters" msgstr "Paramètres" #: ../../source/cookbook/optical_mosaic.rst:62 -msgid "In the lower-right corner, five tabs are available, which allow you to customize the mosaic creation to your needs:" +msgid "" +"In the lower-right corner, five tabs are available, which allow you to " +"customize the mosaic creation to your needs:" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:64 @@ -115,8 +159,12 @@ msgid "AOI selection" msgstr "Sélection de l'AOI" #: ../../source/cookbook/optical_mosaic.rst:77 -msgid "The data exported by the recipe will be generated from within the bounds of the AOI. There are multiple ways to select the AOI in SEPAL:" -msgstr "Les données exportées par la recette seront générées à partir des limites de l'AOI. Il y a plusieurs façons de sélectionner l'AOI dans SEPAL:" +msgid "" +"The data exported by the recipe will be generated from within the bounds " +"of the AOI. There are multiple ways to select the AOI in SEPAL:" +msgstr "" +"Les données exportées par la recette seront générées à partir des limites" +" de l'AOI. Il y a plusieurs façons de sélectionner l'AOI dans SEPAL:" #: ../../source/cookbook/optical_mosaic.rst:79 msgid "Administrative boundaries" @@ -131,8 +179,12 @@ msgid "Drawn polygons" msgstr "Polygones personnalisés" #: ../../source/cookbook/optical_mosaic.rst:83 -msgid "They are extensively described in our documentation. For more information, read :doc:`../feature/aoi_selector`." -msgstr "Ils sont décrits dans notre documentation. Pour plus d'informations, lisez :doc:`../feature/aoi_selector`." +msgid "" +"They are extensively described in our documentation. For more " +"information, read :doc:`../feature/aoi_selector`." +msgstr "" +"Ils sont décrits dans notre documentation. Pour plus d'informations, " +"lisez :doc:`../feature/aoi_selector`." #: ../../source/cookbook/optical_mosaic.rst:90 msgid "Date" @@ -143,7 +195,10 @@ msgid "Yearly mosaic" msgstr "Mosaïque annuelle" #: ../../source/cookbook/optical_mosaic.rst:95 -msgid "In the :guilabel:`DAT` tab, select a year which pixels in the mosaic should come from. Then select the :icon:`fa-solid fa-check` :guilabel:`Apply` button." +msgid "" +"In the :guilabel:`DAT` tab, select a year which pixels in the mosaic " +"should come from. Then select the :icon:`fa-solid fa-check` " +":guilabel:`Apply` button." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:102 @@ -151,23 +206,43 @@ msgid "Seasonal mosaic" msgstr "Mosaïque saisonnière" #: ../../source/cookbook/optical_mosaic.rst:104 -msgid "Select :guilabel:`More` in the :guilabel:`DAT` panel to expand the date selection tool. Rather than selecting a year, you can select a season of interest." -msgstr "Sélectionnez :guilabel:`Plus` dans le panneau :guilabel:`DAT` pour étendre l'outil de sélection de date. Plutôt que de choisir une année, vous pouvez choisir une saison d'intérêt." +msgid "" +"Select :guilabel:`More` in the :guilabel:`DAT` panel to expand the date " +"selection tool. Rather than selecting a year, you can select a season of " +"interest." +msgstr "" +"Sélectionnez :guilabel:`Plus` dans le panneau :guilabel:`DAT` pour " +"étendre l'outil de sélection de date. Plutôt que de choisir une année, " +"vous pouvez choisir une saison d'intérêt." #: ../../source/cookbook/optical_mosaic.rst:106 -msgid "Select the :icon:`fa-solid fa-calendar` (**1**) to open the **Date selection** pop-up window. The selected date will be the target of the mosaic (i.e. the date from which pixels in the mosaic should ideally come from)." +msgid "" +"Select the :icon:`fa-solid fa-calendar` (**1**) to open the **Date " +"selection** pop-up window. The selected date will be the target of the " +"mosaic (i.e. the date from which pixels in the mosaic should ideally come" +" from)." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:108 -msgid "Using the main slider (**2**), define a season around the target date by identifying a start date and end date. SEPAL will then retrieve the mosaic images between those dates." +msgid "" +"Using the main slider (**2**), define a season around the target date by " +"identifying a start date and end date. SEPAL will then retrieve the " +"mosaic images between those dates." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:110 -msgid "The number of images in a single season of one year may not be enough to produce a correct mosaic. SEPAL provides two secondary sliders to increase the pool of images to create the mosaic. Both count the number of seasons SEPAL can retrieve in the past (:code:`Past season` - [**3**]) and in the future (:code:`Future season` - [**4**])." +msgid "" +"The number of images in a single season of one year may not be enough to " +"produce a correct mosaic. SEPAL provides two secondary sliders to " +"increase the pool of images to create the mosaic. Both count the number " +"of seasons SEPAL can retrieve in the past (:code:`Past season` - [**3**])" +" and in the future (:code:`Future season` - [**4**])." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:112 -msgid "When the selection is done, select the :icon:`fa-solid fa-check` :guilabel:`Apply` button." +msgid "" +"When the selection is done, select the :icon:`fa-solid fa-check` " +":guilabel:`Apply` button." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:119 @@ -175,504 +250,911 @@ msgid "Sources" msgstr "Sources" #: ../../source/cookbook/optical_mosaic.rst:121 -msgid "As mentioned in the introduction, a mosaic uses different raster datasets that can be obtained from multiple sources. SEPAL allows you to select data from multiple entry points. Below, you can find a description of these sources (select a link to see the corresponding dataset information):" -msgstr "Comme mentionné dans l'introduction, une mosaïque utilise différents ensembles de données matriciels qui peuvent être obtenus à partir de sources multiples. SEPAL vous permet de sélectionner des données à partir de plusieurs points d’entrée. Ci-dessous, vous pouvez trouver une description de ces sources (sélectionnez un lien pour voir les informations du jeu de données correspondant):" +msgid "" +"As mentioned in the introduction, a mosaic combines raster datasets that " +"can come from multiple satellite sources. In the :guilabel:`SRC` tab, " +"select one or more **optical** data sources to build the mosaic from." +msgstr "" #: ../../source/cookbook/optical_mosaic.rst:123 -msgid ":guilabel:`L8`: `Landsat 8 Tier 1 `__. Landsat scenes with the highest available data quality are placed into **Tier 1** and considered suitable for time-series processing analysis. **Tier 1** includes Level-1 Precision Terrain (L1TP) processed data that have well-characterized radiometry and are intercalibrated across different Landsat sensors. The geo-registration of **Tier 1** scenes will be consistent and within prescribed tolerances (< = 12 m root mean square error [RMSE]). All **Tier 1** Landsat data can be considered consistent and intercalibrated (regardless of the sensor used) across the full collection." +msgid "**Landsat** scenes are distributed in two quality tiers:" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:127 -msgid ":guilabel:`L8 T2`: `Landsat 8 Tier 2 `__. Scenes not meeting **Tier 1** criteria during processing are assigned to **Tier 2**. This includes Systematic terrain (L1GT) and Systematic (L1GS) processed scenes, as well as any L1TP scenes that do not meet the **Tier 1** specifications due to significant cloud cover, insufficient ground control and other factors. Users interested in **Tier 2** scenes can analyze the RMSE and other properties to determine the suitability for use in individual applications and studies." +#: ../../source/cookbook/optical_mosaic.rst:125 +msgid "" +"**Tier 1** holds the scenes with the highest data quality. They are " +"processed to Level-1 Precision Terrain (L1TP), have well-characterized " +"radiometry, are intercalibrated across the different Landsat sensors and " +"are geo-registered within prescribed tolerances (12 m root mean square " +"error [RMSE] or less). Tier 1 scenes are consistent across the full " +"collection and suitable for time-series analysis." +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:126 +msgid "" +"**Tier 2** (marked :guilabel:`T2`) holds scenes that do not meet the Tier" +" 1 criteria, for example because of significant cloud cover, insufficient" +" ground control or systematic-only terrain correction (L1GT/L1GS). They " +"can still be useful; analyze the RMSE and other properties to determine " +"their suitability for your study." +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:128 +msgid "" +"The following optical sources are available (select a link to open the " +"corresponding Google Earth Engine dataset):" +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:130 +msgid "" +":guilabel:`L9`: `Landsat 9 `__ (Tier 1; from 2021)." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:131 -msgid ":guilabel:`L7`: `Landsat 7 Tier 1 `__. Landsat scenes with the highest available data quality are placed into **Tier 1** and are considered suitable for time-series processing analysis. **Tier 1** includes Level-1 Precision Terrain (L1TP) processed data that have well-characterized radiometry and are intercalibrated across different Landsat sensors. The geo-registration of **Tier 1** scenes will be consistent and within prescribed tolerances (< = 12 m RMSE). All **Tier 1** Landsat data can be considered consistent and intercalibrated across the full collection (regardless of the sensor used)." +msgid "" +":guilabel:`L8`: `Landsat 8 `__ (Tier 1; from 2013)." +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:132 +msgid "" +":guilabel:`L7`: `Landsat 7 `__ (Tier 1; from 1999)." +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:133 +msgid "" +":guilabel:`L4-5`: `Landsat 4 `__ combined with `Landsat" +" 5 `__ (Tier 1; 1982–2012)." +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:134 +msgid "" +":guilabel:`L9 T2`, :guilabel:`L8 T2`, :guilabel:`L7 T2`, :guilabel:`L4-5 " +"T2`: the **Tier 2** equivalents of the datasets listed above." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:135 -msgid ":guilabel:`L7 T2`: `Landsat 7 Tier 2 `__. Scenes not meeting **Tier 1** criteria during processing are assigned to **Tier 2**. This includes Systematic terrain (L1GT) and Systematic (L1GS) processed scenes, as well as any L1TP scenes that do not meet the **Tier 1** specifications due to significant cloud cover, insufficient ground control and other factors. Users interested in **Tier 2** scenes can analyze the RMSE and other properties to determine the suitability for use in individual applications and studies." +msgid "" +":guilabel:`S2`: `Sentinel-2 `__ (Sentinel-2A and " +"Sentinel-2B; from 2015). A wide-swath, high-resolution, multispectral " +"imaging mission supporting Copernicus Land Monitoring studies, including " +"the monitoring of vegetation, soil and water cover, as well as the " +"observation of inland waterways and coastal areas." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:139 -msgid ":guilabel:`L4-5`: `Landsat 4 Tier 1 `__ combined with `Landsat 5 Tier 1 `__. Landsat scenes with the highest available data quality are placed into **Tier 1** and are considered suitable for time-series processing analysis. **Tier 1** includes Level-1 Precision Terrain (L1TP) processed data that have well-characterized radiometry and are intercalibrated across different Landsat sensors. The geo-registration of **Tier 1** scenes will be consistent and within prescribed tolerances (< = 12 m RMSE). All **Tier 1** Landsat data can be considered consistent and intercalibrated across the full collection (regardless of the sensor used)." +msgid "" +"SEPAL uses the Landsat **Collection 2** archive and the **harmonized** " +"Sentinel-2 collection." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:143 -msgid ":guilabel:`L4-5 T2`: `Landsat 4 TM Tier 2 `__ combined with `Landsat 5 TM Tier 2 `__. Scenes not meeting **Tier 1** criteria during processing are assigned to **Tier 2**. This includes Systematic terrain (L1GT) and Systematic (L1GS) processed scenes, as well as any L1TP scenes that do not meet the **Tier 1** specifications due to significant cloud cover, insufficient ground control and other factors. Users interested in **Tier 2** scenes can analyze the RMSE and other properties to determine the suitability for use in individual applications and studies." +#: ../../source/cookbook/optical_mosaic.rst:145 +msgid "" +"You can also restrict the imagery with the :code:`Max cloud cover %` " +"slider: scenes whose cloud cover is higher than this threshold are " +"excluded before the mosaic is built." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:147 -msgid ":guilabel:`A+B`: `Sentinel-2 Multispectral instrument `__ is a wide-swath, high-resolution, multispectral imaging mission supporting Copernicus Land Monitoring studies, including the monitoring of vegetation, soil and water cover, as well as the observation of inland waterways and coastal areas." +msgid "" +"To validate your selection, select the :icon:`fa-solid fa-check` " +":guilabel:`Apply` button (labelled :guilabel:`Done` when you first create" +" the recipe through the setup wizard)." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:153 -#: ../../source/cookbook/optical_mosaic.rst:170 -msgid "To validate your selection, select the :icon:`fa-solid fa-check` :guilabel:`Apply` button." +#: ../../source/cookbook/optical_mosaic.rst:150 +msgid "Scenes" +msgstr "Scènes" + +#: ../../source/cookbook/optical_mosaic.rst:154 +msgid "" +"If Sentinel and Landsat data have been selected, you will be forced to " +"use all scenes. As the tiling system from Sentinel and Landsat data are " +"different, it's impossible to select scenes using the tool presented in " +"the following sections." msgstr "" +"Si les données Sentinel et Landsat ont été sélectionnées, vous serez " +"forcé d'utiliser toutes les scènes. Comme le système de tuilage de " +"Sentinel et Landsat est différent, il est impossible de sélectionner des " +"scènes à l'aide de l'outil présenté dans les sections suivantes." #: ../../source/cookbook/optical_mosaic.rst:156 -msgid "Scenes" -msgstr "Scènes" +msgid "" +"You can use multiple options to select the best scenes for your mosaic. " +"The most simple is to use every image available based on the date " +"parameters. Select :guilabel:`Use all scenes` and all images will be " +"integrated into the mosaic." +msgstr "" +"Vous pouvez utiliser plusieurs options pour sélectionner les meilleures " +"scènes de votre mosaïque. Le plus simple est d'utiliser toutes les images" +" disponibles en fonction des paramètres de date. Sélectionnez " +":guilabel:`Utilisez toutes les scènes` et toutes les images seront " +"intégrées dans la mosaïque." + +#: ../../source/cookbook/optical_mosaic.rst:158 +#, fuzzy +msgid "" +"Choose :guilabel:`Select scenes` and pick one of the three available " +":code:`Priority` options, based on the needs of your analysis (SEPAL " +"sorts the images available for each tile):" +msgstr "" +"Choisissez :guilabel:`Selectionner les scènes` et choisissez l'une des " +"trois options :code:`Priorité` disponibles en fonction des besoins de " +"votre analyse (SEPAL trie les images disponibles pour chaque tuile) :" #: ../../source/cookbook/optical_mosaic.rst:160 -msgid "If Sentinel and Landsat data have been selected, you will be forced to use all scenes. As the tiling system from Sentinel and Landsat data are different, it's impossible to select scenes using the tool presented in the following sections." -msgstr "Si les données Sentinel et Landsat ont été sélectionnées, vous serez forcé d'utiliser toutes les scènes. Comme le système de tuilage de Sentinel et Landsat est différent, il est impossible de sélectionner des scènes à l'aide de l'outil présenté dans les sections suivantes." +#, fuzzy +msgid "" +":guilabel:`Cloud free`: Prioritizes imagery as cloud-free as possible, " +"ignoring the date." +msgstr ":guilabel:`Cloud free`: Priorise les images avec zéro ou peu de nuages." + +#: ../../source/cookbook/optical_mosaic.rst:161 +#, fuzzy +msgid "" +":guilabel:`Balanced`: Prioritizes imagery that is neither too cloudy nor " +"too far from the target date." +msgstr "" +":guilabel:`Equilibré`: Priorise les images qui maximisent à la fois " +"l'absence de nuage et la date de cible." #: ../../source/cookbook/optical_mosaic.rst:162 -msgid "You can use multiple options to select the best scenes for your mosaic. The most simple is to use every image available based on the date parameters. Select :guilabel:`Use all scenes` and all images will be integrated into the mosaic." -msgstr "Vous pouvez utiliser plusieurs options pour sélectionner les meilleures scènes de votre mosaïque. Le plus simple est d'utiliser toutes les images disponibles en fonction des paramètres de date. Sélectionnez :guilabel:`Utilisez toutes les scènes` et toutes les images seront intégrées dans la mosaïque." +#, fuzzy +msgid "" +":guilabel:`Target date`: Prioritizes imagery as close as possible to the " +"target date." +msgstr "" +":guilabel:`Equilibré`: Priorise les images qui maximisent à la fois " +"l'absence de nuage et la date de cible." #: ../../source/cookbook/optical_mosaic.rst:164 -msgid "Choose :guilabel:`Select scenes` and choose one of the three available :code:`Priority` options, based on the needs of your analysis (SEPAL sorts the images available for each tile):" -msgstr "Choisissez :guilabel:`Selectionner les scènes` et choisissez l'une des trois options :code:`Priorité` disponibles en fonction des besoins de votre analyse (SEPAL trie les images disponibles pour chaque tuile) :" - -#: ../../source/cookbook/optical_mosaic.rst:166 -msgid ":guilabel:`Cloud free`: Prioritizes images with zero or few clouds." -msgstr ":guilabel:`Cloud free`: Priorise les images avec zéro ou peu de nuages." - -#: ../../source/cookbook/optical_mosaic.rst:167 -msgid ":guilabel:`Target date`: Prioritizes images that match the target date." +msgid "" +"To validate your selection, select the :icon:`fa-solid fa-check` " +":guilabel:`Apply` button." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:168 -msgid ":guilabel:`Balanced`: Prioritizes images that maximize both cloud and target date." -msgstr ":guilabel:`Equilibré`: Priorise les images qui maximisent à la fois l'absence de nuage et la date de cible." - -#: ../../source/cookbook/optical_mosaic.rst:177 +#: ../../source/cookbook/optical_mosaic.rst:171 msgid "Composite" msgstr "Composite" -#: ../../source/cookbook/optical_mosaic.rst:181 -msgid "This step is optional. SEPAL provides the following options by default:" +#: ../../source/cookbook/optical_mosaic.rst:173 +msgid "" +"The :guilabel:`CMP` tab controls how the selected scenes are corrected, " +"how clouds and snow are masked, and how the final pixel values are " +"computed. The panel opens in a **simple** view showing the most common " +"options; select :guilabel:`More` to reveal the **advanced** options (and " +":guilabel:`Less` to hide them again)." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:183 -msgid "**Correction**: :guilabel:`SR`, :guilabel:`BRDF`" -msgstr "**Correction** : :guilabel:`SR`, :guilabel:`BRDF`" - -#: ../../source/cookbook/optical_mosaic.rst:184 -msgid "**Pixel filters**: No filters" -msgstr "**Filtres Pixels** : Pas de filtres" +#: ../../source/cookbook/optical_mosaic.rst:177 +msgid "This step is optional. By default, SEPAL applies:" +msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:185 -msgid "**Cloud detection**: :guilabel:`QA bands`, :guilabel:`Cloud score`" -msgstr "**Détection de nuage**: :guilabel:`Bandes QA`, :guilabel:`Score Cloud`" +#: ../../source/cookbook/optical_mosaic.rst:179 +#, fuzzy +msgid "**Corrections**: :guilabel:`SR` and :guilabel:`BRDF`" +msgstr "**Correction** : :guilabel:`SR`, :guilabel:`BRDF`" -#: ../../source/cookbook/optical_mosaic.rst:186 +#: ../../source/cookbook/optical_mosaic.rst:180 msgid "**Cloud masking**: :guilabel:`Moderate`" msgstr "**Masquage des nuages**: :guilabel:`Modéré`" -#: ../../source/cookbook/optical_mosaic.rst:187 -msgid "**Cloud buffering**: :guilabel:`None`" -msgstr "**buffer de nuage**: :guilabel:`Aucun`" - -#: ../../source/cookbook/optical_mosaic.rst:188 -msgid "**Snow masking**: :guilabel:`On`" -msgstr "**Masquage des neiges** : :guilabel:`Activé`" - -#: ../../source/cookbook/optical_mosaic.rst:189 +#: ../../source/cookbook/optical_mosaic.rst:181 msgid "**Composing method**: :guilabel:`Medoid`" msgstr "**Composition de la méthode**: :guilabel:`Medoid`" -#: ../../source/cookbook/optical_mosaic.rst:191 -msgid "To create a mosaic, provide SEPAL with the compositing method to create the final image. See the following image for all possible compositing options available." +#: ../../source/cookbook/optical_mosaic.rst:183 +msgid "" +"The advanced view additionally defaults to no pixel filters, no cloud " +"buffering and snow/ice masking turned on." +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst +msgid "Show the advanced view (opened with **More**)" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:198 +#: ../../source/cookbook/optical_mosaic.rst:199 msgid "Corrections" msgstr "Corrections" -#: ../../source/cookbook/optical_mosaic.rst:200 -msgid "This will apply corrections on the stacked pixels to improve the quality of the mosaic." -msgstr "Cela appliquera des corrections sur les pixels empilés pour améliorer la qualité de la mosaïque." - -#: ../../source/cookbook/optical_mosaic.rst:202 -msgid ":guilabel:`SR`: Surface reflectance improves comparison between multiple images over the same region by accounting for atmospheric effects such as aerosol scattering and thin clouds, which can help in the detection and characterization of Earth surface change. Top-of-atmosphere images are used if not selected." +#: ../../source/cookbook/optical_mosaic.rst:201 +#, fuzzy +msgid "" +"Corrections are applied to the stacked pixels to improve the quality of " +"the mosaic." msgstr "" +"Cela appliquera des corrections sur les pixels empilés pour améliorer la " +"qualité de la mosaïque." #: ../../source/cookbook/optical_mosaic.rst:203 -msgid ":guilabel:`BRDF`: Uses a bidirectional reflectance distribution function (BRDF) model to characterize surface reflectance anisotropy. For a given land area, the BRDF is established based on selected multi-angular observations of surface reflectance." +msgid "" +":guilabel:`SR`: Surface reflectance improves comparison between multiple " +"images over the same region by accounting for atmospheric effects such as" +" aerosol scattering and thin clouds, which can help in the detection and " +"characterization of Earth surface change. Top-of-atmosphere (TOA) images " +"are used if not selected." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:204 -msgid ":guilabel:`Calibrate`: Calibrates Sentinel and Landsat data to make them compatible." -msgstr ":guilabel:`Calibrate`: Calibre les données de Sentinelle et de Landsat pour les rendre compatibles." +msgid "" +":guilabel:`BRDF`: Uses a bidirectional reflectance distribution function " +"(BRDF) model to characterize surface reflectance anisotropy. For a given " +"land area, the BRDF is established based on selected multi-angular " +"observations of surface reflectance. When BRDF is enabled, the advanced " +"view shows a :code:`BRDF Multiplier` field that controls how much " +"correction is applied (values of 3–4 usually work well; lower it if the " +"effect is overcompensated, raise it if it is not compensated enough)." +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:205 +#, fuzzy +msgid "" +":guilabel:`Calibrate`: Calibrates the bands to improve a cross-sensor " +"mosaic." +msgstr "" +":guilabel:`Calibrate`: Calibre les données de Sentinelle et de Landsat " +"pour les rendre compatibles." -#: ../../source/cookbook/optical_mosaic.rst:208 +#: ../../source/cookbook/optical_mosaic.rst:209 msgid "This option is only available if:" msgstr "Cette option n'est disponible que si :" -#: ../../source/cookbook/optical_mosaic.rst:210 -msgid "Landsat and Sentinel data are mixed; and" +#: ../../source/cookbook/optical_mosaic.rst:211 +#, fuzzy +msgid "Landsat and Sentinel-2 data are mixed; and" msgstr "Les données de Landsat et de Sentinelle sont mélangées ; et" -#: ../../source/cookbook/optical_mosaic.rst:211 -msgid "BRDF and surface reflectance (SR) corrections are disabled." +#: ../../source/cookbook/optical_mosaic.rst:212 +msgid "surface reflectance (:guilabel:`SR`) correction is disabled." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:214 -msgid "Pixel filters" -msgstr "Filtres des pixels" +#: ../../source/cookbook/optical_mosaic.rst:215 +msgid "Cloud masking" +msgstr "Masquage des nuages" + +#: ../../source/cookbook/optical_mosaic.rst:217 +msgid "" +"Controls how clouds are detected and masked. In the simple view, choose a" +" preset:" +msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:216 -msgid "Activating any of the filters will remove some pixels from the stack. Removing pixels improves the quality of the mosaic, as they are not taken into account in the median value computation." +#: ../../source/cookbook/optical_mosaic.rst:219 +msgid "" +":guilabel:`Moderate`: Relies only on the image source QA bands for cloud " +"masking." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:220 -msgid "Each filter is applied iteratively (e.g. if the normalized difference vegetation index [NDVI] is already filtering all pixels but one, there will be nothing left in the stack to be filtered by day of year)." +msgid "" +":guilabel:`Aggressive`: Relies on the image source QA bands together with" +" a cloud-scoring algorithm. This will probably mask out some built-up " +"areas and other bright features." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:222 -msgid "Note as well that adding filters significantly increases the creation time of the mosaic." +#: ../../source/cookbook/optical_mosaic.rst:221 +msgid "" +":guilabel:`Custom`: Automatically selected (and otherwise disabled) when " +"you fine-tune the individual cloud-masking algorithms in the advanced " +"view." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:224 -msgid "**Shadow**: Filters the XX percent darkest pixels of the stack." +#: ../../source/cookbook/optical_mosaic.rst:223 +msgid "" +"In the advanced view you can add and configure the individual cloud-" +"masking algorithms with the :icon:`fa-solid fa-plus` button. The " +"available algorithms depend on the sources you selected:" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:225 -msgid "**Haze**: Computes a haze index and filters the XX percent highest values." +msgid "" +":guilabel:`SEPAL cloud score`: SEPAL's own cloud-scoring algorithm, with " +"a configurable *maximum cloud probability*. Always available." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:226 -msgid "**NDVI**: Computes the NDVI and only keeps the XX percent highest values." +msgid "" +":guilabel:`S2 Cloud Score+`: Sentinel-2 Cloud Score+, with a *maximum " +"cloud probability* and a choice of scoring band — :guilabel:`cs` " +"(instantaneous clear-sky similarity) or :guilabel:`cs_cdf` (likelihood of" +" being clear over time). Sentinel-2 sources only." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:227 -msgid "**Day of the year**: Computes the distance from target day in days and filters out the XX percent farthest." +msgid "" +":guilabel:`S2 Cloud Probability`: the Sentinel-2 cloud-probability " +"dataset, with a configurable *maximum cloud probability*. Sentinel-2 " +"sources only." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:230 -msgid "Cloud detection" -msgstr "Détection des nuages" +#: ../../source/cookbook/optical_mosaic.rst:228 +msgid "" +":guilabel:`Landsat CFMask`: the Landsat CFMask QA bands. You can set " +":code:`Cloud Masking`, :code:`Cloud Shadow Masking` and :code:`Cirrus " +"Masking` each to :guilabel:`Off`, :guilabel:`Moderate` or " +":guilabel:`Aggressive`, and choose whether to :guilabel:`Keep` or " +":guilabel:`Remove` dilated clouds. Landsat sources only." +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:229 +msgid "" +":guilabel:`Pino 26`: the Pan-Tropical Sentinel-2 cloud-detection " +"algorithm developed by Dario Simonetti (for more information, see `D. " +"Simonetti [2021] `__). Only " +"available for a Sentinel-2-exclusive source when :guilabel:`SR` " +"correction is disabled." +msgstr "" #: ../../source/cookbook/optical_mosaic.rst:232 -msgid "Refers to the algorithm used to detect clouds." +msgid "Cloud buffering" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:234 -msgid ":guilabel:`QA bands`: Uses quality assessment (QA) bands to identify clouds in Sentinel data." +msgid "" +"(Advanced view.) When pixels are identified as clouds, SEPAL can also " +"mask a small buffer around them to prevent hazy pixels at the borders of " +"clouds from being included in the mosaic." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:235 -msgid ":guilabel:`Cloud score`: Uses the computed cloud score to identify clouds in Landsat data." +#: ../../source/cookbook/optical_mosaic.rst:238 +msgid "" +"Buffering is done at the pixel level, so using this option significantly " +"increases the creation time of the mosaic." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:236 -msgid ":guilabel:`Pino 26`: Uses the Pino_26 algorithm to identify clouds (for more information, see `D. Simonetti [2021] `__)." +#: ../../source/cookbook/optical_mosaic.rst:240 +msgid ":guilabel:`None`: Doesn't use cloud buffering." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:240 -msgid "This filter is only available for Sentinel exclusive source when both :guilabel:`BRDF` and :guilabel:`SR` correction are disabled." +#: ../../source/cookbook/optical_mosaic.rst:241 +msgid "" +":guilabel:`Moderate`: Masks an additional **120 m** around each larger " +"cloud." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:243 -msgid "Cloud masking" -msgstr "Masquage des nuages" +#: ../../source/cookbook/optical_mosaic.rst:242 +msgid "" +":guilabel:`Aggressive`: Masks an additional **600 m** around each larger " +"cloud." +msgstr "" #: ../../source/cookbook/optical_mosaic.rst:245 -msgid "Controls how clouds will be masked based on the cloud detection algorithm selected." -msgstr "Contrôle comment les nuages seront masqués en fonction de l'algorithme de détection du nuage sélectionné." +#, fuzzy +msgid "Snow/ice masking" +msgstr "Masquage de la neige" #: ../../source/cookbook/optical_mosaic.rst:247 -msgid ":guilabel:`off`: Uses cloud-free pixels if possible, but doesn't mask areas without cloud-free pixels." -msgstr "" +#, fuzzy +msgid "(Advanced view.) Defines how snowy or icy pixels are masked." +msgstr "Définit comment les pixels enneigés seront masqués." -#: ../../source/cookbook/optical_mosaic.rst:248 -msgid ":guilabel:`moderate`: Relies only on image source QA bands for cloud masking (a moderate threshold is used)." +#: ../../source/cookbook/optical_mosaic.rst:249 +msgid "" +":guilabel:`On`: Masks snow. This tends to leave some pixels with shadowy " +"snow." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:249 -msgid ":guilabel:`aggressive`: Relies on image source QA bands and a cloud scoring algorithm for cloud masking with an aggressive threshold (this will probably mask out some built-up areas and other bright features)." +#: ../../source/cookbook/optical_mosaic.rst:250 +msgid "" +":guilabel:`Off`: Doesn't mask snow. Note that some clouds might get " +"misclassified as snow; therefore, disabling snow masking might lead to " +"cloud artifacts." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:252 -msgid "Cloud buffering" +#: ../../source/cookbook/optical_mosaic.rst:253 +msgid "Masked out pixels" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:254 -msgid "When pixels are identified as clouds, SEPAL can remove pixels in a small buffer around it to prevent hazy pixels at the borders of clouds to be included in the mosaic." +#: ../../source/cookbook/optical_mosaic.rst:255 +msgid "" +"(Advanced view.) Controls whether a pixel can end up completely masked " +"when every available acquisition is cloudy and/or snowy." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:258 -msgid "Buffering is done on the pixel level, so using this option will significantly increase the creation time of the mosaic." +#: ../../source/cookbook/optical_mosaic.rst:257 +msgid "" +":guilabel:`Prevent`: Prevents pixels from being completely masked out, " +"keeping the best available (possibly cloudy/snowy) value." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:260 -msgid ":guilabel:`none`: Doesn't use cloud buffering." +#: ../../source/cookbook/optical_mosaic.rst:258 +msgid "" +":guilabel:`Allow`: Allows pixels to be completely masked out, leaving " +"holes in the mosaic where no clear observation exists." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:261 -msgid ":guilabel:`moderate`: Masks an additional **120 m** around each larger cloud." -msgstr "" +msgid "Pixel filters" +msgstr "Filtres des pixels" -#: ../../source/cookbook/optical_mosaic.rst:262 -msgid ":guilabel:`aggressive`: Masks an additional **600 m** around each larger cloud." +#: ../../source/cookbook/optical_mosaic.rst:263 +msgid "" +"(Advanced view.) Add filters with the :icon:`fa-solid fa-plus` button to " +"remove pixels from the stack before compositing. Each filter excludes a " +"percentage of the stack (set with a slider, defaulting to 50%); removing " +"low-quality pixels improves the quality of the mosaic." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:265 -msgid "Snow masking" -msgstr "Masquage de la neige" - #: ../../source/cookbook/optical_mosaic.rst:267 -msgid "Defines how snowy pixels will be masked." -msgstr "Définit comment les pixels enneigés seront masqués." +msgid "" +"Each filter is applied iteratively (e.g. if the normalized difference " +"vegetation index [NDVI] is already filtering all pixels but one, there " +"will be nothing left in the stack to be filtered by date)." +msgstr "" #: ../../source/cookbook/optical_mosaic.rst:269 -msgid ":guilabel:`on`: Masks snow. This tends to leave some pixels with shadowy snow." +msgid "" +"Note as well that adding filters significantly increases the creation " +"time of the mosaic." +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:271 +msgid "" +"**Shadow**: Excludes the selected percentage of pixels with the most " +"shadow." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:270 -msgid ":guilabel:`off`: Doesn't mask snow. Note that some clouds might get misclassified as snow; therefore, disabling snow masking might lead to cloud artifacts." +#: ../../source/cookbook/optical_mosaic.rst:272 +msgid "" +"**Haze**: Excludes the selected percentage of pixels with the most haze. " +"Only available when :guilabel:`SR` correction is disabled." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:273 -msgid "Composing method" -msgstr "Méthode de composition" +msgid "**NDVI**: Excludes the selected percentage of pixels with the lowest NDVI." +msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:275 -msgid "After filtering the stack of pixels, SEPAL will compute the median value on the different bands of the image. The composing method will define how the final pixel value is extracted." +#: ../../source/cookbook/optical_mosaic.rst:274 +msgid "" +"**Date**: Excludes the selected percentage of pixels farthest from the " +"target date." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:277 -msgid ":guilabel:`Medoid`: Uses the closest pixel from the median value. As a real pixel from the stack, the final value will embed metadata (e.g. the date of observation)." +msgid "Sentinel-2 overlap" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:278 -msgid ":guilabel:`Median`: Uses the computed value of the median. If no pixel is matching this value, the pixel will not embed any metadata. It tends to produce smoother mosaics." +#: ../../source/cookbook/optical_mosaic.rst:279 +msgid "" +"(Advanced view; shown only when Sentinel-2 is selected.) Sentinel-2 " +"acquisitions overlap both between orbits and between neighbouring tiles, " +"which can result in duplicated observations." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:281 -msgid "Analysis" -msgstr "Analyse" +msgid "" +"**Orbit Overlap**: :guilabel:`Keep` the overlap between Sentinel-2 orbits" +" (more data, better models) or :guilabel:`Remove` it." +msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:283 -msgid "After selecting the parameters, you can start interacting with the scenes and begin the analysis." +#: ../../source/cookbook/optical_mosaic.rst:282 +msgid "" +"**Tile Overlap**: :guilabel:`Keep` the overlap between Sentinel-2 tiles, " +":guilabel:`Quick remove` most of it, or :guilabel:`Remove` all of it. " +"Removing overlap adds an extra preprocessing step." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:285 -msgid "In the upper-right corner, three tabs are available, which allow you to customize the mosaic scene selection and export the final result:" -msgstr "" +msgid "Composing method" +msgstr "Méthode de composition" #: ../../source/cookbook/optical_mosaic.rst:287 -msgid ":btn:``: auto-select scenes" +msgid "" +"After filtering the stack of pixels, the composing method defines how the" +" final pixel value is extracted." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:288 -msgid ":btn:``: clear selected scenes" +#: ../../source/cookbook/optical_mosaic.rst:289 +msgid "" +":guilabel:`Medoid`: Uses the pixel closest to the median value. As a real" +" pixel from the stack, the final value embeds metadata (e.g. the date of " +"observation)." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:289 -msgid ":btn:``: retrieve mosaic" +#: ../../source/cookbook/optical_mosaic.rst:290 +msgid "" +":guilabel:`Median`: Uses the computed median value. If no pixel matches " +"this value, the pixel will not embed any metadata. It tends to produce " +"smoother mosaics." +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:293 +msgid "Analysis" +msgstr "Analyse" + +#: ../../source/cookbook/optical_mosaic.rst:295 +msgid "" +"After selecting the parameters, you can start interacting with the scenes" +" and begin the analysis." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:297 -msgid "If you have not selected the option :guilabel:`Select scenes` in the :guilabel:`SCN` tab, the :icon:`fa-solid fa-wand-magic` button will be disabled and the scene areas will be hidden as no scene selection needs to be performed (see those with a number in a circle on the previous screenshot)." +msgid "" +"In the upper-right corner, three tabs are available, which allow you to " +"customize the mosaic scene selection and export the final result:" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:299 -msgid "If you can't see the image scene area, you probably have selected a small AOI. Zoom out on the map and you will see the number of available images in the circles." +msgid ":btn:``: auto-select scenes" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:302 -msgid "Select scenes" -msgstr "Sélectionner les scènes" +#: ../../source/cookbook/optical_mosaic.rst:300 +msgid ":btn:``: clear selected scenes" +msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:304 -msgid "To create a mosaic, select the scenes that will be used to compute each pixel value of the mosaic. SEPAL provides a user-friendly interface that will guide you through the selection process. You don't have to select the stack for every pixel; instead, SEPAL will clip the AOI in smaller pieces called **Tiles**. These tiles correspond to the native tiling system of your dataset and are displayed on the map with circled numbers in their centroid. Each number corresponds to the number of scenes available to build the mosaic tile. Hover over these circles to see the tile boundaries appear." +#: ../../source/cookbook/optical_mosaic.rst:301 +msgid ":btn:``: retrieve mosaic" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:308 -msgid "Landsat and Sentinel datasets have a different grid system, which is why the selection process cannot be used if you have selected both of these datasets. If you have an idea related to the user interface (UI) that could make them work together, let us know in our `issue tracker `__." +#: ../../source/cookbook/optical_mosaic.rst:309 +msgid "" +"If you have not selected the option :guilabel:`Select scenes` in the " +":guilabel:`SCN` tab, the :icon:`fa-solid fa-wand-sparkles` button will be" +" disabled and the scene areas will be hidden as no scene selection needs " +"to be performed (see those with a number in a circle on the previous " +"screenshot)." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:311 +msgid "" +"If you can't see the image scene area, you probably have selected a small" +" AOI. Zoom out on the map and you will see the number of available images" +" in the circles." +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:314 +msgid "Select scenes" +msgstr "Sélectionner les scènes" + +#: ../../source/cookbook/optical_mosaic.rst:316 +msgid "" +"To create a mosaic, select the scenes that will be used to compute each " +"pixel value of the mosaic. SEPAL provides a user-friendly interface that " +"will guide you through the selection process. You don't have to select " +"the stack for every pixel; instead, SEPAL will clip the AOI in smaller " +"pieces called **Tiles**. These tiles correspond to the native tiling " +"system of your dataset and are displayed on the map with circled numbers " +"in their centroid. Each number corresponds to the number of scenes " +"available to build the mosaic tile. Hover over these circles to see the " +"tile boundaries appear." +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:320 +msgid "" +"Landsat and Sentinel datasets have a different grid system, which is why " +"the selection process cannot be used if you have selected both of these " +"datasets. If you have an idea related to the user interface (UI) that " +"could make them work together, let us know in our `issue tracker " +"`__." +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:323 msgid "Auto-select scene" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:313 -msgid "Selecting the :icon:`fa-solid fa-wand-magic` tab will open the **Auto-selection** pane." +#: ../../source/cookbook/optical_mosaic.rst:325 +msgid "" +"Selecting the :icon:`fa-solid fa-wand-sparkles` tab will open the **Auto-" +"selection** pane." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:315 -msgid "Move the sliders to select the minimum and the maximum number of scenes SEPAL should select in a tile. Then, select the :guilabel:`Validate` button to apply the auto-select method." +#: ../../source/cookbook/optical_mosaic.rst:327 +msgid "" +"Move the sliders to set the :code:`Minimum number of scenes` and the " +":code:`Maximum number of scenes` SEPAL should select in a tile. Then, " +"select the :guilabel:`Select scenes` button to apply the auto-select " +"method." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:317 -msgid "SEPAL will use the priority defined in the :guilabel:`SCN` tab to order the scene and collect the optimal number for your request." +#: ../../source/cookbook/optical_mosaic.rst:329 +msgid "" +"SEPAL will use the priority defined in the :guilabel:`SCN` tab to order " +"the scene and collect the optimal number for your request." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:321 -msgid "The result is never perfect but can be used as a starting point for the manual selection of scenes." +#: ../../source/cookbook/optical_mosaic.rst:333 +msgid "" +"The result is never perfect but can be used as a starting point for the " +"manual selection of scenes." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:328 +#: ../../source/cookbook/optical_mosaic.rst:340 msgid "Clear all scenes" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:330 -msgid "If at least one scene is selected, the :icon:`fa-solid fa-trash` tab will be available. Select it to open the **Clear** pane." +#: ../../source/cookbook/optical_mosaic.rst:342 +msgid "" +"If at least one scene is selected, the :icon:`fa-solid fa-trash` tab will" +" be available. Select it to open the **Clear** pane." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:332 -msgid "Select :guilabel:`Clear scenes` to remove all manually and automatically selected scenes." +#: ../../source/cookbook/optical_mosaic.rst:344 +msgid "" +"Select :guilabel:`Clear scenes` to remove all manually and automatically " +"selected scenes." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:339 +#: ../../source/cookbook/optical_mosaic.rst:351 msgid "Manual selection" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:341 -msgid "To open the **Scene selection** menu, hover over a tile circled-number and select it (**1**). The window will be divided into two sections:" +#: ../../source/cookbook/optical_mosaic.rst:353 +msgid "" +"To open the **Scene selection** menu, hover over a tile circled-number " +"and select it (**1**). The window will be divided into two sections:" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:343 -msgid "**Available scene** (**2**): All the available scenes according to the parameters you selected. These scenes are ordered using the :code:`priority` parameter you set in the :guilabel:`SCN` tab." +#: ../../source/cookbook/optical_mosaic.rst:355 +msgid "" +"**Available scene** (**2**): All the available scenes according to the " +"parameters you selected. These scenes are ordered using the " +":code:`priority` parameter you set in the :guilabel:`SCN` tab." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:344 +#: ../../source/cookbook/optical_mosaic.rst:356 msgid "**Selected scenes** (**3**): The scenes that are currently selected." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:350 -msgid "Each thumbnail represents a scene of the tile stack. You have the option to include them in the mosaic. The scenes located on the left side are the **Available scenes**; the **Selected scenes** are on the right side. In both cases, the following information can be found on the thumbnail:" +#: ../../source/cookbook/optical_mosaic.rst:362 +msgid "" +"Each thumbnail represents a scene of the tile stack. You have the option " +"to include them in the mosaic. The scenes located on the left side are " +"the **Available scenes**; the **Selected scenes** are on the right side. " +"In both cases, the following information can be found on the thumbnail:" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:352 -msgid "A small preview of the scene in the *red, blue, green* band combination." +#: ../../source/cookbook/optical_mosaic.rst:364 +msgid "" +"A small preview of the scene in the *red, green, blue* (true-colour) band" +" combination." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:353 +#: ../../source/cookbook/optical_mosaic.rst:365 msgid "The exact date in YYYY-MM-DD of the scene." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:354 +#: ../../source/cookbook/optical_mosaic.rst:366 msgid "The satellite name :icon:`fa-solid fa-satellite-dish`." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:355 -msgid "The cloud coverage of the scene in percent and its position in the stack values :icon:`fa-solid fa-cloud`." +#: ../../source/cookbook/optical_mosaic.rst:367 +msgid "" +"The cloud coverage of the scene in percent and its position in the stack " +"values :icon:`fa-solid fa-cloud`." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:356 -msgid "The distance from target day in days within the season and its position in the stack values :icon:`fa-solid fa-calendar-check`." +#: ../../source/cookbook/optical_mosaic.rst:368 +msgid "" +"The distance from target day in days within the season and its position " +"in the stack values :icon:`fa-solid fa-calendar-check`." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:368 -msgid "You can decide to move the scene to the **Selected scene** area by selecting :icon:`fa-solid fa-plus`:guilabel:`Add` or moving it back to **Available scene** pane by selecting :icon:`fa-solid fa-minus` :guilabel:`Remove`." +#: ../../source/cookbook/optical_mosaic.rst:380 +msgid "" +"You can decide to move the scene to the **Selected scene** area by " +"selecting :icon:`fa-solid fa-plus` :guilabel:`Add` or moving it back to " +"the **Available scene** pane by selecting :icon:`fa-solid fa-minus` " +":guilabel:`Remove`." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:382 -msgid "Scenes are moved from one side to the other so they are not duplicated and cannot be selected twice. Be careful if your connection is slow; wait for the thumbnail to move before clicking again (if you click too fast, you could select two different images instead of one)." +#: ../../source/cookbook/optical_mosaic.rst:394 +msgid "" +"Scenes are moved from one side to the other so they are not duplicated " +"and cannot be selected twice. Be careful if your connection is slow; wait" +" for the thumbnail to move before clicking again (if you click too fast, " +"you could select two different images instead of one)." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:384 -msgid "Once you are happy with your selection, select the :guilabel:`Apply` button to close the window and use the selected scenes to compute the mosaic on this tile. When the window is closed, SEPAL resets the rendering of all tiles." +#: ../../source/cookbook/optical_mosaic.rst:396 +msgid "" +"Once you are happy with your selection, select the :guilabel:`Apply` " +"button to close the window and use the selected scenes to compute the " +"mosaic on this tile. When the window is closed, SEPAL resets the " +"rendering of all tiles." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:387 +#: ../../source/cookbook/optical_mosaic.rst:399 msgid "Retrieve" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:391 -msgid "You cannot export a recipe as an asset or a :code:`.tiff` file without a small computation quota. If you are a new user, see :doc:`../setup/resource`." +#: ../../source/cookbook/optical_mosaic.rst:403 +msgid "" +"You cannot export a recipe as an asset or a :code:`.tif` file without a " +"small computation quota. If you are a new user, see " +":doc:`../setup/resource`." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:393 -msgid "Selecting the :icon:`fa-solid fa-cloud-arrow-down` tab will open the **Retrieve** pane where you can select the exportation parameters." +#: ../../source/cookbook/optical_mosaic.rst:405 +msgid "" +"Selecting the :icon:`fa-solid fa-cloud-arrow-down` tab will open the " +"**Retrieve** pane where you can select the exportation parameters." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:400 +#: ../../source/cookbook/optical_mosaic.rst:412 msgid "Bands" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:402 -msgid "You need to select the band(s) to export with the mosaic. There is no maximum number of bands, but exporting useless bands will only increase the size and time of the output. To discover the full list of available bands with SEPAL, see :doc:`../feature/bands`." +#: ../../source/cookbook/optical_mosaic.rst:414 +msgid "" +"You need to select the band(s) to export with the mosaic. There is no " +"maximum number of bands, but exporting useless bands will only increase " +"the size and time of the output. To discover the full list of available " +"bands with SEPAL, see :doc:`../feature/optical_bands`." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:406 -msgid "There is no fixed rule to the band selection. Each index is more adapted to a set of analyses in a defined biome. The knowledge of the study area, the evolution expected and the careful selection of an adapted band combination will improve the quality of downstream analysis." +#: ../../source/cookbook/optical_mosaic.rst:418 +msgid "" +"There is no fixed rule to the band selection. Each index is more adapted " +"to a set of analyses in a defined biome. The knowledge of the study area," +" the evolution expected and the careful selection of an adapted band " +"combination will improve the quality of downstream analysis." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:409 +#: ../../source/cookbook/optical_mosaic.rst:421 msgid "Dates" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:411 -msgid ":guilabel:`dayofyear`: the Julian calendar date (day of the year)" +#: ../../source/cookbook/optical_mosaic.rst:423 +msgid ":guilabel:`dayOfYear`: the Julian calendar date (day of the year)" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:412 -msgid ":guilabel:`dayfromtarget`: the distance to the target date within the season in days" +#: ../../source/cookbook/optical_mosaic.rst:424 +msgid "" +":guilabel:`daysFromTarget`: the distance to the target date within the " +"season in days" +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:428 +msgid "" +"These metadata bands are only available when the :guilabel:`Medoid` " +"composing method is used (the :guilabel:`Median` method produces " +"artificial pixels that carry no metadata)." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:415 +#: ../../source/cookbook/optical_mosaic.rst:431 msgid "Scale" msgstr "Échelle" -#: ../../source/cookbook/optical_mosaic.rst:417 -msgid "You can set a custom scale for exportation by changing the value of the slider in metres (m) (note that requesting a smaller resolution than images' native resolution will not improve the quality of the output – just its size – keep in mind that the native resolution of Sentinel data is 10 m, while Landsat is 30 m.)" +#: ../../source/cookbook/optical_mosaic.rst:433 +msgid "" +"You can set a custom scale for exportation by selecting a value in metres" +" (m) (note that requesting a smaller resolution than the images' native " +"resolution will not improve the quality of the output – just its size – " +"keep in mind that the native resolution of Sentinel data is 10 m, while " +"Landsat is 30 m)." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:420 +#: ../../source/cookbook/optical_mosaic.rst:436 msgid "Destination" msgstr "Récupérer vers" -#: ../../source/cookbook/optical_mosaic.rst:422 -msgid "You can export the image to the :guilabel:`SEPAL workspace` or to the ;guilabel:`Google Earth Engine Asset` folder. The same image will be exported to both; however, for the former, you will find it in :code:`.tif` format in the :code:`Downloads` folder; for the latter, the image will be exported to your GEE account asset list." +#: ../../source/cookbook/optical_mosaic.rst:438 +msgid "Choose a single destination for the export:" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:426 -msgid "If :guilabel:`Google Earth Engine Asset` is not displayed, it means that your GEE account is not connected to SEPAL. Please refer to `Connect SEPAL to GEE <../setup/gee.html>`__." +#: ../../source/cookbook/optical_mosaic.rst:440 +msgid "" +":guilabel:`SEPAL workspace`: the image is written to your SEPAL files in " +":code:`.tif` format (by default in the :code:`Downloads` folder)." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:428 -msgid "Select :guilabel:`Apply` to start the download process." +#: ../../source/cookbook/optical_mosaic.rst:441 +msgid "" +":guilabel:`Google Earth Engine asset`: the image is exported to your GEE " +"account as an asset. You can export it either as a single " +":guilabel:`Image` or as an :guilabel:`Image collection` (tiled, which is " +"better suited to large exports), and set its sharing to " +":guilabel:`Private` or :guilabel:`Public`." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:431 +#: ../../source/cookbook/optical_mosaic.rst:442 +msgid "" +":guilabel:`Google Drive`: the image is exported to the Google Drive of " +"the connected Google account." +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:446 +msgid "" +"The :guilabel:`Google Earth Engine asset` and :guilabel:`Google Drive` " +"destinations are only displayed when a Google account is connected to " +"SEPAL. If they are missing, please refer to `Connect SEPAL to GEE " +"<../setup/gee.html>`__." +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:448 +msgid "Select :guilabel:`Retrieve` to start the export process." +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:451 msgid "Exportation status" msgstr "Statut d'exportation" -#: ../../source/cookbook/optical_mosaic.rst:433 -msgid "In the **Tasks** tab (lower-left corner using the :icon:`fa-solid fa-list-check` or :icon:`fa-solid fa-spinner` buttons, depending on the loading status), you will see the list of the different loading tasks. The interface will provide you with information about task progress and display an error if the exportation has failed." +#: ../../source/cookbook/optical_mosaic.rst:453 +msgid "" +"In the **Tasks** tab (lower-left corner using the :icon:`fa-solid fa-" +"list-check` or :icon:`fa-solid fa-spinner` buttons, depending on the " +"loading status), you will see the list of the different loading tasks. " +"The interface will provide you with information about task progress and " +"display an error if the exportation has failed." +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:455 +msgid "" +"If you are unsatisfied with the way we present information, the task can " +"also be monitored using the `GEE task manager " +"`__." msgstr "" +"Si vous n'êtes pas satisfait de la façon dont nous présentons les " +"informations, la tâche peut également être surveillée en utilisant le " +"`Gestionnaire de tâches GEE " +"`__." -#: ../../source/cookbook/optical_mosaic.rst:435 -msgid "If you are unsatisfied with the way we present information, the task can also be monitored using the `GEE task manager `__." -msgstr "Si vous n'êtes pas satisfait de la façon dont nous présentons les informations, la tâche peut également être surveillée en utilisant le `Gestionnaire de tâches GEE `__." - -#: ../../source/cookbook/optical_mosaic.rst:439 -msgid "This operation is running between GEE and SEPAL servers in the background. You can close the SEPAL page without stopping the process." -msgstr "Cette opération fonctionne entre les serveurs GEE et SEPAL en arrière-plan. Vous pouvez fermer la page SEPAL sans arrêter le processus." +#: ../../source/cookbook/optical_mosaic.rst:459 +msgid "" +"This operation is running between GEE and SEPAL servers in the " +"background. You can close the SEPAL page without stopping the process." +msgstr "" +"Cette opération fonctionne entre les serveurs GEE et SEPAL en arrière-" +"plan. Vous pouvez fermer la page SEPAL sans arrêter le processus." -#: ../../source/cookbook/optical_mosaic.rst:441 -msgid "When the task is finished, the frame will be displayed in green, as shown on the second image below." -msgstr "Lorsque la tâche est terminée, le cadre sera affiché en vert, comme indiqué sur la deuxième image ci-dessous." +#: ../../source/cookbook/optical_mosaic.rst:461 +msgid "" +"When the task is finished, the frame will be displayed in green, as shown" +" on the second image below." +msgstr "" +"Lorsque la tâche est terminée, le cadre sera affiché en vert, comme " +"indiqué sur la deuxième image ci-dessous." -#: ../../source/cookbook/optical_mosaic.rst:454 +#: ../../source/cookbook/optical_mosaic.rst:474 msgid "Access" msgstr "Accès" -#: ../../source/cookbook/optical_mosaic.rst:456 -msgid "Once the download process is complete, you can access the data in your SEPAL folders. The data will be stored in the :code:`Downloads` folder using the following format:" -msgstr "Une fois le processus de téléchargement terminé, vous pouvez accéder aux données dans vos dossiers SEPAL. Les données seront stockées dans le dossier :code:`Downloads` en utilisant le format suivant :" - -#: ../../source/cookbook/optical_mosaic.rst:471 -msgid "Understanding how images are stored in an optical mosaic is only required if you want to manually use them. The SEPAL applications are bound to this tiling system and can digest the information for you." +#: ../../source/cookbook/optical_mosaic.rst:476 +msgid "" +"Once the download process is complete, you can access the data in your " +"SEPAL folders. The data will be stored in the :code:`Downloads` folder " +"using the following format:" msgstr "" +"Une fois le processus de téléchargement terminé, vous pouvez accéder aux " +"données dans vos dossiers SEPAL. Les données seront stockées dans le " +"dossier :code:`Downloads` en utilisant le format suivant :" -#: ../../source/cookbook/optical_mosaic.rst:473 -msgid "The data are stored in a folder using the name of the optical mosaic as it was created in the first section of this article. As the number of data is spatially too big to be exported at once, the data are divided into smaller pieces and brought back together in a :code:`_.vrt` file." -msgstr "Les données sont stockées dans un dossier en utilisant le nom de la mosaïque optique telle qu'elle a été créée dans la première section de cet article. Comme le nombre de données est spatialement trop grand pour être exporté en même temps, les données sont divisées en morceaux plus petits et réunies dans un fichier :code:`_.vrt`." +#: ../../source/cookbook/optical_mosaic.rst:491 +msgid "" +"Understanding how images are stored in an optical mosaic is only required" +" if you want to manually use them. The SEPAL applications are bound to " +"this tiling system and can digest the information for you." +msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:477 -msgid "The full folder with a consistent tree folder is required to read the `.vrt`" +#: ../../source/cookbook/optical_mosaic.rst:493 +msgid "" +"The data are stored in a folder using the name of the optical mosaic as " +"it was created in the first section of this article. As the number of " +"data is spatially too big to be exported at once, the data are divided " +"into smaller pieces and brought back together in a :code:`_.vrt` file." +msgstr "" +"Les données sont stockées dans un dossier en utilisant le nom de la " +"mosaïque optique telle qu'elle a été créée dans la première section de " +"cet article. Comme le nombre de données est spatialement trop grand pour " +"être exporté en même temps, les données sont divisées en morceaux plus " +"petits et réunies dans un fichier :code:`_.vrt`." + +#: ../../source/cookbook/optical_mosaic.rst:497 +msgid "" +"The full folder with a consistent tree folder is required to read the " +"`.vrt`" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:481 -msgid "Now that you have downloaded the optical mosaic to your SEPAL and/or GEE account, it can be downloaded to your computer using `FileZilla <../setup.filezilla.html>`__ or used in other SEPAL workflows." +#: ../../source/cookbook/optical_mosaic.rst:501 +msgid "" +"Now that you have exported the optical mosaic to your SEPAL workspace, it" +" can be downloaded to your computer using `file exchange options " +"<../setup/filezilla.html>`__ or used in other SEPAL workflows." msgstr "" #~ msgid "Optical mosaic" @@ -1794,3 +2276,502 @@ msgstr "" #~ " SEPAL workflows." #~ msgstr "" +#~ msgid "" +#~ "As mentioned in the introduction, a " +#~ "mosaic uses different raster datasets " +#~ "that can be obtained from multiple " +#~ "sources. SEPAL allows you to select " +#~ "data from multiple entry points. Below," +#~ " you can find a description of " +#~ "these sources (select a link to " +#~ "see the corresponding dataset information):" +#~ msgstr "" +#~ "Comme mentionné dans l'introduction, une " +#~ "mosaïque utilise différents ensembles de " +#~ "données matriciels qui peuvent être " +#~ "obtenus à partir de sources multiples." +#~ " SEPAL vous permet de sélectionner " +#~ "des données à partir de plusieurs " +#~ "points d’entrée. Ci-dessous, vous pouvez" +#~ " trouver une description de ces " +#~ "sources (sélectionnez un lien pour voir" +#~ " les informations du jeu de données" +#~ " correspondant):" + +#~ msgid "" +#~ ":guilabel:`L8`: `Landsat 8 Tier 1 " +#~ "`__. Landsat " +#~ "scenes with the highest available data" +#~ " quality are placed into **Tier 1**" +#~ " and considered suitable for time-" +#~ "series processing analysis. **Tier 1** " +#~ "includes Level-1 Precision Terrain (L1TP) " +#~ "processed data that have well-" +#~ "characterized radiometry and are " +#~ "intercalibrated across different Landsat " +#~ "sensors. The geo-registration of **Tier" +#~ " 1** scenes will be consistent and" +#~ " within prescribed tolerances (< = 12" +#~ " m root mean square error [RMSE])." +#~ " All **Tier 1** Landsat data can " +#~ "be considered consistent and intercalibrated" +#~ " (regardless of the sensor used) " +#~ "across the full collection." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`L8 T2`: `Landsat 8 Tier 2 " +#~ "`__. Scenes " +#~ "not meeting **Tier 1** criteria during" +#~ " processing are assigned to **Tier " +#~ "2**. This includes Systematic terrain " +#~ "(L1GT) and Systematic (L1GS) processed " +#~ "scenes, as well as any L1TP scenes" +#~ " that do not meet the **Tier " +#~ "1** specifications due to significant " +#~ "cloud cover, insufficient ground control " +#~ "and other factors. Users interested in" +#~ " **Tier 2** scenes can analyze the" +#~ " RMSE and other properties to " +#~ "determine the suitability for use in " +#~ "individual applications and studies." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`L7`: `Landsat 7 Tier 1 " +#~ "`__. Landsat " +#~ "scenes with the highest available data" +#~ " quality are placed into **Tier 1**" +#~ " and are considered suitable for " +#~ "time-series processing analysis. **Tier 1**" +#~ " includes Level-1 Precision Terrain (L1TP)" +#~ " processed data that have well-" +#~ "characterized radiometry and are " +#~ "intercalibrated across different Landsat " +#~ "sensors. The geo-registration of **Tier" +#~ " 1** scenes will be consistent and" +#~ " within prescribed tolerances (< = 12" +#~ " m RMSE). All **Tier 1** Landsat " +#~ "data can be considered consistent and" +#~ " intercalibrated across the full collection" +#~ " (regardless of the sensor used)." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`L7 T2`: `Landsat 7 Tier 2 " +#~ "`__. Scenes " +#~ "not meeting **Tier 1** criteria during" +#~ " processing are assigned to **Tier " +#~ "2**. This includes Systematic terrain " +#~ "(L1GT) and Systematic (L1GS) processed " +#~ "scenes, as well as any L1TP scenes" +#~ " that do not meet the **Tier " +#~ "1** specifications due to significant " +#~ "cloud cover, insufficient ground control " +#~ "and other factors. Users interested in" +#~ " **Tier 2** scenes can analyze the" +#~ " RMSE and other properties to " +#~ "determine the suitability for use in " +#~ "individual applications and studies." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`L4-5`: `Landsat 4 Tier 1 " +#~ "`__ combined " +#~ "with `Landsat 5 Tier 1 " +#~ "`__. Landsat " +#~ "scenes with the highest available data" +#~ " quality are placed into **Tier 1**" +#~ " and are considered suitable for " +#~ "time-series processing analysis. **Tier 1**" +#~ " includes Level-1 Precision Terrain (L1TP)" +#~ " processed data that have well-" +#~ "characterized radiometry and are " +#~ "intercalibrated across different Landsat " +#~ "sensors. The geo-registration of **Tier" +#~ " 1** scenes will be consistent and" +#~ " within prescribed tolerances (< = 12" +#~ " m RMSE). All **Tier 1** Landsat " +#~ "data can be considered consistent and" +#~ " intercalibrated across the full collection" +#~ " (regardless of the sensor used)." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`L4-5 T2`: `Landsat 4 TM Tier" +#~ " 2 `__ combined " +#~ "with `Landsat 5 TM Tier 2 " +#~ "`__. Scenes " +#~ "not meeting **Tier 1** criteria during" +#~ " processing are assigned to **Tier " +#~ "2**. This includes Systematic terrain " +#~ "(L1GT) and Systematic (L1GS) processed " +#~ "scenes, as well as any L1TP scenes" +#~ " that do not meet the **Tier " +#~ "1** specifications due to significant " +#~ "cloud cover, insufficient ground control " +#~ "and other factors. Users interested in" +#~ " **Tier 2** scenes can analyze the" +#~ " RMSE and other properties to " +#~ "determine the suitability for use in " +#~ "individual applications and studies." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`A+B`: `Sentinel-2 Multispectral " +#~ "instrument `__ is a " +#~ "wide-swath, high-resolution, multispectral " +#~ "imaging mission supporting Copernicus Land " +#~ "Monitoring studies, including the monitoring" +#~ " of vegetation, soil and water cover," +#~ " as well as the observation of " +#~ "inland waterways and coastal areas." +#~ msgstr "" + +#~ msgid ":guilabel:`Target date`: Prioritizes images that match the target date." +#~ msgstr "" + +#~ msgid "This step is optional. SEPAL provides the following options by default:" +#~ msgstr "" + +#~ msgid "**Pixel filters**: No filters" +#~ msgstr "**Filtres Pixels** : Pas de filtres" + +#~ msgid "**Cloud detection**: :guilabel:`QA bands`, :guilabel:`Cloud score`" +#~ msgstr "**Détection de nuage**: :guilabel:`Bandes QA`, :guilabel:`Score Cloud`" + +#~ msgid "**Cloud buffering**: :guilabel:`None`" +#~ msgstr "**buffer de nuage**: :guilabel:`Aucun`" + +#~ msgid "**Snow masking**: :guilabel:`On`" +#~ msgstr "**Masquage des neiges** : :guilabel:`Activé`" + +#~ msgid "" +#~ "To create a mosaic, provide SEPAL " +#~ "with the compositing method to create" +#~ " the final image. See the following" +#~ " image for all possible compositing " +#~ "options available." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`SR`: Surface reflectance improves " +#~ "comparison between multiple images over " +#~ "the same region by accounting for " +#~ "atmospheric effects such as aerosol " +#~ "scattering and thin clouds, which can" +#~ " help in the detection and " +#~ "characterization of Earth surface change. " +#~ "Top-of-atmosphere images are used " +#~ "if not selected." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`BRDF`: Uses a bidirectional " +#~ "reflectance distribution function (BRDF) model" +#~ " to characterize surface reflectance " +#~ "anisotropy. For a given land area, " +#~ "the BRDF is established based on " +#~ "selected multi-angular observations of " +#~ "surface reflectance." +#~ msgstr "" + +#~ msgid "BRDF and surface reflectance (SR) corrections are disabled." +#~ msgstr "" + +#~ msgid "" +#~ "Activating any of the filters will " +#~ "remove some pixels from the stack. " +#~ "Removing pixels improves the quality of" +#~ " the mosaic, as they are not " +#~ "taken into account in the median " +#~ "value computation." +#~ msgstr "" + +#~ msgid "" +#~ "Each filter is applied iteratively (e.g." +#~ " if the normalized difference vegetation" +#~ " index [NDVI] is already filtering " +#~ "all pixels but one, there will be" +#~ " nothing left in the stack to " +#~ "be filtered by day of year)." +#~ msgstr "" + +#~ msgid "**Shadow**: Filters the XX percent darkest pixels of the stack." +#~ msgstr "" + +#~ msgid "" +#~ "**Haze**: Computes a haze index and " +#~ "filters the XX percent highest values." +#~ msgstr "" + +#~ msgid "" +#~ "**NDVI**: Computes the NDVI and only " +#~ "keeps the XX percent highest values." +#~ msgstr "" + +#~ msgid "" +#~ "**Day of the year**: Computes the " +#~ "distance from target day in days " +#~ "and filters out the XX percent " +#~ "farthest." +#~ msgstr "" + +#~ msgid "Cloud detection" +#~ msgstr "Détection des nuages" + +#~ msgid "Refers to the algorithm used to detect clouds." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`QA bands`: Uses quality assessment" +#~ " (QA) bands to identify clouds in " +#~ "Sentinel data." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`Cloud score`: Uses the computed " +#~ "cloud score to identify clouds in " +#~ "Landsat data." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`Pino 26`: Uses the Pino_26 " +#~ "algorithm to identify clouds (for more" +#~ " information, see `D. Simonetti [2021] " +#~ "`__)." +#~ msgstr "" + +#~ msgid "" +#~ "This filter is only available for " +#~ "Sentinel exclusive source when both " +#~ ":guilabel:`BRDF` and :guilabel:`SR` correction " +#~ "are disabled." +#~ msgstr "" + +#~ msgid "" +#~ "Controls how clouds will be masked " +#~ "based on the cloud detection algorithm" +#~ " selected." +#~ msgstr "" +#~ "Contrôle comment les nuages seront " +#~ "masqués en fonction de l'algorithme de" +#~ " détection du nuage sélectionné." + +#~ msgid "" +#~ ":guilabel:`off`: Uses cloud-free pixels " +#~ "if possible, but doesn't mask areas " +#~ "without cloud-free pixels." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`moderate`: Relies only on image " +#~ "source QA bands for cloud masking " +#~ "(a moderate threshold is used)." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`aggressive`: Relies on image source" +#~ " QA bands and a cloud scoring " +#~ "algorithm for cloud masking with an " +#~ "aggressive threshold (this will probably " +#~ "mask out some built-up areas and" +#~ " other bright features)." +#~ msgstr "" + +#~ msgid "" +#~ "When pixels are identified as clouds," +#~ " SEPAL can remove pixels in a " +#~ "small buffer around it to prevent " +#~ "hazy pixels at the borders of " +#~ "clouds to be included in the " +#~ "mosaic." +#~ msgstr "" + +#~ msgid "" +#~ "Buffering is done on the pixel " +#~ "level, so using this option will " +#~ "significantly increase the creation time " +#~ "of the mosaic." +#~ msgstr "" + +#~ msgid ":guilabel:`none`: Doesn't use cloud buffering." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`moderate`: Masks an additional " +#~ "**120 m** around each larger cloud." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`aggressive`: Masks an additional " +#~ "**600 m** around each larger cloud." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`on`: Masks snow. This tends " +#~ "to leave some pixels with shadowy " +#~ "snow." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`off`: Doesn't mask snow. Note " +#~ "that some clouds might get misclassified" +#~ " as snow; therefore, disabling snow " +#~ "masking might lead to cloud artifacts." +#~ msgstr "" + +#~ msgid "" +#~ "After filtering the stack of pixels, " +#~ "SEPAL will compute the median value " +#~ "on the different bands of the " +#~ "image. The composing method will define" +#~ " how the final pixel value is " +#~ "extracted." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`Medoid`: Uses the closest pixel " +#~ "from the median value. As a real" +#~ " pixel from the stack, the final " +#~ "value will embed metadata (e.g. the " +#~ "date of observation)." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`Median`: Uses the computed value" +#~ " of the median. If no pixel is" +#~ " matching this value, the pixel will" +#~ " not embed any metadata. It tends " +#~ "to produce smoother mosaics." +#~ msgstr "" + +#~ msgid ":btn:``: auto-select scenes" +#~ msgstr "" + +#~ msgid "" +#~ "If you have not selected the " +#~ "option :guilabel:`Select scenes` in the " +#~ ":guilabel:`SCN` tab, the :icon:`fa-solid " +#~ "fa-wand-magic` button will be " +#~ "disabled and the scene areas will " +#~ "be hidden as no scene selection " +#~ "needs to be performed (see those " +#~ "with a number in a circle on " +#~ "the previous screenshot)." +#~ msgstr "" + +#~ msgid "" +#~ "Selecting the :icon:`fa-solid fa-" +#~ "wand-magic` tab will open the " +#~ "**Auto-selection** pane." +#~ msgstr "" + +#~ msgid "" +#~ "Move the sliders to select the " +#~ "minimum and the maximum number of " +#~ "scenes SEPAL should select in a " +#~ "tile. Then, select the :guilabel:`Validate`" +#~ " button to apply the auto-select " +#~ "method." +#~ msgstr "" + +#~ msgid "" +#~ "A small preview of the scene in" +#~ " the *red, blue, green* band " +#~ "combination." +#~ msgstr "" + +#~ msgid "" +#~ "You can decide to move the scene" +#~ " to the **Selected scene** area by" +#~ " selecting :icon:`fa-solid fa-" +#~ "plus`:guilabel:`Add` or moving it back " +#~ "to **Available scene** pane by selecting" +#~ " :icon:`fa-solid fa-minus` " +#~ ":guilabel:`Remove`." +#~ msgstr "" + +#~ msgid "" +#~ "You cannot export a recipe as an" +#~ " asset or a :code:`.tiff` file " +#~ "without a small computation quota. If" +#~ " you are a new user, see " +#~ ":doc:`../setup/resource`." +#~ msgstr "" + +#~ msgid "" +#~ "You need to select the band(s) to" +#~ " export with the mosaic. There is " +#~ "no maximum number of bands, but " +#~ "exporting useless bands will only " +#~ "increase the size and time of the" +#~ " output. To discover the full list" +#~ " of available bands with SEPAL, see" +#~ " :doc:`../feature/bands`." +#~ msgstr "" + +#~ msgid ":guilabel:`dayofyear`: the Julian calendar date (day of the year)" +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`dayfromtarget`: the distance to the" +#~ " target date within the season in " +#~ "days" +#~ msgstr "" + +#~ msgid "" +#~ "You can set a custom scale for " +#~ "exportation by changing the value of " +#~ "the slider in metres (m) (note " +#~ "that requesting a smaller resolution " +#~ "than images' native resolution will not" +#~ " improve the quality of the output" +#~ " – just its size – keep in " +#~ "mind that the native resolution of " +#~ "Sentinel data is 10 m, while " +#~ "Landsat is 30 m.)" +#~ msgstr "" + +#~ msgid "" +#~ "You can export the image to the" +#~ " :guilabel:`SEPAL workspace` or to the " +#~ ";guilabel:`Google Earth Engine Asset` folder." +#~ " The same image will be exported " +#~ "to both; however, for the former, " +#~ "you will find it in :code:`.tif` " +#~ "format in the :code:`Downloads` folder; " +#~ "for the latter, the image will be" +#~ " exported to your GEE account asset" +#~ " list." +#~ msgstr "" + +#~ msgid "" +#~ "If :guilabel:`Google Earth Engine Asset` " +#~ "is not displayed, it means that " +#~ "your GEE account is not connected " +#~ "to SEPAL. Please refer to `Connect " +#~ "SEPAL to GEE <../setup/gee.html>`__." +#~ msgstr "" + +#~ msgid "Select :guilabel:`Apply` to start the download process." +#~ msgstr "" + +#~ msgid "" +#~ "Now that you have downloaded the " +#~ "optical mosaic to your SEPAL and/or " +#~ "GEE account, it can be downloaded " +#~ "to your computer using `FileZilla " +#~ "<../setup.filezilla.html>`__ or used in other" +#~ " SEPAL workflows." +#~ msgstr "" + diff --git a/docs/source/_locale/fr/LC_MESSAGES/cookbook/time_series.po b/docs/source/_locale/fr/LC_MESSAGES/cookbook/time_series.po index 6102952471..2297a60615 100644 --- a/docs/source/_locale/fr/LC_MESSAGES/cookbook/time_series.po +++ b/docs/source/_locale/fr/LC_MESSAGES/cookbook/time_series.po @@ -1,29 +1,27 @@ + msgid "" msgstr "" -"Project-Id-Version: sepal-doc\n" +"Project-Id-Version: sepal-doc\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-03-07 09:39+0100\n" -"PO-Revision-Date: 2024-03-07 08:53\n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: 2024-03-07 08:53+0000\n" "Last-Translator: \n" +"Language: fr_FR\n" "Language-Team: French\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.14.0\n" -"Plural-Forms: nplurals=2; plural=(n > 1);\n" -"X-Crowdin-Project: sepal-doc\n" -"X-Crowdin-Project-ID: 562097\n" -"X-Crowdin-Language: fr\n" -"X-Crowdin-File: /main/docs/source/_locale/en/LC_MESSAGES/cookbook/time_series.po\n" -"X-Crowdin-File-ID: 75\n" -"Language: fr_FR\n" +"Generated-By: Babel 2.18.0\n" #: ../../source/cookbook/time_series.rst:2 msgid "Time series" msgstr "Séries temporelles" #: ../../source/cookbook/time_series.rst:4 -msgid "*Create and retrieve SITS to study patterns and key changes in landscape evolution over time*" +msgid "" +"*Create and retrieve SITS to study patterns and key changes in landscape " +"evolution over time*" msgstr "" #: ../../source/cookbook/time_series.rst:7 @@ -31,40 +29,98 @@ msgid "Overview" msgstr "Présentation" #: ../../source/cookbook/time_series.rst:9 -msgid "A Satellite Image Time Series (SITS) is a set of satellite images taken of the same scene at different times. A SITS makes use of different satellite sources to obtain a larger data series with a short time interval between two images. In this case, it is fundamental to observe the spatial resolution and registration constraints." -msgstr "Une Satellite Image Time Series (SITS) est un ensemble d'images satellites prises de la même scène à différents moments. Un SITS utilise différentes sources satellites pour obtenir une plus grande série de données avec un bref intervalle de temps entre deux images. Dans ce cas, il est fondamental de respecter la résolution spatiale et les contraintes d'enregistrement." +msgid "" +"A Satellite Image Time Series (SITS) is a set of satellite images taken " +"of the same scene at different times. A SITS makes use of different " +"satellite sources to obtain a larger data series with a short time " +"interval between two images. In this case, it is fundamental to observe " +"the spatial resolution and registration constraints." +msgstr "" +"Une Satellite Image Time Series (SITS) est un ensemble d'images " +"satellites prises de la même scène à différents moments. Un SITS utilise " +"différentes sources satellites pour obtenir une plus grande série de " +"données avec un bref intervalle de temps entre deux images. Dans ce cas, " +"il est fondamental de respecter la résolution spatiale et les contraintes" +" d'enregistrement." #: ../../source/cookbook/time_series.rst:11 -msgid "Satellite observations offer opportunities for understanding how the Earth is changing, determining the causes of these changes and predicting future changes. Remotely sensed data, combined with information from ecosystem models, offer an opportunity for predicting and understanding the behaviour of Earth's ecosystems. Sensors with high spatial and temporal resolutions make the observation of precise spatio-temporal structures in dynamic scenes more accessible. Temporal components integrated with spectral and spatial dimensions allow the identification of complex patterns concerning applications connected with environmental monitoring and analysis of land cover dynamics." +msgid "" +"Satellite observations offer opportunities for understanding how the " +"Earth is changing, determining the causes of these changes and predicting" +" future changes. Remotely sensed data, combined with information from " +"ecosystem models, offer an opportunity for predicting and understanding " +"the behaviour of Earth's ecosystems. Sensors with high spatial and " +"temporal resolutions make the observation of precise spatio-temporal " +"structures in dynamic scenes more accessible. Temporal components " +"integrated with spectral and spatial dimensions allow the identification " +"of complex patterns concerning applications connected with environmental " +"monitoring and analysis of land cover dynamics." msgstr "" #: ../../source/cookbook/time_series.rst:13 -msgid "Change detection can only provide a \"before and after\" scenario; a time-series analysis provides an opportunity to study patterns and key changes in the landscape evolution over time." -msgstr "La détection des changements ne peut fournir qu'un scénario \"avant et après\" ; une analyse de séries temporelles offre l'occasion d'étudier les modèles et les changements clés dans l'évolution du paysage au fil du temps." +msgid "" +"Change detection can only provide a \"before and after\" scenario; a " +"time-series analysis provides an opportunity to study patterns and key " +"changes in the landscape evolution over time." +msgstr "" +"La détection des changements ne peut fournir qu'un scénario \"avant et " +"après\" ; une analyse de séries temporelles offre l'occasion d'étudier " +"les modèles et les changements clés dans l'évolution du paysage au fil du" +" temps." #: ../../source/cookbook/time_series.rst:15 -msgid "This SEPAL recipe allows users to create and retrieve SITS based on `Landsat `__ and `Copernicus `__ programmes' imagery using the Google Earth Engine (GEE) datacube." +msgid "" +"This SEPAL recipe allows users to create and retrieve SITS based on " +"`Landsat `__ and `Copernicus `__ programmes' " +"imagery using the Google Earth Engine (GEE) datacube." msgstr "" #: ../../source/cookbook/time_series.rst:19 -msgid "You won't be able to download images if your SEPAL and GEE account aren't connected. To learn more, go to `Connect SEPAL to GEE <../setup/gee.html>`__." -msgstr "Vous ne serez pas en mesure de télécharger des images si votre compte SEPAL et GEE n'est pas connecté. Pour en savoir plus, allez à `Connecter SEPAL à GEE <../setup/gee.html>`__." +msgid "" +"You won't be able to download images if your SEPAL and GEE account aren't" +" connected. To learn more, go to `Connect SEPAL to GEE " +"<../setup/gee.html>`__." +msgstr "" +"Vous ne serez pas en mesure de télécharger des images si votre compte " +"SEPAL et GEE n'est pas connecté. Pour en savoir plus, allez à `Connecter " +"SEPAL à GEE <../setup/gee.html>`__." #: ../../source/cookbook/time_series.rst:22 msgid "Start" msgstr "Commencer" #: ../../source/cookbook/time_series.rst:24 -msgid "Once the **Time series** recipe is selected, SEPAL will open the recipe process in a new tab (see **1** in the following figure). The base map will change to Google high-resolution imagery and the **Area of interest (AOI)** selection window will appear in the lower right (**2**)." +msgid "" +"Once the **Time series** recipe is selected, SEPAL will open the recipe " +"process in a new tab (see **1** in the following figure). The base map " +"will change to Google high-resolution imagery and the **Area of interest " +"(AOI)** selection window will appear in the lower right (**2**)." msgstr "" #: ../../source/cookbook/time_series.rst:30 -msgid "The first step is to change the name of the recipe. This name will be used to identify your files and recipes in the SEPAL folders. Use the best-suited convention for your needs. Simply double-click the tab and enter a new name. It will default to :code:`Time_series___`." -msgstr "La première étape est de changer le nom de la recette. Ce nom sera utilisé pour identifier vos fichiers et recettes dans les dossiers SEPAL. Utilisez la convention la mieux adaptée à vos besoins. Double-cliquez simplement sur l'onglet et entrez un nouveau nom. Il sera par défaut à :code:`Time_series___`." +msgid "" +"The first step is to change the name of the recipe. This name will be " +"used to identify your files and recipes in the SEPAL folders. Use the " +"best-suited convention for your needs. Simply double-click the tab and " +"enter a new name. It will default to " +":code:`Time_series___`." +msgstr "" +"La première étape est de changer le nom de la recette. Ce nom sera " +"utilisé pour identifier vos fichiers et recettes dans les dossiers SEPAL." +" Utilisez la convention la mieux adaptée à vos besoins. Double-cliquez " +"simplement sur l'onglet et entrez un nouveau nom. Il sera par défaut à " +":code:`Time_series___`." #: ../../source/cookbook/time_series.rst:42 -msgid "The SEPAL team recommends using the following naming convention: :code:`___` (e.g. :code:`sgp_2012-2018_ndfi_l78`)." -msgstr "L'équipe SEPAL recommande d'utiliser la convention de nommage suivante : :code:`___` (ex : :code:`sgp_2012-2018_ndfi_l78`)." +msgid "" +"The SEPAL team recommends using the following naming convention: " +":code:`___` (e.g. " +":code:`sgp_2012-2018_ndfi_l78`)." +msgstr "" +"L'équipe SEPAL recommande d'utiliser la convention de nommage suivante : " +":code:`___` (ex : " +":code:`sgp_2012-2018_ndfi_l78`)." #: ../../source/cookbook/time_series.rst:45 #: ../../source/cookbook/time_series.rst:203 @@ -72,7 +128,9 @@ msgid "Parameters" msgstr "Paramètres" #: ../../source/cookbook/time_series.rst:47 -msgid "In the lower-right corner, four tabs are available, allowing you to customize the time series to your needs:" +msgid "" +"In the lower-right corner, four tabs are available, allowing you to " +"customize the time series to your needs:" msgstr "" #: ../../source/cookbook/time_series.rst:49 @@ -96,8 +154,12 @@ msgid "AOI selection" msgstr "Sélection de l'AOI" #: ../../source/cookbook/time_series.rst:61 -msgid "The data exported by the recipe will be confined to the bounds of the AOI. There are multiple ways to select the AOI in SEPAL:" -msgstr "Les données exportées par la recette seront limitées aux limites de l'AOI. Il y a plusieurs façons de sélectionner l'AOI dans SEPAL:" +msgid "" +"The data exported by the recipe will be confined to the bounds of the " +"AOI. There are multiple ways to select the AOI in SEPAL:" +msgstr "" +"Les données exportées par la recette seront limitées aux limites de " +"l'AOI. Il y a plusieurs façons de sélectionner l'AOI dans SEPAL:" #: ../../source/cookbook/time_series.rst:63 msgid "Administrative boundaries" @@ -120,20 +182,46 @@ msgid "Dates" msgstr "Dates" #: ../../source/cookbook/time_series.rst:76 -msgid "In the :guilabel:`DAT` tab, you will be asked to select the start date and end date of the time series. Select the **Date** text field to open a pop-up window. Choose the :btn:` Select` button to choose a date. When both dates have been chosen, select the :btn:` Apply` button." -msgstr "Dans l'onglet :guilabel:`DAT`, il vous sera demandé de sélectionner la date de début et la date de fin de la série horaire. Sélectionnez le champ de texte **Date** pour ouvrir une fenêtre popup. Choisissez le bouton :btn:` Select` pour choisir une date. Lorsque les deux dates ont été choisies, sélectionnez le bouton :btn:` Appliquer`." +msgid "" +"In the :guilabel:`DAT` tab, you will be asked to select the start date " +"and end date of the time series. Select the **Date** text field to open a" +" pop-up window. Choose the :btn:` Select` button to " +"choose a date. When both dates have been chosen, select the :btn:` Apply` button." +msgstr "" +"Dans l'onglet :guilabel:`DAT`, il vous sera demandé de sélectionner la " +"date de début et la date de fin de la série horaire. Sélectionnez le " +"champ de texte **Date** pour ouvrir une fenêtre popup. Choisissez le " +"bouton :btn:` Select` pour choisir une date. Lorsque " +"les deux dates ont été choisies, sélectionnez le bouton :btn:` Appliquer`." #: ../../source/cookbook/time_series.rst:89 msgid "Sources" msgstr "Sources" #: ../../source/cookbook/time_series.rst:91 -msgid "As mentioned in the introduction, a SITS makes use of different satellite sources to obtain a larger data series with a shorter time interval between the images. To meet this objective, SEPAL allows you to select data from multiple entry points. You can select multiple sources from :btn:`Radar`, :btn:`Optical` or :btn:`Planet` datasets." -msgstr "Comme mentionné dans l'introduction, un SITS utilise différentes sources satellites pour obtenir une plus grande série de données avec un intervalle de temps plus court entre les images. Pour atteindre cet objectif, SEPAL vous permet de sélectionner des données à partir de plusieurs points d’entrée. Vous pouvez sélectionner plusieurs sources dans les jeux de données :btn:`Radar`, :btn:`Optical` ou :btn:`Planet`." +msgid "" +"As mentioned in the introduction, a SITS makes use of different satellite" +" sources to obtain a larger data series with a shorter time interval " +"between the images. To meet this objective, SEPAL allows you to select " +"data from multiple entry points. You can select multiple sources from " +":btn:`Radar`, :btn:`Optical` or :btn:`Planet` datasets." +msgstr "" +"Comme mentionné dans l'introduction, un SITS utilise différentes sources " +"satellites pour obtenir une plus grande série de données avec un " +"intervalle de temps plus court entre les images. Pour atteindre cet " +"objectif, SEPAL vous permet de sélectionner des données à partir de " +"plusieurs points d’entrée. Vous pouvez sélectionner plusieurs sources " +"dans les jeux de données :btn:`Radar`, :btn:`Optical` ou :btn:`Planet`." #: ../../source/cookbook/time_series.rst:93 -msgid "When all of the data has been selected, select :btn:` Apply`." -msgstr "Lorsque toutes les données ont été sélectionnées, sélectionnez :btn:` Appliquer`." +msgid "" +"When all of the data has been selected, select :btn:` " +"Apply`." +msgstr "" +"Lorsque toutes les données ont été sélectionnées, sélectionnez :btn:` Appliquer`." #: ../../source/cookbook/time_series.rst:100 msgid "Pre-processing" @@ -160,7 +248,12 @@ msgid "Snow masking: :guilabel:`on`" msgstr "Masquage des neiges: :guilabel:`activé`" #: ../../source/cookbook/time_series.rst:111 -msgid "Multiple pre-processing parameters can be set to improve the quality of the provided images. SEPAL has gathered four of them in the form of these interactive buttons. If you think others should be added, tell us in the `issue tracker `__." +msgid "" +"Multiple pre-processing parameters can be set to improve the quality of " +"the provided images. SEPAL has gathered four of them in the form of these" +" interactive buttons. If you think others should be added, tell us in the" +" `issue tracker " +"`__." msgstr "" #: ../../source/cookbook/time_series.rst:113 @@ -168,35 +261,54 @@ msgid "**Correction**" msgstr "**Correction**" #: ../../source/cookbook/time_series.rst:115 -msgid ":guilabel:`Surface reflectance`: Use scenes' atmospherically corrected surface reflectance." -msgstr ":guilabel:`Réflexion de surface`: Utiliser des scènes avec la réflexion de surface corrigée pour les effets atmosphériques." +msgid "" +":guilabel:`Surface reflectance`: Use scenes' atmospherically corrected " +"surface reflectance." +msgstr "" +":guilabel:`Réflexion de surface`: Utiliser des scènes avec la réflexion " +"de surface corrigée pour les effets atmosphériques." #: ../../source/cookbook/time_series.rst:116 -msgid ":guilabel:`BRDF correction`: Correct for bidirectional reflectance distribution function (BRDF) effects." -msgstr ":guilabel:`Correction BRDF`Corriger les effets de réflectance bidirectionnelle de distribution (BRDF)." +msgid "" +":guilabel:`BRDF correction`: Correct for bidirectional reflectance " +"distribution function (BRDF) effects." +msgstr "" +":guilabel:`Correction BRDF`Corriger les effets de réflectance " +"bidirectionnelle de distribution (BRDF)." #: ../../source/cookbook/time_series.rst:118 msgid "**Cloud detection**" msgstr "**Détection des nuages**" #: ../../source/cookbook/time_series.rst:120 -msgid ":guilabel:`QA bands`: Use previously created quality assessment (QA) bands from datasets." +msgid "" +":guilabel:`QA bands`: Use previously created quality assessment (QA) " +"bands from datasets." msgstr "" #: ../../source/cookbook/time_series.rst:121 msgid ":guilabel:`Cloud score`: Use a cloud-scoring algorithm." -msgstr ":guilabel:`Score Cloud`: Utilisez un algorithme avec un score de couverture nuageuse." +msgstr "" +":guilabel:`Score Cloud`: Utilisez un algorithme avec un score de " +"couverture nuageuse." #: ../../source/cookbook/time_series.rst:123 msgid "**Cloud masking**" msgstr "**Masquage des nuages**" #: ../../source/cookbook/time_series.rst:125 -msgid ":guilabel:`Moderate`: Rely only on image source QA bands for cloud masking." -msgstr ":guilabel:`Modéré`: Ne comptez que sur les bandes QA des images sources pour le masquage des nuages." +msgid "" +":guilabel:`Moderate`: Rely only on image source QA bands for cloud " +"masking." +msgstr "" +":guilabel:`Modéré`: Ne comptez que sur les bandes QA des images sources " +"pour le masquage des nuages." #: ../../source/cookbook/time_series.rst:126 -msgid ":guilabel:`Aggressive`: Rely on image source QA bands and a cloud-scoring algorithm for cloud masking (this will probably \"mask\" some built-up areas and other bright features)." +msgid "" +":guilabel:`Aggressive`: Rely on image source QA bands and a cloud-scoring" +" algorithm for cloud masking (this will probably \"mask\" some built-up " +"areas and other bright features)." msgstr "" #: ../../source/cookbook/time_series.rst:128 @@ -204,11 +316,16 @@ msgid "**Snow masking**" msgstr "" #: ../../source/cookbook/time_series.rst:130 -msgid ":guilabel:`On`: Mask snow (this tends to leave some pixels with shadowy snow)." +msgid "" +":guilabel:`On`: Mask snow (this tends to leave some pixels with shadowy " +"snow)." msgstr "" #: ../../source/cookbook/time_series.rst:131 -msgid ":guilabel:`Off`: Don't mask snow (some clouds might get misclassified as snow, and because of this, disabling snow masking might lead to cloud artefacts)." +msgid "" +":guilabel:`Off`: Don't mask snow (some clouds might get misclassified as " +"snow, and because of this, disabling snow masking might lead to cloud " +"artefacts)." msgstr "" #: ../../source/cookbook/time_series.rst:138 @@ -220,7 +337,11 @@ msgid "The wavelength of each band is dependent on the satellite used." msgstr "" #: ../../source/cookbook/time_series.rst:144 -msgid "The time series will use a single observation for each pixel. This observation can be one of the available bands in SEPAL. To discover the full list of available bands, see :doc:`../feature/bands`." +msgid "" +"The time series will use a single observation for each pixel. This " +"observation can be one of the available bands in SEPAL. To discover the " +"full list of available bands, see :doc:`../feature/optical_bands` and " +"`../feature/radar_bands`." msgstr "" #: ../../source/cookbook/time_series.rst:147 @@ -228,12 +349,19 @@ msgid "Analysis" msgstr "Analyse" #: ../../source/cookbook/time_series.rst:149 -msgid "Once all parameters are set, you can generate data from the recipe. Some can be directly generated on the fly from the interface; the rest require retrieving the data from SEPAL folders." +msgid "" +"Once all parameters are set, you can generate data from the recipe. Some " +"can be directly generated on the fly from the interface; the rest require" +" retrieving the data from SEPAL folders." msgstr "" #: ../../source/cookbook/time_series.rst:151 -msgid "The analysis icons can be found in the upper-right corner of the SEPAL interface:" -msgstr "Les icônes d'analyse se trouvent dans le coin supérieur droit de l'interface SEPAL :" +msgid "" +"The analysis icons can be found in the upper-right corner of the SEPAL " +"interface:" +msgstr "" +"Les icônes d'analyse se trouvent dans le coin supérieur droit de " +"l'interface SEPAL :" #: ../../source/cookbook/time_series.rst:153 msgid ":btn:``: Plot data." @@ -244,7 +372,10 @@ msgid ":btn:``: Retrieve data." msgstr "" #: ../../source/cookbook/time_series.rst:162 -msgid "The **Download** icon is only enabled when the data parameters are complete. If the button is disabled, check your parameters, as some might be missing." +msgid "" +"The **Download** icon is only enabled when the data parameters are " +"complete. If the button is disabled, check your parameters, as some might" +" be missing." msgstr "" #: ../../source/cookbook/time_series.rst:165 @@ -252,7 +383,11 @@ msgid "Plot" msgstr "" #: ../../source/cookbook/time_series.rst:167 -msgid "Select :btn:`` to start the plotting tool. Move the pointer to the main map; the pointer will be transformed into a :icon:`fa-solid fa-plus`. Click anywhere in the AOI to plot data for this specific location in the following pop-up window." +msgid "" +"Select :btn:`` to start the plotting tool. Move " +"the pointer to the main map; the pointer will be transformed into a :icon" +":`fa-solid fa-plus`. Click anywhere in the AOI to plot data for this " +"specific location in the following pop-up window." msgstr "" #: ../../source/cookbook/time_series.rst:169 @@ -260,15 +395,23 @@ msgid "The plotting area is dynamic and can be customized by the user." msgstr "" #: ../../source/cookbook/time_series.rst:171 -msgid "Using the slider (1), the temporal width displayed can be changed. It cannot exceed the start and/or end date of the time series." +msgid "" +"Using the slider (1), the temporal width displayed can be changed. It " +"cannot exceed the start and/or end date of the time series." msgstr "" #: ../../source/cookbook/time_series.rst:173 -msgid "You can also select the observation feature by selecting one of the available measures in the dropdown selector in the upper-left corner (2). The available bands are the same as those described previously." +msgid "" +"You can also select the observation feature by selecting one of the " +"available measures in the dropdown selector in the upper-left corner (2)." +" The available bands are the same as those described previously." msgstr "" #: ../../source/cookbook/time_series.rst:175 -msgid "On the main graph, each point represents one valid observation (based on the pre-processing filters). Hover over the point to let the tooltip describe the value and date of the observation (3)." +msgid "" +"On the main graph, each point represents one valid observation (based on " +"the pre-processing filters). Hover over the point to let the tooltip " +"describe the value and date of the observation (3)." msgstr "" #: ../../source/cookbook/time_series.rst:179 @@ -276,7 +419,13 @@ msgid "The coordinates of the point are displayed at the top of the chart window msgstr "" #: ../../source/cookbook/time_series.rst:187 -msgid "Since the plot feature is retrieving information from GEE on the fly and presenting it in an interactive window, this operation can take time, depending on the number of available observations and the complexity of the selected pre-processing parameters. If a spinning wheel appears in the pop-up window, you may have to wait up to two minutes to see the data displayed." +msgid "" +"Since the plot feature is retrieving information from GEE on the fly and " +"presenting it in an interactive window, this operation can take time, " +"depending on the number of available observations and the complexity of " +"the selected pre-processing parameters. If a spinning wheel appears in " +"the pop-up window, you may have to wait up to two minutes to see the data" +" displayed." msgstr "" #: ../../source/cookbook/time_series.rst:194 @@ -284,27 +433,47 @@ msgid "Export" msgstr "Exporter" #: ../../source/cookbook/time_series.rst:196 -msgid "In order for the data generated by the recipe to be used in other workflows, it needs to be retrieved from GEE and uploaded to SEPAL." +msgid "" +"In order for the data generated by the recipe to be used in other " +"workflows, it needs to be retrieved from GEE and uploaded to SEPAL." msgstr "" #: ../../source/cookbook/time_series.rst:200 -msgid "You cannot export a recipe as an asset or a :code:`.tiff` file without a small computation quota. If you are a new user, see :doc:`../setup/resource`." +msgid "" +"You cannot export a recipe as an asset or a :code:`.tiff` file without a " +"small computation quota. If you are a new user, see " +":doc:`../setup/resource`." msgstr "" #: ../../source/cookbook/time_series.rst:204 -msgid "Select :btn:`` to open the **Download parameters** window. You will be able to select the measure to use on each observation of the time series. This measure can be selected in the list of available bands presented above in a previous section." +msgid "" +"Select :btn:`` to open the **Download " +"parameters** window. You will be able to select the measure to use on " +"each observation of the time series. This measure can be selected in the " +"list of available bands presented above in a previous section." msgstr "" #: ../../source/cookbook/time_series.rst:208 -msgid "There is no fixed rule to the measure selection. Each index is more adapted to a set of analyses in a defined biome. The knowledge of the study area, the evolution expected and the careful selection of an adapted measure will improve the quality of downstream analysis." +msgid "" +"There is no fixed rule to the measure selection. Each index is more " +"adapted to a set of analyses in a defined biome. The knowledge of the " +"study area, the evolution expected and the careful selection of an " +"adapted measure will improve the quality of downstream analysis." msgstr "" #: ../../source/cookbook/time_series.rst:210 -msgid "You can set a custom scale for exportation by changing the value of the slider in metres (m). Keep in mind that Sentinel data native resolution is 10 m and Landsat is 30 m." +msgid "" +"You can set a custom scale for exportation by changing the value of the " +"slider in metres (m). Keep in mind that Sentinel data native resolution " +"is 10 m and Landsat is 30 m." msgstr "" #: ../../source/cookbook/time_series.rst:212 -msgid "When all the data is selected, select the :btn:` apply` button. Notice that the task tab in the lower-left corner of the screen (1) will change from :btn:`` to :btn:``, meaning that the tasks are loading." +msgid "" +"When all the data is selected, select the :btn:` " +"apply` button. Notice that the task tab in the lower-left corner of the " +"screen (1) will change from :btn:`` to :btn:``, meaning that the tasks are loading." msgstr "" #: ../../source/cookbook/time_series.rst:220 @@ -312,15 +481,27 @@ msgid "Exportation status" msgstr "État d'exportation" #: ../../source/cookbook/time_series.rst:222 -msgid "By selecting the **Tasks** tab (lower-left corner using the :btn:`` or :btn:`` buttons, depending on the loading status), you will see the list of different tasks loading. The interface will provide you with information about the task progress and display an error if the exportation has failed. If you are unsatisfied with the way we present information, the task can also be monitored using the `GEE task manager `__." +msgid "" +"By selecting the **Tasks** tab (lower-left corner using the :btn:`` or :btn:`` buttons, depending " +"on the loading status), you will see the list of different tasks loading." +" The interface will provide you with information about the task progress " +"and display an error if the exportation has failed. If you are " +"unsatisfied with the way we present information, the task can also be " +"monitored using the `GEE task manager " +"`__." msgstr "" #: ../../source/cookbook/time_series.rst:226 -msgid "This operation is running between GEE and SEPAL servers in the background, so you can close the SEPAL page without ending the process." +msgid "" +"This operation is running between GEE and SEPAL servers in the " +"background, so you can close the SEPAL page without ending the process." msgstr "" #: ../../source/cookbook/time_series.rst:228 -msgid "When the task is finished, the frame will be displayed in green, as shown in the second image below." +msgid "" +"When the task is finished, the frame will be displayed in green, as shown" +" in the second image below." msgstr "" #: ../../source/cookbook/time_series.rst:241 @@ -328,51 +509,96 @@ msgid "Access" msgstr "" #: ../../source/cookbook/time_series.rst:243 -msgid "Once the download process is done, you can access the data in your **SEPAL folders** in :code:`Downloads`, using the following format:" +msgid "" +"Once the download process is done, you can access the data in your " +"**SEPAL folders** in :code:`Downloads`, using the following format:" msgstr "" #: ../../source/cookbook/time_series.rst:268 -msgid "Understanding how images are stored in a time series is only required if you want to manually use them. The SEPAL applications are bound to this tiling system and can digest this information for you." +msgid "" +"Understanding how images are stored in a time series is only required if " +"you want to manually use them. The SEPAL applications are bound to this " +"tiling system and can digest this information for you." msgstr "" #: ../../source/cookbook/time_series.rst:270 -msgid "The data are stored in a folder using the name of the time series as it was labeled in the first section of this document. The SEPAL team was forced to use this folder structure as GEE is unable to export an :code:`ee.ImageCollection`. As the data is spatially too big to be exported at once, they are divided into smaller pieces and reassembled in a :code:`stack.vrt` file." +msgid "" +"The data are stored in a folder using the name of the time series as it " +"was labeled in the first section of this document. The SEPAL team was " +"forced to use this folder structure as GEE is unable to export an " +":code:`ee.ImageCollection`. As the data is spatially too big to be " +"exported at once, they are divided into smaller pieces and reassembled in" +" a :code:`stack.vrt` file." msgstr "" #: ../../source/cookbook/time_series.rst:272 -msgid "The AOI provided by the user will be divided into multiple SEPAL tiles. The AOI is a :code:`ee.FeatureCollection`; each feature is downloaded in a different tile. If the tile is bigger than 2° x 2° (EPSG:4326), then the feature is divided again until all of the tiles are smaller than the maximum 2° size. The tiles are identified by their :code:``." +msgid "" +"The AOI provided by the user will be divided into multiple SEPAL tiles. " +"The AOI is a :code:`ee.FeatureCollection`; each feature is downloaded in " +"a different tile. If the tile is bigger than 2° x 2° (EPSG:4326), then " +"the feature is divided again until all of the tiles are smaller than the " +"maximum 2° size. The tiles are identified by their :code:``." msgstr "" #: ../../source/cookbook/time_series.rst:274 -msgid "To limit the size of the downloaded images, in each SEPAL tile, the time period is divided into **Chunks** of 3 months. They are identified by their :code:`_`. **Chunks** are image folders. As a SEPAL tile is still bigger than what GEE can download at once, the images are divided into GEE tiles. This tiling process uses its own identification system (000000xxxx-000000xxxx). Consequently, **Chunks** contain tile raster images. Each one of these images is composed of one band per observation date, with the value of the measure for each pixel. The bands are named with the date." +msgid "" +"To limit the size of the downloaded images, in each SEPAL tile, the time " +"period is divided into **Chunks** of 3 months. They are identified by " +"their :code:`_`. **Chunks** are image folders. As a " +"SEPAL tile is still bigger than what GEE can download at once, the images" +" are divided into GEE tiles. This tiling process uses its own " +"identification system (000000xxxx-000000xxxx). Consequently, **Chunks** " +"contain tile raster images. Each one of these images is composed of one " +"band per observation date, with the value of the measure for each pixel. " +"The bands are named with the date." msgstr "" #: ../../source/cookbook/time_series.rst:276 -msgid "To gather all these rasters together, a first aggregation on time is performed. One :code:`stack.vrt` is created per GEE tile, meaning that each :code:`stack.vrt` file contains all the :code:`*.tif` contained in each **Chunk**, reconstituting the full time period on the smallest spatial unit: the GEE tile. Each file is stored in a folder called :code:`tile-`." +msgid "" +"To gather all these rasters together, a first aggregation on time is " +"performed. One :code:`stack.vrt` is created per GEE tile, meaning that " +"each :code:`stack.vrt` file contains all the :code:`*.tif`" +" contained in each **Chunk**, reconstituting the full time period on the " +"smallest spatial unit: the GEE tile. Each file is stored in a folder " +"called :code:`tile-`." msgstr "" #: ../../source/cookbook/time_series.rst:278 -msgid "Finally, information is gathered spatially at the SEPAL tile level in the main :code:`stack.vrt` file." +msgid "" +"Finally, information is gathered spatially at the SEPAL tile level in the" +" main :code:`stack.vrt` file." msgstr "" #: ../../source/cookbook/time_series.rst:280 -msgid "The last file, :code:`date.csv`, gathers all the observation dates in chronological order." +msgid "" +"The last file, :code:`date.csv`, gathers all the observation dates in " +"chronological order." msgstr "" #: ../../source/cookbook/time_series.rst:284 -msgid "The dates contained in :code:`date.csv` can differ from one SEPAL tile to another, due to data availability and pre-processing filters." +msgid "" +"The dates contained in :code:`date.csv` can differ from one SEPAL tile to" +" another, due to data availability and pre-processing filters." msgstr "" #: ../../source/cookbook/time_series.rst:288 -msgid "The full folder with a consistent treefolder is required to read the `.vrt`" -msgstr "Le dossier complet avec une arborescence cohérente est nécessaire pour lire le fichier `.vrt`" +msgid "" +"The full folder with a consistent treefolder is required to read the " +"`.vrt`" +msgstr "" +"Le dossier complet avec une arborescence cohérente est nécessaire pour " +"lire le fichier `.vrt`" #: ../../source/cookbook/time_series.rst:290 msgid "Here is an example of a real TS folder:" msgstr "Voici un exemple d'un vrai dossier de Serie Temporelle :" #: ../../source/cookbook/time_series.rst:315 -msgid "Now that you have downloaded the TS to your SEPAL account, it can be downloaded to your computer using `FileZilla <../setup.filezilla.html>`__ or used in one of our `Time-series analysis modules <../modules/time-series.html>`__." +msgid "" +"Now that you have downloaded the TS to your SEPAL account, it can be " +"downloaded to your computer using `FileZilla <../setup.filezilla.html>`__" +" or used in one of our `Time-series analysis modules <../modules/time-" +"series.html>`__." msgstr "" #~ msgid "" @@ -961,3 +1187,12 @@ msgstr "" #~ "analysis modules <../modules/time-series.html>`__." #~ msgstr "" +#~ msgid "" +#~ "The time series will use a single" +#~ " observation for each pixel. This " +#~ "observation can be one of the " +#~ "available bands in SEPAL. To discover" +#~ " the full list of available bands," +#~ " see :doc:`../feature/bands`." +#~ msgstr "" + diff --git a/docs/source/_locale/fr/LC_MESSAGES/developers/apps/app_catalog.po b/docs/source/_locale/fr/LC_MESSAGES/developers/apps/app_catalog.po new file mode 100644 index 0000000000..f9c22a6fbd --- /dev/null +++ b/docs/source/_locale/fr/LC_MESSAGES/developers/apps/app_catalog.po @@ -0,0 +1,478 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: fr\n" +"Language-Team: fr \n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/developers/apps/app_catalog.rst:4 +msgid "Request a new app" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:5 +msgid "*Add your app to the SEPAL apps catalog so it appears on the platform*" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:8 +msgid "The catalog" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:10 +msgid "" +"The list of apps SEPAL runs lives in a dedicated repository, `dfguerrerom" +"/sepal-apps-catalog `__. For docker apps the catalog pins the exact commit SEPAL will" +" run; for jupyter apps it records the ``branch`` and SEPAL runs its tip. " +"Either way, adding or updating an app means opening a pull request " +"against this catalog, where a maintainer reviews the change before it " +"goes live." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:17 +msgid "The catalog ships two files:" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:19 +msgid "" +"``apps.test.json`` — apps available on test.sepal.io (the staging " +"environment used to validate changes before they reach end users)" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:21 +msgid "" +"``apps.prod.json`` — apps available on sepal.io (the production " +"environment)" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:23 +msgid "" +"New apps always land in ``apps.test.json`` first and are promoted to " +"``apps.prod.json`` only once they behave correctly on test.sepal.io." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:27 +msgid "Anatomy of a catalog entry" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:29 +msgid "" +"An app is a JSON object in the ``apps`` array. The schema only enforces " +"``id`` and ``label`` as universally required, plus a docker-specific " +"block — but the catalog convention is to **fill every field** so each " +"entry carries a complete dashboard listing. The only practical " +"exceptions:" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:34 +msgid "``port`` applies only to docker apps (and is required there)." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:35 +msgid "" +"For hidden kernel-only apps (see :ref:`developers_apps_kernels`) the " +"user-facing presentation fields (``description``, ``tagline``, " +"``logoRef``, ``projectLink``, ``author``, ``tags``) can be omitted, since" +" they are never shown." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:41 +msgid "Identification and routing" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:47 +#: ../../source/developers/apps/app_catalog.rst:84 +#: ../../source/developers/apps/app_catalog.rst:110 +#: ../../source/developers/apps/app_catalog.rst:144 +msgid "Field" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:48 +#: ../../source/developers/apps/app_catalog.rst:85 +#: ../../source/developers/apps/app_catalog.rst:111 +#: ../../source/developers/apps/app_catalog.rst:145 +msgid "When" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:49 +#: ../../source/developers/apps/app_catalog.rst:86 +#: ../../source/developers/apps/app_catalog.rst:112 +#: ../../source/developers/apps/app_catalog.rst:146 +msgid "Meaning" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:50 +msgid "``id``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:51 +#: ../../source/developers/apps/app_catalog.rst:54 +msgid "always (schema)" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:52 +msgid "Unique identifier across the catalog (``[A-Za-z0-9_.-]+``)." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:53 +msgid "``label``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:55 +msgid "Display name shown on the apps dashboard." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:56 +msgid "``endpoint``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:57 +#: ../../source/developers/apps/app_catalog.rst:62 +#: ../../source/developers/apps/app_catalog.rst:66 +#: ../../source/developers/apps/app_catalog.rst:69 +msgid "always" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:58 +msgid "" +"How SEPAL runs the app: ``jupyter`` or ``docker`` for new apps — " +"``shiny`` is legacy and ``rstudio`` is reserved for the built-in tool. " +"See :ref:`developers_apps_types`." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:61 +msgid "``repository``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:63 +msgid "" +"``https://github.com//`` of the app source. SEPAL clones it " +"to run the app." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:65 +msgid "``branch``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:67 +msgid "Branch the app tracks (commonly ``release``)." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:68 +msgid "``path``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:70 +msgid "" +"Entry point the app-launcher routes to. For jupyter, the Voila URL of the" +" notebook (e.g. " +"``/sandbox/jupyter/voila/render/shared/apps//ui.ipynb``); for " +"docker, **must equal** ``/api/app-launcher/`` exactly — the schema " +"enforces the prefix and ``check-docker-rules.js`` enforces that ```` " +"matches the entry's ``id``." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:78 +msgid "Docker-only fields" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:87 +msgid "``commit``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:88 +#: ../../source/developers/apps/app_catalog.rst:93 +msgid "docker only (schema)" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:89 +msgid "" +"Full 40-character lowercase commit SHA. Required for ``endpoint: " +"docker``; not allowed for other endpoints, which track the branch tip." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:92 +msgid "``port``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:94 +msgid "" +"Container port the docker app listens on. Integer 1–65535. Must be unique" +" across ``apps.test.json`` and ``apps.prod.json``; ``check-docker-" +"rules.js`` enforces this and prints ``Next free port: N`` on a violation." +" New apps take the next free port — ``max(existing_ports) + 1``." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:101 +msgid "Presentation" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:103 +msgid "" +"These fields populate the dashboard tile and the app's detail page. Skip " +"them *only* on hidden kernel-only entries." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:113 +msgid "``author``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:114 +#: ../../source/developers/apps/app_catalog.rst:117 +#: ../../source/developers/apps/app_catalog.rst:120 +#: ../../source/developers/apps/app_catalog.rst:123 +#: ../../source/developers/apps/app_catalog.rst:127 +#: ../../source/developers/apps/app_catalog.rst:130 +msgid "visible apps" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:115 +msgid "Who maintains the app (free-form string)." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:116 +msgid "``description``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:118 +msgid "Long-form description shown on the app's detail page." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:119 +msgid "``tagline``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:121 +msgid "One-line summary shown on the dashboard tile." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:122 +msgid "``logoRef``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:124 +msgid "Filename of the logo asset bundled with the catalog (e.g. ``my-app.svg``)." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:126 +msgid "``projectLink``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:128 +msgid "URL to the project's home page, docs, or upstream repository." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:129 +msgid "``tags``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:131 +msgid "" +"Array of tag values defined in the catalog's top-level ``tags`` block " +"(e.g. ``[\"TOOLS\", \"TIME_SERIES\"]``)." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:135 +msgid "Behaviour flags" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:137 +msgid "" +"Optional booleans that alter how the app is listed or launched. Defaults " +"are all ``false``." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:147 +msgid "``hidden``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:148 +#: ../../source/developers/apps/app_catalog.rst:152 +#: ../../source/developers/apps/app_catalog.rst:155 +#: ../../source/developers/apps/app_catalog.rst:158 +#: ../../source/developers/apps/app_catalog.rst:162 +msgid "optional" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:149 +msgid "" +"If ``true``, the app builds but does not show a dashboard tile. Used for " +"packaged kernels — see :ref:`developers_apps_kernels`." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:151 +msgid "``pinned``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:153 +msgid "Pin the app to the top of the dashboard." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:154 +msgid "``googleAccountRequired``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:156 +msgid "The app needs a connected Google account (e.g. for GEE)." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:157 +msgid "``single``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:159 +msgid "" +"Only one instance of this app can run at a time per user (used by the " +"built-in ``jupyter-notebook``, ``jupyter-lab`` and ``rstudio`` tools)." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:161 +msgid "``skip``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:163 +msgid "Temporarily skip building/serving this app without removing the entry." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:165 +msgid "" +"A typical jupyter entry — every field a user sees on the dashboard is " +"filled in:" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:187 +msgid "" +"A docker entry adds the docker-only ``commit``, ``port`` and the schema-" +"enforced ``/api/app-launcher/`` path; the presentation fields are the" +" same:" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:213 +msgid "Adding the app" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:215 +msgid "" +"Open a pull request adding your entry to ``apps.test.json``. The fastest " +"way is to edit the file directly on GitHub: `edit apps.test.json " +"`__. For a docker app, ``commit`` must " +"be a full 40-character SHA that exists on the declared ``branch``." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:220 +msgid "" +"The ``Validate catalog`` and ``Review helper`` workflows run " +"automatically. Validation is a blocking gate (schema, canonical " +"formatting, and — for docker apps — a check that the commit is reachable " +"from its branch). The review helper posts a single PR comment with a per-" +"app diff and *risk flags* (new dependencies, network calls, shell-outs) " +"to help maintainers review safely." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:226 +msgid "" +"A SEPAL maintainer reviews and merges. Once merged, the app appears on " +"test.sepal.io within minutes." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:228 +msgid "" +"When you are happy with its behaviour on test.sepal.io, promote it to " +"production — see `Promoting to production`_." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:232 +msgid "Promoting to production" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:234 +msgid "" +"Promotion copies the *exact same pinned reference* (commit for docker, " +"branch for the others) from ``apps.test.json`` into ``apps.prod.json``. " +"Two paths, either of which produces the same promotion PR for a " +"maintainer to merge:" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:239 +msgid "Self-service ``/promote`` comment (recommended)" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:241 +msgid "" +"The catalog has a single pinned issue titled *\"Promotion requests — " +"comment ``/promote `` here\"*, labeled ``promote-request``. Find " +"it in the catalog's `issues tab `__ " +"(there is only ever one) and comment:" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:251 +msgid "" +"The ``Promote app on /promote comment`` workflow then verifies the " +"commenter is authorized for the app's source repository and, if so, opens" +" the promotion PR. Authorization uses public GitHub data only:" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:255 +msgid "If the source repo is owned by a User, the commenter must equal that user." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:256 +msgid "" +"If it is owned by an Organization, the commenter must be a **public** " +"member of that org. If your membership is private, make it public at " +"``https://github.com/orgs//people`` or use the manual-PR path below." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:260 +msgid "A maintainer still merges the PR." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:263 +msgid "Manual PR" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:265 +msgid "" +"Open a pull request copying the entry's ``commit`` (or whole object) from" +" ``apps.test.json`` into ``apps.prod.json``. The same validation and " +"review checks run; a maintainer merges." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:270 +msgid "Working on the catalog locally" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:272 +msgid "" +"The catalog files use canonical ``JSON.stringify(parsed, null, 2)`` " +"formatting (2-space indent, one-element arrays expanded, trailing " +"newline). A ``.prettierignore`` keeps editor formatters off them, and CI " +"rejects PRs that don't match. Install the pre-commit hooks once so " +"problems are caught before they fail CI:" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:284 +msgid "To re-canonicalize a file before pushing:" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:292 +msgid "" +"The catalog's own ``docs/contributing.md`` and ``docs/ci.md`` document " +"every workflow, check, and script in detail." +msgstr "" + diff --git a/docs/source/_locale/fr/LC_MESSAGES/developers/apps/app_types.po b/docs/source/_locale/fr/LC_MESSAGES/developers/apps/app_types.po new file mode 100644 index 0000000000..89f041bfb2 --- /dev/null +++ b/docs/source/_locale/fr/LC_MESSAGES/developers/apps/app_types.po @@ -0,0 +1,290 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: fr\n" +"Language-Team: fr \n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/developers/apps/app_types.rst:4 +msgid "Docker vs. Jupyter apps" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:5 +msgid "*The two endpoints you'll choose between, and where each one fits*" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:7 +msgid "" +"Every catalog entry declares an ``endpoint`` that tells SEPAL how to run " +"the app. For new apps the practical choice is between ``docker`` and " +"``jupyter``." +msgstr "" + +#: ../../source/developers/apps/app_types.rst:12 +msgid "" +"``shiny`` is a legacy endpoint and is no longer recommended for new apps " +"— package the same UX as a Jupyter/Voila app instead. ``rstudio`` is " +"reserved for the built-in RStudio tool. Both still work, but neither " +"should be picked for anything new." +msgstr "" + +#: ../../source/developers/apps/app_types.rst:18 +msgid "At a glance" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:25 +msgid "Docker app" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:26 +msgid "Jupyter app" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:27 +msgid "``endpoint``" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:28 +msgid "``docker``" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:29 +msgid "``jupyter``" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:30 +msgid "Where it runs" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:31 +msgid "Its own container, on its own port, on the shared SEPAL server" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:32 +msgid "Inside the user's own SEPAL instance (sandbox), served through Voila" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:33 +msgid "Where compute happens" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:34 +msgid "On the shared SEPAL server — all users hit the same instance" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:35 +msgid "On the user's own SEPAL instance, at the size they have provisioned" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:36 +msgid "Versioning" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:37 +msgid "Pinned to a commit SHA (required)" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:38 +msgid "Tracks the catalog's ``branch``; no commit pin" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:39 +msgid "Code location" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:40 +msgid "Cloned from ``repository`` into the container" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:41 +msgid "" +"Cloned from ``repository`` into the shared sandbox at ``/home/sepal-" +"user/shared/apps//``" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:43 +msgid "Isolation" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:44 +msgid "Strong — separate container and dependencies" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:45 +msgid "" +"Own micromamba kernel built from ``sepal_environment.yml`` (see " +":ref:`developers_apps_kernels`)" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:47 +msgid "Update trigger" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:48 +msgid "" +"Catalog PR bumps ``commit`` → app-launcher checks out that commit on the " +"next launch" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:50 +msgid "" +"app-manager refreshes the clone to the branch tip and rebuilds the kernel" +" if the env file changed" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:54 +msgid "Docker apps" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:56 +msgid "" +"A docker app lives in its own repository and runs in its own container " +"with a dedicated ``port`` on the shared SEPAL server. Because it is fully" +" isolated, the catalog schema requires ``repository``, ``branch``, " +"``commit``, ``port`` and ``path`` for every ``endpoint: docker`` entry." +msgstr "" + +#: ../../source/developers/apps/app_types.rst:61 +msgid "When SEPAL launches the app it runs the equivalent of:" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:68 +msgid "" +"That is why the pinned ``commit`` must be reachable from ``branch`` (see " +":ref:`developers_apps_releases`). The app's dependencies are baked into " +"its container, so its update cycle is independent of the rest of the " +"platform — it changes only when you bump its commit in the catalog." +msgstr "" + +#: ../../source/developers/apps/app_types.rst:73 +msgid "" +"Because the docker app runs on the shared SEPAL server, every user hits " +"the same instance. That makes docker a good fit for **lightweight, low-" +"compute apps that act as a single service for many users** — interfaces " +"over a small API, lookups, light visualizations, dashboards. It is *not* " +"a good fit for heavy per-user compute: there is only one container " +"backing all users." +msgstr "" + +#: ../../source/developers/apps/app_types.rst:80 +msgid "Jupyter apps" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:82 +msgid "" +"A jupyter app does not get its own container. Its code is cloned from the" +" ``repository`` into the shared sandbox under ``/home/sepal-" +"user/shared/apps//``, and its ``ui.ipynb`` notebook is rendered with" +" `Voila `__ (hence catalog paths such as " +"``/sandbox/jupyter/voila/render/shared/apps//ui.ipynb``). Crucially," +" it runs **inside each user's own SEPAL instance** — so the compute " +"budget is whatever the user has provisioned for themselves." +msgstr "" + +#: ../../source/developers/apps/app_types.rst:90 +msgid "" +"Versioning is by branch, not by commit: the app-manager keeps the cloned " +"``shared/apps//`` working tree on the tip of the catalog's " +"``branch`` and rebuilds the app's kernel whenever " +"``sepal_environment.yml`` (or ``requirements.txt``) changes — see " +":ref:`developers_apps_kernels`. Pushing to that branch is enough to ship " +"a new version; no catalog PR is required (the catalog PR is only needed " +"to *list* the app in the first place)." +msgstr "" + +#: ../../source/developers/apps/app_types.rst:97 +msgid "" +"Because compute lives on the user's instance, a jupyter app is the right " +"choice for **heavy, scalable, per-user workloads**: anything where the " +"user needs to be able to size their machine to the job — training " +"pipelines, large geospatial analyses, model inference, parallel " +"processing." +msgstr "" + +#: ../../source/developers/apps/app_types.rst:103 +msgid "When to use which" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:105 +msgid "A simple rule of thumb:" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:112 +msgid "Use ``docker``" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:113 +msgid "Use ``jupyter``" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:114 +msgid "Compute profile" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:115 +msgid "Light; same load no matter who is using it" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:116 +msgid "Heavy or variable; each user should be able to scale their own instance" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:118 +msgid "Usage pattern" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:119 +msgid "Single backend service serving many users" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:120 +msgid "Per-user notebook session, isolated per user" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:121 +msgid "Versioning needs" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:122 +msgid "You want strict, audited control of *exactly* which commit is live" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:123 +msgid "Push-to-branch is a fine release model" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:124 +msgid "Runtime needs" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:125 +msgid "Custom system stack, services, ports, or a non-Python runtime" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:126 +msgid "" +"Standard SEPAL geospatial / scientific Python stack (extended via " +"``sepal_environment.yml``)" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:129 +msgid "" +"If the answer to most of these points the same way, that's your endpoint." +" If the app is genuinely a notebook UI doing heavy compute, jupyter is " +"almost always the right pick — that is the most common pattern on SEPAL." +msgstr "" + diff --git a/docs/source/_locale/fr/LC_MESSAGES/developers/apps/index.po b/docs/source/_locale/fr/LC_MESSAGES/developers/apps/index.po new file mode 100644 index 0000000000..f598afceba --- /dev/null +++ b/docs/source/_locale/fr/LC_MESSAGES/developers/apps/index.po @@ -0,0 +1,72 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: fr\n" +"Language-Team: fr \n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/developers/apps/index.rst:48 +msgid "Docker vs. Jupyter apps" +msgstr "" + +#: ../../source/developers/apps/index.rst:48 +msgid "Request a new app" +msgstr "" + +#: ../../source/developers/apps/index.rst:48 +msgid "Request a new kernel" +msgstr "" + +#: ../../source/developers/apps/index.rst:48 +msgid "Create a release" +msgstr "" + +#: ../../source/developers/apps/index.rst:4 +msgid "Develop apps" +msgstr "" + +#: ../../source/developers/apps/index.rst:5 +msgid "*Build, release and publish your own apps on the SEPAL platform*" +msgstr "" + +#: ../../source/developers/apps/index.rst:7 +msgid "" +"These pages explain how SEPAL decides which app code to run and how that " +"code reaches the platform — useful when you want to add an app, ship a " +"new version of an existing one, or package a reusable environment for a " +"notebook or workflow." +msgstr "" + +#: ../../source/developers/apps/index.rst:14 +msgid "" +"The set of apps SEPAL runs is curated in the `dfguerrerom/sepal-apps-" +"catalog `__ " +"repository. Getting an app onto SEPAL — or updating one — means opening a" +" pull request there. For docker apps, the catalog also pins the *exact " +"commit* SEPAL will run; for jupyter apps, the catalog records the " +"``branch`` and SEPAL still runs the tip of that branch. The pages below " +"walk through both flows." +msgstr "" + +#: ../../source/developers/apps/index.rst:23 +msgid "How an app reaches SEPAL" +msgstr "" + +#: ../../source/developers/apps/index.rst:46 +msgid "Contents" +msgstr "" + diff --git a/docs/source/_locale/fr/LC_MESSAGES/developers/apps/kernels.po b/docs/source/_locale/fr/LC_MESSAGES/developers/apps/kernels.po new file mode 100644 index 0000000000..f2970cd71c --- /dev/null +++ b/docs/source/_locale/fr/LC_MESSAGES/developers/apps/kernels.po @@ -0,0 +1,260 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: fr\n" +"Language-Team: fr \n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/developers/apps/kernels.rst:4 +msgid "Request a new kernel" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:5 +msgid "" +"*Package an environment once and share it with every SEPAL user as a " +"named Jupyter kernel*" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:7 +#, python-format +msgid "" +"A \"kernel\" in the SEPAL catalog is really just a special-purpose " +"jupyter app: the same catalog entry, the same :ref:`PR flow " +"`, the same :ref:`release lifecycle " +"`. The only difference is *intent* — " +"the deliverable is the environment (and, often, training notebooks and " +"data alongside it), not an app UI. If you have read " +":ref:`developers_apps_catalog`, you already know 90% of how to ship one." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:15 +msgid "Why request a kernel" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:17 +msgid "" +"Some notebooks need a large or unusual environment: a deep-learning " +"stack, a pinned GDAL build, a model with awkward native dependencies. " +"Asking every user — or every training participant — to build that " +"environment by hand is slow, fragile, and easy to get subtly wrong." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:22 +msgid "" +"A shared kernel solves that. You package the environment once, in a " +"repository; SEPAL builds it centrally and exposes it as a named Jupyter " +"kernel that lives in the shared sandbox. Every user then simply *selects*" +" that kernel for the relevant notebook — no per-user installation, and " +"everyone runs the same, reproducible environment." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:28 +msgid "This is the right approach when:" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:30 +msgid "" +"You are preparing a notebook or workflow for a training and want every " +"participant on an identical environment." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:32 +msgid "" +"A notebook needs heavy dependencies (GPU/ML, large geospatial stacks) " +"that are wasteful to rebuild per user." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:34 +msgid "You want a stable, named environment that several notebooks can share." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:36 +msgid "" +"It is *not* the right approach for quick, personal experiments. For an " +"environment only you need, build it yourself with :guilabel:`uv` or " +":guilabel:`micromamba` — see :ref:`env_management`." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:41 +msgid "It's the same flow as a jupyter app" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:43 +msgid "A kernel-only entry in the catalog is just a jupyter app that:" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:45 +msgid "has ``\"hidden\": true`` (no dashboard tile — see below), and" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:46 +msgid "ships a ``sepal_environment.yml`` at the root of its repository." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:48 +msgid "" +"Everything else — the PR against ``apps.test.json``, the validation and " +"review-helper workflows, the promotion to ``apps.prod.json`` — works " +"exactly as described in :ref:`developers_apps_catalog`." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:52 +msgid "" +"The one extra behaviour, which fires automatically whenever the app-" +"manager updates a jupyter app, is the kernel build itself: if the cloned " +"repository contains a ``sepal_environment.yml`` (or a legacy " +"``requirements.txt``), SEPAL builds an isolated environment from it and " +"registers it as a named Jupyter kernel. For a ``sepal_environment.yml`` " +"the build is, in essence:" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:63 +msgid "" +"The script then writes a ``kernel.json`` so the environment shows up in " +"JupyterLab as ``(venv) ``, and wires the geospatial " +"environment variables (``PROJ_LIB``, ``PROJ_DATA``, ``GDAL_DATA``) to the" +" environment's own data directories. The kernel is rebuilt only when the " +"environment file changes (the script compares timestamps against an " +"``.installed`` marker), so unchanged apps don't pay a rebuild cost on " +"every update." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:71 +msgid "Hiding the app" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:73 +msgid "" +"A packaged kernel usually has no dashboard UI of its own — it exists to " +"back *other* notebooks. Set ``\"hidden\": true`` on its catalog entry so " +"SEPAL builds the environment and registers the kernel without showing a " +"tile in the apps dashboard." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:81 +msgid "Ship notebooks and data alongside the kernel" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:83 +msgid "" +"The same clone the app-manager uses to build the kernel lands at ``/home" +"/sepal-user/shared/apps//`` **inside every user's sandbox**. " +"Anything you put in the repository is therefore reachable from every " +"user's JupyterLab — not just the ``sepal_environment.yml``." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:88 +msgid "" +"This makes the same mechanism useful for a second job: shipping " +"**training notebooks and supporting data** to a cohort of users. For a " +"workshop or a training, you can put the curriculum in the repo alongside " +"the environment file. Each participant gets the notebooks already on " +"their instance under ``shared/apps//``, with the matching " +"``(venv) `` kernel pre-built and ready to select — no per-" +"user clone, no per-user pip install, no \"it works on my machine\"." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:96 +msgid "Practical conventions for that case:" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:98 +msgid "" +"Keep notebook files at the top level (or in a clearly named subdirectory)" +" so participants can find them via ``shared/apps//``." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:100 +msgid "" +"Keep sample inputs in the repo only if they are small. For larger " +"datasets, point notebooks at a shared SEPAL location or an external URL " +"so the clone stays light." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:103 +msgid "" +"Tag a ``release`` branch for each cohort you run, so an in-flight push to" +" ``main`` does not surprise a session that is already underway. See " +":ref:`developers_apps_releases_branch`." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:107 +msgid "" +"The catalog entry itself stays the same — ``\"hidden\": true``, " +"``\"endpoint\": \"jupyter\"``, ``sepal_environment.yml`` in the repo. The" +" notebooks just ride along in the same clone." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:112 +msgid "Worked example: ``sepal-sam``" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:114 +msgid "" +"The catalog entry below is a real, hidden kernel app. Its description is " +"simply *\"SAM environment\"* — it ships the environment for SAM-based " +"notebooks and never appears in the dashboard:" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:130 +msgid "" +"Because the ``sepal-sam`` repository contains a " +"``sepal_environment.yml``, SEPAL builds its micromamba environment and " +"registers a ``(venv) Sepal SAM`` kernel. Any notebook a user opens can " +"then select that kernel and run against the SAM stack immediately." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:138 +msgid "Recommended: ``sepal_environment.yml``" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:140 +msgid "" +"Declare your kernel with a ``sepal_environment.yml`` at the root of the " +"app repository. It is a standard conda/micromamba environment file, and " +"it is the preferred way to define a SEPAL kernel because micromamba " +"bundles native libraries (GDAL, GEOS, CUDA, HDF5, …) inside the " +"environment — so it keeps working when SEPAL upgrades system-level " +"libraries. A plain ``requirements.txt`` is still supported for backward " +"compatibility, but it installs into a system-Python venv and can break on" +" platform upgrades." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:148 +msgid "A minimal example:" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:164 +msgid "" +"You do not need to add ``ipykernel`` yourself — SEPAL installs it into " +"the environment when it builds the kernel." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:167 +msgid "" +"Once the file is in your repository and the app is in the catalog (see " +":ref:`developers_apps_catalog`), every release that changes " +"``sepal_environment.yml`` triggers a rebuild of the shared kernel on the " +"next update." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:174 +msgid "" +":ref:`env_management` — managing your *own* environments and kernels " +"interactively, when you don't need a shared, centrally built one." +msgstr "" + diff --git a/docs/source/_locale/fr/LC_MESSAGES/developers/apps/releases.po b/docs/source/_locale/fr/LC_MESSAGES/developers/apps/releases.po new file mode 100644 index 0000000000..ba135fb616 --- /dev/null +++ b/docs/source/_locale/fr/LC_MESSAGES/developers/apps/releases.po @@ -0,0 +1,214 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: fr\n" +"Language-Team: fr \n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/developers/apps/releases.rst:4 +msgid "Create a release" +msgstr "" + +#: ../../source/developers/apps/releases.rst:5 +msgid "*Ship a new version of an app already in the SEPAL catalog*" +msgstr "" + +#: ../../source/developers/apps/releases.rst:7 +msgid "" +"Once your app is in the catalog (see :ref:`developers_apps_catalog`), the" +" way you ship a new version depends on the app's ``endpoint`` (see " +":ref:`developers_apps_types`):" +msgstr "" + +#: ../../source/developers/apps/releases.rst:11 +msgid "" +"**Jupyter apps** (and :ref:`kernels `, which are" +" just hidden jupyter apps) are not pinned to a commit. The app-manager " +"checks out the tip of the catalog's ``branch`` (defaulting to ``HEAD``) " +"every time the sandbox refreshes the app, so a release is just a push to " +"that branch in your source repository — no catalog change is needed." +msgstr "" + +#: ../../source/developers/apps/releases.rst:16 +msgid "" +"**Docker apps** are pinned in the catalog to an exact commit SHA. SEPAL " +"keeps running the old commit until that ``commit`` field is advanced, so " +"a release is, in practice, a pull request against the catalog." +msgstr "" + +#: ../../source/developers/apps/releases.rst:20 +msgid "The rest of this page describes each flow in turn." +msgstr "" + +#: ../../source/developers/apps/releases.rst:25 +msgid "Jupyter and kernel apps" +msgstr "" + +#: ../../source/developers/apps/releases.rst:27 +msgid "" +"These endpoints don't take a ``commit`` field in the catalog — only " +"``branch`` (which defaults to ``HEAD``). On every sandbox refresh the " +"app-manager runs the equivalent of ``git fetch`` + checkout of that " +"branch's tip, so whatever is at the head of the tracked branch is what " +"users get." +msgstr "" + +#: ../../source/developers/apps/releases.rst:33 +msgid "Releasing a new version" +msgstr "" + +#: ../../source/developers/apps/releases.rst:35 +msgid "" +"Push the change to the branch the catalog tracks for your app. The next " +"time the user's sandbox refreshes the app, the new tip is picked up " +"automatically. No catalog PR is required." +msgstr "" + +#: ../../source/developers/apps/releases.rst:42 +#: ../../source/developers/apps/releases.rst:68 +msgid "The release branch convention" +msgstr "" + +#: ../../source/developers/apps/releases.rst:44 +msgid "" +"Because every push to the tracked branch is effectively a release, most " +"contributors keep a dedicated ``release`` branch and pin ``\"branch\": " +"\"release\"`` in the catalog rather than ``main``. You develop on " +"``main`` and merge into ``release`` only when you intend to publish — " +"that way unreviewed work on ``main`` doesn't go live the moment it is " +"pushed." +msgstr "" + +#: ../../source/developers/apps/releases.rst:50 +msgid "" +"This is a convention, not a requirement. Any branch works; if you pin " +"``main``, every push to ``main`` is a release." +msgstr "" + +#: ../../source/developers/apps/releases.rst:56 +msgid "Docker apps" +msgstr "" + +#: ../../source/developers/apps/releases.rst:58 +msgid "" +"Docker apps carry a required ``commit`` SHA in the catalog. The app-" +"launcher runs ``git fetch origin `` followed by ``git checkout " +"--detach ``, so SEPAL only ever runs that exact commit — " +"regardless of what is at the tip of ``branch``. Shipping a new version " +"therefore means advancing the ``commit`` field in the catalog." +msgstr "" + +#: ../../source/developers/apps/releases.rst:64 +msgid "" +"There are two ways to do that: a manual pull request, or an automated " +"bump triggered when your source repository publishes a release." +msgstr "" + +#: ../../source/developers/apps/releases.rst:70 +msgid "" +"Many docker apps pin ``\"branch\": \"release\"`` rather than ``main``. " +"Since the catalog validation requires the pinned ``commit`` to be " +"reachable from ``branch``, keeping a dedicated ``release`` branch lets " +"you continue developing on ``main`` while controlling exactly which " +"commits are eligible to be pinned: you merge into ``release`` only when " +"you intend to publish, and that merge commit is the one you pin." +msgstr "" + +#: ../../source/developers/apps/releases.rst:77 +msgid "" +"This is a convention, not a requirement — any branch works as long as the" +" pinned commit is reachable from it." +msgstr "" + +#: ../../source/developers/apps/releases.rst:81 +msgid "Manual release" +msgstr "" + +#: ../../source/developers/apps/releases.rst:83 +msgid "" +"Push the code you want to ship and note the commit SHA on your release " +"branch." +msgstr "" + +#: ../../source/developers/apps/releases.rst:85 +msgid "" +"Open a PR against ``apps.test.json`` changing the ``commit`` field of " +"your app's entry (and ``branch`` if it moved)." +msgstr "" + +#: ../../source/developers/apps/releases.rst:87 +msgid "" +"The ``Review helper`` bot posts a compare link showing exactly what " +"changed upstream between the old and new commit, with risk flags. A " +"maintainer reviews and merges; the change goes live on test.sepal.io." +msgstr "" + +#: ../../source/developers/apps/releases.rst:90 +msgid "" +"Promote to sepal.io with a second PR against ``apps.prod.json`` (or the " +"``Promote app to production`` workflow)." +msgstr "" + +#: ../../source/developers/apps/releases.rst:95 +msgid "" +"Validation requires the new commit to be an *ancestor of* (or equal to) " +"the branch tip — exactly what the app-launcher needs, since it runs ``git" +" fetch origin `` then ``git checkout --detach ``. You can" +" spot-check this before opening the PR:" +msgstr "" + +#: ../../source/developers/apps/releases.rst:106 +msgid "Automated release from your source repo" +msgstr "" + +#: ../../source/developers/apps/releases.rst:108 +msgid "" +"The catalog can bump a docker app automatically when your repository " +"publishes a GitHub release. The catalog's ``update-from-release.yml`` " +"workflow listens for a ``repository_dispatch`` event of type ``bump-" +"app``; on receipt it updates the app's ``commit`` in ``apps.test.json`` " +"and opens a pull request for a maintainer to review." +msgstr "" + +#: ../../source/developers/apps/releases.rst:114 +msgid "" +"To wire this up, add a workflow to your app's repository that sends the " +"dispatch on release. The snippet below is a starting point — adjust the " +"app ``id`` and the catalog repository to match your setup:" +msgstr "" + +#: ../../source/developers/apps/releases.rst:139 +msgid "" +"The token must have permission to dispatch to the catalog repository. The" +" bump only updates ``commit`` — never ``branch`` — and still goes through" +" the normal validation, risk-flag review, and maintainer merge before " +"reaching test." +msgstr "" + +#: ../../source/developers/apps/releases.rst:145 +msgid "" +"The exact ``client_payload`` fields the catalog expects may evolve. " +"Confirm against the catalog's ``update-from-release.yml`` and " +"``docs/ci.md`` before relying on this in production." +msgstr "" + +#: ../../source/developers/apps/releases.rst:151 +msgid "" +"The end-to-end lifecycle diagram lives on the section landing page — " +":ref:`developers_apps`." +msgstr "" + diff --git a/docs/source/_locale/fr/LC_MESSAGES/developers/index.po b/docs/source/_locale/fr/LC_MESSAGES/developers/index.po new file mode 100644 index 0000000000..9540b12b96 --- /dev/null +++ b/docs/source/_locale/fr/LC_MESSAGES/developers/index.po @@ -0,0 +1,45 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: fr\n" +"Language-Team: fr \n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/developers/index.rst:11 +msgid "Command-line tools" +msgstr "" + +#: ../../source/developers/index.rst:11 +msgid "Develop apps" +msgstr "" + +#: ../../source/developers/index.rst:4 +msgid "For developers" +msgstr "" + +#: ../../source/developers/index.rst:5 +msgid "*Tools, conventions and workflows for building on the SEPAL platform*" +msgstr "" + +#: ../../source/developers/index.rst:7 +msgid "" +"This section is for developers and trainers working on SEPAL rather than " +"just using it: scripting against the sandbox from the command line, " +"packaging environments for shared use, and publishing apps that other " +"users can run." +msgstr "" + diff --git a/docs/source/_locale/fr/LC_MESSAGES/feature/index.po b/docs/source/_locale/fr/LC_MESSAGES/feature/index.po index 36f4c8b73b..08dbb25cc7 100644 --- a/docs/source/_locale/fr/LC_MESSAGES/feature/index.po +++ b/docs/source/_locale/fr/LC_MESSAGES/feature/index.po @@ -1,34 +1,57 @@ + msgid "" msgstr "" -"Project-Id-Version: sepal-doc\n" +"Project-Id-Version: sepal-doc\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-03-07 09:39+0100\n" -"PO-Revision-Date: 2024-03-07 08:53\n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: 2024-03-07 08:53+0000\n" "Last-Translator: \n" +"Language: fr_FR\n" "Language-Team: French\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.14.0\n" -"Plural-Forms: nplurals=2; plural=(n > 1);\n" -"X-Crowdin-Project: sepal-doc\n" -"X-Crowdin-Project-ID: 562097\n" -"X-Crowdin-Language: fr\n" -"X-Crowdin-File: /main/docs/source/_locale/en/LC_MESSAGES/feature/index.po\n" -"X-Crowdin-File-ID: 81\n" -"Language: fr_FR\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/feature/index.rst:9 +msgid "Organize recipes" +msgstr "" + +#: ../../source/feature/index.rst:9 +msgid "AOI selection" +msgstr "" + +#: ../../source/feature/index.rst:9 +msgid "Optical bands" +msgstr "" + +#: ../../source/feature/index.rst:9 +msgid "Radar bands" +msgstr "" + +#: ../../source/feature/index.rst:9 +msgid "Visualization" +msgstr "" #: ../../source/feature/index.rst:2 msgid "Features" msgstr "Fonctionnalités" #: ../../source/feature/index.rst:3 -msgid "*Analyse, combine and visualize different types of data with SEPAL features*" +msgid "" +"*Analyse, combine and visualize different types of data with SEPAL " +"features*" msgstr "" #: ../../source/feature/index.rst:5 -msgid "Since these features can be accessed across various recipes and modules, they are described extensively in this section of the documentation." -msgstr "Puisque ces fonctionnalités sont accessibles à travers différentes recettes et modules, elles sont décrites de façon détaillée dans cette section de la documentation." +msgid "" +"Since these features can be accessed across various recipes and modules, " +"they are described extensively in this section of the documentation." +msgstr "" +"Puisque ces fonctionnalités sont accessibles à travers différentes " +"recettes et modules, elles sont décrites de façon détaillée dans cette " +"section de la documentation." #: ../../source/feature/index.rst:7 msgid "SEPAL features include:" diff --git a/docs/source/_locale/fr/LC_MESSAGES/feature/optical_bands.po b/docs/source/_locale/fr/LC_MESSAGES/feature/optical_bands.po new file mode 100644 index 0000000000..97c7de0744 --- /dev/null +++ b/docs/source/_locale/fr/LC_MESSAGES/feature/optical_bands.po @@ -0,0 +1,953 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: fr\n" +"Language-Team: fr \n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/feature/optical_bands.rst:2 +msgid "Optical Satellite bands, transformations, and indices" +msgstr "" + +#: ../../source/feature/optical_bands.rst:4 +msgid "" +"When exporting an optical satellite image in SEPAL, you can choose from a" +" variety of bands, transformations, and indices to enhance your analysis " +"and visualization. Understanding the characteristics and applications of " +"different bands can help you optimize your image processing workflow and " +"extract valuable insights from satellite data." +msgstr "" + +#: ../../source/feature/optical_bands.rst:13 +msgid "Bands" +msgstr "" + +#: ../../source/feature/optical_bands.rst:15 +msgid "" +"Satellite imagery is composed of multiple bands, each capturing light in " +"specific wavelengths. Depending on the satellite sensor and mission, " +"SEPAL offers a range of bands that can be used for export and analysis." +msgstr "" + +#: ../../source/feature/optical_bands.rst:18 +msgid "Band" +msgstr "" + +#: ../../source/feature/optical_bands.rst:18 +msgid "Sentinel 2" +msgstr "" + +#: ../../source/feature/optical_bands.rst:18 +msgid "Landsat 9" +msgstr "" + +#: ../../source/feature/optical_bands.rst:18 +msgid "Landsat 8" +msgstr "" + +#: ../../source/feature/optical_bands.rst:18 +msgid "Landsat 7" +msgstr "" + +#: ../../source/feature/optical_bands.rst:18 +msgid "Landsat TM" +msgstr "" + +#: ../../source/feature/optical_bands.rst:20 +msgid "pan" +msgstr "" + +#: ../../source/feature/optical_bands.rst:20 +#: ../../source/feature/optical_bands.rst:22 +#: ../../source/feature/optical_bands.rst:32 +#: ../../source/feature/optical_bands.rst:34 +#: ../../source/feature/optical_bands.rst:36 +#: ../../source/feature/optical_bands.rst:38 +#: ../../source/feature/optical_bands.rst:44 +#: ../../source/feature/optical_bands.rst:46 +#: ../../source/feature/optical_bands.rst:48 +#: ../../source/feature/optical_bands.rst:50 +msgid "❌" +msgstr "" + +#: ../../source/feature/optical_bands.rst:20 +#: ../../source/feature/optical_bands.rst:22 +#: ../../source/feature/optical_bands.rst:24 +#: ../../source/feature/optical_bands.rst:26 +#: ../../source/feature/optical_bands.rst:28 +#: ../../source/feature/optical_bands.rst:30 +#: ../../source/feature/optical_bands.rst:32 +#: ../../source/feature/optical_bands.rst:34 +#: ../../source/feature/optical_bands.rst:36 +#: ../../source/feature/optical_bands.rst:38 +#: ../../source/feature/optical_bands.rst:40 +#: ../../source/feature/optical_bands.rst:42 +#: ../../source/feature/optical_bands.rst:44 +#: ../../source/feature/optical_bands.rst:46 +#: ../../source/feature/optical_bands.rst:48 +#: ../../source/feature/optical_bands.rst:50 +#: ../../source/feature/optical_bands.rst:52 +#: ../../source/feature/optical_bands.rst:54 +#: ../../source/feature/optical_bands.rst:56 +#: ../../source/feature/optical_bands.rst:58 +#: ../../source/feature/optical_bands.rst:60 +#: ../../source/feature/optical_bands.rst:62 +msgid "✅" +msgstr "" + +#: ../../source/feature/optical_bands.rst:22 +msgid "aerosol" +msgstr "" + +#: ../../source/feature/optical_bands.rst:24 +msgid "blue" +msgstr "" + +#: ../../source/feature/optical_bands.rst:26 +msgid "green" +msgstr "" + +#: ../../source/feature/optical_bands.rst:28 +msgid "red" +msgstr "" + +#: ../../source/feature/optical_bands.rst:30 +msgid "nir" +msgstr "" + +#: ../../source/feature/optical_bands.rst:32 +msgid "redEdge1" +msgstr "" + +#: ../../source/feature/optical_bands.rst:34 +msgid "redEdge2" +msgstr "" + +#: ../../source/feature/optical_bands.rst:36 +msgid "redEdge3" +msgstr "" + +#: ../../source/feature/optical_bands.rst:38 +msgid "redEdge4" +msgstr "" + +#: ../../source/feature/optical_bands.rst:40 +msgid "swir1" +msgstr "" + +#: ../../source/feature/optical_bands.rst:42 +msgid "swir2" +msgstr "" + +#: ../../source/feature/optical_bands.rst:44 +msgid "cirrus" +msgstr "" + +#: ../../source/feature/optical_bands.rst:46 +msgid "thermal" +msgstr "" + +#: ../../source/feature/optical_bands.rst:48 +msgid "thermal2" +msgstr "" + +#: ../../source/feature/optical_bands.rst:50 +msgid "waterVapor" +msgstr "" + +#: ../../source/feature/optical_bands.rst:52 +msgid "brightness" +msgstr "" + +#: ../../source/feature/optical_bands.rst:54 +msgid "greenness" +msgstr "" + +#: ../../source/feature/optical_bands.rst:56 +msgid "wetness" +msgstr "" + +#: ../../source/feature/optical_bands.rst:58 +msgid "fourth" +msgstr "" + +#: ../../source/feature/optical_bands.rst:60 +msgid "fifth" +msgstr "" + +#: ../../source/feature/optical_bands.rst:62 +msgid "sixth" +msgstr "" + +#: ../../source/feature/optical_bands.rst:66 +msgid "Description" +msgstr "" + +#: ../../source/feature/optical_bands.rst:68 +msgid "**Pan (Panchromatic)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:69 +msgid "" +"**Description**: Captures data in a single broad wavelength band, " +"offering higher spatial resolution." +msgstr "" + +#: ../../source/feature/optical_bands.rst:70 +#: ../../source/feature/optical_bands.rst:76 +#: ../../source/feature/optical_bands.rst:83 +#: ../../source/feature/optical_bands.rst:90 +#: ../../source/feature/optical_bands.rst:97 +#: ../../source/feature/optical_bands.rst:104 +#: ../../source/feature/optical_bands.rst:111 +#: ../../source/feature/optical_bands.rst:117 +#: ../../source/feature/optical_bands.rst:124 +#: ../../source/feature/optical_bands.rst:131 +#: ../../source/feature/optical_bands.rst:138 +#: ../../source/feature/optical_bands.rst:144 +msgid "**Wavelengths**:" +msgstr "" + +#: ../../source/feature/optical_bands.rst:71 +msgid "0.500-0.680 µm, only for Landsat." +msgstr "" + +#: ../../source/feature/optical_bands.rst:72 +msgid "**Usage**: High-resolution imaging for mapping and urban planning." +msgstr "" + +#: ../../source/feature/optical_bands.rst:74 +msgid "**Aerosol**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:75 +msgid "" +"**Description**: Used for detecting aerosols (tiny particles) in the " +"atmosphere, which can be crucial for air quality monitoring and climate " +"studies." +msgstr "" + +#: ../../source/feature/optical_bands.rst:77 +msgid "0.433-0.453 µm for Landsat 8 and 9." +msgstr "" + +#: ../../source/feature/optical_bands.rst:78 +msgid "0.443-0.463 µm for Sentinel-2." +msgstr "" + +#: ../../source/feature/optical_bands.rst:79 +msgid "**Usage**: Air pollution assessment, wildfire smoke tracking." +msgstr "" + +#: ../../source/feature/optical_bands.rst:81 +msgid "**Blue**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:82 +msgid "**Description**: Captures light in the blue wavelength." +msgstr "" + +#: ../../source/feature/optical_bands.rst:84 +msgid "0.450-0.510 µm for Landsat 8 and 9." +msgstr "" + +#: ../../source/feature/optical_bands.rst:85 +msgid "0.490-0.555 µm for Sentinel-2." +msgstr "" + +#: ../../source/feature/optical_bands.rst:86 +msgid "" +"**Usage**: Coastal water mapping, vegetation health monitoring, and " +"identification of shallow water bodies." +msgstr "" + +#: ../../source/feature/optical_bands.rst:88 +msgid "**Green**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:89 +msgid "**Description**: Captures light in the green wavelength." +msgstr "" + +#: ../../source/feature/optical_bands.rst:91 +msgid "0.530-0.590 µm for Landsat 8 and 9." +msgstr "" + +#: ../../source/feature/optical_bands.rst:92 +msgid "0.560-0.595 µm for Sentinel-2." +msgstr "" + +#: ../../source/feature/optical_bands.rst:93 +msgid "**Usage**: Mapping vegetation, water bodies, and urban areas." +msgstr "" + +#: ../../source/feature/optical_bands.rst:95 +msgid "**Red**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:96 +msgid "**Description**: Captures light in the red wavelength." +msgstr "" + +#: ../../source/feature/optical_bands.rst:98 +msgid "0.640-0.670 µm for Landsat 8 and 9." +msgstr "" + +#: ../../source/feature/optical_bands.rst:99 +msgid "0.665-0.695 µm for Sentinel-2." +msgstr "" + +#: ../../source/feature/optical_bands.rst:100 +msgid "" +"**Usage**: Vegetation analysis, especially in calculating vegetation " +"indices like NDVI." +msgstr "" + +#: ../../source/feature/optical_bands.rst:102 +msgid "**NIR (Near-Infrared)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:103 +msgid "**Description**: Captures light in the near-infrared spectrum." +msgstr "" + +#: ../../source/feature/optical_bands.rst:105 +msgid "0.850-0.880 µm for Landsat 8 and 9." +msgstr "" + +#: ../../source/feature/optical_bands.rst:106 +msgid "0.780-0.900 µm for Sentinel-2." +msgstr "" + +#: ../../source/feature/optical_bands.rst:107 +msgid "" +"**Usage**: Differentiating between vegetation and water, and monitoring " +"vegetation health." +msgstr "" + +#: ../../source/feature/optical_bands.rst:109 +msgid "**Red Edge (4)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:110 +msgid "" +"**Description**: 4 narrow Bands in the VNIR vegetation red edge spectral " +"domain: Red edge 1, Red edge 2, Red edge 3, Red edge 4, is a region of " +"the electromagnetic spectrum where the spectral reflectance of green " +"vegetation changes rapidly" +msgstr "" + +#: ../../source/feature/optical_bands.rst:112 +msgid "~704nm,~740nm, ~783nm and ~865nm, only for Sentinel-2." +msgstr "" + +#: ../../source/feature/optical_bands.rst:113 +msgid "" +"**Usage**: Detailed vegetation health monitoring, particularly for " +"precision agriculture." +msgstr "" + +#: ../../source/feature/optical_bands.rst:115 +msgid "**SWIR 1 (Shortwave Infrared 1)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:116 +#: ../../source/feature/optical_bands.rst:123 +msgid "**Description**: Captures light in the shortwave infrared spectrum." +msgstr "" + +#: ../../source/feature/optical_bands.rst:118 +msgid "1.570-1.650 µm for Landsat 8 and 9." +msgstr "" + +#: ../../source/feature/optical_bands.rst:119 +msgid "1.560-1.660 µm for Sentinel-2." +msgstr "" + +#: ../../source/feature/optical_bands.rst:120 +msgid "" +"**Usage**: Detecting moisture content in soil and vegetation, mapping " +"burned areas." +msgstr "" + +#: ../../source/feature/optical_bands.rst:122 +msgid "**SWIR 2 (Shortwave Infrared 2)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:125 +msgid "2.110-2.290 µm for Landsat 8 and 9." +msgstr "" + +#: ../../source/feature/optical_bands.rst:126 +msgid "2.100-2.280 µm for Sentinel-2." +msgstr "" + +#: ../../source/feature/optical_bands.rst:127 +msgid "" +"**Usage**: Distinguishing snow from clouds, mapping geological features, " +"and burn scars." +msgstr "" + +#: ../../source/feature/optical_bands.rst:129 +msgid "**Cirrus**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:130 +msgid "**Description**: A band designed to detect high-altitude cirrus clouds." +msgstr "" + +#: ../../source/feature/optical_bands.rst:132 +msgid "1.360-1.380 µm for Landsat 8 and 9." +msgstr "" + +#: ../../source/feature/optical_bands.rst:133 +msgid "1.360-1.390 µm for Sentinel-2." +msgstr "" + +#: ../../source/feature/optical_bands.rst:134 +msgid "" +"**Usage**: Cloud screening in high-altitude regions to improve " +"atmospheric correction." +msgstr "" + +#: ../../source/feature/optical_bands.rst:136 +msgid "**Thermal 1**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:137 +#: ../../source/feature/optical_bands.rst:143 +msgid "" +"**Description**: Measures thermal radiation emitted by the Earth's " +"surface." +msgstr "" + +#: ../../source/feature/optical_bands.rst:139 +msgid "10.60-11.19 µm for Landsat 8 and 9." +msgstr "" + +#: ../../source/feature/optical_bands.rst:140 +#: ../../source/feature/optical_bands.rst:146 +msgid "" +"**Usage**: Monitoring land surface temperature, detecting fires, and " +"assessing volcanic activity." +msgstr "" + +#: ../../source/feature/optical_bands.rst:142 +msgid "**Thermal 2**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:145 +msgid "11.50-12.51 µm for Landsat 8 and 9." +msgstr "" + +#: ../../source/feature/optical_bands.rst:148 +msgid "**Water Vapor**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:149 +msgid "" +"**Description**: Sensitive to atmospheric water vapor absorption, " +"commonly used for weather and climate studies." +msgstr "" + +#: ../../source/feature/optical_bands.rst:150 +msgid "**Usage**: Studying cloud formation, precipitation, and humidity levels." +msgstr "" + +#: ../../source/feature/optical_bands.rst:154 +msgid "Tasseled Cap Transformation" +msgstr "" + +#: ../../source/feature/optical_bands.rst:156 +msgid "" +"The Tasseled Cap Transformation is a method to transform satellite " +"imagery into three brightness components (Brightness, Greenness, and " +"Wetness) and three color components (Red, Green, and Blue). This " +"transformation is particularly useful for analyzing land cover changes, " +"vegetation health, and urban development over time." +msgstr "" + +#: ../../source/feature/optical_bands.rst:158 +msgid "**Brightness**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:159 +msgid "" +"**Description**: Measures the brightness band measures the overall " +"brightness of the image, specifically the soil." +msgstr "" + +#: ../../source/feature/optical_bands.rst:160 +msgid "" +"**Usage**: this band is often used to identify bare or partially covered " +"soil, man-made features, and natural features like asphalt, concrete, " +"gravel, and rock outcrops." +msgstr "" + +#: ../../source/feature/optical_bands.rst:162 +msgid "**Greenness**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:163 +msgid "" +"**Description**: Measures the density and health of vegetation by " +"capitalizing on the chlorophyll absorption in the red band and the high " +"reflectance in the near-infrared band. It enhances the contrast between " +"vegetated areas and non-vegetated areas." +msgstr "" + +#: ../../source/feature/optical_bands.rst:164 +msgid "" +"**Usage**: Widely used in assessing plant health, monitoring crop " +"conditions, tracking forest cover changes, and managing natural " +"resources." +msgstr "" + +#: ../../source/feature/optical_bands.rst:166 +msgid "**Wetness**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:167 +msgid "" +"**Description**: Captures moisture content in both soil and vegetation. " +"This band is sensitive to the moisture continuum from dry to wet " +"surfaces, helping to differentiate moist soils and saturated vegetation " +"from dry areas." +msgstr "" + +#: ../../source/feature/optical_bands.rst:168 +msgid "" +"**Usage**: Important for identifying wetlands, managing irrigation in " +"agriculture, detecting flood-prone areas, and conducting soil moisture " +"studies." +msgstr "" + +#: ../../source/feature/optical_bands.rst:170 +msgid "**Fourth Component**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:171 +msgid "" +"**Description**: Often calibrated to highlight additional properties of " +"vegetation or soil, such as senescence or specific soil types. The exact " +"nature of this band can vary depending on the coefficients and sensor " +"used." +msgstr "" + +#: ../../source/feature/optical_bands.rst:172 +msgid "" +"**Usage**: Can be used to differentiate between types of vegetation or " +"stages of crop maturity, and to detect stressed vegetation in forestry " +"and agriculture." +msgstr "" + +#: ../../source/feature/optical_bands.rst:174 +msgid "**Fifth Component**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:175 +msgid "" +"**Description**: Typically emphasizes land disturbance or variability in " +"land cover types, providing a finer distinction between different types " +"of ground cover and land use." +msgstr "" + +#: ../../source/feature/optical_bands.rst:176 +msgid "" +"**Usage**: Useful in monitoring land cover changes over time, detecting " +"disturbances like deforestation or urban expansion, and enhancing land " +"cover classification schemes." +msgstr "" + +#: ../../source/feature/optical_bands.rst:178 +msgid "**Sixth Component**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:179 +msgid "" +"**Description**: This band often captures more subtle or residual " +"information that the other bands do not emphasize. It can be less " +"directly interpretable and might be seen as highlighting noise or " +"anomalies in the data." +msgstr "" + +#: ../../source/feature/optical_bands.rst:180 +msgid "" +"**Usage**: Potentially useful for detecting subtle ecological changes, " +"analyzing noise in the data for improved image processing, and refining " +"classifications by providing additional context." +msgstr "" + +#: ../../source/feature/optical_bands.rst:184 +msgid "Vegetation Indices" +msgstr "" + +#: ../../source/feature/optical_bands.rst:186 +msgid "" +"Vegetation indices are mathematical transformations of satellite data " +"that highlight specific vegetation properties, such as chlorophyll " +"content, leaf area, or vegetation health. These indices are widely used " +"in agriculture, forestry, and environmental monitoring to assess plant " +"growth, detect stress, and monitor land cover changes." +msgstr "" + +#: ../../source/feature/optical_bands.rst:188 +msgid "**NDVI (Normalized Difference Vegetation Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:189 +msgid "" +"**Description**: Measures the density and health of vegetation by " +"calculating the difference between the near-infrared (NIR) and red light " +"reflected by vegetation. Healthy vegetation absorbs most of the visible " +"light and reflects a large portion of the NIR." +msgstr "" + +#: ../../source/feature/optical_bands.rst:190 +msgid "" +"**Usage**: Used to assess vegetation health, monitor drought, and manage " +"agricultural operations." +msgstr "" + +#: ../../source/feature/optical_bands.rst:191 +msgid "**Formula**: (NIR - Red) / (NIR + Red)" +msgstr "" + +#: ../../source/feature/optical_bands.rst:193 +msgid "**NDMI (Normalized Difference Moisture Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:194 +msgid "" +"**Description**: Highlights moisture content in vegetation by utilizing " +"the NIR and short-wave infrared (SWIR1) bands. It is sensitive to " +"moisture content in vegetation." +msgstr "" + +#: ../../source/feature/optical_bands.rst:195 +msgid "" +"**Usage**: Useful in monitoring vegetation hydration and managing " +"irrigation in agricultural contexts." +msgstr "" + +#: ../../source/feature/optical_bands.rst:196 +msgid "**Formula**: (NIR - SWIR1) / (NIR + SWIR1)" +msgstr "" + +#: ../../source/feature/optical_bands.rst:198 +msgid "**NDWI (Normalized Difference Water Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:199 +msgid "" +"**Description**: Designed to identify and monitor changes in water " +"content in vegetation, leveraging the green and NIR bands to maximize the" +" reflection differences." +msgstr "" + +#: ../../source/feature/optical_bands.rst:200 +msgid "" +"**Usage**: Employed in monitoring water stress in crops, detecting water " +"bodies, and managing wetland areas." +msgstr "" + +#: ../../source/feature/optical_bands.rst:201 +msgid "**Formula**: (Green - NIR) / (Green + NIR)" +msgstr "" + +#: ../../source/feature/optical_bands.rst:203 +msgid "**MNDWI (Modified Normalized Difference Water Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:204 +msgid "" +"**Description**: Enhances the detection of surface water by using the " +"green and SWIR1 bands, reducing the influence of built-up land that can " +"be confused with water in traditional NDWI." +msgstr "" + +#: ../../source/feature/optical_bands.rst:205 +msgid "" +"**Usage**: Used to map and monitor surface water bodies, crucial for " +"flood mapping and water resource management." +msgstr "" + +#: ../../source/feature/optical_bands.rst:206 +msgid "**Formula**: (Green - SWIR1) / (Green + SWIR1)" +msgstr "" + +#: ../../source/feature/optical_bands.rst:208 +msgid "**NDFI (Normalized Difference Fraction Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:209 +msgid "" +"**Description**: Typically used to distinguish between different types of" +" vegetation and non-vegetation elements, providing a measure of " +"vegetation cover fraction." +msgstr "" + +#: ../../source/feature/optical_bands.rst:210 +msgid "" +"**Usage**: Utilized in forest management and land cover classification " +"tasks." +msgstr "" + +#: ../../source/feature/optical_bands.rst:211 +msgid "**Formula**: Index-specific, varies based on application." +msgstr "" + +#: ../../source/feature/optical_bands.rst:213 +msgid "**EVI (Enhanced Vegetation Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:214 +msgid "" +"**Description**: Improves the NDVI by optimizing the vegetation signal " +"with improved sensitivity in high biomass regions and reducing background" +" and atmospheric noise." +msgstr "" + +#: ../../source/feature/optical_bands.rst:215 +msgid "" +"**Usage**: Frequently used in areas where vegetation monitoring requires " +"greater sensitivity to biomass." +msgstr "" + +#: ../../source/feature/optical_bands.rst:216 +msgid "**Formula**: 2.5 * (NIR - Red) / (NIR + 6 * Red - 7.5 * Blue + 1)" +msgstr "" + +#: ../../source/feature/optical_bands.rst:218 +msgid "**EVI2 (Enhanced Vegetation Index 2)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:219 +msgid "" +"**Description**: A refinement of EVI that uses only red and NIR bands, " +"designed for areas where blue band data may not be reliable." +msgstr "" + +#: ../../source/feature/optical_bands.rst:220 +msgid "" +"**Usage**: Ideal for vegetation monitoring through dense atmosphere or " +"where the blue band is unavailable." +msgstr "" + +#: ../../source/feature/optical_bands.rst:221 +msgid "**Formula**: 2.5 * (NIR - Red) / (NIR + 2.4 * Red + 1)" +msgstr "" + +#: ../../source/feature/optical_bands.rst:223 +msgid "**SAVI (Soil-Adjusted Vegetation Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:224 +msgid "" +"**Description**: Adjusts the NDVI for the influence of soil brightness, " +"particularly useful in areas with sparse vegetation where soil is " +"visible." +msgstr "" + +#: ../../source/feature/optical_bands.rst:225 +msgid "" +"**Usage**: Applied in semi-arid regions to improve the accuracy of " +"vegetation assessments." +msgstr "" + +#: ../../source/feature/optical_bands.rst:226 +msgid "**Formula**: (1.5 * (NIR - Red) / (NIR + Red + 0.5))" +msgstr "" + +#: ../../source/feature/optical_bands.rst:228 +msgid "**NBR (Normalized Burn Ratio)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:229 +msgid "" +"**Description**: Utilizes NIR and SWIR2 bands to assess the severity of " +"burn damage and the delineation of burned areas." +msgstr "" + +#: ../../source/feature/optical_bands.rst:230 +msgid "" +"**Usage**: Key for assessing post-fire recovery in forested areas and " +"mapping burn severity." +msgstr "" + +#: ../../source/feature/optical_bands.rst:231 +msgid "**Formula**: (NIR - SWIR2) / (NIR + SWIR2)" +msgstr "" + +#: ../../source/feature/optical_bands.rst:233 +msgid "**MVI (Mangrove Vegetation Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:234 +msgid "" +"**Description**: Specifically designed to enhance the detection and " +"monitoring of mangrove forests by using NIR and green bands." +msgstr "" + +#: ../../source/feature/optical_bands.rst:235 +msgid "" +"**Usage**: Used in coastal management and conservation of mangrove " +"ecosystems." +msgstr "" + +#: ../../source/feature/optical_bands.rst:236 +msgid "**Formula**: 0.1 * (NIR - Green) / abs(SWIR1 - Green)" +msgstr "" + +#: ../../source/feature/optical_bands.rst:238 +msgid "**UI (Urban Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:239 +msgid "" +"**Description**: Highlights urban areas by exploiting the differences in " +"reflection between SWIR2 and NIR bands." +msgstr "" + +#: ../../source/feature/optical_bands.rst:240 +msgid "" +"**Usage**: Useful for urban mapping and monitoring changes in urban land " +"use." +msgstr "" + +#: ../../source/feature/optical_bands.rst:241 +msgid "**Formula**: (SWIR2 - NIR) / (SWIR2 + NIR)" +msgstr "" + +#: ../../source/feature/optical_bands.rst:243 +msgid "**NDBI (Normalized Difference Built-up Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:244 +msgid "" +"**Description**: Differentiates urban and built-up areas from natural " +"land cover by using NIR and SWIR1 bands." +msgstr "" + +#: ../../source/feature/optical_bands.rst:245 +msgid "**Usage**: Employed in urban planning and studying urban heat islands." +msgstr "" + +#: ../../source/feature/optical_bands.rst:246 +msgid "**Formula**: (SWIR1 - NIR) / (SWIR1 + NIR)" +msgstr "" + +#: ../../source/feature/optical_bands.rst:248 +msgid "**IBI (Index-based Built-up Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:249 +msgid "" +"**Description**: Combines NDBI with SAVI and MNDWI to provide a more " +"comprehensive measure of built-up areas." +msgstr "" + +#: ../../source/feature/optical_bands.rst:250 +msgid "**Usage**: Useful in detailed urban analysis and land use classification." +msgstr "" + +#: ../../source/feature/optical_bands.rst:251 +msgid "**Formula**: (NDBI - (SAVI + MNDWI) / 2) / (NDBI + (SAVI + MNDWI) / 2)" +msgstr "" + +#: ../../source/feature/optical_bands.rst:253 +msgid "**NBI (New Built-up Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:254 +msgid "" +"**Description**: Employs red, NIR, and SWIR1 bands to enhance the " +"detection of built-up areas." +msgstr "" + +#: ../../source/feature/optical_bands.rst:255 +msgid "**Usage**: Applied in urban growth monitoring and land use planning." +msgstr "" + +#: ../../source/feature/optical_bands.rst:256 +msgid "**Formula**: Red * SWIR1 / NIR" +msgstr "" + +#: ../../source/feature/optical_bands.rst:258 +msgid "**EBBI (Enhanced Built-Up and Bareness Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:259 +msgid "" +"**Description**: Focuses on urban areas and bare land by incorporating " +"thermal and SWIR1 bands to detect built-up regions." +msgstr "" + +#: ../../source/feature/optical_bands.rst:260 +msgid "" +"**Usage**: Crucial for urban mapping and identifying heat-stressed areas " +"in cities." +msgstr "" + +#: ../../source/feature/optical_bands.rst:261 +msgid "**Formula**: (SWIR1 - NIR) / (10 * sqrt(SWIR1 + Thermal))" +msgstr "" + +#: ../../source/feature/optical_bands.rst:263 +msgid "**BUI (Built-Up Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:264 +msgid "" +"**Description**: Combines multiple SWIR bands to enhance the detection " +"and differentiation of built-up areas." +msgstr "" + +#: ../../source/feature/optical_bands.rst:265 +msgid "" +"**Usage**: Employed in urban and regional planning to delineate built-up " +"from natural areas." +msgstr "" + +#: ../../source/feature/optical_bands.rst:266 +msgid "" +"**Formula**: (Red - SWIR1) / (Red + SWIR1) + (SWIR2 - SWIR1) / (SWIR2 + " +"SWIR1)" +msgstr "" + +#: ../../source/feature/optical_bands.rst:268 +msgid "**KNDVI (Kernel Normalized Difference Vegetation Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:269 +msgid "" +"**Description**: Applies a kernel function to traditional NDVI to improve" +" sensitivity and accuracy in vegetation monitoring." +msgstr "" + +#: ../../source/feature/optical_bands.rst:270 +msgid "" +"**Usage**: Used in precision agriculture and detailed vegetation studies " +"where standard NDVI is not sufficient." +msgstr "" + +#: ../../source/feature/optical_bands.rst:271 +msgid "" +"**Formula**: Kernel-function applied to NDVI, specific implementation " +"details vary." +msgstr "" + diff --git a/docs/source/_locale/fr/LC_MESSAGES/feature/project.po b/docs/source/_locale/fr/LC_MESSAGES/feature/project.po index 59462707a1..b07d828859 100644 --- a/docs/source/_locale/fr/LC_MESSAGES/feature/project.po +++ b/docs/source/_locale/fr/LC_MESSAGES/feature/project.po @@ -1,33 +1,34 @@ + msgid "" msgstr "" -"Project-Id-Version: sepal-doc\n" +"Project-Id-Version: sepal-doc\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-03-07 09:39+0100\n" -"PO-Revision-Date: 2024-03-07 08:53\n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: 2024-03-07 08:53+0000\n" "Last-Translator: \n" +"Language: fr_FR\n" "Language-Team: French\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.14.0\n" -"Plural-Forms: nplurals=2; plural=(n > 1);\n" -"X-Crowdin-Project: sepal-doc\n" -"X-Crowdin-Project-ID: 562097\n" -"X-Crowdin-Language: fr\n" -"X-Crowdin-File: /main/docs/source/_locale/en/LC_MESSAGES/feature/project.po\n" -"X-Crowdin-File-ID: 83\n" -"Language: fr_FR\n" +"Generated-By: Babel 2.18.0\n" #: ../../source/feature/project.rst:2 -msgid "Recipe projects" +msgid "Organize Recipes by projects" msgstr "" #: ../../source/feature/project.rst:4 -msgid "When interacting with SEPAL processes, a user creates **Recipes**, which can work together and be interconnected inside a single project (e.g. :code:`Mosaics` used in a :code:`Classification`)." +msgid "" +"When interacting with SEPAL processes, a user creates **Recipes**, which " +"can work together and be interconnected inside a single project (e.g. " +":code:`Mosaics` used in a :code:`Classification`)." msgstr "" #: ../../source/feature/project.rst:6 -msgid "To help with these interconnections, the SEPAL platform provides a :code:`Project` system to organize users' work." +msgid "" +"To help with these interconnections, the SEPAL platform provides a " +":code:`Project` system to organize users' work." msgstr "" #: ../../source/feature/project.rst:9 @@ -39,7 +40,9 @@ msgid "Go to the **Processes** interface of SEPAL (:btn:``)." msgstr "" #: ../../source/feature/project.rst:13 -msgid "(You should see the following. If you've already created recipes in previous releases, you will see a list of existing recipes)." +msgid "" +"(You should see the following. If you've already created recipes in " +"previous releases, you will see a list of existing recipes)." msgstr "" #: ../../source/feature/project.rst:20 @@ -67,7 +70,9 @@ msgid "Edit recipes" msgstr "" #: ../../source/feature/project.rst:28 -msgid "Read the following section to understand how users can create a new project and manage existing projects in the SEPAL platform." +msgid "" +"Read the following section to understand how users can create a new " +"project and manage existing projects in the SEPAL platform." msgstr "" #: ../../source/feature/project.rst:31 @@ -75,19 +80,29 @@ msgid "Project" msgstr "Projet" #: ../../source/feature/project.rst:35 -msgid "Projects are personal. They cannot be shared and they are not visible to other users." +msgid "" +"Projects are personal. They cannot be shared and they are not visible to " +"other users." msgstr "" #: ../../source/feature/project.rst:39 -msgid "For every user, a :code:`[no project]` project is created during registration. This project will be the fallback for every recipe that was created before the publication of the feature. It cannot be deleted or renamed." +msgid "" +"For every user, a :code:`[no project]` project is created during " +"registration. This project will be the fallback for every recipe that was" +" created before the publication of the feature. It cannot be deleted or " +"renamed." msgstr "" #: ../../source/feature/project.rst:41 -msgid "To create a project, select :btn:` Projects`, which opens the interface (see figure below)." +msgid "" +"To create a project, select :btn:` Projects`, " +"which opens the interface (see figure below)." msgstr "" #: ../../source/feature/project.rst:43 -msgid "Then, select :btn:` Add` to create a new project. Enter the name and select :btn:` Apply`." +msgid "" +"Then, select :btn:` Add` to create a new project. " +"Enter the name and select :btn:` Apply`." msgstr "" #: ../../source/feature/project.rst:45 @@ -95,7 +110,10 @@ msgid "The newly created project will now appear in the list." msgstr "" #: ../../source/feature/project.rst:57 -msgid "To remove a project, select the :btn:`` icon (located beside its name), which will destroy all recipes included in the process as well." +msgid "" +"To remove a project, select the :btn:`` icon (located " +"beside its name), which will destroy all recipes included in the process " +"as well." msgstr "" #: ../../source/feature/project.rst:65 @@ -103,7 +121,11 @@ msgid "Recipes" msgstr "Recettes" #: ../../source/feature/project.rst:67 -msgid "When entering the **Process** interface, no projects are selected by default, meaning that users will see all recipes available in their SEPAL accounts. All recipes are displayed using the following prototype: :code:` / `." +msgid "" +"When entering the **Process** interface, no projects are selected by " +"default, meaning that users will see all recipes available in their SEPAL" +" accounts. All recipes are displayed using the following prototype: " +":code:` / `." msgstr "" #: ../../source/feature/project.rst:74 @@ -115,23 +137,38 @@ msgid "Filter recipes" msgstr "" #: ../../source/feature/project.rst:79 -msgid "Select (3) to filter recipes according to your project. Once selected, only the recipes included in the project will be displayed. The field is clearable (i.e. you can go back to the unfiltered state and select another project). Also, :code:`[no project]` can be selected." +msgid "" +"Select (3) to filter recipes according to your project. Once selected, " +"only the recipes included in the project will be displayed. The field is " +"clearable (i.e. you can go back to the unfiltered state and select " +"another project). Also, :code:`[no project]` can be selected." msgstr "" #: ../../source/feature/project.rst:86 -msgid "Once a project is selected, it will appear as **Current project** in the project list (see figure below)." +msgid "" +"Once a project is selected, it will appear as **Current project** in the " +"project list (see figure below)." msgstr "" #: ../../source/feature/project.rst:93 -msgid "Once a project is selected and a recipe is created, it will belong to the selected project." -msgstr "Une fois qu'un projet est sélectionné et qu'une recette est créée, il appartiendra au projet sélectionné." +msgid "" +"Once a project is selected and a recipe is created, it will belong to the" +" selected project." +msgstr "" +"Une fois qu'un projet est sélectionné et qu'une recette est créée, il " +"appartiendra au projet sélectionné." #: ../../source/feature/project.rst:97 -msgid "If you don't want your recipe to be associated with any project, unfilter the list before selecting :btn:` Add recipe`." +msgid "" +"If you don't want your recipe to be associated with any project, unfilter" +" the list before selecting :btn:` Add recipe`." msgstr "" #: ../../source/feature/project.rst:102 -msgid "Recipe behaviour can be edited directly from this view. Select the :btn:` Edit` button to open the **Editing** interface." +msgid "" +"Recipe behaviour can be edited directly from this view. Select the :btn" +":` Edit` button to open the **Editing** " +"interface." msgstr "" #: ../../source/feature/project.rst:109 @@ -139,19 +176,28 @@ msgid "From this interface, you can:" msgstr "" #: ../../source/feature/project.rst:111 -msgid ":btn:` Select`: Select/unselect all recipes shown on the screen. Any other editing operation will only be applied to the selected recipe(s)." +msgid "" +":btn:` Select`: Select/unselect all recipes shown on " +"the screen. Any other editing operation will only be applied to the " +"selected recipe(s)." msgstr "" #: ../../source/feature/project.rst:112 -msgid ":btn:` Move`: Move the selected recipe(s) to another project." -msgstr ":btn:` Déplacer`: Déplacer le(s) recette(s) sélectionnée(s) vers un autre projet." +msgid "" +":btn:` Move`: Move the selected recipe(s) to another" +" project." +msgstr "" +":btn:` Déplacer`: Déplacer le(s) recette(s) " +"sélectionnée(s) vers un autre projet." #: ../../source/feature/project.rst:113 msgid ":btn:` Remove`: Delete the recipe(s) permanently." msgstr "" #: ../../source/feature/project.rst:117 -msgid "Before deleting individual recipes, make sure that they are not used as inputs in others." +msgid "" +"Before deleting individual recipes, make sure that they are not used as " +"inputs in others." msgstr "" #: ../../source/feature/project.rst:120 @@ -159,11 +205,18 @@ msgid "Connect recipes" msgstr "" #: ../../source/feature/project.rst:122 -msgid "When creating recipes such as :code:`Classification`, users can use other recipes as inputs for the process. To avoid flooding the dropdown list with too many values, only the recipes from the same project will be displayed (see following figure on the left)." +msgid "" +"When creating recipes such as :code:`Classification`, users can use other" +" recipes as inputs for the process. To avoid flooding the dropdown list " +"with too many values, only the recipes from the same project will be " +"displayed (see following figure on the left)." msgstr "" #: ../../source/feature/project.rst:124 -msgid "If one still wants to see all of the recipes in the dropdown list, select :btn:`All` and all recipes will be displayed using project names as headers (see following figure on right)." +msgid "" +"If one still wants to see all of the recipes in the dropdown list, select" +" :btn:`All` and all recipes will be displayed using project names as " +"headers (see following figure on right)." msgstr "" #~ msgid "" @@ -490,3 +543,6 @@ msgstr "" #~ " (see following figure on right)." #~ msgstr "" +#~ msgid "Recipe projects" +#~ msgstr "" + diff --git a/docs/source/_locale/fr/LC_MESSAGES/feature/radar_bands.po b/docs/source/_locale/fr/LC_MESSAGES/feature/radar_bands.po new file mode 100644 index 0000000000..604a1a2f66 --- /dev/null +++ b/docs/source/_locale/fr/LC_MESSAGES/feature/radar_bands.po @@ -0,0 +1,121 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: fr\n" +"Language-Team: fr \n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/feature/radar_bands.rst:2 +msgid "Sentinel-1 Radar Bands" +msgstr "" + +#: ../../source/feature/radar_bands.rst:4 +msgid "" +"When exporting a radar mosaic from the SEPAL platform, the following " +"radar band metrics are available for analysis:" +msgstr "" + +#: ../../source/feature/radar_bands.rst:13 +msgid "Basic Radar Metrics (VV and VH Polarizations)" +msgstr "" + +#: ../../source/feature/radar_bands.rst:15 +msgid "**Metrics Included**:" +msgstr "" + +#: ../../source/feature/radar_bands.rst:16 +msgid "" +"*VV_min, VV_max, VV_mean, VV_std, VV_med*: Statistics of the VV " +"polarization signal, covering minimum, maximum, mean, standard deviation," +" and median." +msgstr "" + +#: ../../source/feature/radar_bands.rst:17 +msgid "" +"*VH_min, VH_max, VH_mean, VH_std, VH_med*: Similar statistics for the VH " +"polarization." +msgstr "" + +#: ../../source/feature/radar_bands.rst:18 +msgid "" +"*ratio_VV_med_VH_med*: The ratio of the median values of VV to VH " +"polarizations, indicating surface roughness and moisture." +msgstr "" + +#: ../../source/feature/radar_bands.rst:19 +msgid "" +"*VV_cv, VH_cv*: Coefficient of variation for VV and VH, showing the " +"variability relative to the mean." +msgstr "" + +#: ../../source/feature/radar_bands.rst:20 +msgid "" +"*NDCV (Normalized Difference Coefficient of Variation)*: A normalized " +"measure that highlights differences in texture or moisture content " +"between VV and VH returns." +msgstr "" + +#: ../../source/feature/radar_bands.rst:21 +msgid "" +"*orbit*: The orbit direction (ascending or descending), which can affect " +"the radar's observation angle and thus the backscatter properties." +msgstr "" + +#: ../../source/feature/radar_bands.rst:23 +msgid "" +"**Description**: These metrics are essential for analyzing surface " +"features, moisture content, vegetation, and other land cover " +"characteristics using radar backscatter properties." +msgstr "" + +#: ../../source/feature/radar_bands.rst:24 +msgid "" +"**Usage**: Widely used in agricultural monitoring, flood mapping, forest " +"monitoring, and urban expansion studies." +msgstr "" + +#: ../../source/feature/radar_bands.rst:27 +msgid "Harmonic Analysis Metrics (Conditional on Data Availability)" +msgstr "" + +#: ../../source/feature/radar_bands.rst:29 +msgid "**Metrics Included** (Only if harmonic dependents are available):" +msgstr "" + +#: ../../source/feature/radar_bands.rst:30 +msgid "" +"*VV_phase, VV_amp, VV_res*: Phase, amplitude, and residuals of the VV " +"signal following harmonic analysis." +msgstr "" + +#: ../../source/feature/radar_bands.rst:31 +msgid "*VH_phase, VH_amp, VH_res*: Similar metrics for the VH signal." +msgstr "" + +#: ../../source/feature/radar_bands.rst:32 +msgid "" +"**Description**: Harmonic analysis metrics help in understanding seasonal" +" variations and temporal patterns in the radar signal, useful for long-" +"term monitoring." +msgstr "" + +#: ../../source/feature/radar_bands.rst:33 +msgid "" +"**Usage**: Ideal for studying seasonal changes in vegetation, detecting " +"changes in water bodies over time, and monitoring environmental changes." +msgstr "" + diff --git a/docs/source/_locale/fr/LC_MESSAGES/feature/visualization.po b/docs/source/_locale/fr/LC_MESSAGES/feature/visualization.po new file mode 100644 index 0000000000..0b3fed3e29 --- /dev/null +++ b/docs/source/_locale/fr/LC_MESSAGES/feature/visualization.po @@ -0,0 +1,161 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: fr\n" +"Language-Team: fr \n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/feature/visualization.rst:2 +msgid "Visualization in SEPAL" +msgstr "" + +#: ../../source/feature/visualization.rst:4 +msgid "**Natural color: red, green, blue**" +msgstr "" + +#: ../../source/feature/visualization.rst:5 +msgid "" +"**Description**: Represents the true color of the terrain as human eyes " +"would see it, using the red, green, and blue bands." +msgstr "" + +#: ../../source/feature/visualization.rst:6 +msgid "" +"**Usage**: Used for general mapping and visual inspections where true " +"color representation is necessary." +msgstr "" + +#: ../../source/feature/visualization.rst:8 +msgid "**False color: nir, red, green**" +msgstr "" + +#: ../../source/feature/visualization.rst:9 +msgid "" +"**Description**: Uses near-infrared, red, and green bands. Vegetation " +"appears red due to the high reflection of NIR by healthy vegetation, " +"helpful for distinguishing vegetative areas." +msgstr "" + +#: ../../source/feature/visualization.rst:10 +msgid "" +"**Usage**: Commonly used in vegetation studies to easily distinguish live" +" green vegetation, which reflects NIR strongly." +msgstr "" + +#: ../../source/feature/visualization.rst:12 +msgid "**False color: nir, swir1, red**" +msgstr "" + +#: ../../source/feature/visualization.rst:13 +msgid "" +"**Description**: Combines near-infrared, short-wave infrared, and red " +"bands. This combination is effective in highlighting vegetation and " +"differentiating moisture levels and geological features." +msgstr "" + +#: ../../source/feature/visualization.rst:14 +msgid "" +"**Usage**: Useful in geological mapping, vegetation health assessment, " +"and moisture content analysis." +msgstr "" + +#: ../../source/feature/visualization.rst:16 +msgid "**False color: swir2, nir, red**" +msgstr "" + +#: ../../source/feature/visualization.rst:17 +msgid "" +"**Description**: Utilizes short-wave infrared, near-infrared, and red " +"bands. It enhances the differentiation between mineral types and can " +"indicate burn severity in post-fire assessments." +msgstr "" + +#: ../../source/feature/visualization.rst:18 +msgid "" +"**Usage**: Often used in mineralogical mapping, soil and rock " +"differentiation, and detecting burned areas." +msgstr "" + +#: ../../source/feature/visualization.rst:20 +msgid "**False color: swir2, swir1, red**" +msgstr "" + +#: ../../source/feature/visualization.rst:21 +msgid "" +"**Description**: Involves short-wave infrared bands and red band. This " +"setup enhances geological features and is sensitive to water content and " +"urban areas." +msgstr "" + +#: ../../source/feature/visualization.rst:22 +msgid "" +"**Usage**: Ideal for enhanced geological mapping, urban sprawl studies, " +"and discriminating between different water bodies." +msgstr "" + +#: ../../source/feature/visualization.rst:24 +msgid "**False color: swir2, nir, green**" +msgstr "" + +#: ../../source/feature/visualization.rst:25 +msgid "" +"**Description**: Features short-wave infrared, near-infrared, and green " +"bands. This visualization aids in the analysis of vegetation health and " +"soil/water interactions." +msgstr "" + +#: ../../source/feature/visualization.rst:26 +msgid "" +"**Usage**: Useful for detailed vegetation health monitoring and " +"differentiating water stress in plants." +msgstr "" + +#: ../../source/feature/visualization.rst:28 +msgid "**Tasseled cap: brightness, greenness, wetness**" +msgstr "" + +#: ../../source/feature/visualization.rst:29 +msgid "" +"**Description**: Applies the Tasseled Cap transformation to highlight " +"physical properties of the land surface such as brightness " +"(reflectivity), greenness (vegetation), and wetness (moisture content)." +msgstr "" + +#: ../../source/feature/visualization.rst:30 +msgid "" +"**Usage**: Extensively used in environmental monitoring, land cover " +"classification, and assessing vegetation and water content dynamics." +msgstr "" + +#: ../../source/feature/visualization.rst:32 +msgid "**Tasseled cap: fifth, sixth, fourth**" +msgstr "" + +#: ../../source/feature/visualization.rst:33 +msgid "" +"**Description**: Another Tasseled Cap visualization focusing on the " +"additional components that might reflect other surface properties not " +"captured by the primary three bands." +msgstr "" + +#: ../../source/feature/visualization.rst:34 +msgid "" +"**Usage**: Useful for specialized studies in vegetation dynamics, soil " +"properties, and other environmental monitoring where standard Tasseled " +"Cap indices might need supplementation." +msgstr "" + diff --git a/docs/source/_locale/fr/LC_MESSAGES/index.po b/docs/source/_locale/fr/LC_MESSAGES/index.po index c1ab9c1c15..761bb2fb7d 100644 --- a/docs/source/_locale/fr/LC_MESSAGES/index.po +++ b/docs/source/_locale/fr/LC_MESSAGES/index.po @@ -1,24 +1,20 @@ + msgid "" msgstr "" -"Project-Id-Version: sepal-doc\n" +"Project-Id-Version: sepal-doc\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-03-07 09:39+0100\n" -"PO-Revision-Date: 2024-03-07 08:53\n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: 2024-03-07 08:53+0000\n" "Last-Translator: \n" +"Language: fr_FR\n" "Language-Team: French\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.14.0\n" -"Plural-Forms: nplurals=2; plural=(n > 1);\n" -"X-Crowdin-Project: sepal-doc\n" -"X-Crowdin-Project-ID: 562097\n" -"X-Crowdin-Language: fr\n" -"X-Crowdin-File: /main/docs/source/_locale/en/LC_MESSAGES/index.po\n" -"X-Crowdin-File-ID: 87\n" -"Language: fr_FR\n" +"Generated-By: Babel 2.18.0\n" -#: ../../source/index.rst:20 ../../source/index.rst:54 +#: ../../source/index.rst:20 ../../source/index.rst:55 msgid "Getting started" msgstr "Premiers pas" @@ -30,10 +26,6 @@ msgstr "Recettes" msgid "Modules" msgstr "" -#: ../../source/index.rst:20 -msgid "CLI" -msgstr "CLI" - #: ../../source/index.rst:20 msgid "Workflows" msgstr "Workflows" @@ -42,6 +34,14 @@ msgstr "Workflows" msgid "Features" msgstr "Fonctionnalités" +#: ../../source/index.rst:20 +msgid "Troubleshooting" +msgstr "" + +#: ../../source/index.rst:20 +msgid "Developers" +msgstr "" + #: ../../source/index.rst:20 msgid " " msgstr "" @@ -50,141 +50,193 @@ msgstr "" msgid "Documentation" msgstr "Documentation" -#: ../../source/index.rst:36 -msgid "The System for Earth Observation Data Access, Processing and Analysis for Land Monitoring (**SEPAL**) is an open-source project and platform empowering people around the world to gain a better understanding of land cover dynamics by facilitating the efficient access and use of Earth observation data – without the need of coding knowledge." +#: ../../source/index.rst:37 +msgid "" +"The System for Earth Observation Data Access, Processing and Analysis for" +" Land Monitoring (**SEPAL**) is an open-source project and platform " +"empowering people around the world to gain a better understanding of land" +" cover dynamics by facilitating the efficient access and use of Earth " +"observation data – without the need of coding knowledge." msgstr "" -#: ../../source/index.rst:47 +#: ../../source/index.rst:48 msgid "Learn how to use the platform with SEPAL documentation" msgstr "Apprenez à utiliser la plateforme avec la documentation SEPAL" -#: ../../source/index.rst:49 -msgid "The SEPAL team developed this GitHub page to help users get the most out of the interface." -msgstr "L'équipe SEPAL a développé cette page GitHub pour aider les utilisateurs à tirer le meilleur parti de l'interface." +#: ../../source/index.rst:50 +msgid "" +"The SEPAL team developed this GitHub page to help users get the most out " +"of the interface." +msgstr "" +"L'équipe SEPAL a développé cette page GitHub pour aider les utilisateurs " +"à tirer le meilleur parti de l'interface." -#: ../../source/index.rst:59 +#: ../../source/index.rst:60 msgid "Register to SEPAL" msgstr "S'inscrire sur SEPAL" -#: ../../source/index.rst:62 +#: ../../source/index.rst:63 msgid "Set up your SEPAL account and request additional resources." msgstr "Configurez votre compte SEPAL et demandez des ressources supplémentaires." -#: ../../source/index.rst:64 +#: ../../source/index.rst:65 msgid "Connect to GEE" msgstr "Se connecter à GEE" -#: ../../source/index.rst:67 +#: ../../source/index.rst:68 msgid "Register with Google Earth Engine (GEE) and connect your account to SEPAL." -msgstr "Enregistrez-vous avec Google Earth Engine (GEE) et connectez votre compte à SEPAL." +msgstr "" +"Enregistrez-vous avec Google Earth Engine (GEE) et connectez votre compte" +" à SEPAL." -#: ../../source/index.rst:69 +#: ../../source/index.rst:70 msgid "Connect to NICFI–PlanetLab imagery" msgstr "" -#: ../../source/index.rst:72 -msgid "Sign up to use Norway’s International Climate and Forests Initiative (NICFI) – PlanetLab data and connect your account to GEE." -msgstr "Inscrivez-vous pour utiliser les données de l’Initiative internationale sur le climat et les forêts de Norvège (NICFI) – PlanetLab et connecter votre compte à GEE." +#: ../../source/index.rst:73 +msgid "" +"Sign up to use Norway’s International Climate and Forests Initiative " +"(NICFI) – PlanetLab data and connect your account to GEE." +msgstr "" +"Inscrivez-vous pour utiliser les données de l’Initiative internationale " +"sur le climat et les forêts de Norvège (NICFI) – PlanetLab et connecter " +"votre compte à GEE." -#: ../../source/index.rst:77 +#: ../../source/index.rst:78 msgid "Recipes and modules" msgstr "Recettes et modules" -#: ../../source/index.rst:82 +#: ../../source/index.rst:83 msgid "Start a recipe" msgstr "Commencer une recette" -#: ../../source/index.rst:85 +#: ../../source/index.rst:86 msgid "Run analysis with recipes – the foundation of SEPAL processes." msgstr "" -#: ../../source/index.rst:87 +#: ../../source/index.rst:88 msgid "Start a module" msgstr "" -#: ../../source/index.rst:90 -msgid "Run integrated workflows with modules – no need of coding experience required." -msgstr "Exécutez des workflows intégrés avec des modules – pas besoin d'expérience de développement numérique nécessaire." +#: ../../source/index.rst:91 +msgid "" +"Run integrated workflows with modules – no need of coding experience " +"required." +msgstr "" +"Exécutez des workflows intégrés avec des modules – pas besoin " +"d'expérience de développement numérique nécessaire." -#: ../../source/index.rst:92 +#: ../../source/index.rst:93 msgid "Use the se.plan module" msgstr "" -#: ../../source/index.rst:95 -msgid "Compute your restoration index with se.plan, a spatially explicit online tool designed to support forest restoration planning decisions by restoration stakeholders." -msgstr "Calculez votre index de restauration avec se.plan, un outil en ligne spatialement explicite conçu pour soutenir les décisions de planification de la restauration forestière par les parties prenantes à la restauration." +#: ../../source/index.rst:96 +msgid "" +"Compute your restoration index with se.plan, a spatially explicit online " +"tool designed to support forest restoration planning decisions by " +"restoration stakeholders." +msgstr "" +"Calculez votre index de restauration avec se.plan, un outil en ligne " +"spatialement explicite conçu pour soutenir les décisions de planification" +" de la restauration forestière par les parties prenantes à la " +"restauration." -#: ../../source/index.rst:100 +#: ../../source/index.rst:101 msgid "Other resources" msgstr "Autres ressources" -#: ../../source/index.rst:105 +#: ../../source/index.rst:106 msgid "SEPAL website" msgstr "Site web SEPAL" -#: ../../source/index.rst:108 +#: ../../source/index.rst:109 msgid "Discover the impact of the project." msgstr "Découvrez l'impact du projet." -#: ../../source/index.rst:110 +#: ../../source/index.rst:111 msgid "SEPAL platform" msgstr "Plateforme SEPAL" -#: ../../source/index.rst:113 +#: ../../source/index.rst:114 msgid "Learn more about the interface." msgstr "En savoir plus sur l'interface." -#: ../../source/index.rst:115 +#: ../../source/index.rst:116 msgid "Open Foris" msgstr "Open Foris" -#: ../../source/index.rst:118 +#: ../../source/index.rst:119 msgid "Browse the Suite of Tools." msgstr "Naviguez dans la suite d'outils." -#: ../../source/index.rst:123 +#: ../../source/index.rst:124 msgid "SEPAL is always improving" msgstr "" -#: ../../source/index.rst:125 -msgid "Encounter a problem? See an issue? Need help? Help our team members enhance user experience by improving the platform and its documentation." +#: ../../source/index.rst:126 +msgid "" +"Encounter a problem? See an issue? Need help? Help our team members " +"enhance user experience by improving the platform and its documentation." msgstr "" -#: ../../source/index.rst:132 +#: ../../source/index.rst:133 msgid "For general support, ask the Google Group community" msgstr "" -#: ../../source/index.rst:135 +#: ../../source/index.rst:136 msgid "For documentation improvement, use the GitHub Issue Tracker" msgstr "" -#: ../../source/index.rst:138 +#: ../../source/index.rst:139 msgid "For usage questions, ask the GIS StackExchange community" msgstr "" -#: ../../source/index.rst:141 -msgid "For training, register for the SEPAL Forest and Land Monitoring for Climate Action e-learning course" +#: ../../source/index.rst:142 +msgid "" +"For training, register for the SEPAL Forest and Land Monitoring for " +"Climate Action e-learning course" msgstr "" -#: ../../source/index.rst:147 +#: ../../source/index.rst:148 msgid "About the platform" msgstr "À propos de la plateforme" -#: ../../source/index.rst:149 -msgid "SEPAL is part of the `Open Foris `__ Suite of Tools. The platform allows users to query and process satellite data quickly and efficiently, tailor their products for local needs, and produce sophisticated and relevant geospatial analyses. Harnessing cloud-based supercomputers and modern geospatial data infrastructures (e.g. GEE), the interface enables users to access and process historical satellite data as well as newer data from Landsat and higher-resolution data from Europe’s Copernicus programme." +#: ../../source/index.rst:150 +msgid "" +"SEPAL is part of the `Open Foris `__ Suite of " +"Tools. The platform allows users to query and process satellite data " +"quickly and efficiently, tailor their products for local needs, and " +"produce sophisticated and relevant geospatial analyses. Harnessing cloud-" +"based supercomputers and modern geospatial data infrastructures (e.g. " +"GEE), the interface enables users to access and process historical " +"satellite data as well as newer data from Landsat and higher-resolution " +"data from Europe’s Copernicus programme." msgstr "" -#: ../../source/index.rst:151 -msgid "SEPAL is a cloud computing-based platform for autonomous land monitoring using remotely sensed data. It is a combination of GEE and open-source software such as GDAL, Jupyter, the Open Foris Geospatial Toolkit, ORFEO Toolbox, Python, R, R Shiny Server, R Studio Server, and the SNAP Toolkit. The platform allows users to access powerful cloud-computing resources to query, access and process satellite data quickly and efficiently for conducting advanced analyses." +#: ../../source/index.rst:152 +msgid "" +"SEPAL is a cloud computing-based platform for autonomous land monitoring " +"using remotely sensed data. It is a combination of GEE and open-source " +"software such as GDAL, Jupyter, the Open Foris Geospatial Toolkit, ORFEO " +"Toolbox, Python, R, R Shiny Server, R Studio Server, and the SNAP " +"Toolkit. The platform allows users to access powerful cloud-computing " +"resources to query, access and process satellite data quickly and " +"efficiently for conducting advanced analyses." msgstr "" -#: ../../source/index.rst:156 +#: ../../source/index.rst:157 msgid "Supporting institutions" msgstr "Institutions partenaires" -#: ../../source/index.rst:158 -msgid "SEPAL is a project funded by the Government of Norway from the Forestry Department of the Food and Agriculture Organization of the United Nations (FAO)." -msgstr "SEPAL est un projet financé par le gouvernement norvégien du Département des forêts de l'Organisation des Nations Unies pour l'alimentation et l'agriculture (FAO)." +#: ../../source/index.rst:159 +msgid "" +"SEPAL is a project funded by the Government of Norway from the Forestry " +"Department of the Food and Agriculture Organization of the United Nations" +" (FAO)." +msgstr "" +"SEPAL est un projet financé par le gouvernement norvégien du Département " +"des forêts de l'Organisation des Nations Unies pour l'alimentation et " +"l'agriculture (FAO)." #~ msgid "Modules" #~ msgstr "" @@ -478,3 +530,6 @@ msgstr "SEPAL est un projet financé par le gouvernement norvégien du Départem #~ "for creating advanced analyses." #~ msgstr "" +#~ msgid "CLI" +#~ msgstr "CLI" + diff --git a/docs/source/_locale/fr/LC_MESSAGES/troubleshooting/fix_venvs.po b/docs/source/_locale/fr/LC_MESSAGES/troubleshooting/fix_venvs.po new file mode 100644 index 0000000000..65bd323fcf --- /dev/null +++ b/docs/source/_locale/fr/LC_MESSAGES/troubleshooting/fix_venvs.po @@ -0,0 +1,381 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: fr\n" +"Language-Team: fr \n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/troubleshooting/fix_venvs.rst:4 +msgid "Recovering broken Python environments" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:6 +msgid "" +"On 5 March 2026, SEPAL sandboxes upgraded from Ubuntu Jammy to Ubuntu " +"Noble. As part of this upgrade, the system Python changed from version " +"3.10 to 3.12. This was a deliberate and necessary change: Python 3.10 " +"reaches end of life in October 2026, meaning it will no longer receive " +"security patches, and an increasing number of libraries are dropping " +"support for it and requiring Python 3.11 or newer. Staying on 3.10 would " +"eventually mean being locked out of updated packages and exposed to " +"unpatched security issues." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:8 +msgid "" +"If you created Python virtual environments using ``python -m venv`` on " +"SEPAL before this upgrade, those environments are now broken. This page " +"explains why, and how to recover." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:12 +msgid "" +"This only affects environments created with ``python -m venv``. " +"Environments created with :guilabel:`uv` or :guilabel:`micromamba` are " +"not affected." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:14 +msgid "" +"See :ref:`env_management` for full guidance on using :guilabel:`uv` and " +":guilabel:`micromamba` — better alternatives that will not break when " +"SEPAL upgrades Python in the future." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:18 +msgid "" +"Python 3.10 reaches end of life on 4 October 2026. Rather than putting " +"effort into restoring environments on the old version, consider migrating" +" to Python 3.12 at the same time." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:23 +msgid "Why venvs break after a Python upgrade" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:25 +msgid "" +"A venv is not a fully self-contained copy of Python. It is a lightweight " +"directory structure that relies on the system Python being present at a " +"specific path. When you run ``python -m venv myenv``, it records the " +"exact path to the Python binary (e.g. ``/usr/bin/python3.10``) and " +"creates symbolic links inside the environment's ``bin/`` directory " +"pointing back to it. Installed packages land in a versioned subdirectory," +" for example ``lib/python3.10/site-packages/``." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:27 +msgid "" +"When the system Python changes from 3.10 to 3.12, two things go wrong " +"simultaneously:" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:29 +msgid "" +"The symlinks inside ``bin/`` now point to a Python binary that no longer " +"exists at the recorded path, so the environment cannot start correctly." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:30 +msgid "" +"Any packages with compiled C extensions (numpy, scipy, cryptography, " +"etc.) were built against the Python 3.10 ABI. Python 3.12 has a different" +" ABI, so those compiled ``.so`` files are no longer valid and will crash " +"or fail to load." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:32 +msgid "" +"The package files themselves — the pure Python code and the package " +"metadata — are still intact on disk. Only the wiring is broken, which is " +"why it is possible to extract a list of what was installed without " +"activating the environment." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:37 +msgid "Why Jupyter kernels disappear" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:39 +msgid "" +"When you register a venv as a Jupyter kernel using ``ipykernel``, Jupyter" +" saves a small ``kernel.json`` file under " +"``~/.local/share/jupyter/kernels//``. This file contains the " +"absolute path to the Python binary inside the environment." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:41 +msgid "" +"After the upgrade, Jupyter still finds the ``kernel.json`` file and may " +"still show the kernel in the launcher — but when you try to start it, it " +"attempts to launch the Python binary at the recorded path. Because that " +"binary no longer works, the kernel either fails to start or starts and " +"immediately crashes, which JupyterLab reports as the kernel repeatedly " +"dying." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:43 +msgid "" +"In some cases the kernel disappears from the launcher entirely. In others" +" it appears but cannot be used. Either way, notebooks that relied on it " +"cannot run." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:48 +msgid "Symptoms of a broken environment" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:50 +msgid "You may see any of the following:" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:52 +msgid "" +"A Jupyter kernel that was previously available has disappeared from the " +"launcher, or starts and immediately dies" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:53 +msgid "``ModuleNotFoundError: No module named 'pip'`` when running pip commands" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:54 +msgid "Packages that were previously installed fail to import" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:55 +msgid "Compiled packages (numpy, scipy, etc.) segfault or raise ``ImportError``" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:56 +msgid "" +"``python --version`` inside the activated environment shows 3.12 even " +"though it was created with 3.10" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:58 +msgid "" +"All of these have the same root cause: the environment's internal " +"symlinks and compiled extensions were built against Python 3.10 and are " +"no longer valid." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:63 +msgid "Recovery" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:68 +msgid "Extract your requirements" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:70 +msgid "" +"You cannot activate the broken environment, but the package metadata is " +"still readable on disk. SEPAL provides a script that extracts the list of" +" installed packages from a broken environment. Run it from the terminal:" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:76 +msgid "" +"This scans the package metadata inside the broken environment and writes " +"a ``requirements.txt`` with pinned versions. Verify the output:" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:85 +msgid "Recreate the environment with uv" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:87 +msgid "" +":guilabel:`uv` is a fast, modern Python package manager already installed" +" on SEPAL. Unlike venv, it manages its own Python versions independently " +"of the system, so future upgrades will not break your environments." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:91 +msgid "" +"See :ref:`env_management` for full guidance on :guilabel:`uv` and other " +"environment tools available on SEPAL." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:93 +msgid "You have two options:" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:98 +msgid "Option A — Recreate on Python 3.10" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:100 +msgid "" +"*Fewer compatibility issues — use this if you need to get back up and " +"running quickly and cannot yet deal with package compatibility on 3.12.*" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:110 +msgid "" +"The ``requirements.txt`` referenced here is the file you extracted in the" +" previous step." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:115 +msgid "Option B — Migrate to Python 3.12" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:117 +msgid "" +"*Better long-term choice — most pure-Python packages work on 3.12 without" +" any changes.*" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:127 +msgid "" +"The ``requirements.txt`` referenced here is the file you extracted in the" +" first step." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:132 +msgid "Handling package version conflicts (Option B)" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:134 +msgid "" +"When migrating to Python 3.12, the ``requirements.txt`` from the first " +"step contains fully pinned versions (e.g. ``numpy==1.23.4``). Some of " +"these may not have wheels available for Python 3.12. If installation " +"fails, try removing the version pins:" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:142 +msgid "" +"The following packages are known to cause issues when moving from 3.10 to" +" 3.12:" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:148 +msgid "Package" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:149 +msgid "Issue" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:150 +msgid "Fix" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:151 +msgid "``numpy < 1.24``" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:152 +#: ../../source/troubleshooting/fix_venvs.rst:155 +msgid "No Python 3.12 wheels available" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:153 +msgid "Unpin: ``numpy``" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:154 +msgid "``scipy < 1.11``" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:156 +msgid "Unpin: ``scipy``" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:157 +msgid "Packages using ``distutils``" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:158 +msgid "``distutils`` was removed in Python 3.12" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:159 +msgid "Upgrade or replace the package" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:160 +msgid "Old Cython extensions" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:161 +msgid "ABI mismatch, segfaults at import" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:162 +msgid "``uv pip install --force-reinstall ``" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:163 +msgid "``cryptography`` (old versions)" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:164 +msgid "Needs a recent version for the 3.12 ABI" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:165 +msgid "Unpin: ``cryptography``" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:170 +msgid "Re-register your Jupyter kernel" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:172 +msgid "" +"JupyterLab discovers environments through kernel specifications — small " +"JSON files that point to a specific Python binary. When you recreate an " +"environment, the old kernel specification still points to the broken " +"binary, so JupyterLab cannot find or use the new environment. You need to" +" remove the old specification and register a new one." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:174 +msgid "First, list existing kernels and remove the broken one:" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:184 +msgid "Then register the new environment as a kernel:" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:192 +msgid "" +"After restarting JupyterLab, the new kernel will appear in the launcher " +"and notebooks that reference it by name will work again." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:197 +msgid "Going forward" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:199 +msgid "" +"To avoid this problem in the future, stop using venv. :guilabel:`uv` " +"manages Python versions independently of the system and will not break " +"when SEPAL upgrades Python." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:201 +msgid "" +"See :ref:`env_management` for full guidance on creating and managing " +"environments, including how to add Jupyter kernels." +msgstr "" + diff --git a/docs/source/_locale/fr/LC_MESSAGES/troubleshooting/index.po b/docs/source/_locale/fr/LC_MESSAGES/troubleshooting/index.po new file mode 100644 index 0000000000..3ab904fc96 --- /dev/null +++ b/docs/source/_locale/fr/LC_MESSAGES/troubleshooting/index.po @@ -0,0 +1,42 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: fr\n" +"Language-Team: fr \n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/troubleshooting/index.rst:7 +msgid "Recovering broken Python environments" +msgstr "" + +#: ../../source/troubleshooting/index.rst:2 +msgid "Troubleshooting" +msgstr "" + +#: ../../source/troubleshooting/index.rst:3 +msgid "*Solve common issues on the SEPAL platform*" +msgstr "" + +#: ../../source/troubleshooting/index.rst:5 +msgid "" +"This section covers known issues and step-by-step solutions for problems " +"you may encounter while using SEPAL. If your issue is not listed here, " +"ask the `Google Group community `__ or report it on the `GitHub Issue Tracker " +"`__." +msgstr "" + diff --git a/docs/source/_locale/fr/LC_MESSAGES/workflows/mangrove_mapping.po b/docs/source/_locale/fr/LC_MESSAGES/workflows/mangrove_mapping.po new file mode 100644 index 0000000000..0d553e4fbe --- /dev/null +++ b/docs/source/_locale/fr/LC_MESSAGES/workflows/mangrove_mapping.po @@ -0,0 +1,1850 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: fr\n" +"Language-Team: fr \n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/workflows/mangrove_mapping.rst:4 +msgid "Mangrove mapping with SEPAL" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:6 +msgid "" +"This article describes a complete workflow for mapping mangroves using " +"SEPAL — FAO's free, open-source, web-based cloud platform for satellite " +"data analysis. The approach combines multi-sensor satellite data, global " +"mangrove reference datasets, and machine learning classification to " +"produce locally relevant mangrove maps and detect change over time. An " +"optional extension covers above-ground biomass (AGB) mapping." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:10 +msgid "" +"**Author:** Erik Lindquist, Forestry Officer, Food and Agriculture " +"Organization of the United Nations (FAO)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:13 +msgid "Overview" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:15 +msgid "The workflow consists of the following stages:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:17 +msgid ":ref:`Registration and setup `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:18 +msgid ":ref:`Request SEPAL resources `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:19 +msgid ":ref:`Define the area of interest `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:20 +msgid ":ref:`Build an optical mosaic (optional) `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:21 +msgid ":ref:`Build a radar mosaic (optional) `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:22 +msgid ":ref:`Load global mangrove reference datasets `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:23 +msgid "" +":ref:`Create the high-confidence mangrove reference map `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:24 +msgid ":ref:`Generate training data `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:25 +msgid ":ref:`Incorporate Google Satellite Embeddings `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:26 +msgid ":ref:`Classify mangroves `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:27 +msgid ":ref:`Map above-ground biomass (optional) `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:28 +msgid ":ref:`Detect change using CCDC `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:29 +msgid ":ref:`Download and export results `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:32 +msgid "Why use SEPAL for mangrove mapping?" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:34 +msgid "" +"SEPAL democratises access to satellite data and analysis tools, enabling " +"autonomous land monitoring without the need for local compute " +"infrastructure. For mangrove mapping specifically, SEPAL provides:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:36 +msgid "" +"**Multi-sensor data access** – seamless integration of optical " +"(Sentinel-2, Landsat, NICFI/Planet) and synthetic aperture radar (SAR) " +"(Sentinel-1 C-band, ALOS L-band) imagery" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:37 +msgid "" +"**Multi-temporal analysis** – time-series processing and change detection" +" using the Continuous Change Detection and Classification (CCDC) " +"algorithm" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:38 +msgid "" +"**Cloud-based classification** – machine learning classification recipes " +"powered by Google Earth Engine (GEE)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:39 +msgid "" +"**Global reference data** – integration with existing global mangrove " +"products to generate locally relevant training data automatically" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:40 +msgid "" +"**Team collaboration** – data saved as GEE assets can be shared across a " +"team, allowing one person to build a composite that all team members can " +"access and classify" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:45 +msgid "1. Registration and setup" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:47 +msgid "Before starting, create accounts on two platforms." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:50 +msgid "1.1 Google Earth Engine" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:52 +msgid "SEPAL's processing recipes run on GEE. A free GEE account is required." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:54 +msgid "Go to `earthengine.google.com `__." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:55 +msgid "Sign up using a Gmail account." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:56 +msgid "Wait for approval (usually within a few hours to a few days)." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:59 +msgid "1.2 SEPAL" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:61 +msgid "Go to `sepal.io `__ and register for a free account." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:62 +msgid "Connect the GEE account within SEPAL settings." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:66 +msgid "" +"For a step-by-step walkthrough of SEPAL setup, see " +":doc:`../setup/register`." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:71 +msgid "2. Request SEPAL resources" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:73 +msgid "" +"SEPAL is always free to use; however, downloading data and running high-" +"performance computing in the cloud requires resources to be allocated to " +"an account. Resources are requested via the **User report** button " +"(displayed as **$ 0/h**) in the lower-right corner of the **SEPAL " +"interface**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:75 +msgid "To request resources:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:77 +msgid "" +"Select the **User report** button in the lower-right corner of the " +"**SEPAL interface**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:78 +msgid "Select **Request additional resources**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:79 +msgid "" +"Enter the requested amounts. For most mapping work, the following is a " +"reasonable starting point:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:81 +msgid "**Processing:** $10 USD/month of cloud compute time" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:82 +msgid "**Storage:** $10 USD/month" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:83 +msgid "**Workspace:** 10 gigabytes (GB) of personal SEPAL workspace storage" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:85 +msgid "Enter a short message describing the work (e.g. \"Mangrove mapping\")." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:86 +msgid "Select **Apply**. The SEPAL team will review and approve the request." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:88 +msgid "" +"Once resources are approved, the **Download** button (displayed as a " +"cloud with an arrow icon) will become active in all recipes. Even $1 of " +"resources is sufficient to activate downloading to GEE or Google Drive." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:92 +msgid "" +"SEPAL supports requests for larger amounts of resources for intensive " +"work, such as training machine learning models. Describe the use case in " +"the request message if needed." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:97 +msgid "3. Define the area of interest" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:99 +msgid "" +"Use the same area of interest (AOI) for all downstream recipes to ensure " +"composites, reference layers, and classification outputs are spatially " +"aligned." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:101 +msgid "Open **Process** in the **SEPAL interface**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:102 +msgid "" +"Set the AOI using an administrative boundary, an uploaded geometry, or a " +"drawn polygon." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:107 +msgid "4. Build an optical mosaic (optional)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:111 +msgid "" +"This step is only required if Google Satellite Embeddings are **not** " +"used as the classification input (see :ref:`Section 9 `). If using embeddings, proceed directly to :ref:`Section 6 " +"`." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:113 +msgid "" +"A cloud-free optical mosaic provides the spectral bands used for " +"classification. In SEPAL, all processing starts with a *recipe*. Open a " +"new recipe from the recipe book by selecting the **+** button, then the " +"green **Add recipe** button." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:116 +msgid "Recommended data sources" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:122 +msgid "Source" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:123 +msgid "Spatial resolution" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:124 +msgid "Temporal resolution" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:125 +msgid "Bands" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:126 +#: ../../source/workflows/mangrove_mapping.rst:361 +msgid "Sentinel-2" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:127 +msgid "10 m" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:128 +msgid "5 days" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:129 +msgid "12" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:130 +msgid "Landsat (8/9)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:131 +msgid "30 m" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:132 +msgid "16 days" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:133 +msgid "8" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:134 +msgid "NICFI/Planet" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:135 +msgid "4.5 m" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:136 +msgid "Monthly" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:137 +msgid "4" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:140 +msgid "Recommended bands and indices" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:142 +msgid "" +"For Sentinel-2, include bands: **B2, B3, B4, B5, B6, B7, B8, B8A, B11, " +"B12**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:144 +msgid "Suggested derived indices:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:146 +msgid "normalized difference vegetation index (NDVI)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:147 +msgid "normalized difference moisture index (NDMI)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:148 +msgid "normalized difference water index (NDWI)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:149 +msgid "modified normalized difference water index (MNDWI)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:150 +msgid "red-edge NDVI variants" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:151 +msgid "Tasseled Cap Brightness, Greenness and Wetness" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:152 +msgid "short-wave infrared (SWIR) ratios (B11/B8, B12/B11)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:153 +msgid "enhanced vegetation index (EVI)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:157 +msgid "" +"Avoid the **Aerosol** band for vegetation mapping — it captures " +"atmospheric rather than surface conditions. The near-infrared (NIR) and " +"SWIR bands are particularly important for mangroves: NIR is sensitive to " +"chlorophyll and vegetation health; SWIR helps distinguish inundated " +"vegetation from upland forest and open water." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:160 +msgid "Composite method" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:162 +msgid "" +"Use the **Medoid** composite method, which selects actual observed pixel " +"values rather than statistical summaries, preserving spectral integrity. " +"Save the recipe with a meaningful name (e.g. ``Optical_Medoid_2023``) so " +"it can be referenced in the classification recipe." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:166 +msgid "" +"See :doc:`../cookbook/optical_mosaic` for full instructions on the SEPAL " +"optical mosaic recipe." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:171 +msgid "5. Build a radar mosaic (optional)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:175 +msgid "" +"This step is only required if Google Satellite Embeddings are **not** " +"used as the classification input." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:177 +msgid "" +"SAR data penetrates cloud cover and is sensitive to canopy structure and " +"soil moisture — making it a valuable complement to optical data in " +"tropical coastal environments where persistent cloud cover limits optical" +" data availability." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:180 +msgid "Recommended data source" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:182 +msgid "" +"The primary radar source used in this workflow is **Sentinel-1 C-band " +"SAR**:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:184 +msgid "spatial resolution: 10 m" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:185 +msgid "temporal resolution: 12 days" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:186 +msgid "bands: VV and VH polarisations" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:188 +msgid "" +"ALOS PALSAR L-band mosaics (25 m, yearly) can be added where available " +"for additional structural information." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:191 +msgid "Recommended statistics to include" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:197 +msgid "Band" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:198 +#: ../../source/workflows/mangrove_mapping.rst:448 +msgid "Description" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:199 +msgid "VV mean" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:200 +msgid "Average VV backscatter across the year" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:201 +msgid "VH mean" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:202 +msgid "Average VH backscatter across the year" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:203 +msgid "VV/VH ratio" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:204 +msgid "Structural differentiation" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:205 +msgid "VH standard deviation" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:206 +msgid "Seasonal variability; helps distinguish vegetation types" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:208 +msgid "Save the recipe as ``Radar_Mosaic_YYYY``." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:212 +msgid "" +"See :doc:`../cookbook/radar_mosaic` for full instructions on the SEPAL " +"radar mosaic recipe." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:217 +msgid "6. Load global mangrove reference datasets" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:219 +msgid "" +"Load three global datasets as **EE Asset** recipes in SEPAL to build the " +"high-confidence reference map in :ref:`Section 7 `. " +"Each dataset is available in the GEE catalog or the Awesome GEE Community" +" Catalog." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:221 +msgid "To add an **EE Asset** recipe:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:223 +#: ../../source/workflows/mangrove_mapping.rst:391 +msgid "Add a new recipe and select **EE Asset**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:224 +#: ../../source/workflows/mangrove_mapping.rst:392 +msgid "Set the AOI." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:225 +msgid "Search for the asset by name or paste the asset path." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:226 +#: ../../source/workflows/mangrove_mapping.rst:394 +msgid "Select **Done**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:227 +msgid "" +"To visualise, open the **Menu** (☰) → select **+** → select the band → " +"set min/max values → select **Apply**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:228 +msgid "Save the recipe with the name indicated below." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:231 +msgid "6.1 Global Mangrove Watch (GMW) v3 — 2020 extent" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:236 +#: ../../source/workflows/mangrove_mapping.rst:251 +#: ../../source/workflows/mangrove_mapping.rst:266 +#: ../../source/workflows/mangrove_mapping.rst:382 +msgid "**Asset path**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:237 +#: ../../source/workflows/mangrove_mapping.rst:683 +msgid "``projects/sat-io/open-datasets/GMW/extent/GMW_V3``" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:238 +#: ../../source/workflows/mangrove_mapping.rst:253 +#: ../../source/workflows/mangrove_mapping.rst:268 +#: ../../source/workflows/mangrove_mapping.rst:530 +msgid "**Band**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:239 +msgid "``b1`` (1 = mangrove, 0 = non-mangrove)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:240 +msgid "**Date filter**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:241 +msgid "2020-01-01 to 2020-12-31; select first image" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:242 +#: ../../source/workflows/mangrove_mapping.rst:257 +#: ../../source/workflows/mangrove_mapping.rst:270 +#: ../../source/workflows/mangrove_mapping.rst:388 +#: ../../source/workflows/mangrove_mapping.rst:534 +msgid "**Save as**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:243 +msgid "``GMW_2020_EEAsset``" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:246 +msgid "6.2 ESA WorldCover land cover — 2021" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:252 +#: ../../source/workflows/mangrove_mapping.rst:686 +msgid "``ESA/WorldCover/v200``" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:254 +msgid "``Map``" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:255 +msgid "**Mangrove class value**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:256 +msgid "95" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:258 +msgid "``WorldCover_2021_EEAsset``" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:261 +msgid "6.3 Digital elevation model (MERIT DEM)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:267 +#: ../../source/workflows/mangrove_mapping.rst:689 +msgid "``MERIT/DEM/v1_0_3``" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:269 +msgid "``dem``" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:271 +msgid "``MERIT_DEM_EEAsset``" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:273 +msgid "" +"The digital elevation model (DEM) provides an elevation constraint — " +"mangroves occupy low-lying intertidal zones, so pixels above 40 m " +"elevation are excluded from the high-confidence product in :ref:`Section " +"7 `." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:278 +msgid "7. Create the high-confidence mangrove reference map" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:280 +msgid "" +"This step converts the three global datasets into a single high-" +"confidence binary map of mangrove and non-mangrove, which is then used to" +" automatically generate training data for the local classification." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:282 +msgid "" +"If multiple independent global datasets agree that a pixel is mangrove " +"(or non-mangrove), confidence in that label is much higher than if only " +"one dataset indicates this. The elevation constraint further removes " +"unlikely mangrove locations." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:285 +msgid "Remapping rules" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:287 +msgid "In SEPAL, use the **Remapping** recipe with the following logic:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:293 +msgid "Output class" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:294 +msgid "Condition" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:295 +msgid "**Class 1 – Mangrove**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:296 +msgid "GMW ``b1`` = 1 **AND** WorldCover ``Map`` = 95 **AND** DEM ``dem`` < 40 m" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:297 +msgid "**Class 2 – Non-mangrove**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:298 +msgid "GMW ``b1`` = 0 **AND** WorldCover ``Map`` ≠ 95 **AND** DEM ``dem`` < 40 m" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:299 +msgid "*(No data)*" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:300 +msgid "Pixels that do not meet either condition are excluded" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:302 +msgid "**Output band:** ``class`` (1 = mangrove, 2 = non-mangrove)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:304 +msgid "**Save as:** ``Mangrove_HighConfidence_Remapping``" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:308 +msgid "" +"The DEM < 40 m filter restricts both mangrove and non-mangrove samples to" +" the intertidal zone, improving the relevance of the non-mangrove class " +"and avoiding confusion with upland forest." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:312 +msgid "" +"Use the divided interface (multi-view panel) to inspect the high-" +"confidence product against the optical and radar mosaics before " +"proceeding. Confirm that the mangrove extent looks reasonable for the " +"area." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:317 +msgid "8. Generate training data" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:319 +msgid "" +"With the high-confidence reference map produced, generate training data " +"automatically by stratified sampling — more efficiently and at greater " +"scale than manual digitising." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:321 +msgid "" +"In SEPAL, training data is generated within the **Classification** recipe" +" using the **Sample classification** option:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:323 +msgid "Open a new **Classification** recipe." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:324 +msgid "In the training data tab, select **Add** > **Sample classification**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:325 +msgid "" +"Set the sampling source to ``Mangrove_HighConfidence_Remapping`` (recipe " +"reference) or an exported GEE asset of the same (band: ``class``)." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:326 +msgid "Use balanced (stratified) sampling — equal numbers of samples per class." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:327 +msgid "Set a random seed for reproducibility." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:330 +msgid "Recommended sample sizes" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:336 +msgid "Area of interest" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:337 +msgid "Samples per class" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:338 +msgid "Small AOI" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:339 +msgid "300–800" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:340 +msgid "Subnational/national AOI" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:341 +msgid "1000–2000" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:342 +msgid "Very large or heterogeneous AOI" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:343 +msgid "5000–10000" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:345 +msgid "" +"After sampling, inspect the training points visually against the imagery " +"in the multi-view panel. If contaminated points are observed (e.g. " +"mangrove samples landing on water), resample or remove them before " +"running the classification." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:350 +msgid "9. Incorporate Google Satellite Embeddings (AlphaEarth Foundations)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:354 +msgid "" +"These are referred to as \"Alpha Earth Embeddings\" in some training " +"materials. They are now publicly available as the **Google Satellite " +"Embedding dataset**, powered by `AlphaEarth Foundations " +"`__ — a geospatial artificial " +"intelligence (AI) model developed by Google and Google DeepMind." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:357 +msgid "What are satellite embeddings?" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:359 +msgid "" +"Satellite embeddings are pre-computed, AI-generated feature vectors that " +"summarise multi-sensor, multi-temporal Earth observation data into a " +"compact representation. Each 10 m pixel is described by a 64-dimensional " +"embedding vector encoding a full year of observations from:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:362 +msgid "Landsat" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:363 +msgid "Sentinel-1 SAR" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:364 +msgid "Copernicus DEM (elevation)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:365 +msgid "ERA5 (climate)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:366 +msgid "GEDI LiDAR (vegetation structure)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:368 +msgid "Key advantages for mangrove mapping:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:370 +msgid "" +"**Fewer training samples needed** – embeddings encode rich spatial and " +"temporal context, reducing the labelled points required for accurate " +"classification;" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:371 +msgid "" +"**Cloud-robust** – embeddings summarise an entire year of acquisitions, " +"making them more robust to cloud contamination than single-date " +"composites;" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:372 +msgid "" +"**No deep learning infrastructure required** – pre-computed and analysis-" +"ready; compatible with SEPAL's built-in classifiers;" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:373 +msgid "" +"**Faster classification** – typically faster than classifying equivalent " +"optical and radar inputs separately; and" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:374 +msgid "**Temporal coverage** – annual embeddings available from 2017 onwards." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:377 +msgid "Loading embeddings as an EE Asset recipe" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:383 +#: ../../source/workflows/mangrove_mapping.rst:680 +msgid "``GOOGLE/SATELLITE_EMBEDDING/V1/ANNUAL``" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:384 +msgid "**Asset type**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:385 +msgid "ImageCollection — mosaic or select target year" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:386 +msgid "**Bands**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:387 +msgid "All 64 embedding bands" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:389 +msgid "``AlphaEarth_Embeddings_EEAsset``" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:393 +msgid "" +"Search for ``embeddings`` and select **Satellite Embeddings V1**, or " +"paste the asset path above." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:395 +msgid "" +"To confirm data is loading: open the **Menu** (☰) → select **+** → select" +" any band (e.g. ``Z00``) → select **Apply**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:396 +msgid "Save the recipe as ``AlphaEarth_Embeddings_EEAsset``." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:399 +msgid "When to use embeddings vs. optical/radar mosaics" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:401 +msgid "" +"Use **embeddings** when an annual classification is needed and good " +"results are required with limited training data or compute time. When " +"embeddings are used, optical and radar mosaics are **not** needed as " +"classifier inputs." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:402 +msgid "" +"Use **optical and radar mosaics** when classification at a specific sub-" +"annual time point is needed, or when within-year temporal detail is " +"important." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:403 +msgid "Both approaches can be combined if desired." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:407 +msgid "" +"`GEE Data Catalog: Satellite Embedding V1 `__" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:408 +msgid "" +"`GEE tutorial series: Introduction to Satellite Embeddings " +"`__" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:409 +msgid "Brown et al. (2025)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:414 +msgid "10. Classify mangroves" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:416 +msgid "" +"With training data and image inputs prepared, run the SEPAL " +"**Classification** recipe to produce a mangrove/non-mangrove map." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:419 +msgid "10.1 Set up the classification recipe" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:421 +msgid "Add a new recipe and select **Classification**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:422 +msgid "When asked which image to classify, choose one of the following:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:424 +msgid "" +"**Embeddings approach:** ``AlphaEarth_Embeddings_EEAsset`` only (do " +"**not** add optical or radar mosaics)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:425 +msgid "" +"**Optical/radar approach:** the optical mosaic recipe plus the radar " +"mosaic recipe" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:426 +msgid "**Combined approach:** embeddings plus optical and/or radar mosaics" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:429 +msgid "10.2 Select input bands" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:431 +msgid "For the **embeddings approach**, add all 64 embedding bands." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:433 +msgid "For the **optical/radar approach**, recommended bands are:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:435 +msgid "" +"Sentinel-2: B2, B3, B4, B5, B6, B7, B8, B8A, B11, B12, plus derived " +"indices (NDVI, NDMI, NDWI, Tasseled Cap)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:436 +msgid "Sentinel-1: VV mean, VH mean, VH standard deviation" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:439 +msgid "10.3 Define classification classes" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:441 +msgid "For mangrove mapping, a three-class legend is recommended:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:447 +msgid "Class" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:449 +msgid "Mangrove" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:450 +msgid "Mangrove forest" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:451 +msgid "Non-mangrove" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:452 +msgid "All other land cover" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:453 +msgid "Water" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:454 +msgid "Open water" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:456 +msgid "" +"Keep classes distinct — overlapping or ambiguous classes reduce " +"classification accuracy. Assign recognisable colours (e.g. green for " +"mangrove, blue for water)." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:459 +msgid "10.4 Add training data" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:461 +msgid "" +"Reference the ``Mangrove_HighConfidence_Remapping`` recipe (or exported " +"asset) generated in :ref:`Section 7 ` and sampled in " +":ref:`Section 8 `. In the training data tab, select " +"**Add** > **Sample classification**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:463 +msgid "" +"Add manual training points using the **Marker** icon if local knowledge " +"suggests corrections are needed." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:467 +msgid "" +"The classification updates in real time as training points are added or " +"modified, allowing the impact of each change to be seen immediately." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:470 +msgid "10.5 Configure the classifier" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:472 +msgid "SEPAL uses **Random Forest** by default. Recommended settings:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:478 +msgid "Parameter" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:479 +msgid "Recommended value" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:480 +msgid "Number of trees" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:481 +msgid "~300 (use 25 for exploration; increase for production)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:482 +msgid "Variables per split (mTry)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:483 +msgid "Default/auto" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:484 +msgid "Probability outputs" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:485 +msgid "Enable if available" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:488 +msgid "10.6 Interpret and refine results" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:490 +msgid "Use the **Menu** (☰) to switch between display bands:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:492 +msgid "**Class** – the final classified map (one class per pixel)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:493 +msgid "" +"**Mangrove percent** – the probability that each pixel belongs to the " +"mangrove class; more informative than the binary class map for " +"understanding model uncertainty" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:495 +msgid "To improve results, iterate by:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:497 +msgid "" +"tightening the high-confidence mask criteria in the **Remapping** recipe " +"(:ref:`Section 7 `) and resampling (:ref:`Section 8 " +"`);" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:498 +msgid "adding more training samples;" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:499 +msgid "increasing the number of Random Forest trees; or" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:500 +msgid "adjusting the input data stack." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:504 +msgid "" +"See :doc:`../cookbook/classification` for full instructions on the SEPAL " +"classification recipe." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:509 +msgid "11. Map above-ground biomass (optional)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:511 +msgid "" +"In addition to mangrove extent, SEPAL can produce wall-to-wall maps of " +"above-ground biomass (AGB) by combining point-based biomass measurements " +"with satellite embeddings using a **Regression** recipe." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:514 +msgid "11.1 Approach" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:516 +msgid "" +"Where biomass measurements are available (from field plots or GEDI " +"LiDAR), and where the 64 embedding bands are available, the known biomass" +" values can be statistically related to the embedding values and applied " +"to every pixel across the AOI — producing a continuous biomass estimate " +"map." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:519 +msgid "11.2 Option A – Using GEDI LiDAR data" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:521 +msgid "" +"The Global Ecosystem Dynamics Investigation (GEDI) is a full-waveform " +"LiDAR instrument on the International Space Station, capturing vegetation" +" height, canopy structure, and above-ground biomass density. GEDI data " +"are point samples rather than wall-to-wall, but can be used as training " +"data to produce a continuous biomass map." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:523 +msgid "To load GEDI L4A as an EE Asset recipe:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:528 +msgid "**Asset**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:529 +msgid "GEDI L4A Above Ground Biomass Density v2.1" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:531 +msgid "``AGBD`` (above-ground biomass density, Mg/ha)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:532 +msgid "**Visualisation**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:533 +msgid "Thermal colour palette, min = 0, max = ~194" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:535 +msgid "``GEDI_L4A_EEAsset``" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:537 +msgid "To run the biomass regression:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:539 +#: ../../source/workflows/mangrove_mapping.rst:564 +msgid "Add a new recipe and select **Regression**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:540 +#: ../../source/workflows/mangrove_mapping.rst:565 +msgid "Select ``AlphaEarth_Embeddings_EEAsset`` as the image (all 64 bands)." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:541 +msgid "In the training data tab, select **Add** > **Sample image**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:542 +msgid "" +"Select ``GEDI_L4A_EEAsset`` as the source, with ``AGBD`` as the target " +"band." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:543 +msgid "Set the number of samples (increase for production results)." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:544 +#: ../../source/workflows/mangrove_mapping.rst:569 +msgid "Select **Apply** and run." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:548 +msgid "" +"If the study area is changing rapidly, match the GEDI acquisition year to" +" the target image year. For more stable mangrove areas, using all " +"available GEDI data is acceptable." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:551 +msgid "11.3 Option B – Using field-collected AGB data" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:553 +msgid "" +"Field-collected plot data with geographic coordinates can be uploaded to " +"GEE as an asset table and used as training data in the **Regression** " +"recipe." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:555 +msgid "To upload field data to GEE:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:557 +msgid "In the GEE Code Editor, go to the **Assets** tab." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:558 +msgid "Select **New** > **CSV file**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:559 +msgid "Upload the data file — GEE handles reprojection automatically." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:560 +msgid "Note the asset ID from the asset details panel." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:562 +msgid "To run the regression using field data:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:566 +msgid "In the training data tab, select **Add** > **Earth Engine table**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:567 +msgid "Paste the field data table asset ID." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:568 +msgid "Select the AGB column as the target value band." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:572 +msgid "11.4 Interpreting biomass results" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:574 +#, python-format +msgid "" +"The regression produces a continuous map of estimated above-ground " +"biomass (Mg/ha). Results improve significantly with more training samples" +" and more trees in the Random Forest model. Consider reserving 20–30% of " +"samples for independent validation." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:579 +msgid "12. Detect change using CCDC" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:581 +msgid "" +"To map mangrove loss or gain over time, this workflow uses the Continuous" +" Change Detection and Classification (CCDC) algorithm (Zhu and Woodcock, " +"2014). CCDC fits a time-series model to each pixel using all available " +"satellite observations and detects structural breaks — making it well " +"suited to detecting mangrove conversion events." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:584 +msgid "12.1 Create a CCDC asset" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:586 +msgid "Add a new recipe and select **CCDC Asset**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:587 +msgid "Define the AOI and date range." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:588 +msgid "Select input imagery (Sentinel-2 and/or Landsat recommended)." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:589 +msgid "Run the recipe and save the result as a GEE asset." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:593 +msgid "" +"Pre-built CCDC assets for specific study areas may be shared by the SEPAL" +" team or colleagues as GEE asset links, avoiding the need to run this " +"computationally intensive step independently." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:597 +msgid "" +"See :doc:`../cookbook/ccdc_slice` for full instructions on creating a " +"CCDC asset." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:600 +msgid "12.2 Extract CCDC slices" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:602 +msgid "" +"A *CCDC slice* is a snapshot of the fitted time-series model at a " +"specific date — providing harmonised, cloud-free spectral values " +"consistent across dates. CCDC slices can be used:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:604 +msgid "" +"as additional input bands in the **Classification** recipe (:ref:`Section" +" 10 `) for improved accuracy using spatio-" +"temporal descriptors; or" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:605 +msgid "from two different dates to detect change between them." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:609 +msgid "" +"See :doc:`../cookbook/ccdc_slice` for full instructions on using CCDC " +"slices." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:612 +msgid "12.3 Run change detection" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:614 +msgid "**Option A – Index Change recipe (two-date comparison):**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:616 +msgid "Add a new recipe and select **Index Change**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:617 +msgid "Load CCDC slices from two target dates (e.g. 2015 and 2023)." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:618 +msgid "Run the recipe to produce a map of positive and negative spectral change." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:619 +msgid "Interpret positive and negative values as mangrove gain or loss." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:621 +msgid "**Option B – Near-real-time alert recipe:**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:623 +msgid "" +"SEPAL includes an alert recipe based on CCDC that compares the time-" +"series model to very recent observations (last few days to weeks), " +"enabling near-real-time detection of mangrove disturbance events for " +"operational monitoring." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:628 +msgid "13. Download and export results" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:631 +msgid "13.1 Export destinations" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:633 +msgid "" +"Select the **Download** button (cloud with arrow icon) in any recipe to " +"open the export dialog. Choose:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:635 +msgid "" +"**Bands to export** – e.g. ``class`` for a classified map, or " +"``mangrove_percent`` for a probability map;" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:636 +msgid "" +"**Scale** – spatial resolution in metres (e.g. 10 m for Sentinel-2 or " +"embeddings-based results); and" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:637 +msgid "**Destination:**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:639 +msgid "" +"**Google Earth Engine asset** – exports to the GEE asset folder; " +"recommended for further analysis or sharing;" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:640 +msgid "**Google Drive** – exports to Google Drive for local download; or" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:641 +msgid "" +"**SEPAL workspace** – exports to the SEPAL workspace; use if running " +"further analysis inside SEPAL." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:644 +msgid "13.2 Monitor export tasks" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:646 +msgid "" +"After selecting **Retrieve**, a spinning icon appears on the purple task " +"button. A green check mark indicates completion. Monitor tasks in the GEE" +" Code Editor under the **Tasks** tab." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:649 +msgid "13.3 Upload data to GEE" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:651 +msgid "" +"To use local raster or vector data in SEPAL (e.g. field plots, " +"administrative boundaries, existing maps):" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:653 +msgid "In the GEE Code Editor, go to the **Assets** tab and select **New**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:654 +msgid "Select the file type:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:656 +msgid "**GeoTIFF** for raster data;" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:657 +msgid "" +"**Shapefile** – upload ``.shp``, ``.shx``, ``.dbf``, and ``.prj`` files " +"together; or" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:658 +msgid "**CSV** for tabular data with geographic coordinates." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:660 +msgid "GEE handles reprojection automatically." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:661 +msgid "" +"Copy the asset ID and use it in any SEPAL **EE Asset** recipe or training" +" data input." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:664 +msgid "Summary: recommended input data stack" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:670 +msgid "Layer" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:671 +msgid "Asset/source" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:672 +msgid "Purpose" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:673 +msgid "Optical mosaic (Medoid)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:674 +msgid "Sentinel-2 (B2–B12 + indices)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:675 +msgid "Spectral features (if not using embeddings)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:676 +msgid "Radar mosaic" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:677 +msgid "Sentinel-1 (VV mean, VH mean, VH STD)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:678 +msgid "Structural features (if not using embeddings)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:679 +msgid "Google Satellite Embeddings" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:681 +msgid "AI-derived multi-sensor features (64 bands)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:682 +msgid "Global Mangrove Watch v3" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:684 +msgid "Reference mangrove mask" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:685 +msgid "ESA WorldCover v2" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:687 +msgid "Reference land cover (mangrove class = 95)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:688 +msgid "MERIT DEM" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:690 +msgid "Elevation constraint (< 40 m)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:691 +msgid "High-confidence reference map" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:692 +msgid "Remapping recipe output" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:693 +msgid "Training data source" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:694 +msgid "GEDI L4A" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:695 +msgid "GEE catalog" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:696 +#: ../../source/workflows/mangrove_mapping.rst:699 +msgid "Biomass regression training (optional)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:697 +msgid "Field AGB plots" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:698 +msgid "User-uploaded GEE table" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:700 +msgid "CCDC asset" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:701 +msgid "SEPAL CCDC Asset recipe" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:702 +msgid "Change detection" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:705 +msgid "Additional resources" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:711 +msgid "Resource" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:712 +msgid "Link" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:713 +msgid "SEPAL platform" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:714 +msgid "`sepal.io `__" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:715 +msgid "SEPAL documentation" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:716 +msgid "`docs.sepal.io `__" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:717 +msgid "SEPAL certified online course" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:718 +msgid "" +"`FAO SEPAL course `__" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:719 +msgid "FAO SEPAL brochure" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:720 +msgid "`fao.org/in-action/sepal `__" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:721 +msgid "Global Mangrove Watch v3.0" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:722 +msgid "" +"`JAXA GMW " +"`__" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:723 +msgid "ESA WorldCover" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:724 +msgid "`ESA WorldCover `__" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:725 +msgid "GEDI L4A AGB dataset" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:726 +msgid "" +"`GEDI L4A on GEE `__" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:727 +msgid "GEE Satellite Embeddings catalog" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:728 +msgid "" +"`GEE Data Catalog `__" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:729 +msgid "AlphaEarth Foundations" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:730 +msgid "" +"`Google DeepMind blog `__" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:731 +msgid "Contact" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:732 +msgid "sepal@fao.org" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:735 +msgid "References" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:737 +msgid "" +"Brown, C.F., Kazmierski, M.R., Pasquarella, V.J., et al. 2025. AlphaEarth" +" Foundations: An embedding field model for accurate and efficient global " +"mapping from sparse label data. *arXiv preprint* arXiv:2507.22291." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:739 +msgid "" +"Simard, M., Fatoyinbo, L., Smetanka, C., Rivera-Monroy, V.H., Castañeda-" +"Moya, E., Thomas, N. and Van der Stocken, T. 2019. Mangrove canopy height" +" globally related to precipitation, temperature and cyclone frequency. " +"*Nature Geoscience*, 12: 40–45." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:741 +msgid "" +"Zhu, Z. and Woodcock, C.E. 2014. Continuous change detection and " +"classification of land cover using all available Landsat data. *Remote " +"Sensing of Environment*, 144: 152–171." +msgstr "" + diff --git a/docs/source/_locale/fr/LC_MESSAGES/workflows/proms.po b/docs/source/_locale/fr/LC_MESSAGES/workflows/proms.po new file mode 100644 index 0000000000..bd3910e89b --- /dev/null +++ b/docs/source/_locale/fr/LC_MESSAGES/workflows/proms.po @@ -0,0 +1,456 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: fr\n" +"Language-Team: fr \n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/workflows/proms.rst:2 +msgid "Probability Map Subtraction (PROMS)" +msgstr "" + +#: ../../source/workflows/proms.rst:5 +msgid "Overview" +msgstr "" + +#: ../../source/workflows/proms.rst:7 +msgid "" +"This tutorial provides a step-by-step guide to estimate forest change " +"areas between two dates using an improved area estimation technique. The " +"method leverages a statistically optimized stratification of forest and " +"forest change areas using continuous probability layers and sample " +"allocation." +msgstr "" + +#: ../../source/workflows/proms.rst:17 +msgid "In lighter green optional data and steps." +msgstr "" + +#: ../../source/workflows/proms.rst:21 +msgid "Workflow Steps" +msgstr "" + +#: ../../source/workflows/proms.rst:24 +msgid "Input Data Collection for Time 1 and Time 2" +msgstr "" + +#: ../../source/workflows/proms.rst:25 +msgid "" +"Training data on Stable Forest and Stable Non-Forest between Time 1 And " +"Time 2" +msgstr "" + +#: ../../source/workflows/proms.rst:26 +msgid "Forest Probability Classification at Time 1 and Time 2" +msgstr "" + +#: ../../source/workflows/proms.rst:27 +msgid "Forest Change Probability Calculation" +msgstr "" + +#: ../../source/workflows/proms.rst:28 +msgid "Inclusive Forest Mask Application (Optional)" +msgstr "" + +#: ../../source/workflows/proms.rst:29 +msgid "Stratification" +msgstr "" + +#: ../../source/workflows/proms.rst:30 +msgid "Sample Allocation" +msgstr "" + +#: ../../source/workflows/proms.rst:31 +msgid "Sample Interpretation and analysis" +msgstr "" + +#: ../../source/workflows/proms.rst:35 +msgid "Summary Approach" +msgstr "" + +#: ../../source/workflows/proms.rst:37 +msgid "" +"In this tutorial, we will demonstrate the methodology applied to the " +"region of Alto Paraguay, aiming to estimate the forest change area " +"between the years 2018 (Time 1) and 2020 (Time 2)." +msgstr "" + +#: ../../source/workflows/proms.rst:40 +msgid "Step 1: Input Data" +msgstr "" + +#: ../../source/workflows/proms.rst:42 +msgid "" +"The first step is to select the input imagery for classification. A " +"minimum of one type of data source is required; however, for optimal " +"classification results, a combination of sensors is recommended. The " +"selection depends on data availability and quality for your study area. " +"To capture changes occurring between Time 1 and Time 2, it is recommended" +" to create annual composites for one year before and one year after each " +"respective time point. This approach includes all possible changes that " +"occurred during Time 1 and Time 2." +msgstr "" + +#: ../../source/workflows/proms.rst:45 +msgid "SEPAL Tools for Image Combination:" +msgstr "" + +#: ../../source/workflows/proms.rst:47 +msgid "" +"SEPAL offers several tools to combine images from several sensors into " +"single raster:" +msgstr "" + +#: ../../source/workflows/proms.rst:49 +msgid "" +"**Optical Mosaics**: For creating optical mosaics, refer to the `Optical " +"Mosaics tool " +"`__." +msgstr "" + +#: ../../source/workflows/proms.rst:50 +msgid "" +"**Radar Mosaics**: For creating radar mosaics, use the `Radar Mosaics " +"tool `__." +msgstr "" + +#: ../../source/workflows/proms.rst:51 +msgid "" +"**Planet Mosaic**: For creating optical mosaics with high-resolution " +"imagery, see the `Planet Mosaic tool " +"`__." +msgstr "" + +#: ../../source/workflows/proms.rst:53 +msgid "" +"For areas with seasonal vegetation variations (e.g., dry forests), " +"consider using Continuous Change Detection and Classification (CCDC). " +"Refer to `CCDC Asset Creation " +"`__ for" +" more information." +msgstr "" + +#: ../../source/workflows/proms.rst:56 +msgid "Case Study Data Preparation:" +msgstr "" + +#: ../../source/workflows/proms.rst:58 +msgid "In our case study, we created:" +msgstr "" + +#: ../../source/workflows/proms.rst:60 +msgid "Planet Mosaics, Sentinel-1 Time Scans, Sentinel-2 Mosaics in SEPAL." +msgstr "" + +#: ../../source/workflows/proms.rst:61 +msgid "" +"ALOS-2 Time Scans in Google Earth Engine (`Link to Script " +"`__)" +msgstr "" + +#: ../../source/workflows/proms.rst:63 +msgid "" +"These datasets were prepared for both years 2017 and 2021 (one year " +"before and one year after Time 1 and Time 2, respectively)." +msgstr "" + +#: ../../source/workflows/proms.rst:71 +msgid "Step 2: Training Data" +msgstr "" + +#: ../../source/workflows/proms.rst:73 +msgid "" +"Create training data on the presence and absence of forest for your " +"period of interest. Depending on availability, training data can be " +"sourced from:" +msgstr "" + +#: ../../source/workflows/proms.rst:75 +msgid "**Existing Maps**: Extract samples from global or regional forest maps." +msgstr "" + +#: ../../source/workflows/proms.rst:76 +msgid "**Field Data**: Use ground-truth data collected from field surveys." +msgstr "" + +#: ../../source/workflows/proms.rst:77 +msgid "**Other Sources**: Extract samples from datasets like GEDI or GLANCE." +msgstr "" + +#: ../../source/workflows/proms.rst:80 +msgid "Step 3: Forest Probability Classification" +msgstr "" + +#: ../../source/workflows/proms.rst:82 +msgid "" +"Obtain forest probability maps for Time 1 and Time 2 through supervised " +"classification of your input data, using training data on forest and non-" +"forest classes. It is preferable to use stable samples from the period " +"between Time 1 and Time 2." +msgstr "" + +#: ../../source/workflows/proms.rst:85 +msgid "Using SEPAL's Classification Tool:" +msgstr "" + +#: ../../source/workflows/proms.rst:87 +msgid "" +"SEPAL offers a user-friendly `Classification tool " +"`__ for " +"building supervised classifications." +msgstr "" + +#: ../../source/workflows/proms.rst:90 ../../source/workflows/proms.rst:215 +#: ../../source/workflows/proms.rst:256 +msgid "Case Study Implementation:" +msgstr "" + +#: ../../source/workflows/proms.rst:92 +msgid "" +"Auxiliary Data: Added terrain data from the `MERIT Digital Elevation " +"Model `__ to the " +"mosaic stack for both years. Classifier: Used a Random Forest Classifier " +"in probability output mode. Output: Generated forest probability maps for" +" 2017 and 2021." +msgstr "" + +#: ../../source/workflows/proms.rst:96 +msgid "" +"If the number of samples that changed class between Time 1 and Time 2 is " +"small relative to the total number, it won’t significantly affect Random " +"Forest results due to its multiple decision trees and bootstrapping " +"method." +msgstr "" + +#: ../../source/workflows/proms.rst:103 +msgid "Step 4: Forest Change Probability Calculation" +msgstr "" + +#: ../../source/workflows/proms.rst:105 +msgid "" +"Calculate the forest change probability map by finding the difference " +"between the forest probability maps of Time 1 and Time 2." +msgstr "" + +#: ../../source/workflows/proms.rst:108 +msgid "Using SEPAL's Band Math Tool:" +msgstr "" + +#: ../../source/workflows/proms.rst:110 +msgid "" +"The `Band Math tool " +"`__ allows for " +"mathematical operations on images from SEPAL or Google Earth Engine." +msgstr "" + +#: ../../source/workflows/proms.rst:113 +msgid "Case Study Calculation:" +msgstr "" + +#: ../../source/workflows/proms.rst:115 +msgid "" +"Operation: Subtracted the forest probability band (probability_1) of the " +"2021 image from the 2017 image as an absolute value." +msgstr "" + +#: ../../source/workflows/proms.rst:116 +msgid "" +"Result: High values indicate a high probability of forest change, both " +"possible ‘forest losses’ and ‘forest gains’; low values indicate " +"stability." +msgstr "" + +#: ../../source/workflows/proms.rst:124 +msgid "For Multiple Monitoring Dates:" +msgstr "" + +#: ../../source/workflows/proms.rst:126 +msgid "" +"When intermediate dates are available, calculate the maximum forest " +"change probability:" +msgstr "" + +#: ../../source/workflows/proms.rst:140 +#, python-brace-format +msgid "" +"\\text{Max Change Probability} = \\max(\\text{probabilities over all " +"dates}) - \\min(\\text{probabilities over all dates})\n" +"\n" +msgstr "" + +#: ../../source/workflows/proms.rst:147 +msgid "With only two dates:" +msgstr "" + +#: ../../source/workflows/proms.rst:149 +#, python-brace-format +msgid "" +"\\text{Change Probability} = |\\text{Probability at Time 1} - " +"\\text{Probability at Time 2}|\n" +"\n" +msgstr "" + +#: ../../source/workflows/proms.rst:157 +msgid "Step 5: Inclusive Forest Mask Application (optional)" +msgstr "" + +#: ../../source/workflows/proms.rst:159 +msgid "" +"Apply a ‘forest mask’ to exclude areas with very low forest probability, " +"focusing the stratification on relevant areas." +msgstr "" + +#: ../../source/workflows/proms.rst:163 +msgid "" +"This mask should not be regarded as a commonly used forest mask but " +"rather as a highly conservative one, designed to include all areas where " +"forest could potentially exist at both Time 1 and Time 2, while excluding" +" areas where forest is definitively absent, such as deserts, croplands, " +"or built-up areas, especially when these categories constitute a " +"significant portion of the total area)." +msgstr "" + +#: ../../source/workflows/proms.rst:166 +msgid "Using SEPAL’s Band Math Tool:" +msgstr "" + +#: ../../source/workflows/proms.rst:168 +msgid "" +"Calculate Maximum Forest Probability: Use the Band Math tool to find the " +"maximum probability across all dates (Time 1 and Time 2 in the case " +"study)." +msgstr "" + +#: ../../source/workflows/proms.rst:172 +msgid "Using SEPAL’s Remapping Tool:" +msgstr "" + +#: ../../source/workflows/proms.rst:174 +msgid "" +"Remap Values: With the Remapping tool, classify areas as 'forest' where " +"the maximum forest probability exceeds a specified threshold, and mask " +"out areas that fall below this threshold." +msgstr "" + +#: ../../source/workflows/proms.rst:182 +msgid "Case study implementation:" +msgstr "" + +#: ../../source/workflows/proms.rst:184 +msgid "" +"In our case study we used a 10% maximum forest probability threshold that" +" masked out cropland areas." +msgstr "" + +#: ../../source/workflows/proms.rst:188 +msgid "Using SEPAL’s Masking Tool:" +msgstr "" + +#: ../../source/workflows/proms.rst:190 +msgid "" +"Apply Mask: Use the Masking tool to apply the ‘forest mask’ to the forest" +" change probability layer." +msgstr "" + +#: ../../source/workflows/proms.rst:200 +msgid "Step 6: Stratification" +msgstr "" + +#: ../../source/workflows/proms.rst:203 +msgid "" +"Convert the continuous forest change probability map into a categorical " +"map using the SEPAL's `Unsupervised Classification tool " +"`__" +" tool to create a stratification layer." +msgstr "" + +#: ../../source/workflows/proms.rst:207 +msgid "Using SEPAL’s Unsupervised Classification tool" +msgstr "" + +#: ../../source/workflows/proms.rst:210 +msgid "" +"**Sampling**: Number of Samples: Use a high number (e.g., 100,000) for " +"better representation, especially when areas with high forest change " +"probability are small. Sampling Scale: Consider the forest definition " +"(e.g., 70 meters aligning with a 0.5-hectare MMU)." +msgstr "" + +#: ../../source/workflows/proms.rst:211 +msgid "" +"**Clusterer**: Algorithm: Use the k-means algorithm. Number of Clusters: " +"Five classes are recommended (Kozak, 2011)." +msgstr "" + +#: ../../source/workflows/proms.rst:217 +msgid "" +"Samples: 100,000 samples to train the clusterer. Sampling Scale: 70 " +"meters." +msgstr "" + +#: ../../source/workflows/proms.rst:225 +msgid "Apply to Forest Areas Only:" +msgstr "" + +#: ../../source/workflows/proms.rst:227 +msgid "" +"The stratification could be applied exclusively to areas where forest " +"could potentially exist during the period of interest (both stable and " +"changing) using the masked forest change probability map as input image." +msgstr "" + +#: ../../source/workflows/proms.rst:235 +msgid "Step 7: Sample allocation" +msgstr "" + +#: ../../source/workflows/proms.rst:237 +msgid "" +"Select the sample points for interpretation on the stratification layer " +"using Neyman's method. The samples are optimally distributed according to" +" the variability and area of each stratum:" +msgstr "" + +#: ../../source/workflows/proms.rst:239 +msgid "" +":math:`n_h = \\left( \\frac{\\text{sd} \\cdot \\text{área del " +"estrato}}{\\sum (\\text{sd} \\cdot \\text{área})} \\right) \\cdot " +"\\text{targetSampleSize}`" +msgstr "" + +#: ../../source/workflows/proms.rst:242 +msgid "Using Google Earth Engine" +msgstr "" + +#: ../../source/workflows/proms.rst:244 +msgid "" +"The sample allocation can be applied either to the unmasked " +"stratification layer (as shown in the image above) or to the masked " +"stratification layer (as depicted in the image below)." +msgstr "" + +#: ../../source/workflows/proms.rst:258 +msgid "Total number of samples to select: 3000. Spatial resolution: 70m." +msgstr "" + +#: ../../source/workflows/proms.rst:261 +msgid "Step 8: Sample interpretation and analysis" +msgstr "" + +#: ../../source/workflows/proms.rst:263 +msgid "Estimate the forest change area." +msgstr "" + diff --git a/docs/source/_locale/it/LC_MESSAGES/cli/env_management.po b/docs/source/_locale/it/LC_MESSAGES/cli/env_management.po new file mode 100644 index 0000000000..12f0ac2c0f --- /dev/null +++ b/docs/source/_locale/it/LC_MESSAGES/cli/env_management.po @@ -0,0 +1,337 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: it\n" +"Language-Team: it \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/cli/env_management.rst:4 +msgid "Python environment management" +msgstr "" + +#: ../../source/cli/env_management.rst:6 +msgid "" +"SEPAL provides two tools for managing Python environments: :guilabel:`uv`" +" and :guilabel:`micromamba`. Both are already installed and both are " +"better choices than the built-in :guilabel:`venv` for work on SEPAL." +msgstr "" + +#: ../../source/cli/env_management.rst:8 +msgid "" +"The core problem with :guilabel:`venv` on a shared platform is that it " +"creates environments tightly coupled to the system Python. When SEPAL " +"upgrades Python — as happened with the Ubuntu Noble upgrade from 3.10 to " +"3.12 — every venv breaks. The tools described on this page do not have " +"this problem." +msgstr "" + +#: ../../source/cli/env_management.rst:12 +msgid "" +"Do not use :guilabel:`venv` for new work on SEPAL. Use :guilabel:`uv` or " +":guilabel:`micromamba` instead." +msgstr "" + +#: ../../source/cli/env_management.rst:17 +msgid "Which tool should I use?" +msgstr "" + +#: ../../source/cli/env_management.rst:19 +msgid "The right choice depends on what your project needs." +msgstr "" + +#: ../../source/cli/env_management.rst:25 +msgid "Your stack includes..." +msgstr "" + +#: ../../source/cli/env_management.rst:26 +msgid "Use" +msgstr "" + +#: ../../source/cli/env_management.rst:27 +msgid "Why" +msgstr "" + +#: ../../source/cli/env_management.rst:28 +msgid "Web frameworks, APIs, pure Python tools" +msgstr "" + +#: ../../source/cli/env_management.rst:29 +#: ../../source/cli/env_management.rst:32 +msgid ":guilabel:`uv`" +msgstr "" + +#: ../../source/cli/env_management.rst:30 +msgid "Fast, lightweight, no overhead" +msgstr "" + +#: ../../source/cli/env_management.rst:31 +msgid "Data science: pandas, scikit-learn, statsmodels" +msgstr "" + +#: ../../source/cli/env_management.rst:33 +msgid "Good PyPI wheel coverage for Python 3.12" +msgstr "" + +#: ../../source/cli/env_management.rst:34 +msgid "Geospatial: GDAL, rasterio, fiona, GEOS" +msgstr "" + +#: ../../source/cli/env_management.rst:35 +#: ../../source/cli/env_management.rst:38 +msgid ":guilabel:`micromamba`" +msgstr "" + +#: ../../source/cli/env_management.rst:36 +msgid "Bundles native libraries inside the environment" +msgstr "" + +#: ../../source/cli/env_management.rst:37 +msgid "GPU / ML: CUDA, cuDNN, PyTorch with CUDA" +msgstr "" + +#: ../../source/cli/env_management.rst:39 +msgid "Pins CUDA runtime inside the environment" +msgstr "" + +#: ../../source/cli/env_management.rst:40 +msgid "Mixed: some native libraries, some pure Python" +msgstr "" + +#: ../../source/cli/env_management.rst:41 +msgid ":guilabel:`micromamba` + pip" +msgstr "" + +#: ../../source/cli/env_management.rst:42 +msgid "micromamba for native libraries, pip for the rest" +msgstr "" + +#: ../../source/cli/env_management.rst:46 +msgid "" +":guilabel:`uv` environments can still break if SEPAL upgrades a system-" +"level native library such as GDAL or CUDA. This is because :guilabel:`uv`" +" installs Python packages from PyPI but cannot bundle the underlying " +"``.so`` files they depend on. If your project uses geospatial or GPU " +"packages, use :guilabel:`micromamba`." +msgstr "" + +#: ../../source/cli/env_management.rst:51 +msgid "uv" +msgstr "" + +#: ../../source/cli/env_management.rst:53 +msgid "" +":guilabel:`uv` is a fast, modern Python and package manager. It manages " +"its own Python versions independently of the system, so a system Python " +"upgrade will not affect your environments." +msgstr "" + +#: ../../source/cli/env_management.rst:56 +msgid "Why use uv" +msgstr "" + +#: ../../source/cli/env_management.rst:58 +msgid "" +"**Survives system Python upgrades.** uv pins the Python version inside " +"the project. If you create an environment with Python 3.12.2, it stays on" +" 3.12.2 regardless of what the system does." +msgstr "" + +#: ../../source/cli/env_management.rst:59 +msgid "" +"**Much faster than pip and venv.** Dependency resolution and installation" +" are typically 10–100× faster due to parallel downloads and a compiled " +"resolver." +msgstr "" + +#: ../../source/cli/env_management.rst:60 +msgid "" +"**Lockfiles for reproducibility.** ``uv lock`` generates a precise, " +"cross-platform lockfile — more reliable than ``pip freeze`` for sharing " +"environments with colleagues." +msgstr "" + +#: ../../source/cli/env_management.rst:61 +msgid "" +"**Drop-in pip compatibility.** ``uv pip install`` works exactly like " +"``pip install``. Any package on PyPI works with uv. No new formats to " +"learn." +msgstr "" + +#: ../../source/cli/env_management.rst:62 +msgid "" +"**Works with standard project files.** Reads ``pyproject.toml`` and " +"``requirements.txt`` natively." +msgstr "" + +#: ../../source/cli/env_management.rst:63 +msgid "" +"**Manages multiple Python versions.** ``uv python install 3.10`` lets you" +" run any Python version without touching the system." +msgstr "" + +#: ../../source/cli/env_management.rst:64 +msgid "" +"**Single lightweight binary.** No base environment, no shell hooks, no " +"overhead." +msgstr "" + +#: ../../source/cli/env_management.rst:67 +msgid "Creating a uv project (recommended)" +msgstr "" + +#: ../../source/cli/env_management.rst:69 +msgid "" +"``uv init`` creates a project with a ``pyproject.toml`` and a lockfile, " +"giving you reproducible installs and clean dependency tracking:" +msgstr "" + +#: ../../source/cli/env_management.rst:83 +msgid "" +"uv automatically creates a ``.venv`` inside the project directory, " +"generates a ``uv.lock`` lockfile, and tracks all dependencies in " +"``pyproject.toml``. You do not need to activate anything — ``uv run`` " +"handles it." +msgstr "" + +#: ../../source/cli/env_management.rst:85 +msgid "To reproduce the environment elsewhere (or after a fresh clone):" +msgstr "" + +#: ../../source/cli/env_management.rst:92 +msgid "Creating a standalone uv environment" +msgstr "" + +#: ../../source/cli/env_management.rst:94 +msgid "" +"If you do not need a full project structure — for example, when working " +"with an existing ``requirements.txt`` — you can create a standalone " +"environment:" +msgstr "" + +#: ../../source/cli/env_management.rst:111 +#: ../../source/cli/env_management.rst:208 +msgid "Adding a Jupyter kernel" +msgstr "" + +#: ../../source/cli/env_management.rst:113 +msgid "Register your environment as a named kernel so it appears in JupyterLab:" +msgstr "" + +#: ../../source/cli/env_management.rst:115 +msgid "**For uv projects:**" +msgstr "" + +#: ../../source/cli/env_management.rst:123 +msgid "**For standalone uv environments:**" +msgstr "" + +#: ../../source/cli/env_management.rst:131 +msgid "Verify it appears:" +msgstr "" + +#: ../../source/cli/env_management.rst:137 +#: ../../source/cli/env_management.rst:224 +msgid "To remove a kernel:" +msgstr "" + +#: ../../source/cli/env_management.rst:146 +msgid "micromamba" +msgstr "" + +#: ../../source/cli/env_management.rst:148 +msgid "" +":guilabel:`micromamba` works like conda (if you have used conda before, " +"you already know how to use micromamba). Unlike :guilabel:`uv`, it " +"bundles native system libraries — GDAL, CUDA, HDF5, and others — inside " +"the environment itself, completely isolated from the system. This makes " +"it the right choice for geospatial and GPU workloads." +msgstr "" + +#: ../../source/cli/env_management.rst:151 +msgid "Why use micromamba" +msgstr "" + +#: ../../source/cli/env_management.rst:153 +msgid "" +"**Complete isolation including native libraries.** GDAL, CUDA, HDF5, " +"GEOS, and other system libraries are installed inside the environment. " +"Upgrading system libraries on SEPAL will not break your environment." +msgstr "" + +#: ../../source/cli/env_management.rst:154 +msgid "" +"**conda-forge provides excellent binary coverage.** conda-forge provides " +"pre-compiled, compatible builds of complex packages across all platforms " +"— often better than what is available on PyPI." +msgstr "" + +#: ../../source/cli/env_management.rst:155 +msgid "" +"**Environment files capture the full stack.** ``environment.yml`` files " +"describe both Python packages and native libraries in one place, making " +"environments fully reproducible by colleagues." +msgstr "" + +#: ../../source/cli/env_management.rst:156 +msgid "" +"**Pins native library versions.** You can pin ``cudatoolkit=11.8`` or " +"``gdal=3.6`` and those exact versions live inside the environment, " +"regardless of what is installed system-wide." +msgstr "" + +#: ../../source/cli/env_management.rst:157 +msgid "" +"**Faster than conda.** Written in C++, micromamba solves and installs " +"dependencies significantly faster than the original conda tool." +msgstr "" + +#: ../../source/cli/env_management.rst:158 +msgid "" +"**No base environment.** micromamba has no base environment that needs " +"updating — cleaner and lighter on disk." +msgstr "" + +#: ../../source/cli/env_management.rst:161 +msgid "Creating a micromamba environment" +msgstr "" + +#: ../../source/cli/env_management.rst:178 +msgid "Using an environment.yml file (recommended)" +msgstr "" + +#: ../../source/cli/env_management.rst:180 +msgid "" +"An ``environment.yml`` file captures the full environment — Python " +"version, native libraries, and Python packages — in one place:" +msgstr "" + +#: ../../source/cli/env_management.rst:197 +msgid "Create or update an environment from the file:" +msgstr "" + +#: ../../source/cli/env_management.rst:233 +msgid "Recovering a broken venv" +msgstr "" + +#: ../../source/cli/env_management.rst:235 +msgid "" +"If you have an existing venv that broke due to the Python upgrade, see " +":ref:`fix_venvs` for step-by-step recovery instructions, including a " +"script to extract your requirements without activating the broken " +"environment." +msgstr "" + diff --git a/docs/source/_locale/it/LC_MESSAGES/cli/index.po b/docs/source/_locale/it/LC_MESSAGES/cli/index.po index d4cfa8e2f2..e593dcac47 100644 --- a/docs/source/_locale/it/LC_MESSAGES/cli/index.po +++ b/docs/source/_locale/it/LC_MESSAGES/cli/index.po @@ -1,22 +1,54 @@ + msgid "" msgstr "" -"Project-Id-Version: sepal-doc\n" +"Project-Id-Version: sepal-doc\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-03-07 09:39+0100\n" -"PO-Revision-Date: 2024-03-07 08:57\n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: 2024-03-07 08:57+0000\n" "Last-Translator: \n" +"Language: it_IT\n" "Language-Team: Italian\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.14.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Crowdin-Project: sepal-doc\n" -"X-Crowdin-Project-ID: 562097\n" -"X-Crowdin-Language: it\n" -"X-Crowdin-File: /main/docs/source/_locale/en/LC_MESSAGES/cli/index.po\n" -"X-Crowdin-File-ID: 49\n" -"Language: it_IT\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/cli/index.rst:10 +msgid "GDAL — Geospatial Data Abstraction Library" +msgstr "" + +#: ../../source/cli/index.rst:10 +msgid "Google Drive" +msgstr "" + +#: ../../source/cli/index.rst:10 +msgid "Google Earth Engine" +msgstr "" + +#: ../../source/cli/index.rst:10 +msgid "GuidosToolbox Workbench" +msgstr "" + +#: ../../source/cli/index.rst:10 +msgid "Open Foris Geospatial Toolkit" +msgstr "" + +#: ../../source/cli/index.rst:10 +msgid "Orfeo ToolBox" +msgstr "" + +#: ../../source/cli/index.rst:10 +msgid "Python" +msgstr "" + +#: ../../source/cli/index.rst:10 +msgid "R" +msgstr "" + +#: ../../source/cli/index.rst:10 +msgid "Python environment management" +msgstr "" #: ../../source/cli/index.rst:2 msgid "CLI" @@ -31,51 +63,72 @@ msgid "CLI tools" msgstr "" #: ../../source/cli/index.rst:8 -msgid "To help resolve specific problems, the SEPAL platform includes a variety of useful command-line interface (CLI) utilities, including:" +msgid "" +"To help resolve specific problems, the SEPAL platform includes a variety " +"of useful command-line interface (CLI) utilities, including:" msgstr "" -#: ../../source/cli/index.rst:22 -msgid "These tools can be called directly from the terminal or via any programming language sending commands to the kernel, including R and Python (installed by default on any SEPAL account)." +#: ../../source/cli/index.rst:23 +msgid "" +"These tools can be called directly from the terminal or via any " +"programming language sending commands to the kernel, including R and " +"Python (installed by default on any SEPAL account)." msgstr "" -#: ../../source/cli/index.rst:29 +#: ../../source/cli/index.rst:30 msgid "The code executed previously on an existing :code:`example.tif` file:" msgstr "" -#: ../../source/cli/index.rst:37 -msgid "If you're running actions from multiple directories or instances, you can open multiple **Terminal** tabs and name them as you see fit." +#: ../../source/cli/index.rst:38 +msgid "" +"If you're running actions from multiple directories or instances, you can" +" open multiple **Terminal** tabs and name them as you see fit." msgstr "" -#: ../../source/cli/index.rst:41 -msgid "If the code you want to execute is taking time, consider running it in the background using :code:`nohup`:" +#: ../../source/cli/index.rst:42 +msgid "" +"If the code you want to execute is taking time, consider running it in " +"the background using :code:`nohup`:" msgstr "" -#: ../../source/cli/index.rst:47 -msgid "All console outputs will be redirected to a :code:`nohup.out` in your home directory, but the execution will be running in the background. You will be able to safely close the terminal or even the browser window without interrupting the process (for more information about :code:`nohup`, see `this article `__)." +#: ../../source/cli/index.rst:48 +msgid "" +"All console outputs will be redirected to a :code:`nohup.out` in your " +"home directory, but the execution will be running in the background. You " +"will be able to safely close the terminal or even the browser window " +"without interrupting the process (for more information about " +":code:`nohup`, see `this article " +"`__)." msgstr "" -#: ../../source/cli/index.rst:50 +#: ../../source/cli/index.rst:51 msgid "Coding tools" msgstr "" -#: ../../source/cli/index.rst:52 -msgid "In the **Apps** section, there are three coding tools at the top of the list:" +#: ../../source/cli/index.rst:53 +msgid "" +"In the **Apps** section, there are three coding tools at the top of the " +"list:" msgstr "" -#: ../../source/cli/index.rst:54 +#: ../../source/cli/index.rst:55 msgid "JupyterLab" msgstr "" -#: ../../source/cli/index.rst:55 +#: ../../source/cli/index.rst:56 msgid "Jupyter Notebook" msgstr "" -#: ../../source/cli/index.rst:56 +#: ../../source/cli/index.rst:57 msgid "RStudio" msgstr "" -#: ../../source/cli/index.rst:61 -msgid "They will allow the user to code wokflows in any of the available languages using the corresponding environment in SEPAL. These environments are fully customizable (view the :code:`Python` or :code:`R` section to know more)." +#: ../../source/cli/index.rst:62 +msgid "" +"They will allow the user to code wokflows in any of the available " +"languages using the corresponding environment in SEPAL. These " +"environments are fully customizable (view the :code:`Python` or :code:`R`" +" section to know more)." msgstr "" #~ msgid "" diff --git a/docs/source/_locale/it/LC_MESSAGES/cookbook/band_math.po b/docs/source/_locale/it/LC_MESSAGES/cookbook/band_math.po new file mode 100644 index 0000000000..dce27663c8 --- /dev/null +++ b/docs/source/_locale/it/LC_MESSAGES/cookbook/band_math.po @@ -0,0 +1,233 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: it\n" +"Language-Team: it \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/cookbook/band_math.rst:2 +msgid "Band Math" +msgstr "" + +#: ../../source/cookbook/band_math.rst:4 +msgid "" +"The **Band Math** recipe in SEPAL allows you to derive new raster layers " +"from existing ones by evaluating mathematical expressions. You can " +"combine, scale or subtract spectral bands, build indices or apply logical" +" masks. This guide walks through the Band Math workflow from start to " +"finish and uses a vegetation index as an example. The same steps apply " +"whether you are creating a simple ratio or a complex index." +msgstr "" + +#: ../../source/cookbook/band_math.rst:7 +msgid "Getting started" +msgstr "" + +#: ../../source/cookbook/band_math.rst:9 +msgid "Open `sepal.io `_ in your web browser and sign in." +msgstr "" + +#: ../../source/cookbook/band_math.rst:10 +msgid "" +"Go to the **Process** page where SEPAL lists your recipes. If you have " +"not created any recipes yet this list will be empty." +msgstr "" + +#: ../../source/cookbook/band_math.rst:13 +msgid "Creating a Band Math recipe" +msgstr "" + +#: ../../source/cookbook/band_math.rst:15 +msgid "" +"Click :btn:` Add recipe` in the recipe list and choose " +"**Band Math**. SEPAL opens a new tab for your recipe. On the right‑hand " +"side you will see three vertically stacked tabs labelled :guilabel:`IMG`," +" :guilabel:`CAL` and :guilabel:`OUT` corresponding to *Input imagery*, " +"*Calculations* and *Outputs*." +msgstr "" + +#: ../../source/cookbook/band_math.rst:27 +msgid "" +"Select the :guilabel:`IMG` button. Click :btn:` Add` " +"and then **Earth Engine Asset**. An entry form appears where you can " +"provide a Google Earth Engine image. Paste a valid asset ID into the " +"**Earth Engine asset ID** field (for example the Landsat 8 Level‑2 scene " +"``LANDSAT/LC08/C02/T1_L2/LC08_232064_20200119``). Leave the **Image " +"name** as the default (``i1``) unless you intend to add multiple images. " +"Use the tick icon to validate the ID; if the field turns red the asset is" +" not available. Once it loads successfully you will see a section " +"labelled **CONTINUOUS** listing the available bands." +msgstr "" + +#: ../../source/cookbook/band_math.rst:34 +msgid "" +"Specify which bands you need. Click the green :btn:` " +"Add` button to insert a row, select the band name from the drop‑down list" +" and leave the :guilabel:`TYPE` as **CONTINUOUS**. Repeat this step for " +"every band referenced in your expression. For a vegetation index select " +"the red band ``SR_B4`` and the near‑infrared band ``SR_B5``. When you " +"have added all your bands, click :btn:` Apply` to " +"confirm. The :guilabel:`IMG` tab now lists your Earth Engine asset and " +"the chosen name." +msgstr "" + +#: ../../source/cookbook/band_math.rst:42 +msgid "Defining a calculation" +msgstr "" + +#: ../../source/cookbook/band_math.rst:44 +msgid "" +"Switch to the :guilabel:`CAL` tab and click :btn:` " +"Add`. A dialog appears offering two paths: **Function** and " +"**Expression**. Choose **Function** when you want to compute built‑in " +"statistics (sum, mean, min, max, product) on your bands. Choose " +"**Expression** when you need to write a custom formula. For indices you " +"will almost always select **Expression**." +msgstr "" + +#: ../../source/cookbook/band_math.rst:51 +msgid "" +"In the expression editor type your formula. Refer to each band using its " +"image name and band name, for example ``i1.SR_B5`` for the near‑infrared " +"band of the first image. Parentheses control the order of operations. To " +"compute a vegetation index you can use:" +msgstr "" + +#: ../../source/cookbook/band_math.rst:57 +msgid "" +"You could just as easily substitute other bands or constants, for example" +" the Normalised Difference Water Index (NDWI) ``(i1.SR_B3 - i1.SR_B5) / " +"(i1.SR_B3 + i1.SR_B5)`` or a simple ratio like ``i1.SR_B5 / i1.SR_B4``." +msgstr "" + +#: ../../source/cookbook/band_math.rst:59 +msgid "" +"Enter a short Band name beneath the editor. This will be the label of the" +" resulting layer – for example ``ndvi`` for a vegetation index." +msgstr "" + +#: ../../source/cookbook/band_math.rst:66 +msgid "" +"Click :btn:` Apply`. Your calculation appears in the " +"list with an identifier such as ``c1``. You can add additional " +"calculations by repeating this process; each one becomes a separate " +"output band." +msgstr "" + +#: ../../source/cookbook/band_math.rst:74 +msgid "Managing outputs and naming" +msgstr "" + +#: ../../source/cookbook/band_math.rst:76 +msgid "" +"The :guilabel:`OUT` tab displays the bands produced by your expressions. " +"Check that the band names are correct. You can delete or add them using " +"the icons on the right of each row. Above the map the recipe tab uses a " +"default timestamp; rename it by double‑clicking the label, entering a " +"descriptive name (for example ``Amazon_BandMath``) and pressing " +"**Enter**. When everything looks correct close the :guilabel:`OUT` tab." +msgstr "" + +#: ../../source/cookbook/band_math.rst:84 +msgid "Visualising the results" +msgstr "" + +#: ../../source/cookbook/band_math.rst:86 +msgid "" +"By default your calculation is not drawn on the map. To create a " +"visualisation:" +msgstr "" + +#: ../../source/cookbook/band_math.rst:88 +msgid "" +"Locate the small :btn:`` icon near the bottom centre of" +" the map and click it. This opens the **This recipe** panel. If your " +"derived bands appear here they are ready for visualisation; if not, click" +" the :btn:`` button in that panel to create one." +msgstr "" + +#: ../../source/cookbook/band_math.rst:95 +msgid "" +"A **Visualisation** dialog opens. Choose the band you want to display " +"from the **Band** drop‑down (for example ``ndvi``). Set **Min** and " +"**Max** values to define the stretch – for indices spanning –1 to 1, " +"values such as –0.2 and 0.8 often provide good contrast." +msgstr "" + +#: ../../source/cookbook/band_math.rst:97 +msgid "" +"Select a colour palette. You can load a preset palette from the drop‑down" +" or define your own. To enter custom colours click the :guilabel:`HEX` " +"button; a text box appears containing a comma‑separated list of colour " +"codes. Replace it with your own codes (e.g. ``#ffffcc, #c2e699, #78c679, " +"#31a354, #006837`` for a light‑to‑dark green gradient). Multiple colours " +"create a smooth ramp." +msgstr "" + +#: ../../source/cookbook/band_math.rst:104 +msgid "" +"Click :btn:` Apply`. SEPAL renders the band using your" +" settings and adds a legend bar at the bottom of the map. If the map " +"stays blank for more than a few seconds, ensure you added the correct " +"bands and that the area of interest is not outside the footprint of your " +"image." +msgstr "" + +#: ../../source/cookbook/band_math.rst:113 +msgid "What else can you do with Band Math?" +msgstr "" + +#: ../../source/cookbook/band_math.rst:115 +msgid "" +"Band Math is a general‑purpose calculator for raster bands. Beyond " +"vegetation indices you can:" +msgstr "" + +#: ../../source/cookbook/band_math.rst:117 +msgid "" +"Highlight water bodies by computing the Normalised Difference Water Index" +" (NDWI): ``(i1.SR_B3 - i1.SR_B5) / (i1.SR_B3 + i1.SR_B5)``." +msgstr "" + +#: ../../source/cookbook/band_math.rst:118 +msgid "" +"Assess burn severity with the Normalised Burn Ratio (NBR) using " +"near‑infrared and short‑wave infrared bands: ``(i1.SR_B5 - i1.SR_B7) / " +"(i1.SR_B5 + i1.SR_B7)``." +msgstr "" + +#: ../../source/cookbook/band_math.rst:119 +msgid "" +"Perform arithmetic between bands (for example ``i1.SR_B5 - i1.SR_B4``), " +"multiply by constants to convert digital numbers to reflectance or add " +"bands to create composites." +msgstr "" + +#: ../../source/cookbook/band_math.rst:120 +msgid "" +"Create masks based on conditions – for instance ``i1.SR_B5 > 0.3`` to " +"select highly vegetated pixels – and combine them with logical operators " +"(`and`, `or`)." +msgstr "" + +#: ../../source/cookbook/band_math.rst:122 +msgid "" +"Every expression you add becomes a new band that can be visualised or " +"used in subsequent calculations. By chaining calculations together you " +"can build complex workflows in SEPAL without writing any external code." +msgstr "" + diff --git a/docs/source/_locale/it/LC_MESSAGES/cookbook/classification.po b/docs/source/_locale/it/LC_MESSAGES/cookbook/classification.po index 9ab05c85c9..a95826f8b5 100644 --- a/docs/source/_locale/it/LC_MESSAGES/cookbook/classification.po +++ b/docs/source/_locale/it/LC_MESSAGES/cookbook/classification.po @@ -1,29 +1,27 @@ + msgid "" msgstr "" -"Project-Id-Version: sepal-doc\n" +"Project-Id-Version: sepal-doc\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-03-07 09:39+0100\n" -"PO-Revision-Date: 2024-03-07 08:57\n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: 2024-03-07 08:57+0000\n" "Last-Translator: \n" +"Language: it_IT\n" "Language-Team: Italian\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.14.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Crowdin-Project: sepal-doc\n" -"X-Crowdin-Project-ID: 562097\n" -"X-Crowdin-Language: it\n" -"X-Crowdin-File: /main/docs/source/_locale/en/LC_MESSAGES/cookbook/classification.po\n" -"X-Crowdin-File-ID: 65\n" -"Language: it_IT\n" +"Generated-By: Babel 2.18.0\n" #: ../../source/cookbook/classification.rst:2 msgid "Classification" msgstr "" #: ../../source/cookbook/classification.rst:3 -msgid "*Build supervised classifications of mosaic images to create easy-to-use user interfaces with the Classification recipe*" +msgid "" +"*Build supervised classifications of mosaic images to create easy-to-use " +"user interfaces with the Classification recipe*" msgstr "" #: ../../source/cookbook/classification.rst:6 @@ -31,7 +29,12 @@ msgid "Overview" msgstr "" #: ../../source/cookbook/classification.rst:8 -msgid "With this recipe, SEPAL helps users build supervised classifications of any mosaic image. It is built on top of the most advanced tools available on Google Earth Engine (GEE) – including the classifiers CART, RandomForest, NaiveBayes and SVM – allowing users to create an easy-to-use user interface to:" +msgid "" +"With this recipe, SEPAL helps users build supervised classifications of " +"any mosaic image. It is built on top of the most advanced tools available" +" on Google Earth Engine (GEE) – including seven classifiers, such as " +"Random Forest, CART and SVM – allowing users to create an easy-to-use " +"user interface to:" msgstr "" #: ../../source/cookbook/classification.rst:10 @@ -39,7 +42,7 @@ msgid "select an image to classify;" msgstr "" #: ../../source/cookbook/classification.rst:11 -msgid "define the class table; and" +msgid "define the legend; and" msgstr "" #: ../../source/cookbook/classification.rst:12 @@ -47,7 +50,10 @@ msgid "add training data from external sources and on-the-fly selection." msgstr "" #: ../../source/cookbook/classification.rst:14 -msgid "In combination with other tools of SEPAL, the **Classification** recipe can help you provide accurate land-use maps, without writing a single line of code." +msgid "" +"In combination with other tools of SEPAL, the **Classification** recipe " +"can help you provide accurate land-use maps, without writing a single " +"line of code." msgstr "" #: ../../source/cookbook/classification.rst:17 @@ -55,15 +61,24 @@ msgid "Start" msgstr "" #: ../../source/cookbook/classification.rst:19 -msgid "Once the **Classification** recipe is selected, SEPAL will show the recipe process in a new tab (see **1** in figure below); the **Image selection** window will appear in the lower right (**2**)." +msgid "" +"Once the **Classification** recipe is selected, SEPAL will show the " +"recipe process in a new tab (see **1** in figure below); the **Image " +"selection** window will appear in the lower right (**2**)." msgstr "" #: ../../source/cookbook/classification.rst:25 -msgid "The first step is to change the name of the recipe. This name will be used to identify your files and recipes in SEPAL folders. Use the best-suited convention for your needs. Simply double-click the tab and enter a new name. It will default to :code:`Classification_`." +msgid "" +"The first step is to change the name of the recipe. This name will be " +"used to identify your files and recipes in SEPAL folders. Use the best-" +"suited convention for your needs. Simply double-click the tab and enter a" +" new name. It will default to :code:`Classification_`." msgstr "" #: ../../source/cookbook/classification.rst:37 -msgid "The SEPAL team recommends using the following naming convention: :code:`__`." +msgid "" +"The SEPAL team recommends using the following naming convention: " +":code:`__`." msgstr "" #: ../../source/cookbook/classification.rst:40 @@ -71,7 +86,9 @@ msgid "Parameters" msgstr "" #: ../../source/cookbook/classification.rst:42 -msgid "In the lower-right corner, the following five tabs are available, allowing you to customize the time series to your needs:" +msgid "" +"In the lower-right corner, the following five tabs are available, " +"allowing you to customize the classification to your needs:" msgstr "" #: ../../source/cookbook/classification.rst:44 @@ -99,19 +116,29 @@ msgid "Image selection" msgstr "" #: ../../source/cookbook/classification.rst:57 -msgid "The first step consists of selecting the image bands on which to apply the classifier. The number of selected bands (i.e. images) is not limited." +msgid "" +"The first step consists of selecting the image bands on which to apply " +"the classifier. The number of selected bands (i.e. images) is not " +"limited." msgstr "" #: ../../source/cookbook/classification.rst:61 -msgid "Keep in mind that increasing the number of bands to analyse will improve the model but slow down the rendering of the final image." +msgid "" +"Keep in mind that increasing the number of bands to analyse will improve " +"the model but slow down the rendering of the final image." msgstr "" #: ../../source/cookbook/classification.rst:65 -msgid "If multiple images are selected, all selected images should overlap. If masked pixels are found in one of the bands, the classifier will mask them." +msgid "" +"If multiple images are selected, all selected images should overlap. If " +"masked pixels are found in one of the bands, the classifier will mask " +"them." msgstr "" #: ../../source/cookbook/classification.rst:67 -msgid "Select :btn:` Add`. The following screen should be displayed:" +msgid "" +"Select :btn:` Add`. The following screen should be " +"displayed:" msgstr "" #: ../../source/cookbook/classification.rst:74 @@ -119,11 +146,15 @@ msgid "Image type" msgstr "" #: ../../source/cookbook/classification.rst:76 -msgid "Users can select images coming from an **Existing recipe** or an exported **GEE asset** (see advantages and disadvantages below). Both should be an :code:`ee.Image`, rather than a :code:`Time series` or :code:`ee.ImageCollection`." +msgid "" +"Users can select images coming from a **Saved SEPAL recipe** or an " +"exported **Earth Engine asset** (see advantages and disadvantages below)." +" Both should be an :code:`ee.Image`, rather than a :code:`Time series` or" +" :code:`ee.ImageCollection`." msgstr "" #: ../../source/cookbook/classification.rst:78 -msgid "**Existing recipe**:" +msgid "**Saved SEPAL recipe**:" msgstr "" #: ../../source/cookbook/classification.rst:80 @@ -136,7 +167,9 @@ msgid "all of the computed bands from SEPAL can be used; and" msgstr "" #: ../../source/cookbook/classification.rst:83 -msgid "any modification to the existing recipe will be propagated in the final classification." +msgid "" +"any modification to the existing recipe will be propagated in the final " +"classification." msgstr "" #: ../../source/cookbook/classification.rst:85 @@ -145,11 +178,14 @@ msgid "Disadvantages:" msgstr "" #: ../../source/cookbook/classification.rst:87 -msgid "the initial recipe will be computed at each rendering step, slowing down the classification process and potentially breaking on-the-fly rendering due to GEE timeout errors." +msgid "" +"the initial recipe will be computed at each rendering step, slowing down " +"the classification process and potentially breaking on-the-fly rendering " +"due to GEE timeout errors." msgstr "" #: ../../source/cookbook/classification.rst:89 -msgid "**GEE asset**:" +msgid "**Earth Engine asset**:" msgstr "" #: ../../source/cookbook/classification.rst:93 @@ -177,11 +213,18 @@ msgid "Select bands" msgstr "" #: ../../source/cookbook/classification.rst:108 -msgid "For this example, we will use a public asset created with the **Optical mosaic** tool from SEPAL. It's a Sentinel-2 mosaic of Eastern Province in Zambia during the dry season from 2012 to 2020. Multiple bands are available." +msgid "" +"For this example, we will use a public asset created with the **Optical " +"mosaic** tool from SEPAL. It's a Sentinel-2 mosaic of Eastern Province in" +" Zambia during the dry season from 2012 to 2021. Multiple bands are " +"available." msgstr "" #: ../../source/cookbook/classification.rst:110 -msgid "Use the following asset name if you want to reproduce our workflow: :code:`projects/sepal-cookbook/assets/classification/zmb-eastern_2012_2021`" +msgid "" +"Use the following asset name if you want to reproduce our workflow: " +":code:`projects/sepal-cookbook/assets/classification/zmb-" +"eastern_2012_2021`" msgstr "" #: ../../source/cookbook/classification.rst:113 @@ -189,7 +232,12 @@ msgid "Image bands" msgstr "" #: ../../source/cookbook/classification.rst:115 -msgid "Once an asset has been selected, SEPAL will load its bands in the interface. You can use any band that is native to the image as input for the classification process. Simply click on the band name to select them. The selected bands are summarized in the expansion panel title (**1**) and displayed in gold in the pane content (**2**)." +msgid "" +"Once an asset has been selected, SEPAL will load its bands in the " +"interface. You can use any band that is native to the image as input for " +"the classification. Open the :guilabel:`Select bands...` dropdown and " +"click a band name to add it (the highlighted option). Each selected band " +"then appears as a removable chip in the **Image bands** panel." msgstr "" #: ../../source/cookbook/classification.rst:117 @@ -205,7 +253,7 @@ msgid ":code:`nir`" msgstr "" #: ../../source/cookbook/classification.rst:121 -msgid ":code:`swir`" +msgid ":code:`swir1`" msgstr "" #: ../../source/cookbook/classification.rst:122 @@ -217,39 +265,54 @@ msgid "Derived bands" msgstr "" #: ../../source/cookbook/classification.rst:131 -msgid "The analysis is not limited to natively available bands. SEPAL can also build additional derived bands on-the-fly." +msgid "" +"The analysis is not limited to natively available bands. SEPAL can also " +"build additional derived bands on-the-fly." msgstr "" #: ../../source/cookbook/classification.rst:133 -msgid "Select :btn:` Derived bands` at the bottom of the pop-up window and select the deriving method. This will add a a new panel to the expansion panel with the selected method name (**1**). The selected method will be applied to the selected bands." +msgid "" +"Select :btn:` Derived bands` at the bottom of the pop-" +"up window and select the deriving method. This adds a new panel named " +"after the selected method (e.g. **Normalized difference**). The method " +"will be applied to the bands you add to that panel." msgstr "" #: ../../source/cookbook/classification.rst:137 -msgid "If more than two bands are selected, the operation will be applied to the Cartesian product of the bands. If you select bands :math:`A`, :math:`B` and :math:`C`, and apply the :code:`Difference` derived bands, you'll add three bands to your analysis:" +msgid "" +"If you select two bands, :math:`A` and :math:`B`, and apply the " +"**Normalized difference** derived band, you'll add one band to your " +"analysis:" msgstr "" #: ../../source/cookbook/classification.rst:139 -msgid ":math:`A - B`" -msgstr "" - -#: ../../source/cookbook/classification.rst:140 -msgid ":math:`A - C`" +msgid ":math:`(A - B) / (A + B)`" msgstr "" #: ../../source/cookbook/classification.rst:141 -msgid ":math:`B - C`" +msgid "Selecting more than two bands applies the operation to each pair of them." msgstr "" #: ../../source/cookbook/classification.rst:149 -msgid "You should notice that in the figure, we compute the normalized difference between :code:`nir` and :code:`red` (i.e. the NDVI). It is also pre-computed in the :code:`Indexes` derived bands." +msgid "" +"You should notice that in the figure, we compute the normalized " +"difference between :code:`nir` and :code:`red` (i.e. the NDVI). It is " +"also pre-computed in the :code:`Indexes` derived bands." msgstr "" #: ../../source/cookbook/classification.rst:151 -msgid "Once image selection is complete, select :btn:` Apply` and the pop-up window will close. The images and bands will be displayed in the :guilabel:`IMG` panel in the lower-right corner of the screen. By selecting the :btn:`` button, you will remove the image and its band from the analysis altogether." +msgid "" +"Once image selection is complete, select :btn:` Apply`" +" and the pop-up window will close. The images and bands will be displayed" +" in the :guilabel:`IMG` panel in the lower-right corner of the screen. By" +" selecting the :btn:`` button, you will remove the " +"image and its bands from the analysis altogether." msgstr "" #: ../../source/cookbook/classification.rst:157 -msgid "From there, select :btn:` Next` to continue to the next step." +msgid "" +"From there, select :btn:` Next` to continue to" +" the next step." msgstr "" #: ../../source/cookbook/classification.rst:160 @@ -257,11 +320,17 @@ msgid "Legend setup" msgstr "" #: ../../source/cookbook/classification.rst:162 -msgid "In this step, the user will specify the legend that should be used in the output classified image. Any categorical classification that associates integer value to a class name will work. SEPAL provides multiple ways to create and customize a legend." +msgid "" +"In this step, the user will specify the legend that should be used in the" +" output classified image. Any categorical classification that associates " +"integer value to a class name will work. SEPAL provides multiple ways to " +"create and customize a legend." msgstr "" #: ../../source/cookbook/classification.rst:170 -msgid "Legends created here are fully compatible with other functionalities of SEPAL, including applications." +msgid "" +"Legends created here are fully compatible with other functionalities of " +"SEPAL, including applications." msgstr "" #: ../../source/cookbook/classification.rst:173 @@ -269,7 +338,9 @@ msgid "Manual legend" msgstr "" #: ../../source/cookbook/classification.rst:175 -msgid "The first and most natural way of building a legend is to do it from scratch." +msgid "" +"The first and most natural way of building a legend is to do it from " +"scratch." msgstr "" #: ../../source/cookbook/classification.rst:177 @@ -281,7 +352,9 @@ msgid "A class is defined by three key elements:" msgstr "" #: ../../source/cookbook/classification.rst:181 -msgid "Color (1): Select the small color square to open the color selector and choose any color (color[s] must be unique)." +msgid "" +"Color (1): Select the small color square to open the color selector and " +"choose any color (color[s] must be unique)." msgstr "" #: ../../source/cookbook/classification.rst:182 @@ -293,15 +366,26 @@ msgid "Class (3): Insert a class description (cannot be empty)." msgstr "" #: ../../source/cookbook/classification.rst:185 -msgid "Select the :btn:` Add` button again to add an extra class line. The :btn:`` button can be used to remove a specific line." +msgid "" +"Select the :btn:` Add` button again to add an extra " +"class line. The :btn:`` button can be used to remove a" +" specific line." msgstr "" #: ../../source/cookbook/classification.rst:189 -msgid "Select :btn:`HEX` (4) to display the hexadecimal value of the selected color. It can also be used to insert a known color palette by utilizing its values." +msgid "" +"Select :btn:`HEX` (4) to display the hexadecimal value of the selected " +"color. It can also be used to insert a known color palette by utilizing " +"its values." msgstr "" #: ../../source/cookbook/classification.rst:191 -msgid "If multiple classes are created and you are not sure which one to use, you can apply colors to them by selecting a preselected color-map (5). They are provided by the `GEE community `__ and will be applied to every existing class in your panel." +msgid "" +"If multiple classes are created and you are not sure which one to use, " +"you can apply colors to them by selecting a preselected color-map (5). " +"They are provided by the `GEE community `__ and will be applied to every existing class in your " +"panel." msgstr "" #: ../../source/cookbook/classification.rst:198 @@ -309,11 +393,16 @@ msgid "Import legend" msgstr "" #: ../../source/cookbook/classification.rst:200 -msgid "If you already have a file describing your legend, you can use it, rather than identifying every legend item individually. Your legend needs to be saved in .csv format and contain the following information:" +msgid "" +"If you already have a file describing your legend, you can use it, rather" +" than identifying every legend item individually. Your legend needs to be" +" saved in .csv format and contain the following information:" msgstr "" #: ../../source/cookbook/classification.rst:202 -msgid "color (stored as a hexadecimal value [e.g. #FFFF00] or in three columns [red, blue, green]);" +msgid "" +"color (stored as a hexadecimal value [e.g. #FFFF00] or in three columns " +"[red, blue, green]);" msgstr "" #: ../../source/cookbook/classification.rst:203 @@ -325,27 +414,43 @@ msgid "class (stored as a string)." msgstr "" #: ../../source/cookbook/classification.rst:208 -msgid "The column names will help SEPAL predict information, but are not compulsory." +msgid "" +"The column names will help SEPAL predict information, but are not " +"compulsory." msgstr "" #: ../../source/cookbook/classification.rst:210 -msgid "For example, a .csv file containing the following information is fully qualified to be used in SEPAL:" +msgid "" +"For example, a .csv file containing the following information is fully " +"qualified to be used in SEPAL:" msgstr "" #: ../../source/cookbook/classification.rst:227 -msgid "Alternatively, a file containing the following information – including RGB-defined colors – is also acceptable:" +msgid "" +"Alternatively, a file containing the following information – including " +"RGB-defined colors – is also acceptable:" msgstr "" #: ../../source/cookbook/classification.rst:244 -msgid "Once the fully qualified legend file has been prepared on your computer, select :btn:`` and then :code:`Import from CSV`, which will open a pop-up window where you can drag and drop the file or select it manually from your computer files." +msgid "" +"Once the fully qualified legend file has been prepared on your computer, " +"select :btn:`` and then :code:`Import from " +"CSV...`, which will open a pop-up window where you can drag and drop the " +"file or select it manually from your computer files." msgstr "" #: ../../source/cookbook/classification.rst:246 -msgid "As shown in the following image, you can then select the columns that are defining your .csv file (select :btn:`Single column` for hexadecimal-defined colors and :btn:`Multiple columns` for RGB-defined colors)." +msgid "" +"As shown in the following image, you can then select the columns that are" +" defining your .csv file (select :btn:`Single column` for hexadecimal-" +"defined colors and :btn:`Multiple columns` for RGB-defined colors)." msgstr "" #: ../../source/cookbook/classification.rst:252 -msgid "Select :btn:` Apply` to validate your selection. The classes will be added to the legend panel and you'll be able to modify the legend using the parameters presented in the previous subsection." +msgid "" +"Select :btn:` Apply` to validate your selection. The " +"classes will be added to the legend panel and you'll be able to modify " +"the legend using the parameters presented in the previous subsection." msgstr "" #: ../../source/cookbook/classification.rst:258 @@ -353,7 +458,12 @@ msgid "Select :btn:` Done` to validate this step." msgstr "" #: ../../source/cookbook/classification.rst:260 -msgid "Every pane should be closed; the colors of the legend should now be displayed at the bottom of the map. No classification is performed, as we didn't provide any training data. Nevertheless, this step is the last mandatory step for setting parameters. Training data can be added using the on-the-fly training functionality." +msgid "" +"Every pane should be closed; the colors of the legend should now be " +"displayed at the bottom of the map. No classification is performed, as we" +" didn't provide any training data. Nevertheless, this step is the last " +"mandatory step for setting parameters. Training data can be added using " +"the on-the-fly training functionality." msgstr "" #: ../../source/cookbook/classification.rst:263 @@ -361,499 +471,951 @@ msgid "Export legend" msgstr "" #: ../../source/cookbook/classification.rst:265 -msgid "Once your legend is validated, select the :btn:`` and then :code:`Export as CSV`." +msgid "" +"Once your legend is validated, select the :btn:``" +" and then :code:`Export as CSV`." msgstr "" #: ../../source/cookbook/classification.rst:267 -msgid "A file will be downloaded to you computer named :code:`_legend.csv`, which will contain the legend information in the following format:" +msgid "" +"A file will be downloaded to your computer named " +":code:`_legend.csv`, which will contain the legend " +"information in the following format:" msgstr "" #: ../../source/cookbook/classification.rst:277 -msgid "Select training data" +msgid "Training data setup" msgstr "" -#: ../../source/cookbook/classification.rst:281 -msgid "This step is not mandatory." -msgstr "" - -#: ../../source/cookbook/classification.rst:283 +#: ../../source/cookbook/classification.rst:279 msgid "Two inputs are required to create the classification output:" msgstr "" -#: ../../source/cookbook/classification.rst:285 +#: ../../source/cookbook/classification.rst:281 msgid "pixel values (e.g. bands) to classify; and" msgstr "" -#: ../../source/cookbook/classification.rst:286 +#: ../../source/cookbook/classification.rst:282 msgid "training data to set up the classification model." msgstr "" -#: ../../source/cookbook/classification.rst:288 -msgid "This menu will help the user manage the training data of the model used. To open it, select :btn:`TRN` in the lower-right side of the window." +#: ../../source/cookbook/classification.rst:284 +msgid "" +"This menu will help the user manage the training data of the model used. " +"To open it, select :btn:`TRN` in the lower-right side of the window." msgstr "" -#: ../../source/cookbook/classification.rst:295 -msgid "Collected reference data" +#: ../../source/cookbook/classification.rst:291 +msgid "Import existing training data" msgstr "" -#: ../../source/cookbook/classification.rst:297 -msgid "Collected reference data are data selected on the fly by the user. The workflow will be explained later in the documentation." +#: ../../source/cookbook/classification.rst:293 +msgid "" +"Instead of collecting all data by hand, SEPAL provides numerous ways to " +"include already existing training data into your analysis. The data can " +"be from multiple formats and will be included in the model to improve the" +" quality of the final map." msgstr "" -#: ../../source/cookbook/classification.rst:299 -msgid "In this pane, this type of data can be managed by the user. The data appear as a pair, associating coordinates to a class value, which will be used to create training data in the classification model." +#: ../../source/cookbook/classification.rst:297 +msgid "" +"The imported files can use an extended version of the legend provided in " +"the previous step, but to avoid unexpected behaviour, at least one of the" +" classes of your legend and the provided training data need to match." msgstr "" #: ../../source/cookbook/classification.rst:301 -msgid "If you're satisfied with the current selection and you want to share the data with others, select :btn:`` and then :code:`Export reference data to csv`. A file will be created and sent to your computer, named :code:`_reference_data.csv`. It will embed all of the gathered point data using the following convention:" +msgid "" +"If the added training data are outside of the image to classify, they " +"will have no impact on the final result (with the exception of the SEPAL " +"recipe)." +msgstr "" + +#: ../../source/cookbook/classification.rst:303 +msgid "" +"To add new data, select :btn:` Add` and choose the type" +" of data to import:" msgstr "" -#: ../../source/cookbook/classification.rst:309 -msgid "If you are not satisfied with the selected data, select :btn:`` and then :code:`Clear collected reference data` to remove all collected data from the analysis." +#: ../../source/cookbook/classification.rst:310 +msgid "CSV" msgstr "" -#: ../../source/cookbook/classification.rst:313 -msgid "A confirmation pop-up window should prevent you from accidentally deleting everything." +#: ../../source/cookbook/classification.rst:312 +msgid "" +"By selecting :btn:`CSV file`, SEPAL will request a file from your " +"computer in :code:`.csv` format. The file needs to include two pieces of " +"information: geographic coordinates and class value." msgstr "" -#: ../../source/cookbook/classification.rst:316 -msgid "Existing training data" +#: ../../source/cookbook/classification.rst:314 +msgid "" +"This can be done using coordinates in :code:`EPSG:4326` latitude and " +"longitude, as well as a `GeoJSON `__ compatible " +"point object. The file can embed other multiple columns that will not be " +"considered during the analysis." msgstr "" -#: ../../source/cookbook/classification.rst:318 -msgid "Instead of collecting all data by hand, SEPAL provides numerous ways to include already existing training data into your analysis. The data can be from multiple formats and will be included in the model to improve the quality of the final map." +#: ../../source/cookbook/classification.rst:316 +msgid "The following table is compatible with SEPAL:" msgstr "" -#: ../../source/cookbook/classification.rst:322 -msgid "The imported files can use an extended version of the legend provided in the previous step, but to avoid unexpected behaviour, at least one of the classes of your legend and the provided training data need to match." +#: ../../source/cookbook/classification.rst:324 +msgid "" +"The columns used to define the X (longitude) and Y (latitude) coordinates" +" are manually set up in the pop-up window. Select :btn:` Next` once every column is filled." msgstr "" -#: ../../source/cookbook/classification.rst:326 -msgid "If the added training data are outside of the image to classify, they will have no impact on the final result (with the exception of the SEPAL recipe)." +#: ../../source/cookbook/classification.rst:332 +msgid "" +"If your file contains a GeoJSON column instead of coordinates, select " +":btn:`GeoJSON column` to switch the interface to one column selection." msgstr "" -#: ../../source/cookbook/classification.rst:328 -msgid "To add new data, select :btn:` Add` and choose the type of data to import:" +#: ../../source/cookbook/classification.rst:334 +msgid "" +"Now that you have set up the coordinates of your points, SEPAL will ask " +"how the class values (not the names) are stored, through the **Class " +"format** selector:" msgstr "" -#: ../../source/cookbook/classification.rst:335 -msgid "CSV" +#: ../../source/cookbook/classification.rst:336 +msgid "" +"**Single column**: all class values are held in a single column — select " +"that column from your file." msgstr "" #: ../../source/cookbook/classification.rst:337 -msgid "By selecting :btn:`csv file`, SEPAL will request a file from your computer in :code:`.csv` format. The file needs to include two pieces of information: geographic coordinates and class value." +msgid "**Column per class**: each class has its own column." msgstr "" -#: ../../source/cookbook/classification.rst:339 -msgid "This can be done using coordinates in :code:`EPSG:4326` latitude and longitude, as well as a `GeoJSON `__ compatible point object. The file can embed other multiple columns that will not be considered during the analysis." +#: ../../source/cookbook/classification.rst:338 +msgid "**Other format**: use this if your data has a different layout." msgstr "" -#: ../../source/cookbook/classification.rst:341 -msgid "The following table is compatible with SEPAL:" +#: ../../source/cookbook/classification.rst:342 +msgid "" +"Using the :code:`Row filter expression` field, you can keep only the rows" +" that meet a condition — a JavaScript-like expression, referencing your " +"columns by name, that evaluates to ``true`` for the rows to keep (leave " +"it empty to keep all). For example, :code:`class == 30` keeps only the " +"rows in class 30, and :code:`class == 10 || class == 20` keeps classes 10" +" and 20." +msgstr "" + +#: ../../source/cookbook/classification.rst:348 +msgid "" +"Select :btn:` Next` to add the data to the " +"model. SEPAL will provide a summary of the classes in the legend of the " +"classification and the number of training points added by your file." msgstr "" -#: ../../source/cookbook/classification.rst:349 -msgid "The columns used to define the X (longitude) and Y (latitude) coordinates are manually set up in the pop-up window. Select :btn:` Next` once every column is filled." +#: ../../source/cookbook/classification.rst:350 +msgid "" +"Selecting the :btn:` Done` button will complete the " +"uploading procedure." msgstr "" #: ../../source/cookbook/classification.rst:357 -msgid "If your file contains a GeoJSON column instead of coordinates, select :btn:`geojson column` to switch the interface to one column selection." +msgid "GEE table" msgstr "" #: ../../source/cookbook/classification.rst:359 -msgid "Now that you have set up the coordinates of your points, SEPAL will request the columns specifying the class value (not the name) in a second frame. Only the single column is supported so far. Select the column from your file that embeds the class values." +msgid "" +"By selecting :btn:`Earth Engine Table`, SEPAL will request a file from " +"your computer in :code:`.csv` format. The file needs to provide two " +"pieces of information: geographic coordinates and class value." msgstr "" -#: ../../source/cookbook/classification.rst:363 -msgid "Using the :code:`row filter expression` text field, one can filter out some lines of the table. Refer to the `features <#>`__ section to learn more." +#: ../../source/cookbook/classification.rst:361 +msgid "" +"The process is nearly the same as found in the documentation above " +"discussing .csv tables. The only difference should be the geometry " +"column, as GEE assets usually embed a :code:`.geojson` column by default." +" If this column exists, it will be autodetected by SEPAL." msgstr "" -#: ../../source/cookbook/classification.rst:369 -msgid "Select :btn:` next` to add the data to the model. SEPAL will provide a summary of the classes in the legend of the classification and the number of training points added by your file." +#: ../../source/cookbook/classification.rst:363 +msgid "" +"For the other steps, please reproduce what was presented in the .csv " +"section above." msgstr "" #: ../../source/cookbook/classification.rst:371 -msgid "Selecting the :btn:` Done` button will complete the uploading procedure." +msgid "" +"To build the documentation example, use this public asset: " +":code:`projects/sepal-" +"cookbook/assets/classification/zmb_eastern_esa_2012_2021_reference_data`." +msgstr "" + +#: ../../source/cookbook/classification.rst:374 +msgid "Sample classification" +msgstr "" + +#: ../../source/cookbook/classification.rst:376 +msgid "" +"Instead of providing dataset points, SEPAL can also extract reference " +"data from an already existing classification – which is a good way to " +"improve an already existing classification system using an image with a " +"better resolution." msgstr "" #: ../../source/cookbook/classification.rst:378 -msgid "GEE table" +msgid "" +"To sample data, SEPAL will randomly select a number of points in each " +"class and extract the class value using the provided resolution." msgstr "" #: ../../source/cookbook/classification.rst:380 -msgid "By selecting :btn:`Earth Engine Table`, SEPAL will request a file from your computer in :code:`.csv` format. The file needs to provide two pieces of information: geographic coordinates and class value." +msgid "" +"Start by selecting :btn:`Sample classification` in the opened pop-up " +"window, where all of the parameters can be set:" msgstr "" #: ../../source/cookbook/classification.rst:382 -msgid "The process is nearly the same as found in the documentation above discussing .csv tables. The only difference should be the geometry column, as GEE assets usually embed a :code:`.goejson` column by default. If this column exists, it will be autodetected by SEPAL." -msgstr "" - -#: ../../source/cookbook/classification.rst:384 -msgid "For the other steps, please reproduce what was presented in the .csv section above." +msgid "" +"**Samples per class**: the number of samples per class of the provided " +"image. The more samples you request, the more accurate the model will be " +"(if too many samples are selected, on-the-fly visualization will never " +"render). The default is :code:`100`, but you can pick other preset " +"values, such as the :code:`1000` used in this example." msgstr "" -#: ../../source/cookbook/classification.rst:392 -msgid "To build the documentation example, use this public asset: :code:`projects/sepal-cookbook/assets/classification/zmb_eastern_esa_2012_2021_reference_data`." +#: ../../source/cookbook/classification.rst:383 +msgid "" +"**Scale to sample in**: the scale used to create the sample in the " +"provided image (it should match the image to classify resolution; default" +" to: :code:`30 m`)." msgstr "" -#: ../../source/cookbook/classification.rst:395 -msgid "Sample classification" +#: ../../source/cookbook/classification.rst:384 +msgid "" +"**Image source**: choose whether to sample from an existing :guilabel:`EE" +" Asset` or a saved :guilabel:`Recipe`." msgstr "" -#: ../../source/cookbook/classification.rst:397 -msgid "Instead of providing dataset points, SEPAL can also extract reference data from an already existing classification – which is a good way to improve an already existing classification system using an image with a better resolution." +#: ../../source/cookbook/classification.rst:385 +msgid "" +"**EE asset ID of classification**: when :guilabel:`EE Asset` is selected," +" the ID of the classification to sample (it should be an :code:`ee.Image`" +" accessible to the user). When :guilabel:`Recipe` is selected instead, " +"choose one of your saved classification recipes to sample." msgstr "" -#: ../../source/cookbook/classification.rst:399 -msgid "To sample data, SEPAL will randomly select a number of points in each class and extract the class value using the provided resolution." +#: ../../source/cookbook/classification.rst:386 +msgid "" +"**Class band**: The class to use for classification value (the dropdown " +"menu will be filled with the bands found in the provided asset or " +"recipe)." msgstr "" -#: ../../source/cookbook/classification.rst:401 -msgid "Start by selecting btn:`Sample classification` in the opened pop-up window, where all of the the parameters can be set:" +#: ../../source/cookbook/classification.rst:394 +msgid "" +"When all of the parameters are selected, it can take time, as SEPAL " +"builds the sampling values on the fly. They will only be displayed once " +"the sampling is validated." msgstr "" -#: ../../source/cookbook/classification.rst:403 -msgid "**Sample per class**: the number of samples per class of the provided image. The more samples you request, the more accurate the model will be (if too many samples are selected, on-the-fly visualization will never render; default to: :code:`1000`)." +#: ../../source/cookbook/classification.rst:396 +msgid "" +"Select :btn:` Next` to display the sampling " +"summary. In this pane, SEPAL displays each class of the legend (as " +"defined in the previous subsection) and the number of samples created for" +" it." msgstr "" -#: ../../source/cookbook/classification.rst:404 -msgid "**Scale to sample in**: the scale used to create the sample in the provided image (it should match the image to classify resolution; default to: :code:`30 m`)." +#: ../../source/cookbook/classification.rst:398 +msgid "" +"Each class shows its sample count next to a green :btn:`` button — use it to change the number of samples for that class. By" +" default, SEPAL ignores the samples with a :code:`Null` value; select " +":btn:`Default` on any class so that these points end up in the default " +"class instead of being ignored." msgstr "" #: ../../source/cookbook/classification.rst:405 -msgid "**EE asset ID**: the ID of the classification to sample (it should be an :code:`ee.Image` accessible to the user)." +msgid "SEPAL recipe" msgstr "" -#: ../../source/cookbook/classification.rst:406 -msgid "**Class band**: The class to use for classification value (the dropdown menu will be filled with the bands found in the provided asset)." +#: ../../source/cookbook/classification.rst:407 +msgid "" +"SEPAL is also able to directly apply a model built in another recipe as " +"training data. In this case, we are not importing the points, but all of " +"the model from the external recipe. It will not add points to the map. " +"It's useful when the same classification needs to be applied on the same " +"area for multiple years. The classification work can be carried out only " +"in the first year and then applied recursively on all the others." msgstr "" -#: ../../source/cookbook/classification.rst:410 -msgid "To reproduce this example, use the following asset as an image to sample: :code:`projects/sepal-cookbook/assets/classification/zmb_copernicus_landcover`." +#: ../../source/cookbook/classification.rst:409 +msgid "" +"Select :btn:`Saved SEPAL recipe` to open the pop-up window. In the " +"dropdown menu, select one of the recipes saved in your SEPAL account." msgstr "" -#: ../../source/cookbook/classification.rst:418 -msgid "When all of the parameters are selected, it can take time, as SEPAL builds the sampling values on the fly. They will only be displayed once the sampling is validated." +#: ../../source/cookbook/classification.rst:413 +msgid "" +"The imported recipe needs to be a **Classification** recipe. If none are " +"found, the dropdown menu will be empty." msgstr "" -#: ../../source/cookbook/classification.rst:420 -msgid "Select :btn:` Next` to display the sampling summary. In this pane, SEPAL displays each class of the legend (as defined in the previous subsection) and the number of samples created for it." +#: ../../source/cookbook/classification.rst:415 +msgid "This recipe cannot come from another SEPAL account." msgstr "" #: ../../source/cookbook/classification.rst:422 -msgid "Select the :btn:`` buttons (**1**) to change the number of samples in a specific class. By default, SEPAL ignores the samples with a :code:`Null` value. One can select :btn:`Default` (**2**) for any of the classes so that these points end up in the default class instead of being ignored." +msgid "Collect Earth Online" +msgstr "" + +#: ../../source/cookbook/classification.rst:427 +msgid "" +"SEPAL can import training data you have collected in a `Collect Earth " +"Online `__ (CEO) project directly, without " +"exporting and re-uploading a file. Select :btn:`Collect Earth Online` to " +"open the panel." msgstr "" #: ../../source/cookbook/classification.rst:429 -msgid "SEPAL recipe" +msgid "**Connect to your CEO account**" msgstr "" #: ../../source/cookbook/classification.rst:431 -msgid "SEPAL is also able to directly apply a model built in another recipe as training data. In this case, we are not importing the points, but all of the model from the external recipe. It will not add points to the map. It's useful when the same classification needs to be applied on the same area for multiple years. The classification work can be carried out only in the first year and then applied recursively on all the others." +msgid "The panel starts as :ceo-disconnected:`Disconnected from CEO`." msgstr "" #: ../../source/cookbook/classification.rst:433 -msgid "Select :btn:`Saved SEPAL recipe` to open the pop-up window. In the dropdown menu, select one of the recipes saved in your SEPAL account." +msgid "" +"Select :btn:`Connect` to open the **Collect Earth Online Authentication**" +" window, enter your :code:`CEO Email` and :code:`CEO Password`, and " +"select :btn:`Connect` again." msgstr "" #: ../../source/cookbook/classification.rst:437 -msgid "The imported recipe needs to be a **Classification** recipe. If none are found, the dropdown menu will be empty." +msgid "" +"Your credentials are never stored on SEPAL servers. When your SEPAL " +"session ends, the CEO connection is terminated automatically. You can " +"also select :btn:`Disconnect` at any time to end it manually." msgstr "" #: ../../source/cookbook/classification.rst:439 -msgid "This recipe cannot come from another SEPAL account." +msgid "**Select the institution and project**" msgstr "" -#: ../../source/cookbook/classification.rst:446 -msgid "Use auxiliary datasets" +#: ../../source/cookbook/classification.rst:441 +msgid "Once connected (:ceo-connected:`You are connected to CEO`), fill in:" msgstr "" -#: ../../source/cookbook/classification.rst:448 -msgid "Some information that could be useful to the classification model is not always included in your image bands. A common example is **Elevation**. In order to improve the quality of the classification, SEPAL can provide some extra datasets to add auxiliary bands to the classification model." +#: ../../source/cookbook/classification.rst:443 +msgid "" +"**Institution**: the CEO institution to pull data from. Only institutions" +" where you are both a **member** and an **admin** are listed." +msgstr "" + +#: ../../source/cookbook/classification.rst:444 +msgid "" +"**Project**: the project within that institution whose collected data you" +" want to use." msgstr "" -#: ../../source/cookbook/classification.rst:450 -msgid "Select :btn:`AUX` to open the **Auxiliaries** tab. Three sources are currently implemented in the platform (any number of them can be selected):" +#: ../../source/cookbook/classification.rst:445 +msgid "" +"**Data type**: whether to import the project's :guilabel:`Plot` " +"(aggregated plot) data or its :guilabel:`Sample` data." msgstr "" -#: ../../source/cookbook/classification.rst:452 -msgid "**Latitude**: On-the-fly latitude dataset built from the coordinates of each pixel's center." +#: ../../source/cookbook/classification.rst:451 +msgid "" +"SEPAL then loads the collected data, ready to be mapped to your legend in" +" the next two steps." msgstr "" #: ../../source/cookbook/classification.rst:453 -msgid "**Terrain**: From the `NASA SRTM Digital Elevation 30 m `__ dataset, SEPAL will use the :code:`Elevation`, :code:`Slope` and :code:`Aspect` bands. It will also add an :code:`Eastness` and :code:`Northness` band derived from :code:`Aspect`." +msgid "**Set the location**" msgstr "" -#: ../../source/cookbook/classification.rst:454 -msgid "**Water**: From the `JRC Global Surface Water Mapping Layers, v1.3 `__ dataset, SEPAL will add the following bands: :code:`occurrence`, :code:`change_abs`, :code:`change_norm`, :code:`seasonality`, :code:`max_extent`, :code:`water_occurrence`, :code:`water_change_abs`, :code:`water_change_norm`, :code:`water_seasonality` and :code:`water_max_extent`." +#: ../../source/cookbook/classification.rst:455 +msgid "" +"SEPAL reads the point locations from the data and pre-fills the " +"**Location type** (:guilabel:`X/Y coordinate columns` or " +":guilabel:`GeoJSON column`) together with the matching coordinate " +"columns. These are detected automatically from the CEO data, so you can " +"usually confirm them as they are." msgstr "" -#: ../../source/cookbook/classification.rst:461 -msgid "Classifier configuration" +#: ../../source/cookbook/classification.rst:457 +msgid "**Set the class format**" msgstr "" -#: ../../source/cookbook/classification.rst:465 -msgid "Customizing the classifier is a section designed for advanced users. Make sure that you thoroughly understand how the classifier you're using works before changing its parameters." +#: ../../source/cookbook/classification.rst:459 +msgid "" +"Tell SEPAL how the class values are stored in the CEO data, through the " +"**Class format** selector:" msgstr "" -#: ../../source/cookbook/classification.rst:469 -msgid "The default value is a **Random Forest** classifier using 25 trees." +#: ../../source/cookbook/classification.rst:461 +msgid "**Single column**: all class values are held in a single column." msgstr "" -#: ../../source/cookbook/classification.rst:471 -msgid "The **Classification** tool used in SEPAL is based on the `Smile - Statistical Machine Intelligence and Learning Engine Javascript `__ library (refer to their documentation for specific descriptions of each model)." +#: ../../source/cookbook/classification.rst:462 +msgid "" +"**Column per class**: each class has its own column. CEO data is mostly " +"organized this way." msgstr "" -#: ../../source/cookbook/classification.rst:473 -msgid "Select :btn:`CLS` to open the **Classification parameter** menu. SEPAL supports seven classifiers:" +#: ../../source/cookbook/classification.rst:463 +msgid "**Other format**: use this if your reference data has a different layout." msgstr "" -#: ../../source/cookbook/classification.rst:475 -msgid "random forest" +#: ../../source/cookbook/classification.rst:465 +msgid "" +"SEPAL pre-selects the format based on the chosen data type, but you can " +"change it." msgstr "" -#: ../../source/cookbook/classification.rst:476 -msgid "gradient tree boost" +#: ../../source/cookbook/classification.rst:467 +msgid "" +"Select :btn:` Next` to reach the class " +"summary, which lists each legend class. For every class, select the :btn" +":`` button to choose the column that corresponds to it," +" then select :btn:` Done` to add the reference data to" +" the model." msgstr "" -#: ../../source/cookbook/classification.rst:477 -msgid "cart" +#: ../../source/cookbook/classification.rst:474 +msgid "Manage collected reference data" msgstr "" -#: ../../source/cookbook/classification.rst:478 -msgid "naive bayes" +#: ../../source/cookbook/classification.rst:476 +msgid "" +"Collected reference data are the points you add directly on the map with " +"the on-the-fly training tool, described in the `On-the-fly training`_ " +"section. Each point pairs a set of coordinates with a class value. Select" +" the :btn:`` button — to the right of the :btn" +":` Add` button in the :btn:`TRN` tab — to manage them:" msgstr "" -#: ../../source/cookbook/classification.rst:479 -msgid "SVM" +#: ../../source/cookbook/classification.rst:478 +msgid "" +"**Export reference data to CSV**: download a " +":code:`_reference_data.csv` file to share your points with " +"others. It will embed all of the gathered point data using the following " +"convention:" msgstr "" -#: ../../source/cookbook/classification.rst:480 -msgid "min distance" +#: ../../source/cookbook/classification.rst:486 +msgid "" +"**Clear collected reference data**: remove every collected point from the" +" analysis." msgstr "" -#: ../../source/cookbook/classification.rst:481 -msgid "decision tree" +#: ../../source/cookbook/classification.rst:490 +msgid "A confirmation pop-up prevents you from accidentally deleting everything." msgstr "" -#: ../../source/cookbook/classification.rst:483 -msgid "For each of them, the workflow is the same:" +#: ../../source/cookbook/classification.rst:493 +msgid "Use auxiliary datasets" msgstr "" -#: ../../source/cookbook/classification.rst:485 -msgid "Select the classifier by clicking on the corresponding name. SEPAL will display some of the parameters available." +#: ../../source/cookbook/classification.rst:495 +msgid "" +"Some information that could be useful to the classification model is not " +"always included in your image bands. A common example is **Elevation**. " +"In order to improve the quality of the classification, SEPAL can provide " +"some extra datasets to add auxiliary bands to the classification model." msgstr "" -#: ../../source/cookbook/classification.rst:486 -msgid "Select :btn:`More` on the lower-left side of the panel to fully customize your classifier. The classification results will be updated on the fly." +#: ../../source/cookbook/classification.rst:497 +msgid "" +"Select :btn:`AUX` to open the **Auxiliaries** tab. Three sources are " +"currently implemented in the platform (any number of them can be " +"selected):" msgstr "" #: ../../source/cookbook/classification.rst:499 -msgid "On-the-fly training" +msgid "" +"**Latitude**: On-the-fly latitude dataset built from the coordinates of " +"each pixel's center." msgstr "" -#: ../../source/cookbook/classification.rst:503 -msgid "This process requires a good understanding of the **Visualization** feature of SEPAL (refer to the `feature <#>`__ section for more information)." +#: ../../source/cookbook/classification.rst:500 +msgid "" +"**Terrain**: From the `NASA SRTM Digital Elevation 30 m " +"`__ dataset, SEPAL will use the " +":code:`Elevation`, :code:`Slope` and :code:`Aspect` bands. It will also " +"add an :code:`Eastness` and :code:`Northness` band derived from " +":code:`Aspect`." msgstr "" -#: ../../source/cookbook/classification.rst:505 -msgid "Once all of the parameters are set, the user is free to add extra training data in the web interface and the new points will be added to the final model, improving the quality of the classification." +#: ../../source/cookbook/classification.rst:501 +msgid "" +"**Water**: From the `JRC Global Surface Water Mapping Layers, v1.3 " +"`__ dataset, SEPAL " +"will add the following bands: :code:`occurrence`, :code:`change_abs`, " +":code:`change_norm`, :code:`seasonality`, :code:`max_extent`, " +":code:`water_occurrence`, :code:`water_change_abs`, " +":code:`water_change_norm`, :code:`water_seasonality` and " +":code:`water_max_extent`." msgstr "" #: ../../source/cookbook/classification.rst:508 -msgid "Set up the view" +msgid "Classifier configuration" msgstr "" -#: ../../source/cookbook/classification.rst:510 -msgid "In order to improve the classification, one must set up the view to display all of the information. While these guidelines could be modified and extended, they are still useful as an introductory resource." +#: ../../source/cookbook/classification.rst:512 +msgid "" +"Customizing the classifier is a section designed for advanced users. Make" +" sure that you thoroughly understand how the classifier you're using " +"works before changing its parameters." msgstr "" -#: ../../source/cookbook/classification.rst:512 -msgid "In the following image, we displayed:" +#: ../../source/cookbook/classification.rst:516 +msgid "The default value is a **Random Forest** classifier using 25 trees." msgstr "" -#: ../../source/cookbook/classification.rst:514 -msgid "The current recipe (**1**) using the class colors in categorical mode." +#: ../../source/cookbook/classification.rst:518 +msgid "" +"The **Classification** tool used in SEPAL is based on the `Smile - " +"Statistical Machine Intelligence and Learning Engine Javascript " +"`__ library (refer to " +"their documentation for specific descriptions of each model)." msgstr "" -#: ../../source/cookbook/classification.rst:515 -msgid "The current image (what you are classifying) (**2**) using the NIR,RED,SWIR band combination." +#: ../../source/cookbook/classification.rst:520 +msgid "" +"Select :btn:`CLS` to open the **Classification parameter** menu. SEPAL " +"supports seven classifiers:" msgstr "" -#: ../../source/cookbook/classification.rst:516 -msgid "The extra visual dataset NICFI Planet Lab data (**3**) from 2021." +#: ../../source/cookbook/classification.rst:522 +msgid "Random Forest" msgstr "" -#: ../../source/cookbook/classification.rst:518 -msgid "The number (4) indicates a cluster of existing training points. Zoom in and they will be displayed as markers using the color of the class they mark (**5**)." +#: ../../source/cookbook/classification.rst:523 +msgid "Gradient tree boost" msgstr "" -#: ../../source/cookbook/classification.rst:522 -msgid "This initial classification has been set using sampled data. Since they are sampled from a larger image, some are out of the image. They will have no impact on the classification as they are applied to masked pixels (**6**)." +#: ../../source/cookbook/classification.rst:524 +msgid "Cart" msgstr "" -#: ../../source/cookbook/classification.rst:530 -msgid "Select points" +#: ../../source/cookbook/classification.rst:525 +msgid "Naive bayes" msgstr "" -#: ../../source/cookbook/classification.rst:532 -msgid "To start adding points, open the training interface by selecting :btn:`` in the upper right of the screen (**1**). Once selected, the background color becomes darker and the pointer of the mouse becomes a :icon:`fa-solid fa-plus`." +#: ../../source/cookbook/classification.rst:526 +msgid "SVM" msgstr "" -#: ../../source/cookbook/classification.rst:534 -msgid "The process to add new training data is as follows:" +#: ../../source/cookbook/classification.rst:527 +msgid "Min distance" msgstr "" -#: ../../source/cookbook/classification.rst:536 -msgid "**Click on the map to select a point**: You can click in any of the panes (not restricted to the **Recipe** pane), but to be useful, the point needs to be within the border of the AOI. If it's not already the case, the **Class selection** panel will appear in the upper right of the window (**2**)." +#: ../../source/cookbook/classification.rst:528 +msgid "Decision tree" msgstr "" -#: ../../source/cookbook/classification.rst:537 -msgid "**Select the class value**: The previous class value is preselected, but you can change it to any other class value from the defined legend. The legend is displayed as :code:` ()`." +#: ../../source/cookbook/classification.rst:530 +msgid "For each of them, the workflow is the same:" msgstr "" -#: ../../source/cookbook/classification.rst:539 -msgid "You can now click elsewhere on the map to add another point. If you are satisfied with the classification, select :btn:` Close` (3) and select :btn:`` again to stop editing the points. Every time a new point is added, the **Classification** map is recomputed and rendered on the left side." +#: ../../source/cookbook/classification.rst:532 +msgid "" +"Select the classifier by clicking on the corresponding name. SEPAL will " +"display some of the parameters available." msgstr "" -#: ../../source/cookbook/classification.rst:546 -msgid "Modify existing points" +#: ../../source/cookbook/classification.rst:533 +msgid "" +"Select :btn:`More` on the lower-left side of the panel to fully customize" +" your classifier. The classification results will be updated on the fly." msgstr "" -#: ../../source/cookbook/classification.rst:548 -msgid "To modify existing points, select the :btn:`` to open the **Point editing** interface. Then:" +#: ../../source/cookbook/classification.rst:546 +msgid "Refine the classification" msgstr "" #: ../../source/cookbook/classification.rst:550 -msgid "**Select a point**: To select a point, click on an existing marker. It will appear bolder than the others. If it's not already the case, the **Class selection** pane will appear in the upper right." +msgid "" +"This process requires a good understanding of the **Visualization** " +"feature of SEPAL (see :doc:`../feature/visualization` for more " +"information)." msgstr "" -#: ../../source/cookbook/classification.rst:551 -msgid "**Change the class value**: The point class will be selected in the **Editing** menu with a :icon:`fa-solid fa-check`. Select any other class value to change it." +#: ../../source/cookbook/classification.rst:552 +msgid "" +"Once all of the parameters are set, you can refine the classification " +"directly on the map: set up the view, add or edit training points on the " +"fly, and check the model's confidence." msgstr "" -#: ../../source/cookbook/classification.rst:554 -msgid "Check the validity" +#: ../../source/cookbook/classification.rst:555 +msgid "Set up the view" msgstr "" -#: ../../source/cookbook/classification.rst:556 -msgid "SEPAL embeds information to help the user understand if the amount of training data is sufficient to produce an accurate classification model. In the **Recipe** window, change the **Band combination** to :code:`Class probability`." +#: ../../source/cookbook/classification.rst:557 +msgid "" +"In order to improve the classification, one must set up the view to " +"display all of the information; you choose what the map shows from the " +"**Layers** panel. Select the :btn:`` layers-to-" +"show icon in the top-right of the screen to open the panel, then:" msgstr "" -#: ../../source/cookbook/classification.rst:558 -msgid "The user now sees the probability of the model (i.e. the confidence level of the level with output class for each pixel)." +#: ../../source/cookbook/classification.rst:559 +msgid "" +"Pick a layout mode — :guilabel:`Grid` to split the map into several panes" +" side by side, or :guilabel:`Stack` to overlay the layers in a single " +"pane." msgstr "" #: ../../source/cookbook/classification.rst:560 -msgid "If the value is high (> 80 percent), then the pixel can be considered valid; if the value is low (< 80 percent), the model needs more training data or extra bands to improve the analysis." +msgid "" +"Drag and drop each layer onto a position (centre, a side, or a corner) to" +" choose where it appears; drag it between positions to rearrange it, or " +"off the areas to remove it." msgstr "" -#: ../../source/cookbook/classification.rst:562 -msgid "In the example image, the lake is classified as a **permanent water body** with a confidence of 65 percent, which is higher than the rest of the vegetation around it." +#: ../../source/cookbook/classification.rst:561 +msgid "" +"If the layer you need is not already in the panel, select :btn:` Add` to add a source: **Add a SEPAL recipe**, **Add an Earth " +"Engine asset**, or **Add a Planet account**." msgstr "" -#: ../../source/cookbook/classification.rst:568 -msgid "This analysis can also be conducted class-by-class using the built-in :code:` %` bands. Select the one corresponding to the class you want to assess (see the following image) and you'll get the percentage of confidence for each pixel to be in the sub-mentioned class." +#: ../../source/cookbook/classification.rst:567 +msgid "" +"With your layers arranged, the map displays them together so you can " +"compare them while adding training data." msgstr "" -#: ../../source/cookbook/classification.rst:575 -msgid "Export" +#: ../../source/cookbook/classification.rst:569 +msgid "In the following image, we displayed:" msgstr "" -#: ../../source/cookbook/classification.rst:579 -msgid "You cannot export a recipe as an asset or a :code:`.tiff` file without a small computation quota. If you are a new user, see :doc:`../setup/resource`." +#: ../../source/cookbook/classification.rst:571 +msgid "The current recipe (**1**) using the class colors in categorical mode." msgstr "" -#: ../../source/cookbook/classification.rst:582 -msgid "Start download" +#: ../../source/cookbook/classification.rst:572 +msgid "" +"The current image (what you are classifying) (**2**) using the " +"NIR,RED,SWIR1 band combination." msgstr "" -#: ../../source/cookbook/classification.rst:584 -msgid "Selecting the :icon:`fa-solid fa-cloud-arrow-down` tab will open the **Retrieve** pane, where you can select the exportation parameters (**1**)." +#: ../../source/cookbook/classification.rst:573 +msgid "The extra visual dataset NICFI Planet Lab data (**3**) from 2021." +msgstr "" + +#: ../../source/cookbook/classification.rst:575 +msgid "" +"The number (4) indicates a cluster of existing training points. Zoom in " +"and they will be displayed as markers using the color of the class they " +"mark (**5**)." +msgstr "" + +#: ../../source/cookbook/classification.rst:583 +msgid "" +"This initial classification has been set using sampled data. Since they " +"are sampled from a larger image, some are out of the image. They will " +"have no impact on the classification as they are applied to masked pixels" +" (**6**)." msgstr "" -#: ../../source/cookbook/classification.rst:586 -msgid "You need to select the band to export (**2**). There is no maximum number of bands; however, exporting useless bands will only increase the size and time of the output." +#: ../../source/cookbook/classification.rst:587 +msgid "On-the-fly training" msgstr "" -#: ../../source/cookbook/classification.rst:588 -msgid "You can set a custom scale for exportation (**3**) by changing the value of the slider in metres (m). (Note: Requesting a smaller resolution than images' native resolution will not improve the quality of the output – just its size; keep in mind that the native resolution of Sentinel data is 10 m, while Landsat is 30 m.)" +#: ../../source/cookbook/classification.rst:589 +msgid "" +"You are free to add extra training data in the web interface; each new " +"point is added to the final model, improving the quality of the " +"classification." msgstr "" -#: ../../source/cookbook/classification.rst:590 -msgid "You can export the image to the :btn:`SEPAL workspace` or to the :btn:`Google Earth Engine Asset` list. The same image will be exported, but for the former, you will find it in :code:`.tif` format in the :code:`Downloads` folder; for the latter, the image will be exported to your **GEE account asset list**." +#: ../../source/cookbook/classification.rst:592 +msgid "Select points" msgstr "" #: ../../source/cookbook/classification.rst:594 -msgid "If :btn:`Google Earth Engine Asset` is not displayed, your GEE account is not connected to SEPAL. Refer to `Connect SEPAL to GEE <../setup/gee.html>`__." +msgid "" +"To start adding points, open the training interface by selecting :btn" +":`` in the upper right of the screen (**1**). " +"Once selected, the background color becomes darker and the pointer of the" +" mouse becomes a :icon:`fa-solid fa-plus`." msgstr "" #: ../../source/cookbook/classification.rst:596 -msgid "Select :btn:` Apply` to start the download process." +msgid "The process to add new training data is as follows:" msgstr "" -#: ../../source/cookbook/classification.rst:603 -msgid "Exportation status" +#: ../../source/cookbook/classification.rst:598 +msgid "" +"**Click on the map to select a point**: You can click in any of the panes" +" (not restricted to the **Recipe** pane), but to be useful, the point " +"needs to be within the border of the AOI. If it's not already the case, " +"the **Class selection** panel will appear in the upper right of the " +"window (**2**)." +msgstr "" + +#: ../../source/cookbook/classification.rst:599 +msgid "" +"**Select the class value**: The previous class value is preselected, but " +"you can change it to any other class value from the defined legend. The " +"legend is displayed as :code:` ()`." +msgstr "" + +#: ../../source/cookbook/classification.rst:601 +msgid "" +"You can now click elsewhere on the map to add another point. If you are " +"satisfied with the classification, select :btn:` " +"Close` (3) and select :btn:`` again to stop " +"editing the points. Every time a new point is added, the " +"**Classification** map is recomputed and rendered on the left side." msgstr "" -#: ../../source/cookbook/classification.rst:605 -msgid "By going to the **Tasks** tab (in the lower-left corner using the :btn:`` or :btn:`` buttons, depending on the loading status), you will see the list of different loading tasks." +#: ../../source/cookbook/classification.rst:608 +msgid "Modify existing points" msgstr "" -#: ../../source/cookbook/classification.rst:607 -msgid "The interface will provide you with information about the task progress and display an error if the exportation has failed. If you are unsatisfied with the way we present information, the task can also be monitored using the `GEE task manager `__." +#: ../../source/cookbook/classification.rst:610 +msgid "" +"To modify existing points, select the :btn:`` " +"to open the **Point editing** interface. Then:" msgstr "" -#: ../../source/cookbook/classification.rst:611 -msgid "This operation is running between GEE and SEPAL servers in the background. You can close the SEPAL page without ending the process." +#: ../../source/cookbook/classification.rst:612 +msgid "" +"**Select a point**: To select a point, click on an existing marker. It " +"will appear bolder than the others. If it's not already the case, the " +"**Class selection** pane will appear in the upper right." msgstr "" #: ../../source/cookbook/classification.rst:613 -msgid "When the task is finished, the frame will be displayed in green, as shown in the second image below." +msgid "" +"**Change the class value**: The point class will be selected in the " +"**Editing** menu with a :icon:`fa-solid fa-check`. Select any other class" +" value to change it." msgstr "" -#: ../../source/cookbook/classification.rst:626 -msgid "Access" +#: ../../source/cookbook/classification.rst:616 +msgid "Check the validity" msgstr "" -#: ../../source/cookbook/classification.rst:628 -msgid "Once the download process is done, you can access the data in your **SEPAL folders**. The data will be stored in the :code:`Downloads` folder using the following format:" +#: ../../source/cookbook/classification.rst:618 +msgid "" +"SEPAL embeds information to help the user understand if the amount of " +"training data is sufficient to produce an accurate classification model. " +"In the **Recipe** window, select the :btn:`` button at " +"the bottom centre of the map to open the layer's options, then change the" +" **Bands** selector to :code:`Class probability`." msgstr "" -#: ../../source/cookbook/classification.rst:643 -msgid "Understanding how images are stored in an optical mosaic is only required if you want to manually use them. The SEPAL applications are bound to this tiling system and can digest this information for you." +#: ../../source/cookbook/classification.rst:620 +msgid "" +"The user now sees the probability of the model (i.e. the confidence level" +" of the output class for each pixel)." msgstr "" -#: ../../source/cookbook/classification.rst:645 -msgid "The data are stored in a folder using the name of the optical mosaic as it was created in the first section of this article. As the data are spatially too big to be exported at once, they are divided into smaller pieces and brought back together in a :code:`_.vrt` file." +#: ../../source/cookbook/classification.rst:622 +msgid "" +"If the value is high (> 80 percent), then the pixel can be considered " +"valid; if the value is low (< 80 percent), the model needs more training " +"data or extra bands to improve the analysis." msgstr "" -#: ../../source/cookbook/classification.rst:649 -msgid "The full folder with a consistent tree folder is required to read the `.vrt`." +#: ../../source/cookbook/classification.rst:624 +msgid "" +"In the example image, the lake is classified as a **permanent water " +"body** with a confidence of 65 percent, which is higher than the rest of " +"the vegetation around it." msgstr "" -#~ msgid "" -#~ "With this recipe, SEPAL will help " -#~ "users build a supervised classification " -#~ "of any mosaic image. It is built" -#~ " on top of the most advanced " -#~ "tools available on Google Earth Engine" -#~ " (including the classifiers CART, " -#~ "RandomForest, NaiveBayes and SVM), allowing" -#~ " users to create an easy-to-use" -#~ " user interface to:" -#~ msgstr "" +#: ../../source/cookbook/classification.rst:630 +msgid "" +"This analysis can also be conducted class-by-class using the built-in " +":code:` %` bands. Select the one corresponding to the class " +"you want to assess (see the following image) and you'll get the " +"percentage of confidence for each pixel to be in the sub-mentioned class." +msgstr "" -#~ msgid "select the image to classify" -#~ msgstr "" +#: ../../source/cookbook/classification.rst:637 +msgid "Export" +msgstr "" -#~ msgid "add training data from external sources and on the fly selection" -#~ msgstr "" +#: ../../source/cookbook/classification.rst:641 +msgid "" +"You cannot export a recipe as an asset or a :code:`.tif` file without a " +"small computation quota. If you are a new user, see " +":doc:`../setup/resource`." +msgstr "" -#~ msgid "" -#~ "Once the classification recipe is " -#~ "selected, SEPAL will show the recipe " -#~ "process in a new tab (1) and " +#: ../../source/cookbook/classification.rst:644 +msgid "Start download" +msgstr "" + +#: ../../source/cookbook/classification.rst:646 +msgid "" +"Selecting the :icon:`fa-solid fa-cloud-arrow-down` tab will open the " +"**Retrieve** pane where you can select the exportation parameters." +msgstr "" + +#: ../../source/cookbook/classification.rst:653 +msgid "Bands" +msgstr "" + +#: ../../source/cookbook/classification.rst:655 +msgid "" +"You need to select the band(s) to export. There is no maximum number of " +"bands, but exporting useless bands will only increase the size and time " +"of the output. The available bands include the classified Class band, the" +" Class probability band, and the per-class confidence " +"(:code:` %`) bands." +msgstr "" + +#: ../../source/cookbook/classification.rst:658 +msgid "Scale" +msgstr "" + +#: ../../source/cookbook/classification.rst:660 +msgid "" +"You can set a custom scale for exportation by selecting a value in metres" +" (m) (note that requesting a smaller resolution than the images' native " +"resolution will not improve the quality of the output – just its size – " +"keep in mind that the native resolution of Sentinel data is 10 m, while " +"Landsat is 30 m)." +msgstr "" + +#: ../../source/cookbook/classification.rst:663 +msgid "Destination" +msgstr "" + +#: ../../source/cookbook/classification.rst:665 +msgid "Choose a single destination for the export:" +msgstr "" + +#: ../../source/cookbook/classification.rst:667 +msgid "" +":guilabel:`SEPAL workspace`: the image is written to your SEPAL files in " +":code:`.tif` format (by default in the :code:`Downloads` folder)." +msgstr "" + +#: ../../source/cookbook/classification.rst:668 +msgid "" +":guilabel:`Google Earth Engine asset`: the image is exported to your GEE " +"account as an asset. You can export it either as a single " +":guilabel:`Image` or as an :guilabel:`Image collection` (tiled, which is " +"better suited to large exports), and set its sharing to " +":guilabel:`Private` or :guilabel:`Public`." +msgstr "" + +#: ../../source/cookbook/classification.rst:669 +msgid "" +":guilabel:`Google Drive`: the image is exported to the Google Drive of " +"the connected Google account." +msgstr "" + +#: ../../source/cookbook/classification.rst:673 +msgid "" +"The :guilabel:`Google Earth Engine asset` and :guilabel:`Google Drive` " +"destinations are only displayed when a Google account is connected to " +"SEPAL. If they are missing, please refer to `Connect SEPAL to GEE " +"<../setup/gee.html>`__." +msgstr "" + +#: ../../source/cookbook/classification.rst:675 +msgid "Select :guilabel:`Retrieve` to start the export process." +msgstr "" + +#: ../../source/cookbook/classification.rst:678 +msgid "Exportation status" +msgstr "" + +#: ../../source/cookbook/classification.rst:680 +msgid "" +"By going to the **Tasks** tab (in the lower-left corner using the :btn" +":`` or :btn:`` buttons, " +"depending on the loading status), you will see the list of different " +"loading tasks." +msgstr "" + +#: ../../source/cookbook/classification.rst:682 +msgid "" +"The interface will provide you with information about the task progress " +"and display an error if the exportation has failed. If you are " +"unsatisfied with the way we present information, the task can also be " +"monitored using the `GEE task manager " +"`__." +msgstr "" + +#: ../../source/cookbook/classification.rst:686 +msgid "" +"This operation is running between GEE and SEPAL servers in the " +"background. You can close the SEPAL page without ending the process." +msgstr "" + +#: ../../source/cookbook/classification.rst:688 +msgid "" +"When the task is finished, the frame will be displayed in green, as shown" +" in the second image below." +msgstr "" + +#: ../../source/cookbook/classification.rst:701 +msgid "Access" +msgstr "" + +#: ../../source/cookbook/classification.rst:703 +msgid "" +"Once the download process is done, you can access the data in your " +"**SEPAL folders**. The data will be stored in the :code:`Downloads` " +"folder using the following format:" +msgstr "" + +#: ../../source/cookbook/classification.rst:718 +msgid "" +"Understanding how images are stored in an optical mosaic is only required" +" if you want to manually use them. The SEPAL applications are bound to " +"this tiling system and can digest this information for you." +msgstr "" + +#: ../../source/cookbook/classification.rst:720 +msgid "" +"The data are stored in a folder using the name of the optical mosaic as " +"it was created in the first section of this article. As the data are " +"spatially too big to be exported at once, they are divided into smaller " +"pieces and brought back together in a :code:`_.vrt`" +" file." +msgstr "" + +#: ../../source/cookbook/classification.rst:724 +msgid "" +"The full folder with a consistent tree folder is required to read the " +"`.vrt`." +msgstr "" + +#~ msgid "" +#~ "With this recipe, SEPAL will help " +#~ "users build a supervised classification " +#~ "of any mosaic image. It is built" +#~ " on top of the most advanced " +#~ "tools available on Google Earth Engine" +#~ " (including the classifiers CART, " +#~ "RandomForest, NaiveBayes and SVM), allowing" +#~ " users to create an easy-to-use" +#~ " user interface to:" +#~ msgstr "" + +#~ msgid "select the image to classify" +#~ msgstr "" + +#~ msgid "add training data from external sources and on the fly selection" +#~ msgstr "" + +#~ msgid "" +#~ "Once the classification recipe is " +#~ "selected, SEPAL will show the recipe " +#~ "process in a new tab (1) and " #~ "the image selection window will appear" #~ " on the lower-right side (2)." #~ msgstr "" @@ -2394,3 +2956,444 @@ msgstr "" #~ "file." #~ msgstr "" +#~ msgid "" +#~ "With this recipe, SEPAL helps users " +#~ "build supervised classifications of any " +#~ "mosaic image. It is built on top" +#~ " of the most advanced tools available" +#~ " on Google Earth Engine (GEE) – " +#~ "including the classifiers CART, RandomForest," +#~ " NaiveBayes and SVM – allowing users" +#~ " to create an easy-to-use user" +#~ " interface to:" +#~ msgstr "" + +#~ msgid "define the class table; and" +#~ msgstr "" + +#~ msgid "" +#~ "In the lower-right corner, the " +#~ "following five tabs are available, " +#~ "allowing you to customize the time " +#~ "series to your needs:" +#~ msgstr "" + +#~ msgid "" +#~ "Users can select images coming from " +#~ "an **Existing recipe** or an exported" +#~ " **GEE asset** (see advantages and " +#~ "disadvantages below). Both should be an" +#~ " :code:`ee.Image`, rather than a " +#~ ":code:`Time series` or :code:`ee.ImageCollection`." +#~ msgstr "" + +#~ msgid "**Existing recipe**:" +#~ msgstr "" + +#~ msgid "**GEE asset**:" +#~ msgstr "" + +#~ msgid "" +#~ "For this example, we will use a" +#~ " public asset created with the " +#~ "**Optical mosaic** tool from SEPAL. It's" +#~ " a Sentinel-2 mosaic of Eastern " +#~ "Province in Zambia during the dry " +#~ "season from 2012 to 2020. Multiple " +#~ "bands are available." +#~ msgstr "" + +#~ msgid "" +#~ "Once an asset has been selected, " +#~ "SEPAL will load its bands in the" +#~ " interface. You can use any band " +#~ "that is native to the image as " +#~ "input for the classification process. " +#~ "Simply click on the band name to" +#~ " select them. The selected bands are" +#~ " summarized in the expansion panel " +#~ "title (**1**) and displayed in gold " +#~ "in the pane content (**2**)." +#~ msgstr "" + +#~ msgid ":code:`swir`" +#~ msgstr "" + +#~ msgid "" +#~ "Select :btn:` Derived" +#~ " bands` at the bottom of the " +#~ "pop-up window and select the deriving" +#~ " method. This will add a a new" +#~ " panel to the expansion panel with" +#~ " the selected method name (**1**). " +#~ "The selected method will be applied " +#~ "to the selected bands." +#~ msgstr "" + +#~ msgid "" +#~ "If more than two bands are " +#~ "selected, the operation will be applied" +#~ " to the Cartesian product of the " +#~ "bands. If you select bands :math:`A`," +#~ " :math:`B` and :math:`C`, and apply " +#~ "the :code:`Difference` derived bands, you'll" +#~ " add three bands to your analysis:" +#~ msgstr "" + +#~ msgid ":math:`A - B`" +#~ msgstr "" + +#~ msgid ":math:`A - C`" +#~ msgstr "" + +#~ msgid ":math:`B - C`" +#~ msgstr "" + +#~ msgid "" +#~ "Once image selection is complete, select" +#~ " :btn:` Apply` and" +#~ " the pop-up window will close. " +#~ "The images and bands will be " +#~ "displayed in the :guilabel:`IMG` panel " +#~ "in the lower-right corner of the" +#~ " screen. By selecting the :btn:`` button, you will " +#~ "remove the image and its band from" +#~ " the analysis altogether." +#~ msgstr "" + +#~ msgid "" +#~ "Once the fully qualified legend file " +#~ "has been prepared on your computer, " +#~ "select :btn:``" +#~ " and then :code:`Import from CSV`, " +#~ "which will open a pop-up window" +#~ " where you can drag and drop " +#~ "the file or select it manually " +#~ "from your computer files." +#~ msgstr "" + +#~ msgid "" +#~ "A file will be downloaded to you" +#~ " computer named :code:`_legend.csv`, " +#~ "which will contain the legend " +#~ "information in the following format:" +#~ msgstr "" + +#~ msgid "Select training data" +#~ msgstr "" + +#~ msgid "This step is not mandatory." +#~ msgstr "" + +#~ msgid "Collected reference data" +#~ msgstr "" + +#~ msgid "" +#~ "Collected reference data are data " +#~ "selected on the fly by the user." +#~ " The workflow will be explained later" +#~ " in the documentation." +#~ msgstr "" + +#~ msgid "" +#~ "In this pane, this type of data" +#~ " can be managed by the user. " +#~ "The data appear as a pair, " +#~ "associating coordinates to a class " +#~ "value, which will be used to " +#~ "create training data in the " +#~ "classification model." +#~ msgstr "" + +#~ msgid "" +#~ "If you're satisfied with the current " +#~ "selection and you want to share " +#~ "the data with others, select :btn" +#~ ":`` and then" +#~ " :code:`Export reference data to csv`. " +#~ "A file will be created and sent" +#~ " to your computer, named " +#~ ":code:`_reference_data.csv`. It will " +#~ "embed all of the gathered point " +#~ "data using the following convention:" +#~ msgstr "" + +#~ msgid "" +#~ "If you are not satisfied with the" +#~ " selected data, select :btn:`` and then :code:`Clear" +#~ " collected reference data` to remove " +#~ "all collected data from the analysis." +#~ msgstr "" + +#~ msgid "" +#~ "A confirmation pop-up window should " +#~ "prevent you from accidentally deleting " +#~ "everything." +#~ msgstr "" + +#~ msgid "Existing training data" +#~ msgstr "" + +#~ msgid "" +#~ "By selecting :btn:`csv file`, SEPAL will" +#~ " request a file from your computer" +#~ " in :code:`.csv` format. The file " +#~ "needs to include two pieces of " +#~ "information: geographic coordinates and class" +#~ " value." +#~ msgstr "" + +#~ msgid "" +#~ "If your file contains a GeoJSON " +#~ "column instead of coordinates, select " +#~ ":btn:`geojson column` to switch the " +#~ "interface to one column selection." +#~ msgstr "" + +#~ msgid "" +#~ "Now that you have set up the " +#~ "coordinates of your points, SEPAL will" +#~ " request the columns specifying the " +#~ "class value (not the name) in a" +#~ " second frame. Only the single column" +#~ " is supported so far. Select the " +#~ "column from your file that embeds " +#~ "the class values." +#~ msgstr "" + +#~ msgid "" +#~ "Using the :code:`row filter expression` " +#~ "text field, one can filter out " +#~ "some lines of the table. Refer to" +#~ " the `features <#>`__ section to " +#~ "learn more." +#~ msgstr "" + +#~ msgid "" +#~ "Select :btn:`" +#~ " next` to add the data to the" +#~ " model. SEPAL will provide a summary" +#~ " of the classes in the legend " +#~ "of the classification and the number " +#~ "of training points added by your " +#~ "file." +#~ msgstr "" + +#~ msgid "" +#~ "The process is nearly the same as" +#~ " found in the documentation above " +#~ "discussing .csv tables. The only " +#~ "difference should be the geometry " +#~ "column, as GEE assets usually embed " +#~ "a :code:`.goejson` column by default. If" +#~ " this column exists, it will be " +#~ "autodetected by SEPAL." +#~ msgstr "" + +#~ msgid "" +#~ "Start by selecting btn:`Sample classification`" +#~ " in the opened pop-up window, " +#~ "where all of the the parameters " +#~ "can be set:" +#~ msgstr "" + +#~ msgid "" +#~ "**Sample per class**: the number of " +#~ "samples per class of the provided " +#~ "image. The more samples you request, " +#~ "the more accurate the model will " +#~ "be (if too many samples are " +#~ "selected, on-the-fly visualization will" +#~ " never render; default to: :code:`1000`)." +#~ msgstr "" + +#~ msgid "" +#~ "**EE asset ID**: the ID of the " +#~ "classification to sample (it should be" +#~ " an :code:`ee.Image` accessible to the " +#~ "user)." +#~ msgstr "" + +#~ msgid "" +#~ "**Class band**: The class to use " +#~ "for classification value (the dropdown " +#~ "menu will be filled with the bands" +#~ " found in the provided asset)." +#~ msgstr "" + +#~ msgid "" +#~ "To reproduce this example, use the " +#~ "following asset as an image to " +#~ "sample: :code:`projects/sepal-" +#~ "cookbook/assets/classification/zmb_copernicus_landcover`." +#~ msgstr "" + +#~ msgid "" +#~ "Select the :btn:`` " +#~ "buttons (**1**) to change the number " +#~ "of samples in a specific class. By" +#~ " default, SEPAL ignores the samples " +#~ "with a :code:`Null` value. One can " +#~ "select :btn:`Default` (**2**) for any of" +#~ " the classes so that these points " +#~ "end up in the default class " +#~ "instead of being ignored." +#~ msgstr "" + +#~ msgid "random forest" +#~ msgstr "" + +#~ msgid "gradient tree boost" +#~ msgstr "" + +#~ msgid "cart" +#~ msgstr "" + +#~ msgid "naive bayes" +#~ msgstr "" + +#~ msgid "min distance" +#~ msgstr "" + +#~ msgid "decision tree" +#~ msgstr "" + +#~ msgid "" +#~ "This process requires a good " +#~ "understanding of the **Visualization** feature" +#~ " of SEPAL (refer to the `feature " +#~ "<#>`__ section for more information)." +#~ msgstr "" + +#~ msgid "" +#~ "Once all of the parameters are " +#~ "set, the user is free to add " +#~ "extra training data in the web " +#~ "interface and the new points will " +#~ "be added to the final model, " +#~ "improving the quality of the " +#~ "classification." +#~ msgstr "" + +#~ msgid "" +#~ "In order to improve the classification," +#~ " one must set up the view to" +#~ " display all of the information. " +#~ "While these guidelines could be modified" +#~ " and extended, they are still useful" +#~ " as an introductory resource." +#~ msgstr "" + +#~ msgid "" +#~ "The current image (what you are " +#~ "classifying) (**2**) using the NIR,RED,SWIR" +#~ " band combination." +#~ msgstr "" + +#~ msgid "" +#~ "To start adding points, open the " +#~ "training interface by selecting :btn:`` in the " +#~ "upper right of the screen (**1**). " +#~ "Once selected, the background color " +#~ "becomes darker and the pointer of " +#~ "the mouse becomes a :icon:`fa-solid " +#~ "fa-plus`." +#~ msgstr "" + +#~ msgid "" +#~ "You can now click elsewhere on the" +#~ " map to add another point. If " +#~ "you are satisfied with the " +#~ "classification, select :btn:` Close` (3) and select :btn" +#~ ":`` again " +#~ "to stop editing the points. Every " +#~ "time a new point is added, the " +#~ "**Classification** map is recomputed and " +#~ "rendered on the left side." +#~ msgstr "" + +#~ msgid "" +#~ "To modify existing points, select the" +#~ " :btn:`` to" +#~ " open the **Point editing** interface. " +#~ "Then:" +#~ msgstr "" + +#~ msgid "" +#~ "SEPAL embeds information to help the " +#~ "user understand if the amount of " +#~ "training data is sufficient to produce" +#~ " an accurate classification model. In " +#~ "the **Recipe** window, change the **Band" +#~ " combination** to :code:`Class probability`." +#~ msgstr "" + +#~ msgid "" +#~ "The user now sees the probability " +#~ "of the model (i.e. the confidence " +#~ "level of the level with output " +#~ "class for each pixel)." +#~ msgstr "" + +#~ msgid "" +#~ "You cannot export a recipe as an" +#~ " asset or a :code:`.tiff` file " +#~ "without a small computation quota. If" +#~ " you are a new user, see " +#~ ":doc:`../setup/resource`." +#~ msgstr "" + +#~ msgid "" +#~ "Selecting the :icon:`fa-solid fa-" +#~ "cloud-arrow-down` tab will open the" +#~ " **Retrieve** pane, where you can " +#~ "select the exportation parameters (**1**)." +#~ msgstr "" + +#~ msgid "" +#~ "You need to select the band to " +#~ "export (**2**). There is no maximum " +#~ "number of bands; however, exporting " +#~ "useless bands will only increase the " +#~ "size and time of the output." +#~ msgstr "" + +#~ msgid "" +#~ "You can set a custom scale for " +#~ "exportation (**3**) by changing the " +#~ "value of the slider in metres (m)." +#~ " (Note: Requesting a smaller resolution " +#~ "than images' native resolution will not" +#~ " improve the quality of the output" +#~ " – just its size; keep in mind" +#~ " that the native resolution of " +#~ "Sentinel data is 10 m, while " +#~ "Landsat is 30 m.)" +#~ msgstr "" + +#~ msgid "" +#~ "You can export the image to the" +#~ " :btn:`SEPAL workspace` or to the " +#~ ":btn:`Google Earth Engine Asset` list. " +#~ "The same image will be exported, " +#~ "but for the former, you will find" +#~ " it in :code:`.tif` format in the " +#~ ":code:`Downloads` folder; for the latter, " +#~ "the image will be exported to your" +#~ " **GEE account asset list**." +#~ msgstr "" + +#~ msgid "" +#~ "If :btn:`Google Earth Engine Asset` is" +#~ " not displayed, your GEE account is" +#~ " not connected to SEPAL. Refer to " +#~ "`Connect SEPAL to GEE <../setup/gee.html>`__." +#~ msgstr "" + +#~ msgid "Select :btn:` Apply` to start the download process." +#~ msgstr "" + diff --git a/docs/source/_locale/it/LC_MESSAGES/cookbook/optical_mosaic.po b/docs/source/_locale/it/LC_MESSAGES/cookbook/optical_mosaic.po index 46a9b424e1..9b0e4553ce 100644 --- a/docs/source/_locale/it/LC_MESSAGES/cookbook/optical_mosaic.po +++ b/docs/source/_locale/it/LC_MESSAGES/cookbook/optical_mosaic.po @@ -1,22 +1,18 @@ + msgid "" msgstr "" -"Project-Id-Version: sepal-doc\n" +"Project-Id-Version: sepal-doc\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-03-07 09:39+0100\n" -"PO-Revision-Date: 2024-03-07 08:57\n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: 2024-03-07 08:57+0000\n" "Last-Translator: \n" +"Language: it_IT\n" "Language-Team: Italian\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.14.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Crowdin-Project: sepal-doc\n" -"X-Crowdin-Project-ID: 562097\n" -"X-Crowdin-Language: it\n" -"X-Crowdin-File: /main/docs/source/_locale/en/LC_MESSAGES/cookbook/optical_mosaic.po\n" -"X-Crowdin-File-ID: 69\n" -"Language: it_IT\n" +"Generated-By: Babel 2.18.0\n" #: ../../source/cookbook/optical_mosaic.rst:2 msgid "Optical mosaics" @@ -31,11 +27,17 @@ msgid "Overview" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:8 -msgid "A mosaic is a combination or fusion of two or more images. In SEPAL, you can create a single raster dataset from several raster datasets by mosaicing them together. This can be achieved on both contiguous rasters (see first image below) and overlapping images (see second image below)." +msgid "" +"A mosaic is a combination or fusion of two or more images. In SEPAL, you " +"can create a single raster dataset from several raster datasets by " +"mosaicing them together. This can be achieved on both contiguous rasters " +"(see first image below) and overlapping images (see second image below)." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:21 -msgid "These overlay areas can be managed in various ways. For example, you can choose to:" +msgid "" +"These overlay areas can be managed in various ways. For example, you can " +"choose to:" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:23 @@ -55,15 +57,23 @@ msgid "take the maximum or minimum value." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:28 -msgid "In addition, certain corrections can be made to the image to account for clouds, snow and other factors; these operations are complex and repetitive." +msgid "" +"In addition, certain corrections can be made to the image to account for " +"clouds, snow and other factors; these operations are complex and " +"repetitive." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:30 -msgid "SEPAL offers you an interactive and intuitive way to create mosaics in any area of interest (AOI)." +msgid "" +"SEPAL offers you an interactive and intuitive way to create mosaics in " +"any area of interest (AOI)." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:34 -msgid "You won't be able to retrieve the images if your SEPAL and Google Earth Engine (GEE) accounts are not connected. For more information, go to :doc:`../setup/gee`." +msgid "" +"You won't be able to retrieve the images if your SEPAL and Google Earth " +"Engine (GEE) accounts are not connected. For more information, go to " +":doc:`../setup/gee`." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:37 @@ -71,15 +81,25 @@ msgid "Start" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:39 -msgid "Once the mosaic recipe is selected, SEPAL will display the recipe process in a new tab (see **1** in the image below) and the **AOI selection** window will appear in the lower right (**2**)." +msgid "" +"Once the mosaic recipe is selected, SEPAL will display the recipe process" +" in a new tab (see **1** in the image below) and the **AOI selection** " +"window will appear in the lower right (**2**)." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:45 -msgid "The first step is to change the name of the recipe. This name will be used to identify your files and recipes in SEPAL folders. Use the best-suited convention for your needs. Simply double-click the tab and write a new name. It will default to :code:`Optical_mosaic___`." +msgid "" +"The first step is to change the name of the recipe. This name will be " +"used to identify your files and recipes in SEPAL folders. Use the best-" +"suited convention for your needs. Simply double-click the tab and write a" +" new name. It defaults to " +":code:`Optical_mosaic___`." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:57 -msgid "The SEPAL team recommends using the following naming convention: :code:`__`." +msgid "" +"The SEPAL team recommends using the following naming convention: " +":code:`__`." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:60 @@ -87,7 +107,9 @@ msgid "Parameters" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:62 -msgid "In the lower-right corner, five tabs are available, which allow you to customize the mosaic creation to your needs:" +msgid "" +"In the lower-right corner, five tabs are available, which allow you to " +"customize the mosaic creation to your needs:" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:64 @@ -115,7 +137,9 @@ msgid "AOI selection" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:77 -msgid "The data exported by the recipe will be generated from within the bounds of the AOI. There are multiple ways to select the AOI in SEPAL:" +msgid "" +"The data exported by the recipe will be generated from within the bounds " +"of the AOI. There are multiple ways to select the AOI in SEPAL:" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:79 @@ -131,7 +155,9 @@ msgid "Drawn polygons" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:83 -msgid "They are extensively described in our documentation. For more information, read :doc:`../feature/aoi_selector`." +msgid "" +"They are extensively described in our documentation. For more " +"information, read :doc:`../feature/aoi_selector`." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:90 @@ -143,7 +169,10 @@ msgid "Yearly mosaic" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:95 -msgid "In the :guilabel:`DAT` tab, select a year which pixels in the mosaic should come from. Then select the :icon:`fa-solid fa-check` :guilabel:`Apply` button." +msgid "" +"In the :guilabel:`DAT` tab, select a year which pixels in the mosaic " +"should come from. Then select the :icon:`fa-solid fa-check` " +":guilabel:`Apply` button." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:102 @@ -151,23 +180,40 @@ msgid "Seasonal mosaic" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:104 -msgid "Select :guilabel:`More` in the :guilabel:`DAT` panel to expand the date selection tool. Rather than selecting a year, you can select a season of interest." +msgid "" +"Select :guilabel:`More` in the :guilabel:`DAT` panel to expand the date " +"selection tool. Rather than selecting a year, you can select a season of " +"interest." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:106 -msgid "Select the :icon:`fa-solid fa-calendar` (**1**) to open the **Date selection** pop-up window. The selected date will be the target of the mosaic (i.e. the date from which pixels in the mosaic should ideally come from)." +msgid "" +"Select the :icon:`fa-solid fa-calendar` (**1**) to open the **Date " +"selection** pop-up window. The selected date will be the target of the " +"mosaic (i.e. the date from which pixels in the mosaic should ideally come" +" from)." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:108 -msgid "Using the main slider (**2**), define a season around the target date by identifying a start date and end date. SEPAL will then retrieve the mosaic images between those dates." +msgid "" +"Using the main slider (**2**), define a season around the target date by " +"identifying a start date and end date. SEPAL will then retrieve the " +"mosaic images between those dates." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:110 -msgid "The number of images in a single season of one year may not be enough to produce a correct mosaic. SEPAL provides two secondary sliders to increase the pool of images to create the mosaic. Both count the number of seasons SEPAL can retrieve in the past (:code:`Past season` - [**3**]) and in the future (:code:`Future season` - [**4**])." +msgid "" +"The number of images in a single season of one year may not be enough to " +"produce a correct mosaic. SEPAL provides two secondary sliders to " +"increase the pool of images to create the mosaic. Both count the number " +"of seasons SEPAL can retrieve in the past (:code:`Past season` - [**3**])" +" and in the future (:code:`Future season` - [**4**])." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:112 -msgid "When the selection is done, select the :icon:`fa-solid fa-check` :guilabel:`Apply` button." +msgid "" +"When the selection is done, select the :icon:`fa-solid fa-check` " +":guilabel:`Apply` button." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:119 @@ -175,504 +221,865 @@ msgid "Sources" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:121 -msgid "As mentioned in the introduction, a mosaic uses different raster datasets that can be obtained from multiple sources. SEPAL allows you to select data from multiple entry points. Below, you can find a description of these sources (select a link to see the corresponding dataset information):" +msgid "" +"As mentioned in the introduction, a mosaic combines raster datasets that " +"can come from multiple satellite sources. In the :guilabel:`SRC` tab, " +"select one or more **optical** data sources to build the mosaic from." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:123 -msgid ":guilabel:`L8`: `Landsat 8 Tier 1 `__. Landsat scenes with the highest available data quality are placed into **Tier 1** and considered suitable for time-series processing analysis. **Tier 1** includes Level-1 Precision Terrain (L1TP) processed data that have well-characterized radiometry and are intercalibrated across different Landsat sensors. The geo-registration of **Tier 1** scenes will be consistent and within prescribed tolerances (< = 12 m root mean square error [RMSE]). All **Tier 1** Landsat data can be considered consistent and intercalibrated (regardless of the sensor used) across the full collection." +msgid "**Landsat** scenes are distributed in two quality tiers:" +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:125 +msgid "" +"**Tier 1** holds the scenes with the highest data quality. They are " +"processed to Level-1 Precision Terrain (L1TP), have well-characterized " +"radiometry, are intercalibrated across the different Landsat sensors and " +"are geo-registered within prescribed tolerances (12 m root mean square " +"error [RMSE] or less). Tier 1 scenes are consistent across the full " +"collection and suitable for time-series analysis." +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:126 +msgid "" +"**Tier 2** (marked :guilabel:`T2`) holds scenes that do not meet the Tier" +" 1 criteria, for example because of significant cloud cover, insufficient" +" ground control or systematic-only terrain correction (L1GT/L1GS). They " +"can still be useful; analyze the RMSE and other properties to determine " +"their suitability for your study." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:127 -msgid ":guilabel:`L8 T2`: `Landsat 8 Tier 2 `__. Scenes not meeting **Tier 1** criteria during processing are assigned to **Tier 2**. This includes Systematic terrain (L1GT) and Systematic (L1GS) processed scenes, as well as any L1TP scenes that do not meet the **Tier 1** specifications due to significant cloud cover, insufficient ground control and other factors. Users interested in **Tier 2** scenes can analyze the RMSE and other properties to determine the suitability for use in individual applications and studies." +#: ../../source/cookbook/optical_mosaic.rst:128 +msgid "" +"The following optical sources are available (select a link to open the " +"corresponding Google Earth Engine dataset):" +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:130 +msgid "" +":guilabel:`L9`: `Landsat 9 `__ (Tier 1; from 2021)." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:131 -msgid ":guilabel:`L7`: `Landsat 7 Tier 1 `__. Landsat scenes with the highest available data quality are placed into **Tier 1** and are considered suitable for time-series processing analysis. **Tier 1** includes Level-1 Precision Terrain (L1TP) processed data that have well-characterized radiometry and are intercalibrated across different Landsat sensors. The geo-registration of **Tier 1** scenes will be consistent and within prescribed tolerances (< = 12 m RMSE). All **Tier 1** Landsat data can be considered consistent and intercalibrated across the full collection (regardless of the sensor used)." +msgid "" +":guilabel:`L8`: `Landsat 8 `__ (Tier 1; from 2013)." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:135 -msgid ":guilabel:`L7 T2`: `Landsat 7 Tier 2 `__. Scenes not meeting **Tier 1** criteria during processing are assigned to **Tier 2**. This includes Systematic terrain (L1GT) and Systematic (L1GS) processed scenes, as well as any L1TP scenes that do not meet the **Tier 1** specifications due to significant cloud cover, insufficient ground control and other factors. Users interested in **Tier 2** scenes can analyze the RMSE and other properties to determine the suitability for use in individual applications and studies." +#: ../../source/cookbook/optical_mosaic.rst:132 +msgid "" +":guilabel:`L7`: `Landsat 7 `__ (Tier 1; from 1999)." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:139 -msgid ":guilabel:`L4-5`: `Landsat 4 Tier 1 `__ combined with `Landsat 5 Tier 1 `__. Landsat scenes with the highest available data quality are placed into **Tier 1** and are considered suitable for time-series processing analysis. **Tier 1** includes Level-1 Precision Terrain (L1TP) processed data that have well-characterized radiometry and are intercalibrated across different Landsat sensors. The geo-registration of **Tier 1** scenes will be consistent and within prescribed tolerances (< = 12 m RMSE). All **Tier 1** Landsat data can be considered consistent and intercalibrated across the full collection (regardless of the sensor used)." +#: ../../source/cookbook/optical_mosaic.rst:133 +msgid "" +":guilabel:`L4-5`: `Landsat 4 `__ combined with `Landsat" +" 5 `__ (Tier 1; 1982–2012)." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:143 -msgid ":guilabel:`L4-5 T2`: `Landsat 4 TM Tier 2 `__ combined with `Landsat 5 TM Tier 2 `__. Scenes not meeting **Tier 1** criteria during processing are assigned to **Tier 2**. This includes Systematic terrain (L1GT) and Systematic (L1GS) processed scenes, as well as any L1TP scenes that do not meet the **Tier 1** specifications due to significant cloud cover, insufficient ground control and other factors. Users interested in **Tier 2** scenes can analyze the RMSE and other properties to determine the suitability for use in individual applications and studies." +#: ../../source/cookbook/optical_mosaic.rst:134 +msgid "" +":guilabel:`L9 T2`, :guilabel:`L8 T2`, :guilabel:`L7 T2`, :guilabel:`L4-5 " +"T2`: the **Tier 2** equivalents of the datasets listed above." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:147 -msgid ":guilabel:`A+B`: `Sentinel-2 Multispectral instrument `__ is a wide-swath, high-resolution, multispectral imaging mission supporting Copernicus Land Monitoring studies, including the monitoring of vegetation, soil and water cover, as well as the observation of inland waterways and coastal areas." +#: ../../source/cookbook/optical_mosaic.rst:135 +msgid "" +":guilabel:`S2`: `Sentinel-2 `__ (Sentinel-2A and " +"Sentinel-2B; from 2015). A wide-swath, high-resolution, multispectral " +"imaging mission supporting Copernicus Land Monitoring studies, including " +"the monitoring of vegetation, soil and water cover, as well as the " +"observation of inland waterways and coastal areas." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:153 -#: ../../source/cookbook/optical_mosaic.rst:170 -msgid "To validate your selection, select the :icon:`fa-solid fa-check` :guilabel:`Apply` button." +#: ../../source/cookbook/optical_mosaic.rst:139 +msgid "" +"SEPAL uses the Landsat **Collection 2** archive and the **harmonized** " +"Sentinel-2 collection." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:156 -msgid "Scenes" +#: ../../source/cookbook/optical_mosaic.rst:145 +msgid "" +"You can also restrict the imagery with the :code:`Max cloud cover %` " +"slider: scenes whose cloud cover is higher than this threshold are " +"excluded before the mosaic is built." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:160 -msgid "If Sentinel and Landsat data have been selected, you will be forced to use all scenes. As the tiling system from Sentinel and Landsat data are different, it's impossible to select scenes using the tool presented in the following sections." +#: ../../source/cookbook/optical_mosaic.rst:147 +msgid "" +"To validate your selection, select the :icon:`fa-solid fa-check` " +":guilabel:`Apply` button (labelled :guilabel:`Done` when you first create" +" the recipe through the setup wizard)." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:162 -msgid "You can use multiple options to select the best scenes for your mosaic. The most simple is to use every image available based on the date parameters. Select :guilabel:`Use all scenes` and all images will be integrated into the mosaic." +#: ../../source/cookbook/optical_mosaic.rst:150 +msgid "Scenes" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:164 -msgid "Choose :guilabel:`Select scenes` and choose one of the three available :code:`Priority` options, based on the needs of your analysis (SEPAL sorts the images available for each tile):" +#: ../../source/cookbook/optical_mosaic.rst:154 +msgid "" +"If Sentinel and Landsat data have been selected, you will be forced to " +"use all scenes. As the tiling system from Sentinel and Landsat data are " +"different, it's impossible to select scenes using the tool presented in " +"the following sections." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:166 -msgid ":guilabel:`Cloud free`: Prioritizes images with zero or few clouds." +#: ../../source/cookbook/optical_mosaic.rst:156 +msgid "" +"You can use multiple options to select the best scenes for your mosaic. " +"The most simple is to use every image available based on the date " +"parameters. Select :guilabel:`Use all scenes` and all images will be " +"integrated into the mosaic." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:167 -msgid ":guilabel:`Target date`: Prioritizes images that match the target date." +#: ../../source/cookbook/optical_mosaic.rst:158 +msgid "" +"Choose :guilabel:`Select scenes` and pick one of the three available " +":code:`Priority` options, based on the needs of your analysis (SEPAL " +"sorts the images available for each tile):" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:168 -msgid ":guilabel:`Balanced`: Prioritizes images that maximize both cloud and target date." +#: ../../source/cookbook/optical_mosaic.rst:160 +msgid "" +":guilabel:`Cloud free`: Prioritizes imagery as cloud-free as possible, " +"ignoring the date." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:177 -msgid "Composite" +#: ../../source/cookbook/optical_mosaic.rst:161 +msgid "" +":guilabel:`Balanced`: Prioritizes imagery that is neither too cloudy nor " +"too far from the target date." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:181 -msgid "This step is optional. SEPAL provides the following options by default:" +#: ../../source/cookbook/optical_mosaic.rst:162 +msgid "" +":guilabel:`Target date`: Prioritizes imagery as close as possible to the " +"target date." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:183 -msgid "**Correction**: :guilabel:`SR`, :guilabel:`BRDF`" +#: ../../source/cookbook/optical_mosaic.rst:164 +msgid "" +"To validate your selection, select the :icon:`fa-solid fa-check` " +":guilabel:`Apply` button." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:184 -msgid "**Pixel filters**: No filters" +#: ../../source/cookbook/optical_mosaic.rst:171 +msgid "Composite" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:185 -msgid "**Cloud detection**: :guilabel:`QA bands`, :guilabel:`Cloud score`" +#: ../../source/cookbook/optical_mosaic.rst:173 +msgid "" +"The :guilabel:`CMP` tab controls how the selected scenes are corrected, " +"how clouds and snow are masked, and how the final pixel values are " +"computed. The panel opens in a **simple** view showing the most common " +"options; select :guilabel:`More` to reveal the **advanced** options (and " +":guilabel:`Less` to hide them again)." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:186 -msgid "**Cloud masking**: :guilabel:`Moderate`" +#: ../../source/cookbook/optical_mosaic.rst:177 +msgid "This step is optional. By default, SEPAL applies:" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:187 -msgid "**Cloud buffering**: :guilabel:`None`" +#: ../../source/cookbook/optical_mosaic.rst:179 +msgid "**Corrections**: :guilabel:`SR` and :guilabel:`BRDF`" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:188 -msgid "**Snow masking**: :guilabel:`On`" +#: ../../source/cookbook/optical_mosaic.rst:180 +msgid "**Cloud masking**: :guilabel:`Moderate`" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:189 +#: ../../source/cookbook/optical_mosaic.rst:181 msgid "**Composing method**: :guilabel:`Medoid`" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:191 -msgid "To create a mosaic, provide SEPAL with the compositing method to create the final image. See the following image for all possible compositing options available." +#: ../../source/cookbook/optical_mosaic.rst:183 +msgid "" +"The advanced view additionally defaults to no pixel filters, no cloud " +"buffering and snow/ice masking turned on." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:198 -msgid "Corrections" +#: ../../source/cookbook/optical_mosaic.rst +msgid "Show the advanced view (opened with **More**)" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:200 -msgid "This will apply corrections on the stacked pixels to improve the quality of the mosaic." +#: ../../source/cookbook/optical_mosaic.rst:199 +msgid "Corrections" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:202 -msgid ":guilabel:`SR`: Surface reflectance improves comparison between multiple images over the same region by accounting for atmospheric effects such as aerosol scattering and thin clouds, which can help in the detection and characterization of Earth surface change. Top-of-atmosphere images are used if not selected." +#: ../../source/cookbook/optical_mosaic.rst:201 +msgid "" +"Corrections are applied to the stacked pixels to improve the quality of " +"the mosaic." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:203 -msgid ":guilabel:`BRDF`: Uses a bidirectional reflectance distribution function (BRDF) model to characterize surface reflectance anisotropy. For a given land area, the BRDF is established based on selected multi-angular observations of surface reflectance." +msgid "" +":guilabel:`SR`: Surface reflectance improves comparison between multiple " +"images over the same region by accounting for atmospheric effects such as" +" aerosol scattering and thin clouds, which can help in the detection and " +"characterization of Earth surface change. Top-of-atmosphere (TOA) images " +"are used if not selected." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:204 -msgid ":guilabel:`Calibrate`: Calibrates Sentinel and Landsat data to make them compatible." +msgid "" +":guilabel:`BRDF`: Uses a bidirectional reflectance distribution function " +"(BRDF) model to characterize surface reflectance anisotropy. For a given " +"land area, the BRDF is established based on selected multi-angular " +"observations of surface reflectance. When BRDF is enabled, the advanced " +"view shows a :code:`BRDF Multiplier` field that controls how much " +"correction is applied (values of 3–4 usually work well; lower it if the " +"effect is overcompensated, raise it if it is not compensated enough)." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:208 -msgid "This option is only available if:" +#: ../../source/cookbook/optical_mosaic.rst:205 +msgid "" +":guilabel:`Calibrate`: Calibrates the bands to improve a cross-sensor " +"mosaic." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:210 -msgid "Landsat and Sentinel data are mixed; and" +#: ../../source/cookbook/optical_mosaic.rst:209 +msgid "This option is only available if:" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:211 -msgid "BRDF and surface reflectance (SR) corrections are disabled." +msgid "Landsat and Sentinel-2 data are mixed; and" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:214 -msgid "Pixel filters" +#: ../../source/cookbook/optical_mosaic.rst:212 +msgid "surface reflectance (:guilabel:`SR`) correction is disabled." +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:215 +msgid "Cloud masking" +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:217 +msgid "" +"Controls how clouds are detected and masked. In the simple view, choose a" +" preset:" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:216 -msgid "Activating any of the filters will remove some pixels from the stack. Removing pixels improves the quality of the mosaic, as they are not taken into account in the median value computation." +#: ../../source/cookbook/optical_mosaic.rst:219 +msgid "" +":guilabel:`Moderate`: Relies only on the image source QA bands for cloud " +"masking." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:220 -msgid "Each filter is applied iteratively (e.g. if the normalized difference vegetation index [NDVI] is already filtering all pixels but one, there will be nothing left in the stack to be filtered by day of year)." +msgid "" +":guilabel:`Aggressive`: Relies on the image source QA bands together with" +" a cloud-scoring algorithm. This will probably mask out some built-up " +"areas and other bright features." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:222 -msgid "Note as well that adding filters significantly increases the creation time of the mosaic." +#: ../../source/cookbook/optical_mosaic.rst:221 +msgid "" +":guilabel:`Custom`: Automatically selected (and otherwise disabled) when " +"you fine-tune the individual cloud-masking algorithms in the advanced " +"view." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:224 -msgid "**Shadow**: Filters the XX percent darkest pixels of the stack." +#: ../../source/cookbook/optical_mosaic.rst:223 +msgid "" +"In the advanced view you can add and configure the individual cloud-" +"masking algorithms with the :icon:`fa-solid fa-plus` button. The " +"available algorithms depend on the sources you selected:" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:225 -msgid "**Haze**: Computes a haze index and filters the XX percent highest values." +msgid "" +":guilabel:`SEPAL cloud score`: SEPAL's own cloud-scoring algorithm, with " +"a configurable *maximum cloud probability*. Always available." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:226 -msgid "**NDVI**: Computes the NDVI and only keeps the XX percent highest values." +msgid "" +":guilabel:`S2 Cloud Score+`: Sentinel-2 Cloud Score+, with a *maximum " +"cloud probability* and a choice of scoring band — :guilabel:`cs` " +"(instantaneous clear-sky similarity) or :guilabel:`cs_cdf` (likelihood of" +" being clear over time). Sentinel-2 sources only." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:227 -msgid "**Day of the year**: Computes the distance from target day in days and filters out the XX percent farthest." +msgid "" +":guilabel:`S2 Cloud Probability`: the Sentinel-2 cloud-probability " +"dataset, with a configurable *maximum cloud probability*. Sentinel-2 " +"sources only." +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:228 +msgid "" +":guilabel:`Landsat CFMask`: the Landsat CFMask QA bands. You can set " +":code:`Cloud Masking`, :code:`Cloud Shadow Masking` and :code:`Cirrus " +"Masking` each to :guilabel:`Off`, :guilabel:`Moderate` or " +":guilabel:`Aggressive`, and choose whether to :guilabel:`Keep` or " +":guilabel:`Remove` dilated clouds. Landsat sources only." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:230 -msgid "Cloud detection" +#: ../../source/cookbook/optical_mosaic.rst:229 +msgid "" +":guilabel:`Pino 26`: the Pan-Tropical Sentinel-2 cloud-detection " +"algorithm developed by Dario Simonetti (for more information, see `D. " +"Simonetti [2021] `__). Only " +"available for a Sentinel-2-exclusive source when :guilabel:`SR` " +"correction is disabled." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:232 -msgid "Refers to the algorithm used to detect clouds." +msgid "Cloud buffering" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:234 -msgid ":guilabel:`QA bands`: Uses quality assessment (QA) bands to identify clouds in Sentinel data." +msgid "" +"(Advanced view.) When pixels are identified as clouds, SEPAL can also " +"mask a small buffer around them to prevent hazy pixels at the borders of " +"clouds from being included in the mosaic." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:235 -msgid ":guilabel:`Cloud score`: Uses the computed cloud score to identify clouds in Landsat data." +#: ../../source/cookbook/optical_mosaic.rst:238 +msgid "" +"Buffering is done at the pixel level, so using this option significantly " +"increases the creation time of the mosaic." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:236 -msgid ":guilabel:`Pino 26`: Uses the Pino_26 algorithm to identify clouds (for more information, see `D. Simonetti [2021] `__)." +#: ../../source/cookbook/optical_mosaic.rst:240 +msgid ":guilabel:`None`: Doesn't use cloud buffering." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:240 -msgid "This filter is only available for Sentinel exclusive source when both :guilabel:`BRDF` and :guilabel:`SR` correction are disabled." +#: ../../source/cookbook/optical_mosaic.rst:241 +msgid "" +":guilabel:`Moderate`: Masks an additional **120 m** around each larger " +"cloud." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:243 -msgid "Cloud masking" +#: ../../source/cookbook/optical_mosaic.rst:242 +msgid "" +":guilabel:`Aggressive`: Masks an additional **600 m** around each larger " +"cloud." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:245 -msgid "Controls how clouds will be masked based on the cloud detection algorithm selected." +msgid "Snow/ice masking" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:247 -msgid ":guilabel:`off`: Uses cloud-free pixels if possible, but doesn't mask areas without cloud-free pixels." -msgstr "" - -#: ../../source/cookbook/optical_mosaic.rst:248 -msgid ":guilabel:`moderate`: Relies only on image source QA bands for cloud masking (a moderate threshold is used)." +msgid "(Advanced view.) Defines how snowy or icy pixels are masked." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:249 -msgid ":guilabel:`aggressive`: Relies on image source QA bands and a cloud scoring algorithm for cloud masking with an aggressive threshold (this will probably mask out some built-up areas and other bright features)." +msgid "" +":guilabel:`On`: Masks snow. This tends to leave some pixels with shadowy " +"snow." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:252 -msgid "Cloud buffering" +#: ../../source/cookbook/optical_mosaic.rst:250 +msgid "" +":guilabel:`Off`: Doesn't mask snow. Note that some clouds might get " +"misclassified as snow; therefore, disabling snow masking might lead to " +"cloud artifacts." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:254 -msgid "When pixels are identified as clouds, SEPAL can remove pixels in a small buffer around it to prevent hazy pixels at the borders of clouds to be included in the mosaic." +#: ../../source/cookbook/optical_mosaic.rst:253 +msgid "Masked out pixels" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:258 -msgid "Buffering is done on the pixel level, so using this option will significantly increase the creation time of the mosaic." +#: ../../source/cookbook/optical_mosaic.rst:255 +msgid "" +"(Advanced view.) Controls whether a pixel can end up completely masked " +"when every available acquisition is cloudy and/or snowy." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:260 -msgid ":guilabel:`none`: Doesn't use cloud buffering." +#: ../../source/cookbook/optical_mosaic.rst:257 +msgid "" +":guilabel:`Prevent`: Prevents pixels from being completely masked out, " +"keeping the best available (possibly cloudy/snowy) value." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:261 -msgid ":guilabel:`moderate`: Masks an additional **120 m** around each larger cloud." +#: ../../source/cookbook/optical_mosaic.rst:258 +msgid "" +":guilabel:`Allow`: Allows pixels to be completely masked out, leaving " +"holes in the mosaic where no clear observation exists." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:262 -msgid ":guilabel:`aggressive`: Masks an additional **600 m** around each larger cloud." +#: ../../source/cookbook/optical_mosaic.rst:261 +msgid "Pixel filters" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:265 -msgid "Snow masking" +#: ../../source/cookbook/optical_mosaic.rst:263 +msgid "" +"(Advanced view.) Add filters with the :icon:`fa-solid fa-plus` button to " +"remove pixels from the stack before compositing. Each filter excludes a " +"percentage of the stack (set with a slider, defaulting to 50%); removing " +"low-quality pixels improves the quality of the mosaic." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:267 -msgid "Defines how snowy pixels will be masked." +msgid "" +"Each filter is applied iteratively (e.g. if the normalized difference " +"vegetation index [NDVI] is already filtering all pixels but one, there " +"will be nothing left in the stack to be filtered by date)." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:269 -msgid ":guilabel:`on`: Masks snow. This tends to leave some pixels with shadowy snow." +msgid "" +"Note as well that adding filters significantly increases the creation " +"time of the mosaic." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:270 -msgid ":guilabel:`off`: Doesn't mask snow. Note that some clouds might get misclassified as snow; therefore, disabling snow masking might lead to cloud artifacts." +#: ../../source/cookbook/optical_mosaic.rst:271 +msgid "" +"**Shadow**: Excludes the selected percentage of pixels with the most " +"shadow." +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:272 +msgid "" +"**Haze**: Excludes the selected percentage of pixels with the most haze. " +"Only available when :guilabel:`SR` correction is disabled." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:273 -msgid "Composing method" +msgid "**NDVI**: Excludes the selected percentage of pixels with the lowest NDVI." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:275 -msgid "After filtering the stack of pixels, SEPAL will compute the median value on the different bands of the image. The composing method will define how the final pixel value is extracted." +#: ../../source/cookbook/optical_mosaic.rst:274 +msgid "" +"**Date**: Excludes the selected percentage of pixels farthest from the " +"target date." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:277 -msgid ":guilabel:`Medoid`: Uses the closest pixel from the median value. As a real pixel from the stack, the final value will embed metadata (e.g. the date of observation)." +msgid "Sentinel-2 overlap" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:278 -msgid ":guilabel:`Median`: Uses the computed value of the median. If no pixel is matching this value, the pixel will not embed any metadata. It tends to produce smoother mosaics." +#: ../../source/cookbook/optical_mosaic.rst:279 +msgid "" +"(Advanced view; shown only when Sentinel-2 is selected.) Sentinel-2 " +"acquisitions overlap both between orbits and between neighbouring tiles, " +"which can result in duplicated observations." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:281 -msgid "Analysis" +msgid "" +"**Orbit Overlap**: :guilabel:`Keep` the overlap between Sentinel-2 orbits" +" (more data, better models) or :guilabel:`Remove` it." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:283 -msgid "After selecting the parameters, you can start interacting with the scenes and begin the analysis." +#: ../../source/cookbook/optical_mosaic.rst:282 +msgid "" +"**Tile Overlap**: :guilabel:`Keep` the overlap between Sentinel-2 tiles, " +":guilabel:`Quick remove` most of it, or :guilabel:`Remove` all of it. " +"Removing overlap adds an extra preprocessing step." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:285 -msgid "In the upper-right corner, three tabs are available, which allow you to customize the mosaic scene selection and export the final result:" +msgid "Composing method" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:287 -msgid ":btn:``: auto-select scenes" +msgid "" +"After filtering the stack of pixels, the composing method defines how the" +" final pixel value is extracted." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:288 -msgid ":btn:``: clear selected scenes" +#: ../../source/cookbook/optical_mosaic.rst:289 +msgid "" +":guilabel:`Medoid`: Uses the pixel closest to the median value. As a real" +" pixel from the stack, the final value embeds metadata (e.g. the date of " +"observation)." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:289 -msgid ":btn:``: retrieve mosaic" +#: ../../source/cookbook/optical_mosaic.rst:290 +msgid "" +":guilabel:`Median`: Uses the computed median value. If no pixel matches " +"this value, the pixel will not embed any metadata. It tends to produce " +"smoother mosaics." +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:293 +msgid "Analysis" +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:295 +msgid "" +"After selecting the parameters, you can start interacting with the scenes" +" and begin the analysis." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:297 -msgid "If you have not selected the option :guilabel:`Select scenes` in the :guilabel:`SCN` tab, the :icon:`fa-solid fa-wand-magic` button will be disabled and the scene areas will be hidden as no scene selection needs to be performed (see those with a number in a circle on the previous screenshot)." +msgid "" +"In the upper-right corner, three tabs are available, which allow you to " +"customize the mosaic scene selection and export the final result:" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:299 -msgid "If you can't see the image scene area, you probably have selected a small AOI. Zoom out on the map and you will see the number of available images in the circles." +msgid ":btn:``: auto-select scenes" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:302 -msgid "Select scenes" +#: ../../source/cookbook/optical_mosaic.rst:300 +msgid ":btn:``: clear selected scenes" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:304 -msgid "To create a mosaic, select the scenes that will be used to compute each pixel value of the mosaic. SEPAL provides a user-friendly interface that will guide you through the selection process. You don't have to select the stack for every pixel; instead, SEPAL will clip the AOI in smaller pieces called **Tiles**. These tiles correspond to the native tiling system of your dataset and are displayed on the map with circled numbers in their centroid. Each number corresponds to the number of scenes available to build the mosaic tile. Hover over these circles to see the tile boundaries appear." +#: ../../source/cookbook/optical_mosaic.rst:301 +msgid ":btn:``: retrieve mosaic" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:308 -msgid "Landsat and Sentinel datasets have a different grid system, which is why the selection process cannot be used if you have selected both of these datasets. If you have an idea related to the user interface (UI) that could make them work together, let us know in our `issue tracker `__." +#: ../../source/cookbook/optical_mosaic.rst:309 +msgid "" +"If you have not selected the option :guilabel:`Select scenes` in the " +":guilabel:`SCN` tab, the :icon:`fa-solid fa-wand-sparkles` button will be" +" disabled and the scene areas will be hidden as no scene selection needs " +"to be performed (see those with a number in a circle on the previous " +"screenshot)." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:311 +msgid "" +"If you can't see the image scene area, you probably have selected a small" +" AOI. Zoom out on the map and you will see the number of available images" +" in the circles." +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:314 +msgid "Select scenes" +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:316 +msgid "" +"To create a mosaic, select the scenes that will be used to compute each " +"pixel value of the mosaic. SEPAL provides a user-friendly interface that " +"will guide you through the selection process. You don't have to select " +"the stack for every pixel; instead, SEPAL will clip the AOI in smaller " +"pieces called **Tiles**. These tiles correspond to the native tiling " +"system of your dataset and are displayed on the map with circled numbers " +"in their centroid. Each number corresponds to the number of scenes " +"available to build the mosaic tile. Hover over these circles to see the " +"tile boundaries appear." +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:320 +msgid "" +"Landsat and Sentinel datasets have a different grid system, which is why " +"the selection process cannot be used if you have selected both of these " +"datasets. If you have an idea related to the user interface (UI) that " +"could make them work together, let us know in our `issue tracker " +"`__." +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:323 msgid "Auto-select scene" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:313 -msgid "Selecting the :icon:`fa-solid fa-wand-magic` tab will open the **Auto-selection** pane." +#: ../../source/cookbook/optical_mosaic.rst:325 +msgid "" +"Selecting the :icon:`fa-solid fa-wand-sparkles` tab will open the **Auto-" +"selection** pane." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:315 -msgid "Move the sliders to select the minimum and the maximum number of scenes SEPAL should select in a tile. Then, select the :guilabel:`Validate` button to apply the auto-select method." +#: ../../source/cookbook/optical_mosaic.rst:327 +msgid "" +"Move the sliders to set the :code:`Minimum number of scenes` and the " +":code:`Maximum number of scenes` SEPAL should select in a tile. Then, " +"select the :guilabel:`Select scenes` button to apply the auto-select " +"method." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:317 -msgid "SEPAL will use the priority defined in the :guilabel:`SCN` tab to order the scene and collect the optimal number for your request." +#: ../../source/cookbook/optical_mosaic.rst:329 +msgid "" +"SEPAL will use the priority defined in the :guilabel:`SCN` tab to order " +"the scene and collect the optimal number for your request." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:321 -msgid "The result is never perfect but can be used as a starting point for the manual selection of scenes." +#: ../../source/cookbook/optical_mosaic.rst:333 +msgid "" +"The result is never perfect but can be used as a starting point for the " +"manual selection of scenes." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:328 +#: ../../source/cookbook/optical_mosaic.rst:340 msgid "Clear all scenes" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:330 -msgid "If at least one scene is selected, the :icon:`fa-solid fa-trash` tab will be available. Select it to open the **Clear** pane." +#: ../../source/cookbook/optical_mosaic.rst:342 +msgid "" +"If at least one scene is selected, the :icon:`fa-solid fa-trash` tab will" +" be available. Select it to open the **Clear** pane." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:332 -msgid "Select :guilabel:`Clear scenes` to remove all manually and automatically selected scenes." +#: ../../source/cookbook/optical_mosaic.rst:344 +msgid "" +"Select :guilabel:`Clear scenes` to remove all manually and automatically " +"selected scenes." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:339 +#: ../../source/cookbook/optical_mosaic.rst:351 msgid "Manual selection" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:341 -msgid "To open the **Scene selection** menu, hover over a tile circled-number and select it (**1**). The window will be divided into two sections:" +#: ../../source/cookbook/optical_mosaic.rst:353 +msgid "" +"To open the **Scene selection** menu, hover over a tile circled-number " +"and select it (**1**). The window will be divided into two sections:" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:343 -msgid "**Available scene** (**2**): All the available scenes according to the parameters you selected. These scenes are ordered using the :code:`priority` parameter you set in the :guilabel:`SCN` tab." +#: ../../source/cookbook/optical_mosaic.rst:355 +msgid "" +"**Available scene** (**2**): All the available scenes according to the " +"parameters you selected. These scenes are ordered using the " +":code:`priority` parameter you set in the :guilabel:`SCN` tab." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:344 +#: ../../source/cookbook/optical_mosaic.rst:356 msgid "**Selected scenes** (**3**): The scenes that are currently selected." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:350 -msgid "Each thumbnail represents a scene of the tile stack. You have the option to include them in the mosaic. The scenes located on the left side are the **Available scenes**; the **Selected scenes** are on the right side. In both cases, the following information can be found on the thumbnail:" +#: ../../source/cookbook/optical_mosaic.rst:362 +msgid "" +"Each thumbnail represents a scene of the tile stack. You have the option " +"to include them in the mosaic. The scenes located on the left side are " +"the **Available scenes**; the **Selected scenes** are on the right side. " +"In both cases, the following information can be found on the thumbnail:" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:352 -msgid "A small preview of the scene in the *red, blue, green* band combination." +#: ../../source/cookbook/optical_mosaic.rst:364 +msgid "" +"A small preview of the scene in the *red, green, blue* (true-colour) band" +" combination." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:353 +#: ../../source/cookbook/optical_mosaic.rst:365 msgid "The exact date in YYYY-MM-DD of the scene." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:354 +#: ../../source/cookbook/optical_mosaic.rst:366 msgid "The satellite name :icon:`fa-solid fa-satellite-dish`." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:355 -msgid "The cloud coverage of the scene in percent and its position in the stack values :icon:`fa-solid fa-cloud`." +#: ../../source/cookbook/optical_mosaic.rst:367 +msgid "" +"The cloud coverage of the scene in percent and its position in the stack " +"values :icon:`fa-solid fa-cloud`." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:356 -msgid "The distance from target day in days within the season and its position in the stack values :icon:`fa-solid fa-calendar-check`." +#: ../../source/cookbook/optical_mosaic.rst:368 +msgid "" +"The distance from target day in days within the season and its position " +"in the stack values :icon:`fa-solid fa-calendar-check`." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:368 -msgid "You can decide to move the scene to the **Selected scene** area by selecting :icon:`fa-solid fa-plus`:guilabel:`Add` or moving it back to **Available scene** pane by selecting :icon:`fa-solid fa-minus` :guilabel:`Remove`." +#: ../../source/cookbook/optical_mosaic.rst:380 +msgid "" +"You can decide to move the scene to the **Selected scene** area by " +"selecting :icon:`fa-solid fa-plus` :guilabel:`Add` or moving it back to " +"the **Available scene** pane by selecting :icon:`fa-solid fa-minus` " +":guilabel:`Remove`." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:382 -msgid "Scenes are moved from one side to the other so they are not duplicated and cannot be selected twice. Be careful if your connection is slow; wait for the thumbnail to move before clicking again (if you click too fast, you could select two different images instead of one)." +#: ../../source/cookbook/optical_mosaic.rst:394 +msgid "" +"Scenes are moved from one side to the other so they are not duplicated " +"and cannot be selected twice. Be careful if your connection is slow; wait" +" for the thumbnail to move before clicking again (if you click too fast, " +"you could select two different images instead of one)." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:384 -msgid "Once you are happy with your selection, select the :guilabel:`Apply` button to close the window and use the selected scenes to compute the mosaic on this tile. When the window is closed, SEPAL resets the rendering of all tiles." +#: ../../source/cookbook/optical_mosaic.rst:396 +msgid "" +"Once you are happy with your selection, select the :guilabel:`Apply` " +"button to close the window and use the selected scenes to compute the " +"mosaic on this tile. When the window is closed, SEPAL resets the " +"rendering of all tiles." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:387 +#: ../../source/cookbook/optical_mosaic.rst:399 msgid "Retrieve" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:391 -msgid "You cannot export a recipe as an asset or a :code:`.tiff` file without a small computation quota. If you are a new user, see :doc:`../setup/resource`." +#: ../../source/cookbook/optical_mosaic.rst:403 +msgid "" +"You cannot export a recipe as an asset or a :code:`.tif` file without a " +"small computation quota. If you are a new user, see " +":doc:`../setup/resource`." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:393 -msgid "Selecting the :icon:`fa-solid fa-cloud-arrow-down` tab will open the **Retrieve** pane where you can select the exportation parameters." +#: ../../source/cookbook/optical_mosaic.rst:405 +msgid "" +"Selecting the :icon:`fa-solid fa-cloud-arrow-down` tab will open the " +"**Retrieve** pane where you can select the exportation parameters." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:400 +#: ../../source/cookbook/optical_mosaic.rst:412 msgid "Bands" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:402 -msgid "You need to select the band(s) to export with the mosaic. There is no maximum number of bands, but exporting useless bands will only increase the size and time of the output. To discover the full list of available bands with SEPAL, see :doc:`../feature/bands`." +#: ../../source/cookbook/optical_mosaic.rst:414 +msgid "" +"You need to select the band(s) to export with the mosaic. There is no " +"maximum number of bands, but exporting useless bands will only increase " +"the size and time of the output. To discover the full list of available " +"bands with SEPAL, see :doc:`../feature/optical_bands`." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:406 -msgid "There is no fixed rule to the band selection. Each index is more adapted to a set of analyses in a defined biome. The knowledge of the study area, the evolution expected and the careful selection of an adapted band combination will improve the quality of downstream analysis." +#: ../../source/cookbook/optical_mosaic.rst:418 +msgid "" +"There is no fixed rule to the band selection. Each index is more adapted " +"to a set of analyses in a defined biome. The knowledge of the study area," +" the evolution expected and the careful selection of an adapted band " +"combination will improve the quality of downstream analysis." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:409 +#: ../../source/cookbook/optical_mosaic.rst:421 msgid "Dates" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:411 -msgid ":guilabel:`dayofyear`: the Julian calendar date (day of the year)" +#: ../../source/cookbook/optical_mosaic.rst:423 +msgid ":guilabel:`dayOfYear`: the Julian calendar date (day of the year)" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:412 -msgid ":guilabel:`dayfromtarget`: the distance to the target date within the season in days" +#: ../../source/cookbook/optical_mosaic.rst:424 +msgid "" +":guilabel:`daysFromTarget`: the distance to the target date within the " +"season in days" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:415 +#: ../../source/cookbook/optical_mosaic.rst:428 +msgid "" +"These metadata bands are only available when the :guilabel:`Medoid` " +"composing method is used (the :guilabel:`Median` method produces " +"artificial pixels that carry no metadata)." +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:431 msgid "Scale" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:417 -msgid "You can set a custom scale for exportation by changing the value of the slider in metres (m) (note that requesting a smaller resolution than images' native resolution will not improve the quality of the output – just its size – keep in mind that the native resolution of Sentinel data is 10 m, while Landsat is 30 m.)" +#: ../../source/cookbook/optical_mosaic.rst:433 +msgid "" +"You can set a custom scale for exportation by selecting a value in metres" +" (m) (note that requesting a smaller resolution than the images' native " +"resolution will not improve the quality of the output – just its size – " +"keep in mind that the native resolution of Sentinel data is 10 m, while " +"Landsat is 30 m)." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:420 +#: ../../source/cookbook/optical_mosaic.rst:436 msgid "Destination" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:422 -msgid "You can export the image to the :guilabel:`SEPAL workspace` or to the ;guilabel:`Google Earth Engine Asset` folder. The same image will be exported to both; however, for the former, you will find it in :code:`.tif` format in the :code:`Downloads` folder; for the latter, the image will be exported to your GEE account asset list." +#: ../../source/cookbook/optical_mosaic.rst:438 +msgid "Choose a single destination for the export:" +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:440 +msgid "" +":guilabel:`SEPAL workspace`: the image is written to your SEPAL files in " +":code:`.tif` format (by default in the :code:`Downloads` folder)." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:426 -msgid "If :guilabel:`Google Earth Engine Asset` is not displayed, it means that your GEE account is not connected to SEPAL. Please refer to `Connect SEPAL to GEE <../setup/gee.html>`__." +#: ../../source/cookbook/optical_mosaic.rst:441 +msgid "" +":guilabel:`Google Earth Engine asset`: the image is exported to your GEE " +"account as an asset. You can export it either as a single " +":guilabel:`Image` or as an :guilabel:`Image collection` (tiled, which is " +"better suited to large exports), and set its sharing to " +":guilabel:`Private` or :guilabel:`Public`." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:428 -msgid "Select :guilabel:`Apply` to start the download process." +#: ../../source/cookbook/optical_mosaic.rst:442 +msgid "" +":guilabel:`Google Drive`: the image is exported to the Google Drive of " +"the connected Google account." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:431 +#: ../../source/cookbook/optical_mosaic.rst:446 +msgid "" +"The :guilabel:`Google Earth Engine asset` and :guilabel:`Google Drive` " +"destinations are only displayed when a Google account is connected to " +"SEPAL. If they are missing, please refer to `Connect SEPAL to GEE " +"<../setup/gee.html>`__." +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:448 +msgid "Select :guilabel:`Retrieve` to start the export process." +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:451 msgid "Exportation status" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:433 -msgid "In the **Tasks** tab (lower-left corner using the :icon:`fa-solid fa-list-check` or :icon:`fa-solid fa-spinner` buttons, depending on the loading status), you will see the list of the different loading tasks. The interface will provide you with information about task progress and display an error if the exportation has failed." +#: ../../source/cookbook/optical_mosaic.rst:453 +msgid "" +"In the **Tasks** tab (lower-left corner using the :icon:`fa-solid fa-" +"list-check` or :icon:`fa-solid fa-spinner` buttons, depending on the " +"loading status), you will see the list of the different loading tasks. " +"The interface will provide you with information about task progress and " +"display an error if the exportation has failed." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:435 -msgid "If you are unsatisfied with the way we present information, the task can also be monitored using the `GEE task manager `__." +#: ../../source/cookbook/optical_mosaic.rst:455 +msgid "" +"If you are unsatisfied with the way we present information, the task can " +"also be monitored using the `GEE task manager " +"`__." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:439 -msgid "This operation is running between GEE and SEPAL servers in the background. You can close the SEPAL page without stopping the process." +#: ../../source/cookbook/optical_mosaic.rst:459 +msgid "" +"This operation is running between GEE and SEPAL servers in the " +"background. You can close the SEPAL page without stopping the process." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:441 -msgid "When the task is finished, the frame will be displayed in green, as shown on the second image below." +#: ../../source/cookbook/optical_mosaic.rst:461 +msgid "" +"When the task is finished, the frame will be displayed in green, as shown" +" on the second image below." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:454 +#: ../../source/cookbook/optical_mosaic.rst:474 msgid "Access" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:456 -msgid "Once the download process is complete, you can access the data in your SEPAL folders. The data will be stored in the :code:`Downloads` folder using the following format:" +#: ../../source/cookbook/optical_mosaic.rst:476 +msgid "" +"Once the download process is complete, you can access the data in your " +"SEPAL folders. The data will be stored in the :code:`Downloads` folder " +"using the following format:" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:471 -msgid "Understanding how images are stored in an optical mosaic is only required if you want to manually use them. The SEPAL applications are bound to this tiling system and can digest the information for you." +#: ../../source/cookbook/optical_mosaic.rst:491 +msgid "" +"Understanding how images are stored in an optical mosaic is only required" +" if you want to manually use them. The SEPAL applications are bound to " +"this tiling system and can digest the information for you." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:473 -msgid "The data are stored in a folder using the name of the optical mosaic as it was created in the first section of this article. As the number of data is spatially too big to be exported at once, the data are divided into smaller pieces and brought back together in a :code:`_.vrt` file." +#: ../../source/cookbook/optical_mosaic.rst:493 +msgid "" +"The data are stored in a folder using the name of the optical mosaic as " +"it was created in the first section of this article. As the number of " +"data is spatially too big to be exported at once, the data are divided " +"into smaller pieces and brought back together in a :code:`_.vrt` file." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:477 -msgid "The full folder with a consistent tree folder is required to read the `.vrt`" +#: ../../source/cookbook/optical_mosaic.rst:497 +msgid "" +"The full folder with a consistent tree folder is required to read the " +"`.vrt`" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:481 -msgid "Now that you have downloaded the optical mosaic to your SEPAL and/or GEE account, it can be downloaded to your computer using `FileZilla <../setup.filezilla.html>`__ or used in other SEPAL workflows." +#: ../../source/cookbook/optical_mosaic.rst:501 +msgid "" +"Now that you have exported the optical mosaic to your SEPAL workspace, it" +" can be downloaded to your computer using `file exchange options " +"<../setup/filezilla.html>`__ or used in other SEPAL workflows." msgstr "" #~ msgid "Optical mosaic" @@ -1794,3 +2201,539 @@ msgstr "" #~ " SEPAL workflows." #~ msgstr "" +#~ msgid "" +#~ "The first step is to change the" +#~ " name of the recipe. This name " +#~ "will be used to identify your " +#~ "files and recipes in SEPAL folders. " +#~ "Use the best-suited convention for " +#~ "your needs. Simply double-click the " +#~ "tab and write a new name. It " +#~ "will default to " +#~ ":code:`Optical_mosaic___`." +#~ msgstr "" + +#~ msgid "" +#~ "As mentioned in the introduction, a " +#~ "mosaic uses different raster datasets " +#~ "that can be obtained from multiple " +#~ "sources. SEPAL allows you to select " +#~ "data from multiple entry points. Below," +#~ " you can find a description of " +#~ "these sources (select a link to " +#~ "see the corresponding dataset information):" +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`L8`: `Landsat 8 Tier 1 " +#~ "`__. Landsat " +#~ "scenes with the highest available data" +#~ " quality are placed into **Tier 1**" +#~ " and considered suitable for time-" +#~ "series processing analysis. **Tier 1** " +#~ "includes Level-1 Precision Terrain (L1TP) " +#~ "processed data that have well-" +#~ "characterized radiometry and are " +#~ "intercalibrated across different Landsat " +#~ "sensors. The geo-registration of **Tier" +#~ " 1** scenes will be consistent and" +#~ " within prescribed tolerances (< = 12" +#~ " m root mean square error [RMSE])." +#~ " All **Tier 1** Landsat data can " +#~ "be considered consistent and intercalibrated" +#~ " (regardless of the sensor used) " +#~ "across the full collection." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`L8 T2`: `Landsat 8 Tier 2 " +#~ "`__. Scenes " +#~ "not meeting **Tier 1** criteria during" +#~ " processing are assigned to **Tier " +#~ "2**. This includes Systematic terrain " +#~ "(L1GT) and Systematic (L1GS) processed " +#~ "scenes, as well as any L1TP scenes" +#~ " that do not meet the **Tier " +#~ "1** specifications due to significant " +#~ "cloud cover, insufficient ground control " +#~ "and other factors. Users interested in" +#~ " **Tier 2** scenes can analyze the" +#~ " RMSE and other properties to " +#~ "determine the suitability for use in " +#~ "individual applications and studies." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`L7`: `Landsat 7 Tier 1 " +#~ "`__. Landsat " +#~ "scenes with the highest available data" +#~ " quality are placed into **Tier 1**" +#~ " and are considered suitable for " +#~ "time-series processing analysis. **Tier 1**" +#~ " includes Level-1 Precision Terrain (L1TP)" +#~ " processed data that have well-" +#~ "characterized radiometry and are " +#~ "intercalibrated across different Landsat " +#~ "sensors. The geo-registration of **Tier" +#~ " 1** scenes will be consistent and" +#~ " within prescribed tolerances (< = 12" +#~ " m RMSE). All **Tier 1** Landsat " +#~ "data can be considered consistent and" +#~ " intercalibrated across the full collection" +#~ " (regardless of the sensor used)." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`L7 T2`: `Landsat 7 Tier 2 " +#~ "`__. Scenes " +#~ "not meeting **Tier 1** criteria during" +#~ " processing are assigned to **Tier " +#~ "2**. This includes Systematic terrain " +#~ "(L1GT) and Systematic (L1GS) processed " +#~ "scenes, as well as any L1TP scenes" +#~ " that do not meet the **Tier " +#~ "1** specifications due to significant " +#~ "cloud cover, insufficient ground control " +#~ "and other factors. Users interested in" +#~ " **Tier 2** scenes can analyze the" +#~ " RMSE and other properties to " +#~ "determine the suitability for use in " +#~ "individual applications and studies." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`L4-5`: `Landsat 4 Tier 1 " +#~ "`__ combined " +#~ "with `Landsat 5 Tier 1 " +#~ "`__. Landsat " +#~ "scenes with the highest available data" +#~ " quality are placed into **Tier 1**" +#~ " and are considered suitable for " +#~ "time-series processing analysis. **Tier 1**" +#~ " includes Level-1 Precision Terrain (L1TP)" +#~ " processed data that have well-" +#~ "characterized radiometry and are " +#~ "intercalibrated across different Landsat " +#~ "sensors. The geo-registration of **Tier" +#~ " 1** scenes will be consistent and" +#~ " within prescribed tolerances (< = 12" +#~ " m RMSE). All **Tier 1** Landsat " +#~ "data can be considered consistent and" +#~ " intercalibrated across the full collection" +#~ " (regardless of the sensor used)." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`L4-5 T2`: `Landsat 4 TM Tier" +#~ " 2 `__ combined " +#~ "with `Landsat 5 TM Tier 2 " +#~ "`__. Scenes " +#~ "not meeting **Tier 1** criteria during" +#~ " processing are assigned to **Tier " +#~ "2**. This includes Systematic terrain " +#~ "(L1GT) and Systematic (L1GS) processed " +#~ "scenes, as well as any L1TP scenes" +#~ " that do not meet the **Tier " +#~ "1** specifications due to significant " +#~ "cloud cover, insufficient ground control " +#~ "and other factors. Users interested in" +#~ " **Tier 2** scenes can analyze the" +#~ " RMSE and other properties to " +#~ "determine the suitability for use in " +#~ "individual applications and studies." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`A+B`: `Sentinel-2 Multispectral " +#~ "instrument `__ is a " +#~ "wide-swath, high-resolution, multispectral " +#~ "imaging mission supporting Copernicus Land " +#~ "Monitoring studies, including the monitoring" +#~ " of vegetation, soil and water cover," +#~ " as well as the observation of " +#~ "inland waterways and coastal areas." +#~ msgstr "" + +#~ msgid "" +#~ "Choose :guilabel:`Select scenes` and choose" +#~ " one of the three available " +#~ ":code:`Priority` options, based on the " +#~ "needs of your analysis (SEPAL sorts " +#~ "the images available for each tile):" +#~ msgstr "" + +#~ msgid ":guilabel:`Cloud free`: Prioritizes images with zero or few clouds." +#~ msgstr "" + +#~ msgid ":guilabel:`Target date`: Prioritizes images that match the target date." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`Balanced`: Prioritizes images that " +#~ "maximize both cloud and target date." +#~ msgstr "" + +#~ msgid "This step is optional. SEPAL provides the following options by default:" +#~ msgstr "" + +#~ msgid "**Correction**: :guilabel:`SR`, :guilabel:`BRDF`" +#~ msgstr "" + +#~ msgid "**Pixel filters**: No filters" +#~ msgstr "" + +#~ msgid "**Cloud detection**: :guilabel:`QA bands`, :guilabel:`Cloud score`" +#~ msgstr "" + +#~ msgid "**Cloud buffering**: :guilabel:`None`" +#~ msgstr "" + +#~ msgid "**Snow masking**: :guilabel:`On`" +#~ msgstr "" + +#~ msgid "" +#~ "To create a mosaic, provide SEPAL " +#~ "with the compositing method to create" +#~ " the final image. See the following" +#~ " image for all possible compositing " +#~ "options available." +#~ msgstr "" + +#~ msgid "" +#~ "This will apply corrections on the " +#~ "stacked pixels to improve the quality" +#~ " of the mosaic." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`SR`: Surface reflectance improves " +#~ "comparison between multiple images over " +#~ "the same region by accounting for " +#~ "atmospheric effects such as aerosol " +#~ "scattering and thin clouds, which can" +#~ " help in the detection and " +#~ "characterization of Earth surface change. " +#~ "Top-of-atmosphere images are used " +#~ "if not selected." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`BRDF`: Uses a bidirectional " +#~ "reflectance distribution function (BRDF) model" +#~ " to characterize surface reflectance " +#~ "anisotropy. For a given land area, " +#~ "the BRDF is established based on " +#~ "selected multi-angular observations of " +#~ "surface reflectance." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`Calibrate`: Calibrates Sentinel and " +#~ "Landsat data to make them compatible." +#~ msgstr "" + +#~ msgid "Landsat and Sentinel data are mixed; and" +#~ msgstr "" + +#~ msgid "BRDF and surface reflectance (SR) corrections are disabled." +#~ msgstr "" + +#~ msgid "" +#~ "Activating any of the filters will " +#~ "remove some pixels from the stack. " +#~ "Removing pixels improves the quality of" +#~ " the mosaic, as they are not " +#~ "taken into account in the median " +#~ "value computation." +#~ msgstr "" + +#~ msgid "" +#~ "Each filter is applied iteratively (e.g." +#~ " if the normalized difference vegetation" +#~ " index [NDVI] is already filtering " +#~ "all pixels but one, there will be" +#~ " nothing left in the stack to " +#~ "be filtered by day of year)." +#~ msgstr "" + +#~ msgid "**Shadow**: Filters the XX percent darkest pixels of the stack." +#~ msgstr "" + +#~ msgid "" +#~ "**Haze**: Computes a haze index and " +#~ "filters the XX percent highest values." +#~ msgstr "" + +#~ msgid "" +#~ "**NDVI**: Computes the NDVI and only " +#~ "keeps the XX percent highest values." +#~ msgstr "" + +#~ msgid "" +#~ "**Day of the year**: Computes the " +#~ "distance from target day in days " +#~ "and filters out the XX percent " +#~ "farthest." +#~ msgstr "" + +#~ msgid "Cloud detection" +#~ msgstr "" + +#~ msgid "Refers to the algorithm used to detect clouds." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`QA bands`: Uses quality assessment" +#~ " (QA) bands to identify clouds in " +#~ "Sentinel data." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`Cloud score`: Uses the computed " +#~ "cloud score to identify clouds in " +#~ "Landsat data." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`Pino 26`: Uses the Pino_26 " +#~ "algorithm to identify clouds (for more" +#~ " information, see `D. Simonetti [2021] " +#~ "`__)." +#~ msgstr "" + +#~ msgid "" +#~ "This filter is only available for " +#~ "Sentinel exclusive source when both " +#~ ":guilabel:`BRDF` and :guilabel:`SR` correction " +#~ "are disabled." +#~ msgstr "" + +#~ msgid "" +#~ "Controls how clouds will be masked " +#~ "based on the cloud detection algorithm" +#~ " selected." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`off`: Uses cloud-free pixels " +#~ "if possible, but doesn't mask areas " +#~ "without cloud-free pixels." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`moderate`: Relies only on image " +#~ "source QA bands for cloud masking " +#~ "(a moderate threshold is used)." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`aggressive`: Relies on image source" +#~ " QA bands and a cloud scoring " +#~ "algorithm for cloud masking with an " +#~ "aggressive threshold (this will probably " +#~ "mask out some built-up areas and" +#~ " other bright features)." +#~ msgstr "" + +#~ msgid "" +#~ "When pixels are identified as clouds," +#~ " SEPAL can remove pixels in a " +#~ "small buffer around it to prevent " +#~ "hazy pixels at the borders of " +#~ "clouds to be included in the " +#~ "mosaic." +#~ msgstr "" + +#~ msgid "" +#~ "Buffering is done on the pixel " +#~ "level, so using this option will " +#~ "significantly increase the creation time " +#~ "of the mosaic." +#~ msgstr "" + +#~ msgid ":guilabel:`none`: Doesn't use cloud buffering." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`moderate`: Masks an additional " +#~ "**120 m** around each larger cloud." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`aggressive`: Masks an additional " +#~ "**600 m** around each larger cloud." +#~ msgstr "" + +#~ msgid "Snow masking" +#~ msgstr "" + +#~ msgid "Defines how snowy pixels will be masked." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`on`: Masks snow. This tends " +#~ "to leave some pixels with shadowy " +#~ "snow." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`off`: Doesn't mask snow. Note " +#~ "that some clouds might get misclassified" +#~ " as snow; therefore, disabling snow " +#~ "masking might lead to cloud artifacts." +#~ msgstr "" + +#~ msgid "" +#~ "After filtering the stack of pixels, " +#~ "SEPAL will compute the median value " +#~ "on the different bands of the " +#~ "image. The composing method will define" +#~ " how the final pixel value is " +#~ "extracted." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`Medoid`: Uses the closest pixel " +#~ "from the median value. As a real" +#~ " pixel from the stack, the final " +#~ "value will embed metadata (e.g. the " +#~ "date of observation)." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`Median`: Uses the computed value" +#~ " of the median. If no pixel is" +#~ " matching this value, the pixel will" +#~ " not embed any metadata. It tends " +#~ "to produce smoother mosaics." +#~ msgstr "" + +#~ msgid ":btn:``: auto-select scenes" +#~ msgstr "" + +#~ msgid "" +#~ "If you have not selected the " +#~ "option :guilabel:`Select scenes` in the " +#~ ":guilabel:`SCN` tab, the :icon:`fa-solid " +#~ "fa-wand-magic` button will be " +#~ "disabled and the scene areas will " +#~ "be hidden as no scene selection " +#~ "needs to be performed (see those " +#~ "with a number in a circle on " +#~ "the previous screenshot)." +#~ msgstr "" + +#~ msgid "" +#~ "Selecting the :icon:`fa-solid fa-" +#~ "wand-magic` tab will open the " +#~ "**Auto-selection** pane." +#~ msgstr "" + +#~ msgid "" +#~ "Move the sliders to select the " +#~ "minimum and the maximum number of " +#~ "scenes SEPAL should select in a " +#~ "tile. Then, select the :guilabel:`Validate`" +#~ " button to apply the auto-select " +#~ "method." +#~ msgstr "" + +#~ msgid "" +#~ "A small preview of the scene in" +#~ " the *red, blue, green* band " +#~ "combination." +#~ msgstr "" + +#~ msgid "" +#~ "You can decide to move the scene" +#~ " to the **Selected scene** area by" +#~ " selecting :icon:`fa-solid fa-" +#~ "plus`:guilabel:`Add` or moving it back " +#~ "to **Available scene** pane by selecting" +#~ " :icon:`fa-solid fa-minus` " +#~ ":guilabel:`Remove`." +#~ msgstr "" + +#~ msgid "" +#~ "You cannot export a recipe as an" +#~ " asset or a :code:`.tiff` file " +#~ "without a small computation quota. If" +#~ " you are a new user, see " +#~ ":doc:`../setup/resource`." +#~ msgstr "" + +#~ msgid "" +#~ "You need to select the band(s) to" +#~ " export with the mosaic. There is " +#~ "no maximum number of bands, but " +#~ "exporting useless bands will only " +#~ "increase the size and time of the" +#~ " output. To discover the full list" +#~ " of available bands with SEPAL, see" +#~ " :doc:`../feature/bands`." +#~ msgstr "" + +#~ msgid ":guilabel:`dayofyear`: the Julian calendar date (day of the year)" +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`dayfromtarget`: the distance to the" +#~ " target date within the season in " +#~ "days" +#~ msgstr "" + +#~ msgid "" +#~ "You can set a custom scale for " +#~ "exportation by changing the value of " +#~ "the slider in metres (m) (note " +#~ "that requesting a smaller resolution " +#~ "than images' native resolution will not" +#~ " improve the quality of the output" +#~ " – just its size – keep in " +#~ "mind that the native resolution of " +#~ "Sentinel data is 10 m, while " +#~ "Landsat is 30 m.)" +#~ msgstr "" + +#~ msgid "" +#~ "You can export the image to the" +#~ " :guilabel:`SEPAL workspace` or to the " +#~ ";guilabel:`Google Earth Engine Asset` folder." +#~ " The same image will be exported " +#~ "to both; however, for the former, " +#~ "you will find it in :code:`.tif` " +#~ "format in the :code:`Downloads` folder; " +#~ "for the latter, the image will be" +#~ " exported to your GEE account asset" +#~ " list." +#~ msgstr "" + +#~ msgid "" +#~ "If :guilabel:`Google Earth Engine Asset` " +#~ "is not displayed, it means that " +#~ "your GEE account is not connected " +#~ "to SEPAL. Please refer to `Connect " +#~ "SEPAL to GEE <../setup/gee.html>`__." +#~ msgstr "" + +#~ msgid "Select :guilabel:`Apply` to start the download process." +#~ msgstr "" + +#~ msgid "" +#~ "Now that you have downloaded the " +#~ "optical mosaic to your SEPAL and/or " +#~ "GEE account, it can be downloaded " +#~ "to your computer using `FileZilla " +#~ "<../setup.filezilla.html>`__ or used in other" +#~ " SEPAL workflows." +#~ msgstr "" + diff --git a/docs/source/_locale/it/LC_MESSAGES/cookbook/time_series.po b/docs/source/_locale/it/LC_MESSAGES/cookbook/time_series.po index 87e7f85cfe..e6b95991ab 100644 --- a/docs/source/_locale/it/LC_MESSAGES/cookbook/time_series.po +++ b/docs/source/_locale/it/LC_MESSAGES/cookbook/time_series.po @@ -1,29 +1,27 @@ + msgid "" msgstr "" -"Project-Id-Version: sepal-doc\n" +"Project-Id-Version: sepal-doc\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-03-07 09:39+0100\n" -"PO-Revision-Date: 2024-03-07 08:57\n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: 2024-03-07 08:57+0000\n" "Last-Translator: \n" +"Language: it_IT\n" "Language-Team: Italian\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.14.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Crowdin-Project: sepal-doc\n" -"X-Crowdin-Project-ID: 562097\n" -"X-Crowdin-Language: it\n" -"X-Crowdin-File: /main/docs/source/_locale/en/LC_MESSAGES/cookbook/time_series.po\n" -"X-Crowdin-File-ID: 75\n" -"Language: it_IT\n" +"Generated-By: Babel 2.18.0\n" #: ../../source/cookbook/time_series.rst:2 msgid "Time series" msgstr "" #: ../../source/cookbook/time_series.rst:4 -msgid "*Create and retrieve SITS to study patterns and key changes in landscape evolution over time*" +msgid "" +"*Create and retrieve SITS to study patterns and key changes in landscape " +"evolution over time*" msgstr "" #: ../../source/cookbook/time_series.rst:7 @@ -31,23 +29,48 @@ msgid "Overview" msgstr "" #: ../../source/cookbook/time_series.rst:9 -msgid "A Satellite Image Time Series (SITS) is a set of satellite images taken of the same scene at different times. A SITS makes use of different satellite sources to obtain a larger data series with a short time interval between two images. In this case, it is fundamental to observe the spatial resolution and registration constraints." +msgid "" +"A Satellite Image Time Series (SITS) is a set of satellite images taken " +"of the same scene at different times. A SITS makes use of different " +"satellite sources to obtain a larger data series with a short time " +"interval between two images. In this case, it is fundamental to observe " +"the spatial resolution and registration constraints." msgstr "" #: ../../source/cookbook/time_series.rst:11 -msgid "Satellite observations offer opportunities for understanding how the Earth is changing, determining the causes of these changes and predicting future changes. Remotely sensed data, combined with information from ecosystem models, offer an opportunity for predicting and understanding the behaviour of Earth's ecosystems. Sensors with high spatial and temporal resolutions make the observation of precise spatio-temporal structures in dynamic scenes more accessible. Temporal components integrated with spectral and spatial dimensions allow the identification of complex patterns concerning applications connected with environmental monitoring and analysis of land cover dynamics." +msgid "" +"Satellite observations offer opportunities for understanding how the " +"Earth is changing, determining the causes of these changes and predicting" +" future changes. Remotely sensed data, combined with information from " +"ecosystem models, offer an opportunity for predicting and understanding " +"the behaviour of Earth's ecosystems. Sensors with high spatial and " +"temporal resolutions make the observation of precise spatio-temporal " +"structures in dynamic scenes more accessible. Temporal components " +"integrated with spectral and spatial dimensions allow the identification " +"of complex patterns concerning applications connected with environmental " +"monitoring and analysis of land cover dynamics." msgstr "" #: ../../source/cookbook/time_series.rst:13 -msgid "Change detection can only provide a \"before and after\" scenario; a time-series analysis provides an opportunity to study patterns and key changes in the landscape evolution over time." +msgid "" +"Change detection can only provide a \"before and after\" scenario; a " +"time-series analysis provides an opportunity to study patterns and key " +"changes in the landscape evolution over time." msgstr "" #: ../../source/cookbook/time_series.rst:15 -msgid "This SEPAL recipe allows users to create and retrieve SITS based on `Landsat `__ and `Copernicus `__ programmes' imagery using the Google Earth Engine (GEE) datacube." +msgid "" +"This SEPAL recipe allows users to create and retrieve SITS based on " +"`Landsat `__ and `Copernicus `__ programmes' " +"imagery using the Google Earth Engine (GEE) datacube." msgstr "" #: ../../source/cookbook/time_series.rst:19 -msgid "You won't be able to download images if your SEPAL and GEE account aren't connected. To learn more, go to `Connect SEPAL to GEE <../setup/gee.html>`__." +msgid "" +"You won't be able to download images if your SEPAL and GEE account aren't" +" connected. To learn more, go to `Connect SEPAL to GEE " +"<../setup/gee.html>`__." msgstr "" #: ../../source/cookbook/time_series.rst:22 @@ -55,15 +78,27 @@ msgid "Start" msgstr "" #: ../../source/cookbook/time_series.rst:24 -msgid "Once the **Time series** recipe is selected, SEPAL will open the recipe process in a new tab (see **1** in the following figure). The base map will change to Google high-resolution imagery and the **Area of interest (AOI)** selection window will appear in the lower right (**2**)." +msgid "" +"Once the **Time series** recipe is selected, SEPAL will open the recipe " +"process in a new tab (see **1** in the following figure). The base map " +"will change to Google high-resolution imagery and the **Area of interest " +"(AOI)** selection window will appear in the lower right (**2**)." msgstr "" #: ../../source/cookbook/time_series.rst:30 -msgid "The first step is to change the name of the recipe. This name will be used to identify your files and recipes in the SEPAL folders. Use the best-suited convention for your needs. Simply double-click the tab and enter a new name. It will default to :code:`Time_series___`." +msgid "" +"The first step is to change the name of the recipe. This name will be " +"used to identify your files and recipes in the SEPAL folders. Use the " +"best-suited convention for your needs. Simply double-click the tab and " +"enter a new name. It will default to " +":code:`Time_series___`." msgstr "" #: ../../source/cookbook/time_series.rst:42 -msgid "The SEPAL team recommends using the following naming convention: :code:`___` (e.g. :code:`sgp_2012-2018_ndfi_l78`)." +msgid "" +"The SEPAL team recommends using the following naming convention: " +":code:`___` (e.g. " +":code:`sgp_2012-2018_ndfi_l78`)." msgstr "" #: ../../source/cookbook/time_series.rst:45 @@ -72,7 +107,9 @@ msgid "Parameters" msgstr "" #: ../../source/cookbook/time_series.rst:47 -msgid "In the lower-right corner, four tabs are available, allowing you to customize the time series to your needs:" +msgid "" +"In the lower-right corner, four tabs are available, allowing you to " +"customize the time series to your needs:" msgstr "" #: ../../source/cookbook/time_series.rst:49 @@ -96,7 +133,9 @@ msgid "AOI selection" msgstr "" #: ../../source/cookbook/time_series.rst:61 -msgid "The data exported by the recipe will be confined to the bounds of the AOI. There are multiple ways to select the AOI in SEPAL:" +msgid "" +"The data exported by the recipe will be confined to the bounds of the " +"AOI. There are multiple ways to select the AOI in SEPAL:" msgstr "" #: ../../source/cookbook/time_series.rst:63 @@ -120,7 +159,12 @@ msgid "Dates" msgstr "" #: ../../source/cookbook/time_series.rst:76 -msgid "In the :guilabel:`DAT` tab, you will be asked to select the start date and end date of the time series. Select the **Date** text field to open a pop-up window. Choose the :btn:` Select` button to choose a date. When both dates have been chosen, select the :btn:` Apply` button." +msgid "" +"In the :guilabel:`DAT` tab, you will be asked to select the start date " +"and end date of the time series. Select the **Date** text field to open a" +" pop-up window. Choose the :btn:` Select` button to " +"choose a date. When both dates have been chosen, select the :btn:` Apply` button." msgstr "" #: ../../source/cookbook/time_series.rst:89 @@ -128,11 +172,18 @@ msgid "Sources" msgstr "" #: ../../source/cookbook/time_series.rst:91 -msgid "As mentioned in the introduction, a SITS makes use of different satellite sources to obtain a larger data series with a shorter time interval between the images. To meet this objective, SEPAL allows you to select data from multiple entry points. You can select multiple sources from :btn:`Radar`, :btn:`Optical` or :btn:`Planet` datasets." +msgid "" +"As mentioned in the introduction, a SITS makes use of different satellite" +" sources to obtain a larger data series with a shorter time interval " +"between the images. To meet this objective, SEPAL allows you to select " +"data from multiple entry points. You can select multiple sources from " +":btn:`Radar`, :btn:`Optical` or :btn:`Planet` datasets." msgstr "" #: ../../source/cookbook/time_series.rst:93 -msgid "When all of the data has been selected, select :btn:` Apply`." +msgid "" +"When all of the data has been selected, select :btn:` " +"Apply`." msgstr "" #: ../../source/cookbook/time_series.rst:100 @@ -160,7 +211,12 @@ msgid "Snow masking: :guilabel:`on`" msgstr "" #: ../../source/cookbook/time_series.rst:111 -msgid "Multiple pre-processing parameters can be set to improve the quality of the provided images. SEPAL has gathered four of them in the form of these interactive buttons. If you think others should be added, tell us in the `issue tracker `__." +msgid "" +"Multiple pre-processing parameters can be set to improve the quality of " +"the provided images. SEPAL has gathered four of them in the form of these" +" interactive buttons. If you think others should be added, tell us in the" +" `issue tracker " +"`__." msgstr "" #: ../../source/cookbook/time_series.rst:113 @@ -168,11 +224,15 @@ msgid "**Correction**" msgstr "" #: ../../source/cookbook/time_series.rst:115 -msgid ":guilabel:`Surface reflectance`: Use scenes' atmospherically corrected surface reflectance." +msgid "" +":guilabel:`Surface reflectance`: Use scenes' atmospherically corrected " +"surface reflectance." msgstr "" #: ../../source/cookbook/time_series.rst:116 -msgid ":guilabel:`BRDF correction`: Correct for bidirectional reflectance distribution function (BRDF) effects." +msgid "" +":guilabel:`BRDF correction`: Correct for bidirectional reflectance " +"distribution function (BRDF) effects." msgstr "" #: ../../source/cookbook/time_series.rst:118 @@ -180,7 +240,9 @@ msgid "**Cloud detection**" msgstr "" #: ../../source/cookbook/time_series.rst:120 -msgid ":guilabel:`QA bands`: Use previously created quality assessment (QA) bands from datasets." +msgid "" +":guilabel:`QA bands`: Use previously created quality assessment (QA) " +"bands from datasets." msgstr "" #: ../../source/cookbook/time_series.rst:121 @@ -192,11 +254,16 @@ msgid "**Cloud masking**" msgstr "" #: ../../source/cookbook/time_series.rst:125 -msgid ":guilabel:`Moderate`: Rely only on image source QA bands for cloud masking." +msgid "" +":guilabel:`Moderate`: Rely only on image source QA bands for cloud " +"masking." msgstr "" #: ../../source/cookbook/time_series.rst:126 -msgid ":guilabel:`Aggressive`: Rely on image source QA bands and a cloud-scoring algorithm for cloud masking (this will probably \"mask\" some built-up areas and other bright features)." +msgid "" +":guilabel:`Aggressive`: Rely on image source QA bands and a cloud-scoring" +" algorithm for cloud masking (this will probably \"mask\" some built-up " +"areas and other bright features)." msgstr "" #: ../../source/cookbook/time_series.rst:128 @@ -204,11 +271,16 @@ msgid "**Snow masking**" msgstr "" #: ../../source/cookbook/time_series.rst:130 -msgid ":guilabel:`On`: Mask snow (this tends to leave some pixels with shadowy snow)." +msgid "" +":guilabel:`On`: Mask snow (this tends to leave some pixels with shadowy " +"snow)." msgstr "" #: ../../source/cookbook/time_series.rst:131 -msgid ":guilabel:`Off`: Don't mask snow (some clouds might get misclassified as snow, and because of this, disabling snow masking might lead to cloud artefacts)." +msgid "" +":guilabel:`Off`: Don't mask snow (some clouds might get misclassified as " +"snow, and because of this, disabling snow masking might lead to cloud " +"artefacts)." msgstr "" #: ../../source/cookbook/time_series.rst:138 @@ -220,7 +292,11 @@ msgid "The wavelength of each band is dependent on the satellite used." msgstr "" #: ../../source/cookbook/time_series.rst:144 -msgid "The time series will use a single observation for each pixel. This observation can be one of the available bands in SEPAL. To discover the full list of available bands, see :doc:`../feature/bands`." +msgid "" +"The time series will use a single observation for each pixel. This " +"observation can be one of the available bands in SEPAL. To discover the " +"full list of available bands, see :doc:`../feature/optical_bands` and " +"`../feature/radar_bands`." msgstr "" #: ../../source/cookbook/time_series.rst:147 @@ -228,11 +304,16 @@ msgid "Analysis" msgstr "" #: ../../source/cookbook/time_series.rst:149 -msgid "Once all parameters are set, you can generate data from the recipe. Some can be directly generated on the fly from the interface; the rest require retrieving the data from SEPAL folders." +msgid "" +"Once all parameters are set, you can generate data from the recipe. Some " +"can be directly generated on the fly from the interface; the rest require" +" retrieving the data from SEPAL folders." msgstr "" #: ../../source/cookbook/time_series.rst:151 -msgid "The analysis icons can be found in the upper-right corner of the SEPAL interface:" +msgid "" +"The analysis icons can be found in the upper-right corner of the SEPAL " +"interface:" msgstr "" #: ../../source/cookbook/time_series.rst:153 @@ -244,7 +325,10 @@ msgid ":btn:``: Retrieve data." msgstr "" #: ../../source/cookbook/time_series.rst:162 -msgid "The **Download** icon is only enabled when the data parameters are complete. If the button is disabled, check your parameters, as some might be missing." +msgid "" +"The **Download** icon is only enabled when the data parameters are " +"complete. If the button is disabled, check your parameters, as some might" +" be missing." msgstr "" #: ../../source/cookbook/time_series.rst:165 @@ -252,7 +336,11 @@ msgid "Plot" msgstr "" #: ../../source/cookbook/time_series.rst:167 -msgid "Select :btn:`` to start the plotting tool. Move the pointer to the main map; the pointer will be transformed into a :icon:`fa-solid fa-plus`. Click anywhere in the AOI to plot data for this specific location in the following pop-up window." +msgid "" +"Select :btn:`` to start the plotting tool. Move " +"the pointer to the main map; the pointer will be transformed into a :icon" +":`fa-solid fa-plus`. Click anywhere in the AOI to plot data for this " +"specific location in the following pop-up window." msgstr "" #: ../../source/cookbook/time_series.rst:169 @@ -260,15 +348,23 @@ msgid "The plotting area is dynamic and can be customized by the user." msgstr "" #: ../../source/cookbook/time_series.rst:171 -msgid "Using the slider (1), the temporal width displayed can be changed. It cannot exceed the start and/or end date of the time series." +msgid "" +"Using the slider (1), the temporal width displayed can be changed. It " +"cannot exceed the start and/or end date of the time series." msgstr "" #: ../../source/cookbook/time_series.rst:173 -msgid "You can also select the observation feature by selecting one of the available measures in the dropdown selector in the upper-left corner (2). The available bands are the same as those described previously." +msgid "" +"You can also select the observation feature by selecting one of the " +"available measures in the dropdown selector in the upper-left corner (2)." +" The available bands are the same as those described previously." msgstr "" #: ../../source/cookbook/time_series.rst:175 -msgid "On the main graph, each point represents one valid observation (based on the pre-processing filters). Hover over the point to let the tooltip describe the value and date of the observation (3)." +msgid "" +"On the main graph, each point represents one valid observation (based on " +"the pre-processing filters). Hover over the point to let the tooltip " +"describe the value and date of the observation (3)." msgstr "" #: ../../source/cookbook/time_series.rst:179 @@ -276,7 +372,13 @@ msgid "The coordinates of the point are displayed at the top of the chart window msgstr "" #: ../../source/cookbook/time_series.rst:187 -msgid "Since the plot feature is retrieving information from GEE on the fly and presenting it in an interactive window, this operation can take time, depending on the number of available observations and the complexity of the selected pre-processing parameters. If a spinning wheel appears in the pop-up window, you may have to wait up to two minutes to see the data displayed." +msgid "" +"Since the plot feature is retrieving information from GEE on the fly and " +"presenting it in an interactive window, this operation can take time, " +"depending on the number of available observations and the complexity of " +"the selected pre-processing parameters. If a spinning wheel appears in " +"the pop-up window, you may have to wait up to two minutes to see the data" +" displayed." msgstr "" #: ../../source/cookbook/time_series.rst:194 @@ -284,27 +386,47 @@ msgid "Export" msgstr "" #: ../../source/cookbook/time_series.rst:196 -msgid "In order for the data generated by the recipe to be used in other workflows, it needs to be retrieved from GEE and uploaded to SEPAL." +msgid "" +"In order for the data generated by the recipe to be used in other " +"workflows, it needs to be retrieved from GEE and uploaded to SEPAL." msgstr "" #: ../../source/cookbook/time_series.rst:200 -msgid "You cannot export a recipe as an asset or a :code:`.tiff` file without a small computation quota. If you are a new user, see :doc:`../setup/resource`." +msgid "" +"You cannot export a recipe as an asset or a :code:`.tiff` file without a " +"small computation quota. If you are a new user, see " +":doc:`../setup/resource`." msgstr "" #: ../../source/cookbook/time_series.rst:204 -msgid "Select :btn:`` to open the **Download parameters** window. You will be able to select the measure to use on each observation of the time series. This measure can be selected in the list of available bands presented above in a previous section." +msgid "" +"Select :btn:`` to open the **Download " +"parameters** window. You will be able to select the measure to use on " +"each observation of the time series. This measure can be selected in the " +"list of available bands presented above in a previous section." msgstr "" #: ../../source/cookbook/time_series.rst:208 -msgid "There is no fixed rule to the measure selection. Each index is more adapted to a set of analyses in a defined biome. The knowledge of the study area, the evolution expected and the careful selection of an adapted measure will improve the quality of downstream analysis." +msgid "" +"There is no fixed rule to the measure selection. Each index is more " +"adapted to a set of analyses in a defined biome. The knowledge of the " +"study area, the evolution expected and the careful selection of an " +"adapted measure will improve the quality of downstream analysis." msgstr "" #: ../../source/cookbook/time_series.rst:210 -msgid "You can set a custom scale for exportation by changing the value of the slider in metres (m). Keep in mind that Sentinel data native resolution is 10 m and Landsat is 30 m." +msgid "" +"You can set a custom scale for exportation by changing the value of the " +"slider in metres (m). Keep in mind that Sentinel data native resolution " +"is 10 m and Landsat is 30 m." msgstr "" #: ../../source/cookbook/time_series.rst:212 -msgid "When all the data is selected, select the :btn:` apply` button. Notice that the task tab in the lower-left corner of the screen (1) will change from :btn:`` to :btn:``, meaning that the tasks are loading." +msgid "" +"When all the data is selected, select the :btn:` " +"apply` button. Notice that the task tab in the lower-left corner of the " +"screen (1) will change from :btn:`` to :btn:``, meaning that the tasks are loading." msgstr "" #: ../../source/cookbook/time_series.rst:220 @@ -312,15 +434,27 @@ msgid "Exportation status" msgstr "" #: ../../source/cookbook/time_series.rst:222 -msgid "By selecting the **Tasks** tab (lower-left corner using the :btn:`` or :btn:`` buttons, depending on the loading status), you will see the list of different tasks loading. The interface will provide you with information about the task progress and display an error if the exportation has failed. If you are unsatisfied with the way we present information, the task can also be monitored using the `GEE task manager `__." +msgid "" +"By selecting the **Tasks** tab (lower-left corner using the :btn:`` or :btn:`` buttons, depending " +"on the loading status), you will see the list of different tasks loading." +" The interface will provide you with information about the task progress " +"and display an error if the exportation has failed. If you are " +"unsatisfied with the way we present information, the task can also be " +"monitored using the `GEE task manager " +"`__." msgstr "" #: ../../source/cookbook/time_series.rst:226 -msgid "This operation is running between GEE and SEPAL servers in the background, so you can close the SEPAL page without ending the process." +msgid "" +"This operation is running between GEE and SEPAL servers in the " +"background, so you can close the SEPAL page without ending the process." msgstr "" #: ../../source/cookbook/time_series.rst:228 -msgid "When the task is finished, the frame will be displayed in green, as shown in the second image below." +msgid "" +"When the task is finished, the frame will be displayed in green, as shown" +" in the second image below." msgstr "" #: ../../source/cookbook/time_series.rst:241 @@ -328,43 +462,82 @@ msgid "Access" msgstr "" #: ../../source/cookbook/time_series.rst:243 -msgid "Once the download process is done, you can access the data in your **SEPAL folders** in :code:`Downloads`, using the following format:" +msgid "" +"Once the download process is done, you can access the data in your " +"**SEPAL folders** in :code:`Downloads`, using the following format:" msgstr "" #: ../../source/cookbook/time_series.rst:268 -msgid "Understanding how images are stored in a time series is only required if you want to manually use them. The SEPAL applications are bound to this tiling system and can digest this information for you." +msgid "" +"Understanding how images are stored in a time series is only required if " +"you want to manually use them. The SEPAL applications are bound to this " +"tiling system and can digest this information for you." msgstr "" #: ../../source/cookbook/time_series.rst:270 -msgid "The data are stored in a folder using the name of the time series as it was labeled in the first section of this document. The SEPAL team was forced to use this folder structure as GEE is unable to export an :code:`ee.ImageCollection`. As the data is spatially too big to be exported at once, they are divided into smaller pieces and reassembled in a :code:`stack.vrt` file." +msgid "" +"The data are stored in a folder using the name of the time series as it " +"was labeled in the first section of this document. The SEPAL team was " +"forced to use this folder structure as GEE is unable to export an " +":code:`ee.ImageCollection`. As the data is spatially too big to be " +"exported at once, they are divided into smaller pieces and reassembled in" +" a :code:`stack.vrt` file." msgstr "" #: ../../source/cookbook/time_series.rst:272 -msgid "The AOI provided by the user will be divided into multiple SEPAL tiles. The AOI is a :code:`ee.FeatureCollection`; each feature is downloaded in a different tile. If the tile is bigger than 2° x 2° (EPSG:4326), then the feature is divided again until all of the tiles are smaller than the maximum 2° size. The tiles are identified by their :code:``." +msgid "" +"The AOI provided by the user will be divided into multiple SEPAL tiles. " +"The AOI is a :code:`ee.FeatureCollection`; each feature is downloaded in " +"a different tile. If the tile is bigger than 2° x 2° (EPSG:4326), then " +"the feature is divided again until all of the tiles are smaller than the " +"maximum 2° size. The tiles are identified by their :code:``." msgstr "" #: ../../source/cookbook/time_series.rst:274 -msgid "To limit the size of the downloaded images, in each SEPAL tile, the time period is divided into **Chunks** of 3 months. They are identified by their :code:`_`. **Chunks** are image folders. As a SEPAL tile is still bigger than what GEE can download at once, the images are divided into GEE tiles. This tiling process uses its own identification system (000000xxxx-000000xxxx). Consequently, **Chunks** contain tile raster images. Each one of these images is composed of one band per observation date, with the value of the measure for each pixel. The bands are named with the date." +msgid "" +"To limit the size of the downloaded images, in each SEPAL tile, the time " +"period is divided into **Chunks** of 3 months. They are identified by " +"their :code:`_`. **Chunks** are image folders. As a " +"SEPAL tile is still bigger than what GEE can download at once, the images" +" are divided into GEE tiles. This tiling process uses its own " +"identification system (000000xxxx-000000xxxx). Consequently, **Chunks** " +"contain tile raster images. Each one of these images is composed of one " +"band per observation date, with the value of the measure for each pixel. " +"The bands are named with the date." msgstr "" #: ../../source/cookbook/time_series.rst:276 -msgid "To gather all these rasters together, a first aggregation on time is performed. One :code:`stack.vrt` is created per GEE tile, meaning that each :code:`stack.vrt` file contains all the :code:`*.tif` contained in each **Chunk**, reconstituting the full time period on the smallest spatial unit: the GEE tile. Each file is stored in a folder called :code:`tile-`." +msgid "" +"To gather all these rasters together, a first aggregation on time is " +"performed. One :code:`stack.vrt` is created per GEE tile, meaning that " +"each :code:`stack.vrt` file contains all the :code:`*.tif`" +" contained in each **Chunk**, reconstituting the full time period on the " +"smallest spatial unit: the GEE tile. Each file is stored in a folder " +"called :code:`tile-`." msgstr "" #: ../../source/cookbook/time_series.rst:278 -msgid "Finally, information is gathered spatially at the SEPAL tile level in the main :code:`stack.vrt` file." +msgid "" +"Finally, information is gathered spatially at the SEPAL tile level in the" +" main :code:`stack.vrt` file." msgstr "" #: ../../source/cookbook/time_series.rst:280 -msgid "The last file, :code:`date.csv`, gathers all the observation dates in chronological order." +msgid "" +"The last file, :code:`date.csv`, gathers all the observation dates in " +"chronological order." msgstr "" #: ../../source/cookbook/time_series.rst:284 -msgid "The dates contained in :code:`date.csv` can differ from one SEPAL tile to another, due to data availability and pre-processing filters." +msgid "" +"The dates contained in :code:`date.csv` can differ from one SEPAL tile to" +" another, due to data availability and pre-processing filters." msgstr "" #: ../../source/cookbook/time_series.rst:288 -msgid "The full folder with a consistent treefolder is required to read the `.vrt`" +msgid "" +"The full folder with a consistent treefolder is required to read the " +"`.vrt`" msgstr "" #: ../../source/cookbook/time_series.rst:290 @@ -372,7 +545,11 @@ msgid "Here is an example of a real TS folder:" msgstr "" #: ../../source/cookbook/time_series.rst:315 -msgid "Now that you have downloaded the TS to your SEPAL account, it can be downloaded to your computer using `FileZilla <../setup.filezilla.html>`__ or used in one of our `Time-series analysis modules <../modules/time-series.html>`__." +msgid "" +"Now that you have downloaded the TS to your SEPAL account, it can be " +"downloaded to your computer using `FileZilla <../setup.filezilla.html>`__" +" or used in one of our `Time-series analysis modules <../modules/time-" +"series.html>`__." msgstr "" #~ msgid "" @@ -961,3 +1138,12 @@ msgstr "" #~ "analysis modules <../modules/time-series.html>`__." #~ msgstr "" +#~ msgid "" +#~ "The time series will use a single" +#~ " observation for each pixel. This " +#~ "observation can be one of the " +#~ "available bands in SEPAL. To discover" +#~ " the full list of available bands," +#~ " see :doc:`../feature/bands`." +#~ msgstr "" + diff --git a/docs/source/_locale/it/LC_MESSAGES/developers/apps/app_catalog.po b/docs/source/_locale/it/LC_MESSAGES/developers/apps/app_catalog.po new file mode 100644 index 0000000000..2d283080e1 --- /dev/null +++ b/docs/source/_locale/it/LC_MESSAGES/developers/apps/app_catalog.po @@ -0,0 +1,478 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: it\n" +"Language-Team: it \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/developers/apps/app_catalog.rst:4 +msgid "Request a new app" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:5 +msgid "*Add your app to the SEPAL apps catalog so it appears on the platform*" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:8 +msgid "The catalog" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:10 +msgid "" +"The list of apps SEPAL runs lives in a dedicated repository, `dfguerrerom" +"/sepal-apps-catalog `__. For docker apps the catalog pins the exact commit SEPAL will" +" run; for jupyter apps it records the ``branch`` and SEPAL runs its tip. " +"Either way, adding or updating an app means opening a pull request " +"against this catalog, where a maintainer reviews the change before it " +"goes live." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:17 +msgid "The catalog ships two files:" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:19 +msgid "" +"``apps.test.json`` — apps available on test.sepal.io (the staging " +"environment used to validate changes before they reach end users)" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:21 +msgid "" +"``apps.prod.json`` — apps available on sepal.io (the production " +"environment)" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:23 +msgid "" +"New apps always land in ``apps.test.json`` first and are promoted to " +"``apps.prod.json`` only once they behave correctly on test.sepal.io." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:27 +msgid "Anatomy of a catalog entry" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:29 +msgid "" +"An app is a JSON object in the ``apps`` array. The schema only enforces " +"``id`` and ``label`` as universally required, plus a docker-specific " +"block — but the catalog convention is to **fill every field** so each " +"entry carries a complete dashboard listing. The only practical " +"exceptions:" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:34 +msgid "``port`` applies only to docker apps (and is required there)." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:35 +msgid "" +"For hidden kernel-only apps (see :ref:`developers_apps_kernels`) the " +"user-facing presentation fields (``description``, ``tagline``, " +"``logoRef``, ``projectLink``, ``author``, ``tags``) can be omitted, since" +" they are never shown." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:41 +msgid "Identification and routing" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:47 +#: ../../source/developers/apps/app_catalog.rst:84 +#: ../../source/developers/apps/app_catalog.rst:110 +#: ../../source/developers/apps/app_catalog.rst:144 +msgid "Field" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:48 +#: ../../source/developers/apps/app_catalog.rst:85 +#: ../../source/developers/apps/app_catalog.rst:111 +#: ../../source/developers/apps/app_catalog.rst:145 +msgid "When" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:49 +#: ../../source/developers/apps/app_catalog.rst:86 +#: ../../source/developers/apps/app_catalog.rst:112 +#: ../../source/developers/apps/app_catalog.rst:146 +msgid "Meaning" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:50 +msgid "``id``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:51 +#: ../../source/developers/apps/app_catalog.rst:54 +msgid "always (schema)" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:52 +msgid "Unique identifier across the catalog (``[A-Za-z0-9_.-]+``)." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:53 +msgid "``label``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:55 +msgid "Display name shown on the apps dashboard." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:56 +msgid "``endpoint``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:57 +#: ../../source/developers/apps/app_catalog.rst:62 +#: ../../source/developers/apps/app_catalog.rst:66 +#: ../../source/developers/apps/app_catalog.rst:69 +msgid "always" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:58 +msgid "" +"How SEPAL runs the app: ``jupyter`` or ``docker`` for new apps — " +"``shiny`` is legacy and ``rstudio`` is reserved for the built-in tool. " +"See :ref:`developers_apps_types`." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:61 +msgid "``repository``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:63 +msgid "" +"``https://github.com//`` of the app source. SEPAL clones it " +"to run the app." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:65 +msgid "``branch``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:67 +msgid "Branch the app tracks (commonly ``release``)." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:68 +msgid "``path``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:70 +msgid "" +"Entry point the app-launcher routes to. For jupyter, the Voila URL of the" +" notebook (e.g. " +"``/sandbox/jupyter/voila/render/shared/apps//ui.ipynb``); for " +"docker, **must equal** ``/api/app-launcher/`` exactly — the schema " +"enforces the prefix and ``check-docker-rules.js`` enforces that ```` " +"matches the entry's ``id``." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:78 +msgid "Docker-only fields" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:87 +msgid "``commit``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:88 +#: ../../source/developers/apps/app_catalog.rst:93 +msgid "docker only (schema)" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:89 +msgid "" +"Full 40-character lowercase commit SHA. Required for ``endpoint: " +"docker``; not allowed for other endpoints, which track the branch tip." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:92 +msgid "``port``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:94 +msgid "" +"Container port the docker app listens on. Integer 1–65535. Must be unique" +" across ``apps.test.json`` and ``apps.prod.json``; ``check-docker-" +"rules.js`` enforces this and prints ``Next free port: N`` on a violation." +" New apps take the next free port — ``max(existing_ports) + 1``." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:101 +msgid "Presentation" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:103 +msgid "" +"These fields populate the dashboard tile and the app's detail page. Skip " +"them *only* on hidden kernel-only entries." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:113 +msgid "``author``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:114 +#: ../../source/developers/apps/app_catalog.rst:117 +#: ../../source/developers/apps/app_catalog.rst:120 +#: ../../source/developers/apps/app_catalog.rst:123 +#: ../../source/developers/apps/app_catalog.rst:127 +#: ../../source/developers/apps/app_catalog.rst:130 +msgid "visible apps" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:115 +msgid "Who maintains the app (free-form string)." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:116 +msgid "``description``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:118 +msgid "Long-form description shown on the app's detail page." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:119 +msgid "``tagline``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:121 +msgid "One-line summary shown on the dashboard tile." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:122 +msgid "``logoRef``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:124 +msgid "Filename of the logo asset bundled with the catalog (e.g. ``my-app.svg``)." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:126 +msgid "``projectLink``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:128 +msgid "URL to the project's home page, docs, or upstream repository." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:129 +msgid "``tags``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:131 +msgid "" +"Array of tag values defined in the catalog's top-level ``tags`` block " +"(e.g. ``[\"TOOLS\", \"TIME_SERIES\"]``)." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:135 +msgid "Behaviour flags" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:137 +msgid "" +"Optional booleans that alter how the app is listed or launched. Defaults " +"are all ``false``." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:147 +msgid "``hidden``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:148 +#: ../../source/developers/apps/app_catalog.rst:152 +#: ../../source/developers/apps/app_catalog.rst:155 +#: ../../source/developers/apps/app_catalog.rst:158 +#: ../../source/developers/apps/app_catalog.rst:162 +msgid "optional" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:149 +msgid "" +"If ``true``, the app builds but does not show a dashboard tile. Used for " +"packaged kernels — see :ref:`developers_apps_kernels`." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:151 +msgid "``pinned``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:153 +msgid "Pin the app to the top of the dashboard." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:154 +msgid "``googleAccountRequired``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:156 +msgid "The app needs a connected Google account (e.g. for GEE)." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:157 +msgid "``single``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:159 +msgid "" +"Only one instance of this app can run at a time per user (used by the " +"built-in ``jupyter-notebook``, ``jupyter-lab`` and ``rstudio`` tools)." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:161 +msgid "``skip``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:163 +msgid "Temporarily skip building/serving this app without removing the entry." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:165 +msgid "" +"A typical jupyter entry — every field a user sees on the dashboard is " +"filled in:" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:187 +msgid "" +"A docker entry adds the docker-only ``commit``, ``port`` and the schema-" +"enforced ``/api/app-launcher/`` path; the presentation fields are the" +" same:" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:213 +msgid "Adding the app" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:215 +msgid "" +"Open a pull request adding your entry to ``apps.test.json``. The fastest " +"way is to edit the file directly on GitHub: `edit apps.test.json " +"`__. For a docker app, ``commit`` must " +"be a full 40-character SHA that exists on the declared ``branch``." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:220 +msgid "" +"The ``Validate catalog`` and ``Review helper`` workflows run " +"automatically. Validation is a blocking gate (schema, canonical " +"formatting, and — for docker apps — a check that the commit is reachable " +"from its branch). The review helper posts a single PR comment with a per-" +"app diff and *risk flags* (new dependencies, network calls, shell-outs) " +"to help maintainers review safely." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:226 +msgid "" +"A SEPAL maintainer reviews and merges. Once merged, the app appears on " +"test.sepal.io within minutes." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:228 +msgid "" +"When you are happy with its behaviour on test.sepal.io, promote it to " +"production — see `Promoting to production`_." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:232 +msgid "Promoting to production" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:234 +msgid "" +"Promotion copies the *exact same pinned reference* (commit for docker, " +"branch for the others) from ``apps.test.json`` into ``apps.prod.json``. " +"Two paths, either of which produces the same promotion PR for a " +"maintainer to merge:" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:239 +msgid "Self-service ``/promote`` comment (recommended)" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:241 +msgid "" +"The catalog has a single pinned issue titled *\"Promotion requests — " +"comment ``/promote `` here\"*, labeled ``promote-request``. Find " +"it in the catalog's `issues tab `__ " +"(there is only ever one) and comment:" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:251 +msgid "" +"The ``Promote app on /promote comment`` workflow then verifies the " +"commenter is authorized for the app's source repository and, if so, opens" +" the promotion PR. Authorization uses public GitHub data only:" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:255 +msgid "If the source repo is owned by a User, the commenter must equal that user." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:256 +msgid "" +"If it is owned by an Organization, the commenter must be a **public** " +"member of that org. If your membership is private, make it public at " +"``https://github.com/orgs//people`` or use the manual-PR path below." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:260 +msgid "A maintainer still merges the PR." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:263 +msgid "Manual PR" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:265 +msgid "" +"Open a pull request copying the entry's ``commit`` (or whole object) from" +" ``apps.test.json`` into ``apps.prod.json``. The same validation and " +"review checks run; a maintainer merges." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:270 +msgid "Working on the catalog locally" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:272 +msgid "" +"The catalog files use canonical ``JSON.stringify(parsed, null, 2)`` " +"formatting (2-space indent, one-element arrays expanded, trailing " +"newline). A ``.prettierignore`` keeps editor formatters off them, and CI " +"rejects PRs that don't match. Install the pre-commit hooks once so " +"problems are caught before they fail CI:" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:284 +msgid "To re-canonicalize a file before pushing:" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:292 +msgid "" +"The catalog's own ``docs/contributing.md`` and ``docs/ci.md`` document " +"every workflow, check, and script in detail." +msgstr "" + diff --git a/docs/source/_locale/it/LC_MESSAGES/developers/apps/app_types.po b/docs/source/_locale/it/LC_MESSAGES/developers/apps/app_types.po new file mode 100644 index 0000000000..d5e456cc89 --- /dev/null +++ b/docs/source/_locale/it/LC_MESSAGES/developers/apps/app_types.po @@ -0,0 +1,290 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: it\n" +"Language-Team: it \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/developers/apps/app_types.rst:4 +msgid "Docker vs. Jupyter apps" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:5 +msgid "*The two endpoints you'll choose between, and where each one fits*" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:7 +msgid "" +"Every catalog entry declares an ``endpoint`` that tells SEPAL how to run " +"the app. For new apps the practical choice is between ``docker`` and " +"``jupyter``." +msgstr "" + +#: ../../source/developers/apps/app_types.rst:12 +msgid "" +"``shiny`` is a legacy endpoint and is no longer recommended for new apps " +"— package the same UX as a Jupyter/Voila app instead. ``rstudio`` is " +"reserved for the built-in RStudio tool. Both still work, but neither " +"should be picked for anything new." +msgstr "" + +#: ../../source/developers/apps/app_types.rst:18 +msgid "At a glance" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:25 +msgid "Docker app" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:26 +msgid "Jupyter app" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:27 +msgid "``endpoint``" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:28 +msgid "``docker``" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:29 +msgid "``jupyter``" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:30 +msgid "Where it runs" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:31 +msgid "Its own container, on its own port, on the shared SEPAL server" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:32 +msgid "Inside the user's own SEPAL instance (sandbox), served through Voila" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:33 +msgid "Where compute happens" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:34 +msgid "On the shared SEPAL server — all users hit the same instance" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:35 +msgid "On the user's own SEPAL instance, at the size they have provisioned" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:36 +msgid "Versioning" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:37 +msgid "Pinned to a commit SHA (required)" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:38 +msgid "Tracks the catalog's ``branch``; no commit pin" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:39 +msgid "Code location" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:40 +msgid "Cloned from ``repository`` into the container" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:41 +msgid "" +"Cloned from ``repository`` into the shared sandbox at ``/home/sepal-" +"user/shared/apps//``" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:43 +msgid "Isolation" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:44 +msgid "Strong — separate container and dependencies" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:45 +msgid "" +"Own micromamba kernel built from ``sepal_environment.yml`` (see " +":ref:`developers_apps_kernels`)" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:47 +msgid "Update trigger" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:48 +msgid "" +"Catalog PR bumps ``commit`` → app-launcher checks out that commit on the " +"next launch" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:50 +msgid "" +"app-manager refreshes the clone to the branch tip and rebuilds the kernel" +" if the env file changed" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:54 +msgid "Docker apps" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:56 +msgid "" +"A docker app lives in its own repository and runs in its own container " +"with a dedicated ``port`` on the shared SEPAL server. Because it is fully" +" isolated, the catalog schema requires ``repository``, ``branch``, " +"``commit``, ``port`` and ``path`` for every ``endpoint: docker`` entry." +msgstr "" + +#: ../../source/developers/apps/app_types.rst:61 +msgid "When SEPAL launches the app it runs the equivalent of:" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:68 +msgid "" +"That is why the pinned ``commit`` must be reachable from ``branch`` (see " +":ref:`developers_apps_releases`). The app's dependencies are baked into " +"its container, so its update cycle is independent of the rest of the " +"platform — it changes only when you bump its commit in the catalog." +msgstr "" + +#: ../../source/developers/apps/app_types.rst:73 +msgid "" +"Because the docker app runs on the shared SEPAL server, every user hits " +"the same instance. That makes docker a good fit for **lightweight, low-" +"compute apps that act as a single service for many users** — interfaces " +"over a small API, lookups, light visualizations, dashboards. It is *not* " +"a good fit for heavy per-user compute: there is only one container " +"backing all users." +msgstr "" + +#: ../../source/developers/apps/app_types.rst:80 +msgid "Jupyter apps" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:82 +msgid "" +"A jupyter app does not get its own container. Its code is cloned from the" +" ``repository`` into the shared sandbox under ``/home/sepal-" +"user/shared/apps//``, and its ``ui.ipynb`` notebook is rendered with" +" `Voila `__ (hence catalog paths such as " +"``/sandbox/jupyter/voila/render/shared/apps//ui.ipynb``). Crucially," +" it runs **inside each user's own SEPAL instance** — so the compute " +"budget is whatever the user has provisioned for themselves." +msgstr "" + +#: ../../source/developers/apps/app_types.rst:90 +msgid "" +"Versioning is by branch, not by commit: the app-manager keeps the cloned " +"``shared/apps//`` working tree on the tip of the catalog's " +"``branch`` and rebuilds the app's kernel whenever " +"``sepal_environment.yml`` (or ``requirements.txt``) changes — see " +":ref:`developers_apps_kernels`. Pushing to that branch is enough to ship " +"a new version; no catalog PR is required (the catalog PR is only needed " +"to *list* the app in the first place)." +msgstr "" + +#: ../../source/developers/apps/app_types.rst:97 +msgid "" +"Because compute lives on the user's instance, a jupyter app is the right " +"choice for **heavy, scalable, per-user workloads**: anything where the " +"user needs to be able to size their machine to the job — training " +"pipelines, large geospatial analyses, model inference, parallel " +"processing." +msgstr "" + +#: ../../source/developers/apps/app_types.rst:103 +msgid "When to use which" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:105 +msgid "A simple rule of thumb:" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:112 +msgid "Use ``docker``" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:113 +msgid "Use ``jupyter``" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:114 +msgid "Compute profile" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:115 +msgid "Light; same load no matter who is using it" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:116 +msgid "Heavy or variable; each user should be able to scale their own instance" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:118 +msgid "Usage pattern" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:119 +msgid "Single backend service serving many users" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:120 +msgid "Per-user notebook session, isolated per user" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:121 +msgid "Versioning needs" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:122 +msgid "You want strict, audited control of *exactly* which commit is live" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:123 +msgid "Push-to-branch is a fine release model" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:124 +msgid "Runtime needs" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:125 +msgid "Custom system stack, services, ports, or a non-Python runtime" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:126 +msgid "" +"Standard SEPAL geospatial / scientific Python stack (extended via " +"``sepal_environment.yml``)" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:129 +msgid "" +"If the answer to most of these points the same way, that's your endpoint." +" If the app is genuinely a notebook UI doing heavy compute, jupyter is " +"almost always the right pick — that is the most common pattern on SEPAL." +msgstr "" + diff --git a/docs/source/_locale/it/LC_MESSAGES/developers/apps/index.po b/docs/source/_locale/it/LC_MESSAGES/developers/apps/index.po new file mode 100644 index 0000000000..aecc6d3f73 --- /dev/null +++ b/docs/source/_locale/it/LC_MESSAGES/developers/apps/index.po @@ -0,0 +1,72 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: it\n" +"Language-Team: it \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/developers/apps/index.rst:48 +msgid "Docker vs. Jupyter apps" +msgstr "" + +#: ../../source/developers/apps/index.rst:48 +msgid "Request a new app" +msgstr "" + +#: ../../source/developers/apps/index.rst:48 +msgid "Request a new kernel" +msgstr "" + +#: ../../source/developers/apps/index.rst:48 +msgid "Create a release" +msgstr "" + +#: ../../source/developers/apps/index.rst:4 +msgid "Develop apps" +msgstr "" + +#: ../../source/developers/apps/index.rst:5 +msgid "*Build, release and publish your own apps on the SEPAL platform*" +msgstr "" + +#: ../../source/developers/apps/index.rst:7 +msgid "" +"These pages explain how SEPAL decides which app code to run and how that " +"code reaches the platform — useful when you want to add an app, ship a " +"new version of an existing one, or package a reusable environment for a " +"notebook or workflow." +msgstr "" + +#: ../../source/developers/apps/index.rst:14 +msgid "" +"The set of apps SEPAL runs is curated in the `dfguerrerom/sepal-apps-" +"catalog `__ " +"repository. Getting an app onto SEPAL — or updating one — means opening a" +" pull request there. For docker apps, the catalog also pins the *exact " +"commit* SEPAL will run; for jupyter apps, the catalog records the " +"``branch`` and SEPAL still runs the tip of that branch. The pages below " +"walk through both flows." +msgstr "" + +#: ../../source/developers/apps/index.rst:23 +msgid "How an app reaches SEPAL" +msgstr "" + +#: ../../source/developers/apps/index.rst:46 +msgid "Contents" +msgstr "" + diff --git a/docs/source/_locale/it/LC_MESSAGES/developers/apps/kernels.po b/docs/source/_locale/it/LC_MESSAGES/developers/apps/kernels.po new file mode 100644 index 0000000000..fab89e1f9f --- /dev/null +++ b/docs/source/_locale/it/LC_MESSAGES/developers/apps/kernels.po @@ -0,0 +1,260 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: it\n" +"Language-Team: it \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/developers/apps/kernels.rst:4 +msgid "Request a new kernel" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:5 +msgid "" +"*Package an environment once and share it with every SEPAL user as a " +"named Jupyter kernel*" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:7 +#, python-format +msgid "" +"A \"kernel\" in the SEPAL catalog is really just a special-purpose " +"jupyter app: the same catalog entry, the same :ref:`PR flow " +"`, the same :ref:`release lifecycle " +"`. The only difference is *intent* — " +"the deliverable is the environment (and, often, training notebooks and " +"data alongside it), not an app UI. If you have read " +":ref:`developers_apps_catalog`, you already know 90% of how to ship one." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:15 +msgid "Why request a kernel" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:17 +msgid "" +"Some notebooks need a large or unusual environment: a deep-learning " +"stack, a pinned GDAL build, a model with awkward native dependencies. " +"Asking every user — or every training participant — to build that " +"environment by hand is slow, fragile, and easy to get subtly wrong." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:22 +msgid "" +"A shared kernel solves that. You package the environment once, in a " +"repository; SEPAL builds it centrally and exposes it as a named Jupyter " +"kernel that lives in the shared sandbox. Every user then simply *selects*" +" that kernel for the relevant notebook — no per-user installation, and " +"everyone runs the same, reproducible environment." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:28 +msgid "This is the right approach when:" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:30 +msgid "" +"You are preparing a notebook or workflow for a training and want every " +"participant on an identical environment." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:32 +msgid "" +"A notebook needs heavy dependencies (GPU/ML, large geospatial stacks) " +"that are wasteful to rebuild per user." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:34 +msgid "You want a stable, named environment that several notebooks can share." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:36 +msgid "" +"It is *not* the right approach for quick, personal experiments. For an " +"environment only you need, build it yourself with :guilabel:`uv` or " +":guilabel:`micromamba` — see :ref:`env_management`." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:41 +msgid "It's the same flow as a jupyter app" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:43 +msgid "A kernel-only entry in the catalog is just a jupyter app that:" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:45 +msgid "has ``\"hidden\": true`` (no dashboard tile — see below), and" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:46 +msgid "ships a ``sepal_environment.yml`` at the root of its repository." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:48 +msgid "" +"Everything else — the PR against ``apps.test.json``, the validation and " +"review-helper workflows, the promotion to ``apps.prod.json`` — works " +"exactly as described in :ref:`developers_apps_catalog`." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:52 +msgid "" +"The one extra behaviour, which fires automatically whenever the app-" +"manager updates a jupyter app, is the kernel build itself: if the cloned " +"repository contains a ``sepal_environment.yml`` (or a legacy " +"``requirements.txt``), SEPAL builds an isolated environment from it and " +"registers it as a named Jupyter kernel. For a ``sepal_environment.yml`` " +"the build is, in essence:" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:63 +msgid "" +"The script then writes a ``kernel.json`` so the environment shows up in " +"JupyterLab as ``(venv) ``, and wires the geospatial " +"environment variables (``PROJ_LIB``, ``PROJ_DATA``, ``GDAL_DATA``) to the" +" environment's own data directories. The kernel is rebuilt only when the " +"environment file changes (the script compares timestamps against an " +"``.installed`` marker), so unchanged apps don't pay a rebuild cost on " +"every update." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:71 +msgid "Hiding the app" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:73 +msgid "" +"A packaged kernel usually has no dashboard UI of its own — it exists to " +"back *other* notebooks. Set ``\"hidden\": true`` on its catalog entry so " +"SEPAL builds the environment and registers the kernel without showing a " +"tile in the apps dashboard." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:81 +msgid "Ship notebooks and data alongside the kernel" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:83 +msgid "" +"The same clone the app-manager uses to build the kernel lands at ``/home" +"/sepal-user/shared/apps//`` **inside every user's sandbox**. " +"Anything you put in the repository is therefore reachable from every " +"user's JupyterLab — not just the ``sepal_environment.yml``." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:88 +msgid "" +"This makes the same mechanism useful for a second job: shipping " +"**training notebooks and supporting data** to a cohort of users. For a " +"workshop or a training, you can put the curriculum in the repo alongside " +"the environment file. Each participant gets the notebooks already on " +"their instance under ``shared/apps//``, with the matching " +"``(venv) `` kernel pre-built and ready to select — no per-" +"user clone, no per-user pip install, no \"it works on my machine\"." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:96 +msgid "Practical conventions for that case:" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:98 +msgid "" +"Keep notebook files at the top level (or in a clearly named subdirectory)" +" so participants can find them via ``shared/apps//``." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:100 +msgid "" +"Keep sample inputs in the repo only if they are small. For larger " +"datasets, point notebooks at a shared SEPAL location or an external URL " +"so the clone stays light." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:103 +msgid "" +"Tag a ``release`` branch for each cohort you run, so an in-flight push to" +" ``main`` does not surprise a session that is already underway. See " +":ref:`developers_apps_releases_branch`." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:107 +msgid "" +"The catalog entry itself stays the same — ``\"hidden\": true``, " +"``\"endpoint\": \"jupyter\"``, ``sepal_environment.yml`` in the repo. The" +" notebooks just ride along in the same clone." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:112 +msgid "Worked example: ``sepal-sam``" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:114 +msgid "" +"The catalog entry below is a real, hidden kernel app. Its description is " +"simply *\"SAM environment\"* — it ships the environment for SAM-based " +"notebooks and never appears in the dashboard:" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:130 +msgid "" +"Because the ``sepal-sam`` repository contains a " +"``sepal_environment.yml``, SEPAL builds its micromamba environment and " +"registers a ``(venv) Sepal SAM`` kernel. Any notebook a user opens can " +"then select that kernel and run against the SAM stack immediately." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:138 +msgid "Recommended: ``sepal_environment.yml``" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:140 +msgid "" +"Declare your kernel with a ``sepal_environment.yml`` at the root of the " +"app repository. It is a standard conda/micromamba environment file, and " +"it is the preferred way to define a SEPAL kernel because micromamba " +"bundles native libraries (GDAL, GEOS, CUDA, HDF5, …) inside the " +"environment — so it keeps working when SEPAL upgrades system-level " +"libraries. A plain ``requirements.txt`` is still supported for backward " +"compatibility, but it installs into a system-Python venv and can break on" +" platform upgrades." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:148 +msgid "A minimal example:" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:164 +msgid "" +"You do not need to add ``ipykernel`` yourself — SEPAL installs it into " +"the environment when it builds the kernel." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:167 +msgid "" +"Once the file is in your repository and the app is in the catalog (see " +":ref:`developers_apps_catalog`), every release that changes " +"``sepal_environment.yml`` triggers a rebuild of the shared kernel on the " +"next update." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:174 +msgid "" +":ref:`env_management` — managing your *own* environments and kernels " +"interactively, when you don't need a shared, centrally built one." +msgstr "" + diff --git a/docs/source/_locale/it/LC_MESSAGES/developers/apps/releases.po b/docs/source/_locale/it/LC_MESSAGES/developers/apps/releases.po new file mode 100644 index 0000000000..016f949289 --- /dev/null +++ b/docs/source/_locale/it/LC_MESSAGES/developers/apps/releases.po @@ -0,0 +1,214 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: it\n" +"Language-Team: it \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/developers/apps/releases.rst:4 +msgid "Create a release" +msgstr "" + +#: ../../source/developers/apps/releases.rst:5 +msgid "*Ship a new version of an app already in the SEPAL catalog*" +msgstr "" + +#: ../../source/developers/apps/releases.rst:7 +msgid "" +"Once your app is in the catalog (see :ref:`developers_apps_catalog`), the" +" way you ship a new version depends on the app's ``endpoint`` (see " +":ref:`developers_apps_types`):" +msgstr "" + +#: ../../source/developers/apps/releases.rst:11 +msgid "" +"**Jupyter apps** (and :ref:`kernels `, which are" +" just hidden jupyter apps) are not pinned to a commit. The app-manager " +"checks out the tip of the catalog's ``branch`` (defaulting to ``HEAD``) " +"every time the sandbox refreshes the app, so a release is just a push to " +"that branch in your source repository — no catalog change is needed." +msgstr "" + +#: ../../source/developers/apps/releases.rst:16 +msgid "" +"**Docker apps** are pinned in the catalog to an exact commit SHA. SEPAL " +"keeps running the old commit until that ``commit`` field is advanced, so " +"a release is, in practice, a pull request against the catalog." +msgstr "" + +#: ../../source/developers/apps/releases.rst:20 +msgid "The rest of this page describes each flow in turn." +msgstr "" + +#: ../../source/developers/apps/releases.rst:25 +msgid "Jupyter and kernel apps" +msgstr "" + +#: ../../source/developers/apps/releases.rst:27 +msgid "" +"These endpoints don't take a ``commit`` field in the catalog — only " +"``branch`` (which defaults to ``HEAD``). On every sandbox refresh the " +"app-manager runs the equivalent of ``git fetch`` + checkout of that " +"branch's tip, so whatever is at the head of the tracked branch is what " +"users get." +msgstr "" + +#: ../../source/developers/apps/releases.rst:33 +msgid "Releasing a new version" +msgstr "" + +#: ../../source/developers/apps/releases.rst:35 +msgid "" +"Push the change to the branch the catalog tracks for your app. The next " +"time the user's sandbox refreshes the app, the new tip is picked up " +"automatically. No catalog PR is required." +msgstr "" + +#: ../../source/developers/apps/releases.rst:42 +#: ../../source/developers/apps/releases.rst:68 +msgid "The release branch convention" +msgstr "" + +#: ../../source/developers/apps/releases.rst:44 +msgid "" +"Because every push to the tracked branch is effectively a release, most " +"contributors keep a dedicated ``release`` branch and pin ``\"branch\": " +"\"release\"`` in the catalog rather than ``main``. You develop on " +"``main`` and merge into ``release`` only when you intend to publish — " +"that way unreviewed work on ``main`` doesn't go live the moment it is " +"pushed." +msgstr "" + +#: ../../source/developers/apps/releases.rst:50 +msgid "" +"This is a convention, not a requirement. Any branch works; if you pin " +"``main``, every push to ``main`` is a release." +msgstr "" + +#: ../../source/developers/apps/releases.rst:56 +msgid "Docker apps" +msgstr "" + +#: ../../source/developers/apps/releases.rst:58 +msgid "" +"Docker apps carry a required ``commit`` SHA in the catalog. The app-" +"launcher runs ``git fetch origin `` followed by ``git checkout " +"--detach ``, so SEPAL only ever runs that exact commit — " +"regardless of what is at the tip of ``branch``. Shipping a new version " +"therefore means advancing the ``commit`` field in the catalog." +msgstr "" + +#: ../../source/developers/apps/releases.rst:64 +msgid "" +"There are two ways to do that: a manual pull request, or an automated " +"bump triggered when your source repository publishes a release." +msgstr "" + +#: ../../source/developers/apps/releases.rst:70 +msgid "" +"Many docker apps pin ``\"branch\": \"release\"`` rather than ``main``. " +"Since the catalog validation requires the pinned ``commit`` to be " +"reachable from ``branch``, keeping a dedicated ``release`` branch lets " +"you continue developing on ``main`` while controlling exactly which " +"commits are eligible to be pinned: you merge into ``release`` only when " +"you intend to publish, and that merge commit is the one you pin." +msgstr "" + +#: ../../source/developers/apps/releases.rst:77 +msgid "" +"This is a convention, not a requirement — any branch works as long as the" +" pinned commit is reachable from it." +msgstr "" + +#: ../../source/developers/apps/releases.rst:81 +msgid "Manual release" +msgstr "" + +#: ../../source/developers/apps/releases.rst:83 +msgid "" +"Push the code you want to ship and note the commit SHA on your release " +"branch." +msgstr "" + +#: ../../source/developers/apps/releases.rst:85 +msgid "" +"Open a PR against ``apps.test.json`` changing the ``commit`` field of " +"your app's entry (and ``branch`` if it moved)." +msgstr "" + +#: ../../source/developers/apps/releases.rst:87 +msgid "" +"The ``Review helper`` bot posts a compare link showing exactly what " +"changed upstream between the old and new commit, with risk flags. A " +"maintainer reviews and merges; the change goes live on test.sepal.io." +msgstr "" + +#: ../../source/developers/apps/releases.rst:90 +msgid "" +"Promote to sepal.io with a second PR against ``apps.prod.json`` (or the " +"``Promote app to production`` workflow)." +msgstr "" + +#: ../../source/developers/apps/releases.rst:95 +msgid "" +"Validation requires the new commit to be an *ancestor of* (or equal to) " +"the branch tip — exactly what the app-launcher needs, since it runs ``git" +" fetch origin `` then ``git checkout --detach ``. You can" +" spot-check this before opening the PR:" +msgstr "" + +#: ../../source/developers/apps/releases.rst:106 +msgid "Automated release from your source repo" +msgstr "" + +#: ../../source/developers/apps/releases.rst:108 +msgid "" +"The catalog can bump a docker app automatically when your repository " +"publishes a GitHub release. The catalog's ``update-from-release.yml`` " +"workflow listens for a ``repository_dispatch`` event of type ``bump-" +"app``; on receipt it updates the app's ``commit`` in ``apps.test.json`` " +"and opens a pull request for a maintainer to review." +msgstr "" + +#: ../../source/developers/apps/releases.rst:114 +msgid "" +"To wire this up, add a workflow to your app's repository that sends the " +"dispatch on release. The snippet below is a starting point — adjust the " +"app ``id`` and the catalog repository to match your setup:" +msgstr "" + +#: ../../source/developers/apps/releases.rst:139 +msgid "" +"The token must have permission to dispatch to the catalog repository. The" +" bump only updates ``commit`` — never ``branch`` — and still goes through" +" the normal validation, risk-flag review, and maintainer merge before " +"reaching test." +msgstr "" + +#: ../../source/developers/apps/releases.rst:145 +msgid "" +"The exact ``client_payload`` fields the catalog expects may evolve. " +"Confirm against the catalog's ``update-from-release.yml`` and " +"``docs/ci.md`` before relying on this in production." +msgstr "" + +#: ../../source/developers/apps/releases.rst:151 +msgid "" +"The end-to-end lifecycle diagram lives on the section landing page — " +":ref:`developers_apps`." +msgstr "" + diff --git a/docs/source/_locale/it/LC_MESSAGES/developers/index.po b/docs/source/_locale/it/LC_MESSAGES/developers/index.po new file mode 100644 index 0000000000..e7d4bbefef --- /dev/null +++ b/docs/source/_locale/it/LC_MESSAGES/developers/index.po @@ -0,0 +1,45 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: it\n" +"Language-Team: it \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/developers/index.rst:11 +msgid "Command-line tools" +msgstr "" + +#: ../../source/developers/index.rst:11 +msgid "Develop apps" +msgstr "" + +#: ../../source/developers/index.rst:4 +msgid "For developers" +msgstr "" + +#: ../../source/developers/index.rst:5 +msgid "*Tools, conventions and workflows for building on the SEPAL platform*" +msgstr "" + +#: ../../source/developers/index.rst:7 +msgid "" +"This section is for developers and trainers working on SEPAL rather than " +"just using it: scripting against the sandbox from the command line, " +"packaging environments for shared use, and publishing apps that other " +"users can run." +msgstr "" + diff --git a/docs/source/_locale/it/LC_MESSAGES/feature/index.po b/docs/source/_locale/it/LC_MESSAGES/feature/index.po index ba800ea093..33b9a1b2b6 100644 --- a/docs/source/_locale/it/LC_MESSAGES/feature/index.po +++ b/docs/source/_locale/it/LC_MESSAGES/feature/index.po @@ -1,33 +1,53 @@ + msgid "" msgstr "" -"Project-Id-Version: sepal-doc\n" +"Project-Id-Version: sepal-doc\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-03-07 09:39+0100\n" -"PO-Revision-Date: 2024-03-07 08:57\n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: 2024-03-07 08:57+0000\n" "Last-Translator: \n" +"Language: it_IT\n" "Language-Team: Italian\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.14.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Crowdin-Project: sepal-doc\n" -"X-Crowdin-Project-ID: 562097\n" -"X-Crowdin-Language: it\n" -"X-Crowdin-File: /main/docs/source/_locale/en/LC_MESSAGES/feature/index.po\n" -"X-Crowdin-File-ID: 81\n" -"Language: it_IT\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/feature/index.rst:9 +msgid "Organize recipes" +msgstr "" + +#: ../../source/feature/index.rst:9 +msgid "AOI selection" +msgstr "" + +#: ../../source/feature/index.rst:9 +msgid "Optical bands" +msgstr "" + +#: ../../source/feature/index.rst:9 +msgid "Radar bands" +msgstr "" + +#: ../../source/feature/index.rst:9 +msgid "Visualization" +msgstr "" #: ../../source/feature/index.rst:2 msgid "Features" msgstr "" #: ../../source/feature/index.rst:3 -msgid "*Analyse, combine and visualize different types of data with SEPAL features*" +msgid "" +"*Analyse, combine and visualize different types of data with SEPAL " +"features*" msgstr "" #: ../../source/feature/index.rst:5 -msgid "Since these features can be accessed across various recipes and modules, they are described extensively in this section of the documentation." +msgid "" +"Since these features can be accessed across various recipes and modules, " +"they are described extensively in this section of the documentation." msgstr "" #: ../../source/feature/index.rst:7 diff --git a/docs/source/_locale/it/LC_MESSAGES/feature/optical_bands.po b/docs/source/_locale/it/LC_MESSAGES/feature/optical_bands.po new file mode 100644 index 0000000000..d5fe7555a4 --- /dev/null +++ b/docs/source/_locale/it/LC_MESSAGES/feature/optical_bands.po @@ -0,0 +1,953 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: it\n" +"Language-Team: it \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/feature/optical_bands.rst:2 +msgid "Optical Satellite bands, transformations, and indices" +msgstr "" + +#: ../../source/feature/optical_bands.rst:4 +msgid "" +"When exporting an optical satellite image in SEPAL, you can choose from a" +" variety of bands, transformations, and indices to enhance your analysis " +"and visualization. Understanding the characteristics and applications of " +"different bands can help you optimize your image processing workflow and " +"extract valuable insights from satellite data." +msgstr "" + +#: ../../source/feature/optical_bands.rst:13 +msgid "Bands" +msgstr "" + +#: ../../source/feature/optical_bands.rst:15 +msgid "" +"Satellite imagery is composed of multiple bands, each capturing light in " +"specific wavelengths. Depending on the satellite sensor and mission, " +"SEPAL offers a range of bands that can be used for export and analysis." +msgstr "" + +#: ../../source/feature/optical_bands.rst:18 +msgid "Band" +msgstr "" + +#: ../../source/feature/optical_bands.rst:18 +msgid "Sentinel 2" +msgstr "" + +#: ../../source/feature/optical_bands.rst:18 +msgid "Landsat 9" +msgstr "" + +#: ../../source/feature/optical_bands.rst:18 +msgid "Landsat 8" +msgstr "" + +#: ../../source/feature/optical_bands.rst:18 +msgid "Landsat 7" +msgstr "" + +#: ../../source/feature/optical_bands.rst:18 +msgid "Landsat TM" +msgstr "" + +#: ../../source/feature/optical_bands.rst:20 +msgid "pan" +msgstr "" + +#: ../../source/feature/optical_bands.rst:20 +#: ../../source/feature/optical_bands.rst:22 +#: ../../source/feature/optical_bands.rst:32 +#: ../../source/feature/optical_bands.rst:34 +#: ../../source/feature/optical_bands.rst:36 +#: ../../source/feature/optical_bands.rst:38 +#: ../../source/feature/optical_bands.rst:44 +#: ../../source/feature/optical_bands.rst:46 +#: ../../source/feature/optical_bands.rst:48 +#: ../../source/feature/optical_bands.rst:50 +msgid "❌" +msgstr "" + +#: ../../source/feature/optical_bands.rst:20 +#: ../../source/feature/optical_bands.rst:22 +#: ../../source/feature/optical_bands.rst:24 +#: ../../source/feature/optical_bands.rst:26 +#: ../../source/feature/optical_bands.rst:28 +#: ../../source/feature/optical_bands.rst:30 +#: ../../source/feature/optical_bands.rst:32 +#: ../../source/feature/optical_bands.rst:34 +#: ../../source/feature/optical_bands.rst:36 +#: ../../source/feature/optical_bands.rst:38 +#: ../../source/feature/optical_bands.rst:40 +#: ../../source/feature/optical_bands.rst:42 +#: ../../source/feature/optical_bands.rst:44 +#: ../../source/feature/optical_bands.rst:46 +#: ../../source/feature/optical_bands.rst:48 +#: ../../source/feature/optical_bands.rst:50 +#: ../../source/feature/optical_bands.rst:52 +#: ../../source/feature/optical_bands.rst:54 +#: ../../source/feature/optical_bands.rst:56 +#: ../../source/feature/optical_bands.rst:58 +#: ../../source/feature/optical_bands.rst:60 +#: ../../source/feature/optical_bands.rst:62 +msgid "✅" +msgstr "" + +#: ../../source/feature/optical_bands.rst:22 +msgid "aerosol" +msgstr "" + +#: ../../source/feature/optical_bands.rst:24 +msgid "blue" +msgstr "" + +#: ../../source/feature/optical_bands.rst:26 +msgid "green" +msgstr "" + +#: ../../source/feature/optical_bands.rst:28 +msgid "red" +msgstr "" + +#: ../../source/feature/optical_bands.rst:30 +msgid "nir" +msgstr "" + +#: ../../source/feature/optical_bands.rst:32 +msgid "redEdge1" +msgstr "" + +#: ../../source/feature/optical_bands.rst:34 +msgid "redEdge2" +msgstr "" + +#: ../../source/feature/optical_bands.rst:36 +msgid "redEdge3" +msgstr "" + +#: ../../source/feature/optical_bands.rst:38 +msgid "redEdge4" +msgstr "" + +#: ../../source/feature/optical_bands.rst:40 +msgid "swir1" +msgstr "" + +#: ../../source/feature/optical_bands.rst:42 +msgid "swir2" +msgstr "" + +#: ../../source/feature/optical_bands.rst:44 +msgid "cirrus" +msgstr "" + +#: ../../source/feature/optical_bands.rst:46 +msgid "thermal" +msgstr "" + +#: ../../source/feature/optical_bands.rst:48 +msgid "thermal2" +msgstr "" + +#: ../../source/feature/optical_bands.rst:50 +msgid "waterVapor" +msgstr "" + +#: ../../source/feature/optical_bands.rst:52 +msgid "brightness" +msgstr "" + +#: ../../source/feature/optical_bands.rst:54 +msgid "greenness" +msgstr "" + +#: ../../source/feature/optical_bands.rst:56 +msgid "wetness" +msgstr "" + +#: ../../source/feature/optical_bands.rst:58 +msgid "fourth" +msgstr "" + +#: ../../source/feature/optical_bands.rst:60 +msgid "fifth" +msgstr "" + +#: ../../source/feature/optical_bands.rst:62 +msgid "sixth" +msgstr "" + +#: ../../source/feature/optical_bands.rst:66 +msgid "Description" +msgstr "" + +#: ../../source/feature/optical_bands.rst:68 +msgid "**Pan (Panchromatic)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:69 +msgid "" +"**Description**: Captures data in a single broad wavelength band, " +"offering higher spatial resolution." +msgstr "" + +#: ../../source/feature/optical_bands.rst:70 +#: ../../source/feature/optical_bands.rst:76 +#: ../../source/feature/optical_bands.rst:83 +#: ../../source/feature/optical_bands.rst:90 +#: ../../source/feature/optical_bands.rst:97 +#: ../../source/feature/optical_bands.rst:104 +#: ../../source/feature/optical_bands.rst:111 +#: ../../source/feature/optical_bands.rst:117 +#: ../../source/feature/optical_bands.rst:124 +#: ../../source/feature/optical_bands.rst:131 +#: ../../source/feature/optical_bands.rst:138 +#: ../../source/feature/optical_bands.rst:144 +msgid "**Wavelengths**:" +msgstr "" + +#: ../../source/feature/optical_bands.rst:71 +msgid "0.500-0.680 µm, only for Landsat." +msgstr "" + +#: ../../source/feature/optical_bands.rst:72 +msgid "**Usage**: High-resolution imaging for mapping and urban planning." +msgstr "" + +#: ../../source/feature/optical_bands.rst:74 +msgid "**Aerosol**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:75 +msgid "" +"**Description**: Used for detecting aerosols (tiny particles) in the " +"atmosphere, which can be crucial for air quality monitoring and climate " +"studies." +msgstr "" + +#: ../../source/feature/optical_bands.rst:77 +msgid "0.433-0.453 µm for Landsat 8 and 9." +msgstr "" + +#: ../../source/feature/optical_bands.rst:78 +msgid "0.443-0.463 µm for Sentinel-2." +msgstr "" + +#: ../../source/feature/optical_bands.rst:79 +msgid "**Usage**: Air pollution assessment, wildfire smoke tracking." +msgstr "" + +#: ../../source/feature/optical_bands.rst:81 +msgid "**Blue**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:82 +msgid "**Description**: Captures light in the blue wavelength." +msgstr "" + +#: ../../source/feature/optical_bands.rst:84 +msgid "0.450-0.510 µm for Landsat 8 and 9." +msgstr "" + +#: ../../source/feature/optical_bands.rst:85 +msgid "0.490-0.555 µm for Sentinel-2." +msgstr "" + +#: ../../source/feature/optical_bands.rst:86 +msgid "" +"**Usage**: Coastal water mapping, vegetation health monitoring, and " +"identification of shallow water bodies." +msgstr "" + +#: ../../source/feature/optical_bands.rst:88 +msgid "**Green**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:89 +msgid "**Description**: Captures light in the green wavelength." +msgstr "" + +#: ../../source/feature/optical_bands.rst:91 +msgid "0.530-0.590 µm for Landsat 8 and 9." +msgstr "" + +#: ../../source/feature/optical_bands.rst:92 +msgid "0.560-0.595 µm for Sentinel-2." +msgstr "" + +#: ../../source/feature/optical_bands.rst:93 +msgid "**Usage**: Mapping vegetation, water bodies, and urban areas." +msgstr "" + +#: ../../source/feature/optical_bands.rst:95 +msgid "**Red**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:96 +msgid "**Description**: Captures light in the red wavelength." +msgstr "" + +#: ../../source/feature/optical_bands.rst:98 +msgid "0.640-0.670 µm for Landsat 8 and 9." +msgstr "" + +#: ../../source/feature/optical_bands.rst:99 +msgid "0.665-0.695 µm for Sentinel-2." +msgstr "" + +#: ../../source/feature/optical_bands.rst:100 +msgid "" +"**Usage**: Vegetation analysis, especially in calculating vegetation " +"indices like NDVI." +msgstr "" + +#: ../../source/feature/optical_bands.rst:102 +msgid "**NIR (Near-Infrared)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:103 +msgid "**Description**: Captures light in the near-infrared spectrum." +msgstr "" + +#: ../../source/feature/optical_bands.rst:105 +msgid "0.850-0.880 µm for Landsat 8 and 9." +msgstr "" + +#: ../../source/feature/optical_bands.rst:106 +msgid "0.780-0.900 µm for Sentinel-2." +msgstr "" + +#: ../../source/feature/optical_bands.rst:107 +msgid "" +"**Usage**: Differentiating between vegetation and water, and monitoring " +"vegetation health." +msgstr "" + +#: ../../source/feature/optical_bands.rst:109 +msgid "**Red Edge (4)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:110 +msgid "" +"**Description**: 4 narrow Bands in the VNIR vegetation red edge spectral " +"domain: Red edge 1, Red edge 2, Red edge 3, Red edge 4, is a region of " +"the electromagnetic spectrum where the spectral reflectance of green " +"vegetation changes rapidly" +msgstr "" + +#: ../../source/feature/optical_bands.rst:112 +msgid "~704nm,~740nm, ~783nm and ~865nm, only for Sentinel-2." +msgstr "" + +#: ../../source/feature/optical_bands.rst:113 +msgid "" +"**Usage**: Detailed vegetation health monitoring, particularly for " +"precision agriculture." +msgstr "" + +#: ../../source/feature/optical_bands.rst:115 +msgid "**SWIR 1 (Shortwave Infrared 1)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:116 +#: ../../source/feature/optical_bands.rst:123 +msgid "**Description**: Captures light in the shortwave infrared spectrum." +msgstr "" + +#: ../../source/feature/optical_bands.rst:118 +msgid "1.570-1.650 µm for Landsat 8 and 9." +msgstr "" + +#: ../../source/feature/optical_bands.rst:119 +msgid "1.560-1.660 µm for Sentinel-2." +msgstr "" + +#: ../../source/feature/optical_bands.rst:120 +msgid "" +"**Usage**: Detecting moisture content in soil and vegetation, mapping " +"burned areas." +msgstr "" + +#: ../../source/feature/optical_bands.rst:122 +msgid "**SWIR 2 (Shortwave Infrared 2)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:125 +msgid "2.110-2.290 µm for Landsat 8 and 9." +msgstr "" + +#: ../../source/feature/optical_bands.rst:126 +msgid "2.100-2.280 µm for Sentinel-2." +msgstr "" + +#: ../../source/feature/optical_bands.rst:127 +msgid "" +"**Usage**: Distinguishing snow from clouds, mapping geological features, " +"and burn scars." +msgstr "" + +#: ../../source/feature/optical_bands.rst:129 +msgid "**Cirrus**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:130 +msgid "**Description**: A band designed to detect high-altitude cirrus clouds." +msgstr "" + +#: ../../source/feature/optical_bands.rst:132 +msgid "1.360-1.380 µm for Landsat 8 and 9." +msgstr "" + +#: ../../source/feature/optical_bands.rst:133 +msgid "1.360-1.390 µm for Sentinel-2." +msgstr "" + +#: ../../source/feature/optical_bands.rst:134 +msgid "" +"**Usage**: Cloud screening in high-altitude regions to improve " +"atmospheric correction." +msgstr "" + +#: ../../source/feature/optical_bands.rst:136 +msgid "**Thermal 1**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:137 +#: ../../source/feature/optical_bands.rst:143 +msgid "" +"**Description**: Measures thermal radiation emitted by the Earth's " +"surface." +msgstr "" + +#: ../../source/feature/optical_bands.rst:139 +msgid "10.60-11.19 µm for Landsat 8 and 9." +msgstr "" + +#: ../../source/feature/optical_bands.rst:140 +#: ../../source/feature/optical_bands.rst:146 +msgid "" +"**Usage**: Monitoring land surface temperature, detecting fires, and " +"assessing volcanic activity." +msgstr "" + +#: ../../source/feature/optical_bands.rst:142 +msgid "**Thermal 2**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:145 +msgid "11.50-12.51 µm for Landsat 8 and 9." +msgstr "" + +#: ../../source/feature/optical_bands.rst:148 +msgid "**Water Vapor**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:149 +msgid "" +"**Description**: Sensitive to atmospheric water vapor absorption, " +"commonly used for weather and climate studies." +msgstr "" + +#: ../../source/feature/optical_bands.rst:150 +msgid "**Usage**: Studying cloud formation, precipitation, and humidity levels." +msgstr "" + +#: ../../source/feature/optical_bands.rst:154 +msgid "Tasseled Cap Transformation" +msgstr "" + +#: ../../source/feature/optical_bands.rst:156 +msgid "" +"The Tasseled Cap Transformation is a method to transform satellite " +"imagery into three brightness components (Brightness, Greenness, and " +"Wetness) and three color components (Red, Green, and Blue). This " +"transformation is particularly useful for analyzing land cover changes, " +"vegetation health, and urban development over time." +msgstr "" + +#: ../../source/feature/optical_bands.rst:158 +msgid "**Brightness**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:159 +msgid "" +"**Description**: Measures the brightness band measures the overall " +"brightness of the image, specifically the soil." +msgstr "" + +#: ../../source/feature/optical_bands.rst:160 +msgid "" +"**Usage**: this band is often used to identify bare or partially covered " +"soil, man-made features, and natural features like asphalt, concrete, " +"gravel, and rock outcrops." +msgstr "" + +#: ../../source/feature/optical_bands.rst:162 +msgid "**Greenness**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:163 +msgid "" +"**Description**: Measures the density and health of vegetation by " +"capitalizing on the chlorophyll absorption in the red band and the high " +"reflectance in the near-infrared band. It enhances the contrast between " +"vegetated areas and non-vegetated areas." +msgstr "" + +#: ../../source/feature/optical_bands.rst:164 +msgid "" +"**Usage**: Widely used in assessing plant health, monitoring crop " +"conditions, tracking forest cover changes, and managing natural " +"resources." +msgstr "" + +#: ../../source/feature/optical_bands.rst:166 +msgid "**Wetness**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:167 +msgid "" +"**Description**: Captures moisture content in both soil and vegetation. " +"This band is sensitive to the moisture continuum from dry to wet " +"surfaces, helping to differentiate moist soils and saturated vegetation " +"from dry areas." +msgstr "" + +#: ../../source/feature/optical_bands.rst:168 +msgid "" +"**Usage**: Important for identifying wetlands, managing irrigation in " +"agriculture, detecting flood-prone areas, and conducting soil moisture " +"studies." +msgstr "" + +#: ../../source/feature/optical_bands.rst:170 +msgid "**Fourth Component**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:171 +msgid "" +"**Description**: Often calibrated to highlight additional properties of " +"vegetation or soil, such as senescence or specific soil types. The exact " +"nature of this band can vary depending on the coefficients and sensor " +"used." +msgstr "" + +#: ../../source/feature/optical_bands.rst:172 +msgid "" +"**Usage**: Can be used to differentiate between types of vegetation or " +"stages of crop maturity, and to detect stressed vegetation in forestry " +"and agriculture." +msgstr "" + +#: ../../source/feature/optical_bands.rst:174 +msgid "**Fifth Component**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:175 +msgid "" +"**Description**: Typically emphasizes land disturbance or variability in " +"land cover types, providing a finer distinction between different types " +"of ground cover and land use." +msgstr "" + +#: ../../source/feature/optical_bands.rst:176 +msgid "" +"**Usage**: Useful in monitoring land cover changes over time, detecting " +"disturbances like deforestation or urban expansion, and enhancing land " +"cover classification schemes." +msgstr "" + +#: ../../source/feature/optical_bands.rst:178 +msgid "**Sixth Component**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:179 +msgid "" +"**Description**: This band often captures more subtle or residual " +"information that the other bands do not emphasize. It can be less " +"directly interpretable and might be seen as highlighting noise or " +"anomalies in the data." +msgstr "" + +#: ../../source/feature/optical_bands.rst:180 +msgid "" +"**Usage**: Potentially useful for detecting subtle ecological changes, " +"analyzing noise in the data for improved image processing, and refining " +"classifications by providing additional context." +msgstr "" + +#: ../../source/feature/optical_bands.rst:184 +msgid "Vegetation Indices" +msgstr "" + +#: ../../source/feature/optical_bands.rst:186 +msgid "" +"Vegetation indices are mathematical transformations of satellite data " +"that highlight specific vegetation properties, such as chlorophyll " +"content, leaf area, or vegetation health. These indices are widely used " +"in agriculture, forestry, and environmental monitoring to assess plant " +"growth, detect stress, and monitor land cover changes." +msgstr "" + +#: ../../source/feature/optical_bands.rst:188 +msgid "**NDVI (Normalized Difference Vegetation Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:189 +msgid "" +"**Description**: Measures the density and health of vegetation by " +"calculating the difference between the near-infrared (NIR) and red light " +"reflected by vegetation. Healthy vegetation absorbs most of the visible " +"light and reflects a large portion of the NIR." +msgstr "" + +#: ../../source/feature/optical_bands.rst:190 +msgid "" +"**Usage**: Used to assess vegetation health, monitor drought, and manage " +"agricultural operations." +msgstr "" + +#: ../../source/feature/optical_bands.rst:191 +msgid "**Formula**: (NIR - Red) / (NIR + Red)" +msgstr "" + +#: ../../source/feature/optical_bands.rst:193 +msgid "**NDMI (Normalized Difference Moisture Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:194 +msgid "" +"**Description**: Highlights moisture content in vegetation by utilizing " +"the NIR and short-wave infrared (SWIR1) bands. It is sensitive to " +"moisture content in vegetation." +msgstr "" + +#: ../../source/feature/optical_bands.rst:195 +msgid "" +"**Usage**: Useful in monitoring vegetation hydration and managing " +"irrigation in agricultural contexts." +msgstr "" + +#: ../../source/feature/optical_bands.rst:196 +msgid "**Formula**: (NIR - SWIR1) / (NIR + SWIR1)" +msgstr "" + +#: ../../source/feature/optical_bands.rst:198 +msgid "**NDWI (Normalized Difference Water Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:199 +msgid "" +"**Description**: Designed to identify and monitor changes in water " +"content in vegetation, leveraging the green and NIR bands to maximize the" +" reflection differences." +msgstr "" + +#: ../../source/feature/optical_bands.rst:200 +msgid "" +"**Usage**: Employed in monitoring water stress in crops, detecting water " +"bodies, and managing wetland areas." +msgstr "" + +#: ../../source/feature/optical_bands.rst:201 +msgid "**Formula**: (Green - NIR) / (Green + NIR)" +msgstr "" + +#: ../../source/feature/optical_bands.rst:203 +msgid "**MNDWI (Modified Normalized Difference Water Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:204 +msgid "" +"**Description**: Enhances the detection of surface water by using the " +"green and SWIR1 bands, reducing the influence of built-up land that can " +"be confused with water in traditional NDWI." +msgstr "" + +#: ../../source/feature/optical_bands.rst:205 +msgid "" +"**Usage**: Used to map and monitor surface water bodies, crucial for " +"flood mapping and water resource management." +msgstr "" + +#: ../../source/feature/optical_bands.rst:206 +msgid "**Formula**: (Green - SWIR1) / (Green + SWIR1)" +msgstr "" + +#: ../../source/feature/optical_bands.rst:208 +msgid "**NDFI (Normalized Difference Fraction Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:209 +msgid "" +"**Description**: Typically used to distinguish between different types of" +" vegetation and non-vegetation elements, providing a measure of " +"vegetation cover fraction." +msgstr "" + +#: ../../source/feature/optical_bands.rst:210 +msgid "" +"**Usage**: Utilized in forest management and land cover classification " +"tasks." +msgstr "" + +#: ../../source/feature/optical_bands.rst:211 +msgid "**Formula**: Index-specific, varies based on application." +msgstr "" + +#: ../../source/feature/optical_bands.rst:213 +msgid "**EVI (Enhanced Vegetation Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:214 +msgid "" +"**Description**: Improves the NDVI by optimizing the vegetation signal " +"with improved sensitivity in high biomass regions and reducing background" +" and atmospheric noise." +msgstr "" + +#: ../../source/feature/optical_bands.rst:215 +msgid "" +"**Usage**: Frequently used in areas where vegetation monitoring requires " +"greater sensitivity to biomass." +msgstr "" + +#: ../../source/feature/optical_bands.rst:216 +msgid "**Formula**: 2.5 * (NIR - Red) / (NIR + 6 * Red - 7.5 * Blue + 1)" +msgstr "" + +#: ../../source/feature/optical_bands.rst:218 +msgid "**EVI2 (Enhanced Vegetation Index 2)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:219 +msgid "" +"**Description**: A refinement of EVI that uses only red and NIR bands, " +"designed for areas where blue band data may not be reliable." +msgstr "" + +#: ../../source/feature/optical_bands.rst:220 +msgid "" +"**Usage**: Ideal for vegetation monitoring through dense atmosphere or " +"where the blue band is unavailable." +msgstr "" + +#: ../../source/feature/optical_bands.rst:221 +msgid "**Formula**: 2.5 * (NIR - Red) / (NIR + 2.4 * Red + 1)" +msgstr "" + +#: ../../source/feature/optical_bands.rst:223 +msgid "**SAVI (Soil-Adjusted Vegetation Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:224 +msgid "" +"**Description**: Adjusts the NDVI for the influence of soil brightness, " +"particularly useful in areas with sparse vegetation where soil is " +"visible." +msgstr "" + +#: ../../source/feature/optical_bands.rst:225 +msgid "" +"**Usage**: Applied in semi-arid regions to improve the accuracy of " +"vegetation assessments." +msgstr "" + +#: ../../source/feature/optical_bands.rst:226 +msgid "**Formula**: (1.5 * (NIR - Red) / (NIR + Red + 0.5))" +msgstr "" + +#: ../../source/feature/optical_bands.rst:228 +msgid "**NBR (Normalized Burn Ratio)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:229 +msgid "" +"**Description**: Utilizes NIR and SWIR2 bands to assess the severity of " +"burn damage and the delineation of burned areas." +msgstr "" + +#: ../../source/feature/optical_bands.rst:230 +msgid "" +"**Usage**: Key for assessing post-fire recovery in forested areas and " +"mapping burn severity." +msgstr "" + +#: ../../source/feature/optical_bands.rst:231 +msgid "**Formula**: (NIR - SWIR2) / (NIR + SWIR2)" +msgstr "" + +#: ../../source/feature/optical_bands.rst:233 +msgid "**MVI (Mangrove Vegetation Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:234 +msgid "" +"**Description**: Specifically designed to enhance the detection and " +"monitoring of mangrove forests by using NIR and green bands." +msgstr "" + +#: ../../source/feature/optical_bands.rst:235 +msgid "" +"**Usage**: Used in coastal management and conservation of mangrove " +"ecosystems." +msgstr "" + +#: ../../source/feature/optical_bands.rst:236 +msgid "**Formula**: 0.1 * (NIR - Green) / abs(SWIR1 - Green)" +msgstr "" + +#: ../../source/feature/optical_bands.rst:238 +msgid "**UI (Urban Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:239 +msgid "" +"**Description**: Highlights urban areas by exploiting the differences in " +"reflection between SWIR2 and NIR bands." +msgstr "" + +#: ../../source/feature/optical_bands.rst:240 +msgid "" +"**Usage**: Useful for urban mapping and monitoring changes in urban land " +"use." +msgstr "" + +#: ../../source/feature/optical_bands.rst:241 +msgid "**Formula**: (SWIR2 - NIR) / (SWIR2 + NIR)" +msgstr "" + +#: ../../source/feature/optical_bands.rst:243 +msgid "**NDBI (Normalized Difference Built-up Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:244 +msgid "" +"**Description**: Differentiates urban and built-up areas from natural " +"land cover by using NIR and SWIR1 bands." +msgstr "" + +#: ../../source/feature/optical_bands.rst:245 +msgid "**Usage**: Employed in urban planning and studying urban heat islands." +msgstr "" + +#: ../../source/feature/optical_bands.rst:246 +msgid "**Formula**: (SWIR1 - NIR) / (SWIR1 + NIR)" +msgstr "" + +#: ../../source/feature/optical_bands.rst:248 +msgid "**IBI (Index-based Built-up Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:249 +msgid "" +"**Description**: Combines NDBI with SAVI and MNDWI to provide a more " +"comprehensive measure of built-up areas." +msgstr "" + +#: ../../source/feature/optical_bands.rst:250 +msgid "**Usage**: Useful in detailed urban analysis and land use classification." +msgstr "" + +#: ../../source/feature/optical_bands.rst:251 +msgid "**Formula**: (NDBI - (SAVI + MNDWI) / 2) / (NDBI + (SAVI + MNDWI) / 2)" +msgstr "" + +#: ../../source/feature/optical_bands.rst:253 +msgid "**NBI (New Built-up Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:254 +msgid "" +"**Description**: Employs red, NIR, and SWIR1 bands to enhance the " +"detection of built-up areas." +msgstr "" + +#: ../../source/feature/optical_bands.rst:255 +msgid "**Usage**: Applied in urban growth monitoring and land use planning." +msgstr "" + +#: ../../source/feature/optical_bands.rst:256 +msgid "**Formula**: Red * SWIR1 / NIR" +msgstr "" + +#: ../../source/feature/optical_bands.rst:258 +msgid "**EBBI (Enhanced Built-Up and Bareness Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:259 +msgid "" +"**Description**: Focuses on urban areas and bare land by incorporating " +"thermal and SWIR1 bands to detect built-up regions." +msgstr "" + +#: ../../source/feature/optical_bands.rst:260 +msgid "" +"**Usage**: Crucial for urban mapping and identifying heat-stressed areas " +"in cities." +msgstr "" + +#: ../../source/feature/optical_bands.rst:261 +msgid "**Formula**: (SWIR1 - NIR) / (10 * sqrt(SWIR1 + Thermal))" +msgstr "" + +#: ../../source/feature/optical_bands.rst:263 +msgid "**BUI (Built-Up Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:264 +msgid "" +"**Description**: Combines multiple SWIR bands to enhance the detection " +"and differentiation of built-up areas." +msgstr "" + +#: ../../source/feature/optical_bands.rst:265 +msgid "" +"**Usage**: Employed in urban and regional planning to delineate built-up " +"from natural areas." +msgstr "" + +#: ../../source/feature/optical_bands.rst:266 +msgid "" +"**Formula**: (Red - SWIR1) / (Red + SWIR1) + (SWIR2 - SWIR1) / (SWIR2 + " +"SWIR1)" +msgstr "" + +#: ../../source/feature/optical_bands.rst:268 +msgid "**KNDVI (Kernel Normalized Difference Vegetation Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:269 +msgid "" +"**Description**: Applies a kernel function to traditional NDVI to improve" +" sensitivity and accuracy in vegetation monitoring." +msgstr "" + +#: ../../source/feature/optical_bands.rst:270 +msgid "" +"**Usage**: Used in precision agriculture and detailed vegetation studies " +"where standard NDVI is not sufficient." +msgstr "" + +#: ../../source/feature/optical_bands.rst:271 +msgid "" +"**Formula**: Kernel-function applied to NDVI, specific implementation " +"details vary." +msgstr "" + diff --git a/docs/source/_locale/it/LC_MESSAGES/feature/project.po b/docs/source/_locale/it/LC_MESSAGES/feature/project.po index 79490f2a2c..8b7390e13f 100644 --- a/docs/source/_locale/it/LC_MESSAGES/feature/project.po +++ b/docs/source/_locale/it/LC_MESSAGES/feature/project.po @@ -1,33 +1,34 @@ + msgid "" msgstr "" -"Project-Id-Version: sepal-doc\n" +"Project-Id-Version: sepal-doc\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-03-07 09:39+0100\n" -"PO-Revision-Date: 2024-03-07 08:57\n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: 2024-03-07 08:57+0000\n" "Last-Translator: \n" +"Language: it_IT\n" "Language-Team: Italian\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.14.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Crowdin-Project: sepal-doc\n" -"X-Crowdin-Project-ID: 562097\n" -"X-Crowdin-Language: it\n" -"X-Crowdin-File: /main/docs/source/_locale/en/LC_MESSAGES/feature/project.po\n" -"X-Crowdin-File-ID: 83\n" -"Language: it_IT\n" +"Generated-By: Babel 2.18.0\n" #: ../../source/feature/project.rst:2 -msgid "Recipe projects" +msgid "Organize Recipes by projects" msgstr "" #: ../../source/feature/project.rst:4 -msgid "When interacting with SEPAL processes, a user creates **Recipes**, which can work together and be interconnected inside a single project (e.g. :code:`Mosaics` used in a :code:`Classification`)." +msgid "" +"When interacting with SEPAL processes, a user creates **Recipes**, which " +"can work together and be interconnected inside a single project (e.g. " +":code:`Mosaics` used in a :code:`Classification`)." msgstr "" #: ../../source/feature/project.rst:6 -msgid "To help with these interconnections, the SEPAL platform provides a :code:`Project` system to organize users' work." +msgid "" +"To help with these interconnections, the SEPAL platform provides a " +":code:`Project` system to organize users' work." msgstr "" #: ../../source/feature/project.rst:9 @@ -39,7 +40,9 @@ msgid "Go to the **Processes** interface of SEPAL (:btn:``)." msgstr "" #: ../../source/feature/project.rst:13 -msgid "(You should see the following. If you've already created recipes in previous releases, you will see a list of existing recipes)." +msgid "" +"(You should see the following. If you've already created recipes in " +"previous releases, you will see a list of existing recipes)." msgstr "" #: ../../source/feature/project.rst:20 @@ -67,7 +70,9 @@ msgid "Edit recipes" msgstr "" #: ../../source/feature/project.rst:28 -msgid "Read the following section to understand how users can create a new project and manage existing projects in the SEPAL platform." +msgid "" +"Read the following section to understand how users can create a new " +"project and manage existing projects in the SEPAL platform." msgstr "" #: ../../source/feature/project.rst:31 @@ -75,19 +80,29 @@ msgid "Project" msgstr "" #: ../../source/feature/project.rst:35 -msgid "Projects are personal. They cannot be shared and they are not visible to other users." +msgid "" +"Projects are personal. They cannot be shared and they are not visible to " +"other users." msgstr "" #: ../../source/feature/project.rst:39 -msgid "For every user, a :code:`[no project]` project is created during registration. This project will be the fallback for every recipe that was created before the publication of the feature. It cannot be deleted or renamed." +msgid "" +"For every user, a :code:`[no project]` project is created during " +"registration. This project will be the fallback for every recipe that was" +" created before the publication of the feature. It cannot be deleted or " +"renamed." msgstr "" #: ../../source/feature/project.rst:41 -msgid "To create a project, select :btn:` Projects`, which opens the interface (see figure below)." +msgid "" +"To create a project, select :btn:` Projects`, " +"which opens the interface (see figure below)." msgstr "" #: ../../source/feature/project.rst:43 -msgid "Then, select :btn:` Add` to create a new project. Enter the name and select :btn:` Apply`." +msgid "" +"Then, select :btn:` Add` to create a new project. " +"Enter the name and select :btn:` Apply`." msgstr "" #: ../../source/feature/project.rst:45 @@ -95,7 +110,10 @@ msgid "The newly created project will now appear in the list." msgstr "" #: ../../source/feature/project.rst:57 -msgid "To remove a project, select the :btn:`` icon (located beside its name), which will destroy all recipes included in the process as well." +msgid "" +"To remove a project, select the :btn:`` icon (located " +"beside its name), which will destroy all recipes included in the process " +"as well." msgstr "" #: ../../source/feature/project.rst:65 @@ -103,7 +121,11 @@ msgid "Recipes" msgstr "" #: ../../source/feature/project.rst:67 -msgid "When entering the **Process** interface, no projects are selected by default, meaning that users will see all recipes available in their SEPAL accounts. All recipes are displayed using the following prototype: :code:` / `." +msgid "" +"When entering the **Process** interface, no projects are selected by " +"default, meaning that users will see all recipes available in their SEPAL" +" accounts. All recipes are displayed using the following prototype: " +":code:` / `." msgstr "" #: ../../source/feature/project.rst:74 @@ -115,23 +137,36 @@ msgid "Filter recipes" msgstr "" #: ../../source/feature/project.rst:79 -msgid "Select (3) to filter recipes according to your project. Once selected, only the recipes included in the project will be displayed. The field is clearable (i.e. you can go back to the unfiltered state and select another project). Also, :code:`[no project]` can be selected." +msgid "" +"Select (3) to filter recipes according to your project. Once selected, " +"only the recipes included in the project will be displayed. The field is " +"clearable (i.e. you can go back to the unfiltered state and select " +"another project). Also, :code:`[no project]` can be selected." msgstr "" #: ../../source/feature/project.rst:86 -msgid "Once a project is selected, it will appear as **Current project** in the project list (see figure below)." +msgid "" +"Once a project is selected, it will appear as **Current project** in the " +"project list (see figure below)." msgstr "" #: ../../source/feature/project.rst:93 -msgid "Once a project is selected and a recipe is created, it will belong to the selected project." +msgid "" +"Once a project is selected and a recipe is created, it will belong to the" +" selected project." msgstr "" #: ../../source/feature/project.rst:97 -msgid "If you don't want your recipe to be associated with any project, unfilter the list before selecting :btn:` Add recipe`." +msgid "" +"If you don't want your recipe to be associated with any project, unfilter" +" the list before selecting :btn:` Add recipe`." msgstr "" #: ../../source/feature/project.rst:102 -msgid "Recipe behaviour can be edited directly from this view. Select the :btn:` Edit` button to open the **Editing** interface." +msgid "" +"Recipe behaviour can be edited directly from this view. Select the :btn" +":` Edit` button to open the **Editing** " +"interface." msgstr "" #: ../../source/feature/project.rst:109 @@ -139,11 +174,16 @@ msgid "From this interface, you can:" msgstr "" #: ../../source/feature/project.rst:111 -msgid ":btn:` Select`: Select/unselect all recipes shown on the screen. Any other editing operation will only be applied to the selected recipe(s)." +msgid "" +":btn:` Select`: Select/unselect all recipes shown on " +"the screen. Any other editing operation will only be applied to the " +"selected recipe(s)." msgstr "" #: ../../source/feature/project.rst:112 -msgid ":btn:` Move`: Move the selected recipe(s) to another project." +msgid "" +":btn:` Move`: Move the selected recipe(s) to another" +" project." msgstr "" #: ../../source/feature/project.rst:113 @@ -151,7 +191,9 @@ msgid ":btn:` Remove`: Delete the recipe(s) permanently." msgstr "" #: ../../source/feature/project.rst:117 -msgid "Before deleting individual recipes, make sure that they are not used as inputs in others." +msgid "" +"Before deleting individual recipes, make sure that they are not used as " +"inputs in others." msgstr "" #: ../../source/feature/project.rst:120 @@ -159,11 +201,18 @@ msgid "Connect recipes" msgstr "" #: ../../source/feature/project.rst:122 -msgid "When creating recipes such as :code:`Classification`, users can use other recipes as inputs for the process. To avoid flooding the dropdown list with too many values, only the recipes from the same project will be displayed (see following figure on the left)." +msgid "" +"When creating recipes such as :code:`Classification`, users can use other" +" recipes as inputs for the process. To avoid flooding the dropdown list " +"with too many values, only the recipes from the same project will be " +"displayed (see following figure on the left)." msgstr "" #: ../../source/feature/project.rst:124 -msgid "If one still wants to see all of the recipes in the dropdown list, select :btn:`All` and all recipes will be displayed using project names as headers (see following figure on right)." +msgid "" +"If one still wants to see all of the recipes in the dropdown list, select" +" :btn:`All` and all recipes will be displayed using project names as " +"headers (see following figure on right)." msgstr "" #~ msgid "" @@ -490,3 +539,6 @@ msgstr "" #~ " (see following figure on right)." #~ msgstr "" +#~ msgid "Recipe projects" +#~ msgstr "" + diff --git a/docs/source/_locale/it/LC_MESSAGES/feature/radar_bands.po b/docs/source/_locale/it/LC_MESSAGES/feature/radar_bands.po new file mode 100644 index 0000000000..151eb2c32b --- /dev/null +++ b/docs/source/_locale/it/LC_MESSAGES/feature/radar_bands.po @@ -0,0 +1,121 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: it\n" +"Language-Team: it \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/feature/radar_bands.rst:2 +msgid "Sentinel-1 Radar Bands" +msgstr "" + +#: ../../source/feature/radar_bands.rst:4 +msgid "" +"When exporting a radar mosaic from the SEPAL platform, the following " +"radar band metrics are available for analysis:" +msgstr "" + +#: ../../source/feature/radar_bands.rst:13 +msgid "Basic Radar Metrics (VV and VH Polarizations)" +msgstr "" + +#: ../../source/feature/radar_bands.rst:15 +msgid "**Metrics Included**:" +msgstr "" + +#: ../../source/feature/radar_bands.rst:16 +msgid "" +"*VV_min, VV_max, VV_mean, VV_std, VV_med*: Statistics of the VV " +"polarization signal, covering minimum, maximum, mean, standard deviation," +" and median." +msgstr "" + +#: ../../source/feature/radar_bands.rst:17 +msgid "" +"*VH_min, VH_max, VH_mean, VH_std, VH_med*: Similar statistics for the VH " +"polarization." +msgstr "" + +#: ../../source/feature/radar_bands.rst:18 +msgid "" +"*ratio_VV_med_VH_med*: The ratio of the median values of VV to VH " +"polarizations, indicating surface roughness and moisture." +msgstr "" + +#: ../../source/feature/radar_bands.rst:19 +msgid "" +"*VV_cv, VH_cv*: Coefficient of variation for VV and VH, showing the " +"variability relative to the mean." +msgstr "" + +#: ../../source/feature/radar_bands.rst:20 +msgid "" +"*NDCV (Normalized Difference Coefficient of Variation)*: A normalized " +"measure that highlights differences in texture or moisture content " +"between VV and VH returns." +msgstr "" + +#: ../../source/feature/radar_bands.rst:21 +msgid "" +"*orbit*: The orbit direction (ascending or descending), which can affect " +"the radar's observation angle and thus the backscatter properties." +msgstr "" + +#: ../../source/feature/radar_bands.rst:23 +msgid "" +"**Description**: These metrics are essential for analyzing surface " +"features, moisture content, vegetation, and other land cover " +"characteristics using radar backscatter properties." +msgstr "" + +#: ../../source/feature/radar_bands.rst:24 +msgid "" +"**Usage**: Widely used in agricultural monitoring, flood mapping, forest " +"monitoring, and urban expansion studies." +msgstr "" + +#: ../../source/feature/radar_bands.rst:27 +msgid "Harmonic Analysis Metrics (Conditional on Data Availability)" +msgstr "" + +#: ../../source/feature/radar_bands.rst:29 +msgid "**Metrics Included** (Only if harmonic dependents are available):" +msgstr "" + +#: ../../source/feature/radar_bands.rst:30 +msgid "" +"*VV_phase, VV_amp, VV_res*: Phase, amplitude, and residuals of the VV " +"signal following harmonic analysis." +msgstr "" + +#: ../../source/feature/radar_bands.rst:31 +msgid "*VH_phase, VH_amp, VH_res*: Similar metrics for the VH signal." +msgstr "" + +#: ../../source/feature/radar_bands.rst:32 +msgid "" +"**Description**: Harmonic analysis metrics help in understanding seasonal" +" variations and temporal patterns in the radar signal, useful for long-" +"term monitoring." +msgstr "" + +#: ../../source/feature/radar_bands.rst:33 +msgid "" +"**Usage**: Ideal for studying seasonal changes in vegetation, detecting " +"changes in water bodies over time, and monitoring environmental changes." +msgstr "" + diff --git a/docs/source/_locale/it/LC_MESSAGES/feature/visualization.po b/docs/source/_locale/it/LC_MESSAGES/feature/visualization.po new file mode 100644 index 0000000000..c0ac125823 --- /dev/null +++ b/docs/source/_locale/it/LC_MESSAGES/feature/visualization.po @@ -0,0 +1,161 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: it\n" +"Language-Team: it \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/feature/visualization.rst:2 +msgid "Visualization in SEPAL" +msgstr "" + +#: ../../source/feature/visualization.rst:4 +msgid "**Natural color: red, green, blue**" +msgstr "" + +#: ../../source/feature/visualization.rst:5 +msgid "" +"**Description**: Represents the true color of the terrain as human eyes " +"would see it, using the red, green, and blue bands." +msgstr "" + +#: ../../source/feature/visualization.rst:6 +msgid "" +"**Usage**: Used for general mapping and visual inspections where true " +"color representation is necessary." +msgstr "" + +#: ../../source/feature/visualization.rst:8 +msgid "**False color: nir, red, green**" +msgstr "" + +#: ../../source/feature/visualization.rst:9 +msgid "" +"**Description**: Uses near-infrared, red, and green bands. Vegetation " +"appears red due to the high reflection of NIR by healthy vegetation, " +"helpful for distinguishing vegetative areas." +msgstr "" + +#: ../../source/feature/visualization.rst:10 +msgid "" +"**Usage**: Commonly used in vegetation studies to easily distinguish live" +" green vegetation, which reflects NIR strongly." +msgstr "" + +#: ../../source/feature/visualization.rst:12 +msgid "**False color: nir, swir1, red**" +msgstr "" + +#: ../../source/feature/visualization.rst:13 +msgid "" +"**Description**: Combines near-infrared, short-wave infrared, and red " +"bands. This combination is effective in highlighting vegetation and " +"differentiating moisture levels and geological features." +msgstr "" + +#: ../../source/feature/visualization.rst:14 +msgid "" +"**Usage**: Useful in geological mapping, vegetation health assessment, " +"and moisture content analysis." +msgstr "" + +#: ../../source/feature/visualization.rst:16 +msgid "**False color: swir2, nir, red**" +msgstr "" + +#: ../../source/feature/visualization.rst:17 +msgid "" +"**Description**: Utilizes short-wave infrared, near-infrared, and red " +"bands. It enhances the differentiation between mineral types and can " +"indicate burn severity in post-fire assessments." +msgstr "" + +#: ../../source/feature/visualization.rst:18 +msgid "" +"**Usage**: Often used in mineralogical mapping, soil and rock " +"differentiation, and detecting burned areas." +msgstr "" + +#: ../../source/feature/visualization.rst:20 +msgid "**False color: swir2, swir1, red**" +msgstr "" + +#: ../../source/feature/visualization.rst:21 +msgid "" +"**Description**: Involves short-wave infrared bands and red band. This " +"setup enhances geological features and is sensitive to water content and " +"urban areas." +msgstr "" + +#: ../../source/feature/visualization.rst:22 +msgid "" +"**Usage**: Ideal for enhanced geological mapping, urban sprawl studies, " +"and discriminating between different water bodies." +msgstr "" + +#: ../../source/feature/visualization.rst:24 +msgid "**False color: swir2, nir, green**" +msgstr "" + +#: ../../source/feature/visualization.rst:25 +msgid "" +"**Description**: Features short-wave infrared, near-infrared, and green " +"bands. This visualization aids in the analysis of vegetation health and " +"soil/water interactions." +msgstr "" + +#: ../../source/feature/visualization.rst:26 +msgid "" +"**Usage**: Useful for detailed vegetation health monitoring and " +"differentiating water stress in plants." +msgstr "" + +#: ../../source/feature/visualization.rst:28 +msgid "**Tasseled cap: brightness, greenness, wetness**" +msgstr "" + +#: ../../source/feature/visualization.rst:29 +msgid "" +"**Description**: Applies the Tasseled Cap transformation to highlight " +"physical properties of the land surface such as brightness " +"(reflectivity), greenness (vegetation), and wetness (moisture content)." +msgstr "" + +#: ../../source/feature/visualization.rst:30 +msgid "" +"**Usage**: Extensively used in environmental monitoring, land cover " +"classification, and assessing vegetation and water content dynamics." +msgstr "" + +#: ../../source/feature/visualization.rst:32 +msgid "**Tasseled cap: fifth, sixth, fourth**" +msgstr "" + +#: ../../source/feature/visualization.rst:33 +msgid "" +"**Description**: Another Tasseled Cap visualization focusing on the " +"additional components that might reflect other surface properties not " +"captured by the primary three bands." +msgstr "" + +#: ../../source/feature/visualization.rst:34 +msgid "" +"**Usage**: Useful for specialized studies in vegetation dynamics, soil " +"properties, and other environmental monitoring where standard Tasseled " +"Cap indices might need supplementation." +msgstr "" + diff --git a/docs/source/_locale/it/LC_MESSAGES/index.po b/docs/source/_locale/it/LC_MESSAGES/index.po index 4312453688..dcb534965b 100644 --- a/docs/source/_locale/it/LC_MESSAGES/index.po +++ b/docs/source/_locale/it/LC_MESSAGES/index.po @@ -1,24 +1,20 @@ + msgid "" msgstr "" -"Project-Id-Version: sepal-doc\n" +"Project-Id-Version: sepal-doc\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-03-07 09:39+0100\n" -"PO-Revision-Date: 2024-03-07 08:57\n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: 2024-03-07 08:57+0000\n" "Last-Translator: \n" +"Language: it_IT\n" "Language-Team: Italian\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.14.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Crowdin-Project: sepal-doc\n" -"X-Crowdin-Project-ID: 562097\n" -"X-Crowdin-Language: it\n" -"X-Crowdin-File: /main/docs/source/_locale/en/LC_MESSAGES/index.po\n" -"X-Crowdin-File-ID: 87\n" -"Language: it_IT\n" +"Generated-By: Babel 2.18.0\n" -#: ../../source/index.rst:20 ../../source/index.rst:54 +#: ../../source/index.rst:20 ../../source/index.rst:55 msgid "Getting started" msgstr "" @@ -31,15 +27,19 @@ msgid "Modules" msgstr "" #: ../../source/index.rst:20 -msgid "CLI" +msgid "Workflows" +msgstr "" + +#: ../../source/index.rst:20 +msgid "Features" msgstr "" #: ../../source/index.rst:20 -msgid "Workflows" +msgid "Troubleshooting" msgstr "" #: ../../source/index.rst:20 -msgid "Features" +msgid "Developers" msgstr "" #: ../../source/index.rst:20 @@ -50,140 +50,176 @@ msgstr "" msgid "Documentation" msgstr "" -#: ../../source/index.rst:36 -msgid "The System for Earth Observation Data Access, Processing and Analysis for Land Monitoring (**SEPAL**) is an open-source project and platform empowering people around the world to gain a better understanding of land cover dynamics by facilitating the efficient access and use of Earth observation data – without the need of coding knowledge." +#: ../../source/index.rst:37 +msgid "" +"The System for Earth Observation Data Access, Processing and Analysis for" +" Land Monitoring (**SEPAL**) is an open-source project and platform " +"empowering people around the world to gain a better understanding of land" +" cover dynamics by facilitating the efficient access and use of Earth " +"observation data – without the need of coding knowledge." msgstr "" -#: ../../source/index.rst:47 +#: ../../source/index.rst:48 msgid "Learn how to use the platform with SEPAL documentation" msgstr "" -#: ../../source/index.rst:49 -msgid "The SEPAL team developed this GitHub page to help users get the most out of the interface." +#: ../../source/index.rst:50 +msgid "" +"The SEPAL team developed this GitHub page to help users get the most out " +"of the interface." msgstr "" -#: ../../source/index.rst:59 +#: ../../source/index.rst:60 msgid "Register to SEPAL" msgstr "" -#: ../../source/index.rst:62 +#: ../../source/index.rst:63 msgid "Set up your SEPAL account and request additional resources." msgstr "" -#: ../../source/index.rst:64 +#: ../../source/index.rst:65 msgid "Connect to GEE" msgstr "" -#: ../../source/index.rst:67 +#: ../../source/index.rst:68 msgid "Register with Google Earth Engine (GEE) and connect your account to SEPAL." msgstr "" -#: ../../source/index.rst:69 +#: ../../source/index.rst:70 msgid "Connect to NICFI–PlanetLab imagery" msgstr "" -#: ../../source/index.rst:72 -msgid "Sign up to use Norway’s International Climate and Forests Initiative (NICFI) – PlanetLab data and connect your account to GEE." +#: ../../source/index.rst:73 +msgid "" +"Sign up to use Norway’s International Climate and Forests Initiative " +"(NICFI) – PlanetLab data and connect your account to GEE." msgstr "" -#: ../../source/index.rst:77 +#: ../../source/index.rst:78 msgid "Recipes and modules" msgstr "" -#: ../../source/index.rst:82 +#: ../../source/index.rst:83 msgid "Start a recipe" msgstr "" -#: ../../source/index.rst:85 +#: ../../source/index.rst:86 msgid "Run analysis with recipes – the foundation of SEPAL processes." msgstr "" -#: ../../source/index.rst:87 +#: ../../source/index.rst:88 msgid "Start a module" msgstr "" -#: ../../source/index.rst:90 -msgid "Run integrated workflows with modules – no need of coding experience required." +#: ../../source/index.rst:91 +msgid "" +"Run integrated workflows with modules – no need of coding experience " +"required." msgstr "" -#: ../../source/index.rst:92 +#: ../../source/index.rst:93 msgid "Use the se.plan module" msgstr "" -#: ../../source/index.rst:95 -msgid "Compute your restoration index with se.plan, a spatially explicit online tool designed to support forest restoration planning decisions by restoration stakeholders." +#: ../../source/index.rst:96 +msgid "" +"Compute your restoration index with se.plan, a spatially explicit online " +"tool designed to support forest restoration planning decisions by " +"restoration stakeholders." msgstr "" -#: ../../source/index.rst:100 +#: ../../source/index.rst:101 msgid "Other resources" msgstr "" -#: ../../source/index.rst:105 +#: ../../source/index.rst:106 msgid "SEPAL website" msgstr "" -#: ../../source/index.rst:108 +#: ../../source/index.rst:109 msgid "Discover the impact of the project." msgstr "" -#: ../../source/index.rst:110 +#: ../../source/index.rst:111 msgid "SEPAL platform" msgstr "" -#: ../../source/index.rst:113 +#: ../../source/index.rst:114 msgid "Learn more about the interface." msgstr "" -#: ../../source/index.rst:115 +#: ../../source/index.rst:116 msgid "Open Foris" msgstr "" -#: ../../source/index.rst:118 +#: ../../source/index.rst:119 msgid "Browse the Suite of Tools." msgstr "" -#: ../../source/index.rst:123 +#: ../../source/index.rst:124 msgid "SEPAL is always improving" msgstr "" -#: ../../source/index.rst:125 -msgid "Encounter a problem? See an issue? Need help? Help our team members enhance user experience by improving the platform and its documentation." +#: ../../source/index.rst:126 +msgid "" +"Encounter a problem? See an issue? Need help? Help our team members " +"enhance user experience by improving the platform and its documentation." msgstr "" -#: ../../source/index.rst:132 +#: ../../source/index.rst:133 msgid "For general support, ask the Google Group community" msgstr "" -#: ../../source/index.rst:135 +#: ../../source/index.rst:136 msgid "For documentation improvement, use the GitHub Issue Tracker" msgstr "" -#: ../../source/index.rst:138 +#: ../../source/index.rst:139 msgid "For usage questions, ask the GIS StackExchange community" msgstr "" -#: ../../source/index.rst:141 -msgid "For training, register for the SEPAL Forest and Land Monitoring for Climate Action e-learning course" +#: ../../source/index.rst:142 +msgid "" +"For training, register for the SEPAL Forest and Land Monitoring for " +"Climate Action e-learning course" msgstr "" -#: ../../source/index.rst:147 +#: ../../source/index.rst:148 msgid "About the platform" msgstr "" -#: ../../source/index.rst:149 -msgid "SEPAL is part of the `Open Foris `__ Suite of Tools. The platform allows users to query and process satellite data quickly and efficiently, tailor their products for local needs, and produce sophisticated and relevant geospatial analyses. Harnessing cloud-based supercomputers and modern geospatial data infrastructures (e.g. GEE), the interface enables users to access and process historical satellite data as well as newer data from Landsat and higher-resolution data from Europe’s Copernicus programme." +#: ../../source/index.rst:150 +msgid "" +"SEPAL is part of the `Open Foris `__ Suite of " +"Tools. The platform allows users to query and process satellite data " +"quickly and efficiently, tailor their products for local needs, and " +"produce sophisticated and relevant geospatial analyses. Harnessing cloud-" +"based supercomputers and modern geospatial data infrastructures (e.g. " +"GEE), the interface enables users to access and process historical " +"satellite data as well as newer data from Landsat and higher-resolution " +"data from Europe’s Copernicus programme." msgstr "" -#: ../../source/index.rst:151 -msgid "SEPAL is a cloud computing-based platform for autonomous land monitoring using remotely sensed data. It is a combination of GEE and open-source software such as GDAL, Jupyter, the Open Foris Geospatial Toolkit, ORFEO Toolbox, Python, R, R Shiny Server, R Studio Server, and the SNAP Toolkit. The platform allows users to access powerful cloud-computing resources to query, access and process satellite data quickly and efficiently for conducting advanced analyses." +#: ../../source/index.rst:152 +msgid "" +"SEPAL is a cloud computing-based platform for autonomous land monitoring " +"using remotely sensed data. It is a combination of GEE and open-source " +"software such as GDAL, Jupyter, the Open Foris Geospatial Toolkit, ORFEO " +"Toolbox, Python, R, R Shiny Server, R Studio Server, and the SNAP " +"Toolkit. The platform allows users to access powerful cloud-computing " +"resources to query, access and process satellite data quickly and " +"efficiently for conducting advanced analyses." msgstr "" -#: ../../source/index.rst:156 +#: ../../source/index.rst:157 msgid "Supporting institutions" msgstr "" -#: ../../source/index.rst:158 -msgid "SEPAL is a project funded by the Government of Norway from the Forestry Department of the Food and Agriculture Organization of the United Nations (FAO)." +#: ../../source/index.rst:159 +msgid "" +"SEPAL is a project funded by the Government of Norway from the Forestry " +"Department of the Food and Agriculture Organization of the United Nations" +" (FAO)." msgstr "" #~ msgid "Modules" @@ -478,3 +514,6 @@ msgstr "" #~ "for creating advanced analyses." #~ msgstr "" +#~ msgid "CLI" +#~ msgstr "" + diff --git a/docs/source/_locale/it/LC_MESSAGES/troubleshooting/fix_venvs.po b/docs/source/_locale/it/LC_MESSAGES/troubleshooting/fix_venvs.po new file mode 100644 index 0000000000..53a55a8cc9 --- /dev/null +++ b/docs/source/_locale/it/LC_MESSAGES/troubleshooting/fix_venvs.po @@ -0,0 +1,381 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: it\n" +"Language-Team: it \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/troubleshooting/fix_venvs.rst:4 +msgid "Recovering broken Python environments" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:6 +msgid "" +"On 5 March 2026, SEPAL sandboxes upgraded from Ubuntu Jammy to Ubuntu " +"Noble. As part of this upgrade, the system Python changed from version " +"3.10 to 3.12. This was a deliberate and necessary change: Python 3.10 " +"reaches end of life in October 2026, meaning it will no longer receive " +"security patches, and an increasing number of libraries are dropping " +"support for it and requiring Python 3.11 or newer. Staying on 3.10 would " +"eventually mean being locked out of updated packages and exposed to " +"unpatched security issues." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:8 +msgid "" +"If you created Python virtual environments using ``python -m venv`` on " +"SEPAL before this upgrade, those environments are now broken. This page " +"explains why, and how to recover." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:12 +msgid "" +"This only affects environments created with ``python -m venv``. " +"Environments created with :guilabel:`uv` or :guilabel:`micromamba` are " +"not affected." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:14 +msgid "" +"See :ref:`env_management` for full guidance on using :guilabel:`uv` and " +":guilabel:`micromamba` — better alternatives that will not break when " +"SEPAL upgrades Python in the future." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:18 +msgid "" +"Python 3.10 reaches end of life on 4 October 2026. Rather than putting " +"effort into restoring environments on the old version, consider migrating" +" to Python 3.12 at the same time." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:23 +msgid "Why venvs break after a Python upgrade" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:25 +msgid "" +"A venv is not a fully self-contained copy of Python. It is a lightweight " +"directory structure that relies on the system Python being present at a " +"specific path. When you run ``python -m venv myenv``, it records the " +"exact path to the Python binary (e.g. ``/usr/bin/python3.10``) and " +"creates symbolic links inside the environment's ``bin/`` directory " +"pointing back to it. Installed packages land in a versioned subdirectory," +" for example ``lib/python3.10/site-packages/``." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:27 +msgid "" +"When the system Python changes from 3.10 to 3.12, two things go wrong " +"simultaneously:" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:29 +msgid "" +"The symlinks inside ``bin/`` now point to a Python binary that no longer " +"exists at the recorded path, so the environment cannot start correctly." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:30 +msgid "" +"Any packages with compiled C extensions (numpy, scipy, cryptography, " +"etc.) were built against the Python 3.10 ABI. Python 3.12 has a different" +" ABI, so those compiled ``.so`` files are no longer valid and will crash " +"or fail to load." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:32 +msgid "" +"The package files themselves — the pure Python code and the package " +"metadata — are still intact on disk. Only the wiring is broken, which is " +"why it is possible to extract a list of what was installed without " +"activating the environment." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:37 +msgid "Why Jupyter kernels disappear" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:39 +msgid "" +"When you register a venv as a Jupyter kernel using ``ipykernel``, Jupyter" +" saves a small ``kernel.json`` file under " +"``~/.local/share/jupyter/kernels//``. This file contains the " +"absolute path to the Python binary inside the environment." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:41 +msgid "" +"After the upgrade, Jupyter still finds the ``kernel.json`` file and may " +"still show the kernel in the launcher — but when you try to start it, it " +"attempts to launch the Python binary at the recorded path. Because that " +"binary no longer works, the kernel either fails to start or starts and " +"immediately crashes, which JupyterLab reports as the kernel repeatedly " +"dying." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:43 +msgid "" +"In some cases the kernel disappears from the launcher entirely. In others" +" it appears but cannot be used. Either way, notebooks that relied on it " +"cannot run." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:48 +msgid "Symptoms of a broken environment" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:50 +msgid "You may see any of the following:" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:52 +msgid "" +"A Jupyter kernel that was previously available has disappeared from the " +"launcher, or starts and immediately dies" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:53 +msgid "``ModuleNotFoundError: No module named 'pip'`` when running pip commands" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:54 +msgid "Packages that were previously installed fail to import" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:55 +msgid "Compiled packages (numpy, scipy, etc.) segfault or raise ``ImportError``" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:56 +msgid "" +"``python --version`` inside the activated environment shows 3.12 even " +"though it was created with 3.10" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:58 +msgid "" +"All of these have the same root cause: the environment's internal " +"symlinks and compiled extensions were built against Python 3.10 and are " +"no longer valid." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:63 +msgid "Recovery" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:68 +msgid "Extract your requirements" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:70 +msgid "" +"You cannot activate the broken environment, but the package metadata is " +"still readable on disk. SEPAL provides a script that extracts the list of" +" installed packages from a broken environment. Run it from the terminal:" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:76 +msgid "" +"This scans the package metadata inside the broken environment and writes " +"a ``requirements.txt`` with pinned versions. Verify the output:" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:85 +msgid "Recreate the environment with uv" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:87 +msgid "" +":guilabel:`uv` is a fast, modern Python package manager already installed" +" on SEPAL. Unlike venv, it manages its own Python versions independently " +"of the system, so future upgrades will not break your environments." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:91 +msgid "" +"See :ref:`env_management` for full guidance on :guilabel:`uv` and other " +"environment tools available on SEPAL." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:93 +msgid "You have two options:" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:98 +msgid "Option A — Recreate on Python 3.10" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:100 +msgid "" +"*Fewer compatibility issues — use this if you need to get back up and " +"running quickly and cannot yet deal with package compatibility on 3.12.*" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:110 +msgid "" +"The ``requirements.txt`` referenced here is the file you extracted in the" +" previous step." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:115 +msgid "Option B — Migrate to Python 3.12" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:117 +msgid "" +"*Better long-term choice — most pure-Python packages work on 3.12 without" +" any changes.*" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:127 +msgid "" +"The ``requirements.txt`` referenced here is the file you extracted in the" +" first step." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:132 +msgid "Handling package version conflicts (Option B)" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:134 +msgid "" +"When migrating to Python 3.12, the ``requirements.txt`` from the first " +"step contains fully pinned versions (e.g. ``numpy==1.23.4``). Some of " +"these may not have wheels available for Python 3.12. If installation " +"fails, try removing the version pins:" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:142 +msgid "" +"The following packages are known to cause issues when moving from 3.10 to" +" 3.12:" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:148 +msgid "Package" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:149 +msgid "Issue" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:150 +msgid "Fix" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:151 +msgid "``numpy < 1.24``" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:152 +#: ../../source/troubleshooting/fix_venvs.rst:155 +msgid "No Python 3.12 wheels available" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:153 +msgid "Unpin: ``numpy``" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:154 +msgid "``scipy < 1.11``" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:156 +msgid "Unpin: ``scipy``" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:157 +msgid "Packages using ``distutils``" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:158 +msgid "``distutils`` was removed in Python 3.12" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:159 +msgid "Upgrade or replace the package" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:160 +msgid "Old Cython extensions" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:161 +msgid "ABI mismatch, segfaults at import" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:162 +msgid "``uv pip install --force-reinstall ``" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:163 +msgid "``cryptography`` (old versions)" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:164 +msgid "Needs a recent version for the 3.12 ABI" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:165 +msgid "Unpin: ``cryptography``" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:170 +msgid "Re-register your Jupyter kernel" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:172 +msgid "" +"JupyterLab discovers environments through kernel specifications — small " +"JSON files that point to a specific Python binary. When you recreate an " +"environment, the old kernel specification still points to the broken " +"binary, so JupyterLab cannot find or use the new environment. You need to" +" remove the old specification and register a new one." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:174 +msgid "First, list existing kernels and remove the broken one:" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:184 +msgid "Then register the new environment as a kernel:" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:192 +msgid "" +"After restarting JupyterLab, the new kernel will appear in the launcher " +"and notebooks that reference it by name will work again." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:197 +msgid "Going forward" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:199 +msgid "" +"To avoid this problem in the future, stop using venv. :guilabel:`uv` " +"manages Python versions independently of the system and will not break " +"when SEPAL upgrades Python." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:201 +msgid "" +"See :ref:`env_management` for full guidance on creating and managing " +"environments, including how to add Jupyter kernels." +msgstr "" + diff --git a/docs/source/_locale/it/LC_MESSAGES/troubleshooting/index.po b/docs/source/_locale/it/LC_MESSAGES/troubleshooting/index.po new file mode 100644 index 0000000000..f36f968e7b --- /dev/null +++ b/docs/source/_locale/it/LC_MESSAGES/troubleshooting/index.po @@ -0,0 +1,42 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: it\n" +"Language-Team: it \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/troubleshooting/index.rst:7 +msgid "Recovering broken Python environments" +msgstr "" + +#: ../../source/troubleshooting/index.rst:2 +msgid "Troubleshooting" +msgstr "" + +#: ../../source/troubleshooting/index.rst:3 +msgid "*Solve common issues on the SEPAL platform*" +msgstr "" + +#: ../../source/troubleshooting/index.rst:5 +msgid "" +"This section covers known issues and step-by-step solutions for problems " +"you may encounter while using SEPAL. If your issue is not listed here, " +"ask the `Google Group community `__ or report it on the `GitHub Issue Tracker " +"`__." +msgstr "" + diff --git a/docs/source/_locale/it/LC_MESSAGES/workflows/mangrove_mapping.po b/docs/source/_locale/it/LC_MESSAGES/workflows/mangrove_mapping.po new file mode 100644 index 0000000000..6fc692a43f --- /dev/null +++ b/docs/source/_locale/it/LC_MESSAGES/workflows/mangrove_mapping.po @@ -0,0 +1,1850 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: it\n" +"Language-Team: it \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/workflows/mangrove_mapping.rst:4 +msgid "Mangrove mapping with SEPAL" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:6 +msgid "" +"This article describes a complete workflow for mapping mangroves using " +"SEPAL — FAO's free, open-source, web-based cloud platform for satellite " +"data analysis. The approach combines multi-sensor satellite data, global " +"mangrove reference datasets, and machine learning classification to " +"produce locally relevant mangrove maps and detect change over time. An " +"optional extension covers above-ground biomass (AGB) mapping." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:10 +msgid "" +"**Author:** Erik Lindquist, Forestry Officer, Food and Agriculture " +"Organization of the United Nations (FAO)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:13 +msgid "Overview" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:15 +msgid "The workflow consists of the following stages:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:17 +msgid ":ref:`Registration and setup `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:18 +msgid ":ref:`Request SEPAL resources `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:19 +msgid ":ref:`Define the area of interest `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:20 +msgid ":ref:`Build an optical mosaic (optional) `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:21 +msgid ":ref:`Build a radar mosaic (optional) `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:22 +msgid ":ref:`Load global mangrove reference datasets `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:23 +msgid "" +":ref:`Create the high-confidence mangrove reference map `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:24 +msgid ":ref:`Generate training data `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:25 +msgid ":ref:`Incorporate Google Satellite Embeddings `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:26 +msgid ":ref:`Classify mangroves `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:27 +msgid ":ref:`Map above-ground biomass (optional) `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:28 +msgid ":ref:`Detect change using CCDC `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:29 +msgid ":ref:`Download and export results `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:32 +msgid "Why use SEPAL for mangrove mapping?" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:34 +msgid "" +"SEPAL democratises access to satellite data and analysis tools, enabling " +"autonomous land monitoring without the need for local compute " +"infrastructure. For mangrove mapping specifically, SEPAL provides:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:36 +msgid "" +"**Multi-sensor data access** – seamless integration of optical " +"(Sentinel-2, Landsat, NICFI/Planet) and synthetic aperture radar (SAR) " +"(Sentinel-1 C-band, ALOS L-band) imagery" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:37 +msgid "" +"**Multi-temporal analysis** – time-series processing and change detection" +" using the Continuous Change Detection and Classification (CCDC) " +"algorithm" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:38 +msgid "" +"**Cloud-based classification** – machine learning classification recipes " +"powered by Google Earth Engine (GEE)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:39 +msgid "" +"**Global reference data** – integration with existing global mangrove " +"products to generate locally relevant training data automatically" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:40 +msgid "" +"**Team collaboration** – data saved as GEE assets can be shared across a " +"team, allowing one person to build a composite that all team members can " +"access and classify" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:45 +msgid "1. Registration and setup" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:47 +msgid "Before starting, create accounts on two platforms." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:50 +msgid "1.1 Google Earth Engine" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:52 +msgid "SEPAL's processing recipes run on GEE. A free GEE account is required." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:54 +msgid "Go to `earthengine.google.com `__." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:55 +msgid "Sign up using a Gmail account." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:56 +msgid "Wait for approval (usually within a few hours to a few days)." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:59 +msgid "1.2 SEPAL" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:61 +msgid "Go to `sepal.io `__ and register for a free account." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:62 +msgid "Connect the GEE account within SEPAL settings." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:66 +msgid "" +"For a step-by-step walkthrough of SEPAL setup, see " +":doc:`../setup/register`." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:71 +msgid "2. Request SEPAL resources" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:73 +msgid "" +"SEPAL is always free to use; however, downloading data and running high-" +"performance computing in the cloud requires resources to be allocated to " +"an account. Resources are requested via the **User report** button " +"(displayed as **$ 0/h**) in the lower-right corner of the **SEPAL " +"interface**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:75 +msgid "To request resources:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:77 +msgid "" +"Select the **User report** button in the lower-right corner of the " +"**SEPAL interface**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:78 +msgid "Select **Request additional resources**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:79 +msgid "" +"Enter the requested amounts. For most mapping work, the following is a " +"reasonable starting point:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:81 +msgid "**Processing:** $10 USD/month of cloud compute time" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:82 +msgid "**Storage:** $10 USD/month" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:83 +msgid "**Workspace:** 10 gigabytes (GB) of personal SEPAL workspace storage" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:85 +msgid "Enter a short message describing the work (e.g. \"Mangrove mapping\")." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:86 +msgid "Select **Apply**. The SEPAL team will review and approve the request." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:88 +msgid "" +"Once resources are approved, the **Download** button (displayed as a " +"cloud with an arrow icon) will become active in all recipes. Even $1 of " +"resources is sufficient to activate downloading to GEE or Google Drive." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:92 +msgid "" +"SEPAL supports requests for larger amounts of resources for intensive " +"work, such as training machine learning models. Describe the use case in " +"the request message if needed." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:97 +msgid "3. Define the area of interest" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:99 +msgid "" +"Use the same area of interest (AOI) for all downstream recipes to ensure " +"composites, reference layers, and classification outputs are spatially " +"aligned." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:101 +msgid "Open **Process** in the **SEPAL interface**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:102 +msgid "" +"Set the AOI using an administrative boundary, an uploaded geometry, or a " +"drawn polygon." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:107 +msgid "4. Build an optical mosaic (optional)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:111 +msgid "" +"This step is only required if Google Satellite Embeddings are **not** " +"used as the classification input (see :ref:`Section 9 `). If using embeddings, proceed directly to :ref:`Section 6 " +"`." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:113 +msgid "" +"A cloud-free optical mosaic provides the spectral bands used for " +"classification. In SEPAL, all processing starts with a *recipe*. Open a " +"new recipe from the recipe book by selecting the **+** button, then the " +"green **Add recipe** button." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:116 +msgid "Recommended data sources" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:122 +msgid "Source" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:123 +msgid "Spatial resolution" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:124 +msgid "Temporal resolution" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:125 +msgid "Bands" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:126 +#: ../../source/workflows/mangrove_mapping.rst:361 +msgid "Sentinel-2" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:127 +msgid "10 m" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:128 +msgid "5 days" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:129 +msgid "12" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:130 +msgid "Landsat (8/9)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:131 +msgid "30 m" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:132 +msgid "16 days" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:133 +msgid "8" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:134 +msgid "NICFI/Planet" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:135 +msgid "4.5 m" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:136 +msgid "Monthly" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:137 +msgid "4" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:140 +msgid "Recommended bands and indices" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:142 +msgid "" +"For Sentinel-2, include bands: **B2, B3, B4, B5, B6, B7, B8, B8A, B11, " +"B12**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:144 +msgid "Suggested derived indices:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:146 +msgid "normalized difference vegetation index (NDVI)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:147 +msgid "normalized difference moisture index (NDMI)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:148 +msgid "normalized difference water index (NDWI)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:149 +msgid "modified normalized difference water index (MNDWI)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:150 +msgid "red-edge NDVI variants" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:151 +msgid "Tasseled Cap Brightness, Greenness and Wetness" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:152 +msgid "short-wave infrared (SWIR) ratios (B11/B8, B12/B11)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:153 +msgid "enhanced vegetation index (EVI)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:157 +msgid "" +"Avoid the **Aerosol** band for vegetation mapping — it captures " +"atmospheric rather than surface conditions. The near-infrared (NIR) and " +"SWIR bands are particularly important for mangroves: NIR is sensitive to " +"chlorophyll and vegetation health; SWIR helps distinguish inundated " +"vegetation from upland forest and open water." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:160 +msgid "Composite method" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:162 +msgid "" +"Use the **Medoid** composite method, which selects actual observed pixel " +"values rather than statistical summaries, preserving spectral integrity. " +"Save the recipe with a meaningful name (e.g. ``Optical_Medoid_2023``) so " +"it can be referenced in the classification recipe." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:166 +msgid "" +"See :doc:`../cookbook/optical_mosaic` for full instructions on the SEPAL " +"optical mosaic recipe." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:171 +msgid "5. Build a radar mosaic (optional)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:175 +msgid "" +"This step is only required if Google Satellite Embeddings are **not** " +"used as the classification input." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:177 +msgid "" +"SAR data penetrates cloud cover and is sensitive to canopy structure and " +"soil moisture — making it a valuable complement to optical data in " +"tropical coastal environments where persistent cloud cover limits optical" +" data availability." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:180 +msgid "Recommended data source" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:182 +msgid "" +"The primary radar source used in this workflow is **Sentinel-1 C-band " +"SAR**:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:184 +msgid "spatial resolution: 10 m" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:185 +msgid "temporal resolution: 12 days" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:186 +msgid "bands: VV and VH polarisations" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:188 +msgid "" +"ALOS PALSAR L-band mosaics (25 m, yearly) can be added where available " +"for additional structural information." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:191 +msgid "Recommended statistics to include" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:197 +msgid "Band" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:198 +#: ../../source/workflows/mangrove_mapping.rst:448 +msgid "Description" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:199 +msgid "VV mean" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:200 +msgid "Average VV backscatter across the year" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:201 +msgid "VH mean" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:202 +msgid "Average VH backscatter across the year" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:203 +msgid "VV/VH ratio" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:204 +msgid "Structural differentiation" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:205 +msgid "VH standard deviation" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:206 +msgid "Seasonal variability; helps distinguish vegetation types" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:208 +msgid "Save the recipe as ``Radar_Mosaic_YYYY``." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:212 +msgid "" +"See :doc:`../cookbook/radar_mosaic` for full instructions on the SEPAL " +"radar mosaic recipe." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:217 +msgid "6. Load global mangrove reference datasets" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:219 +msgid "" +"Load three global datasets as **EE Asset** recipes in SEPAL to build the " +"high-confidence reference map in :ref:`Section 7 `. " +"Each dataset is available in the GEE catalog or the Awesome GEE Community" +" Catalog." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:221 +msgid "To add an **EE Asset** recipe:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:223 +#: ../../source/workflows/mangrove_mapping.rst:391 +msgid "Add a new recipe and select **EE Asset**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:224 +#: ../../source/workflows/mangrove_mapping.rst:392 +msgid "Set the AOI." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:225 +msgid "Search for the asset by name or paste the asset path." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:226 +#: ../../source/workflows/mangrove_mapping.rst:394 +msgid "Select **Done**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:227 +msgid "" +"To visualise, open the **Menu** (☰) → select **+** → select the band → " +"set min/max values → select **Apply**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:228 +msgid "Save the recipe with the name indicated below." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:231 +msgid "6.1 Global Mangrove Watch (GMW) v3 — 2020 extent" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:236 +#: ../../source/workflows/mangrove_mapping.rst:251 +#: ../../source/workflows/mangrove_mapping.rst:266 +#: ../../source/workflows/mangrove_mapping.rst:382 +msgid "**Asset path**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:237 +#: ../../source/workflows/mangrove_mapping.rst:683 +msgid "``projects/sat-io/open-datasets/GMW/extent/GMW_V3``" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:238 +#: ../../source/workflows/mangrove_mapping.rst:253 +#: ../../source/workflows/mangrove_mapping.rst:268 +#: ../../source/workflows/mangrove_mapping.rst:530 +msgid "**Band**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:239 +msgid "``b1`` (1 = mangrove, 0 = non-mangrove)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:240 +msgid "**Date filter**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:241 +msgid "2020-01-01 to 2020-12-31; select first image" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:242 +#: ../../source/workflows/mangrove_mapping.rst:257 +#: ../../source/workflows/mangrove_mapping.rst:270 +#: ../../source/workflows/mangrove_mapping.rst:388 +#: ../../source/workflows/mangrove_mapping.rst:534 +msgid "**Save as**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:243 +msgid "``GMW_2020_EEAsset``" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:246 +msgid "6.2 ESA WorldCover land cover — 2021" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:252 +#: ../../source/workflows/mangrove_mapping.rst:686 +msgid "``ESA/WorldCover/v200``" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:254 +msgid "``Map``" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:255 +msgid "**Mangrove class value**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:256 +msgid "95" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:258 +msgid "``WorldCover_2021_EEAsset``" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:261 +msgid "6.3 Digital elevation model (MERIT DEM)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:267 +#: ../../source/workflows/mangrove_mapping.rst:689 +msgid "``MERIT/DEM/v1_0_3``" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:269 +msgid "``dem``" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:271 +msgid "``MERIT_DEM_EEAsset``" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:273 +msgid "" +"The digital elevation model (DEM) provides an elevation constraint — " +"mangroves occupy low-lying intertidal zones, so pixels above 40 m " +"elevation are excluded from the high-confidence product in :ref:`Section " +"7 `." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:278 +msgid "7. Create the high-confidence mangrove reference map" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:280 +msgid "" +"This step converts the three global datasets into a single high-" +"confidence binary map of mangrove and non-mangrove, which is then used to" +" automatically generate training data for the local classification." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:282 +msgid "" +"If multiple independent global datasets agree that a pixel is mangrove " +"(or non-mangrove), confidence in that label is much higher than if only " +"one dataset indicates this. The elevation constraint further removes " +"unlikely mangrove locations." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:285 +msgid "Remapping rules" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:287 +msgid "In SEPAL, use the **Remapping** recipe with the following logic:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:293 +msgid "Output class" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:294 +msgid "Condition" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:295 +msgid "**Class 1 – Mangrove**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:296 +msgid "GMW ``b1`` = 1 **AND** WorldCover ``Map`` = 95 **AND** DEM ``dem`` < 40 m" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:297 +msgid "**Class 2 – Non-mangrove**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:298 +msgid "GMW ``b1`` = 0 **AND** WorldCover ``Map`` ≠ 95 **AND** DEM ``dem`` < 40 m" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:299 +msgid "*(No data)*" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:300 +msgid "Pixels that do not meet either condition are excluded" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:302 +msgid "**Output band:** ``class`` (1 = mangrove, 2 = non-mangrove)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:304 +msgid "**Save as:** ``Mangrove_HighConfidence_Remapping``" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:308 +msgid "" +"The DEM < 40 m filter restricts both mangrove and non-mangrove samples to" +" the intertidal zone, improving the relevance of the non-mangrove class " +"and avoiding confusion with upland forest." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:312 +msgid "" +"Use the divided interface (multi-view panel) to inspect the high-" +"confidence product against the optical and radar mosaics before " +"proceeding. Confirm that the mangrove extent looks reasonable for the " +"area." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:317 +msgid "8. Generate training data" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:319 +msgid "" +"With the high-confidence reference map produced, generate training data " +"automatically by stratified sampling — more efficiently and at greater " +"scale than manual digitising." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:321 +msgid "" +"In SEPAL, training data is generated within the **Classification** recipe" +" using the **Sample classification** option:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:323 +msgid "Open a new **Classification** recipe." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:324 +msgid "In the training data tab, select **Add** > **Sample classification**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:325 +msgid "" +"Set the sampling source to ``Mangrove_HighConfidence_Remapping`` (recipe " +"reference) or an exported GEE asset of the same (band: ``class``)." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:326 +msgid "Use balanced (stratified) sampling — equal numbers of samples per class." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:327 +msgid "Set a random seed for reproducibility." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:330 +msgid "Recommended sample sizes" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:336 +msgid "Area of interest" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:337 +msgid "Samples per class" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:338 +msgid "Small AOI" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:339 +msgid "300–800" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:340 +msgid "Subnational/national AOI" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:341 +msgid "1000–2000" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:342 +msgid "Very large or heterogeneous AOI" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:343 +msgid "5000–10000" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:345 +msgid "" +"After sampling, inspect the training points visually against the imagery " +"in the multi-view panel. If contaminated points are observed (e.g. " +"mangrove samples landing on water), resample or remove them before " +"running the classification." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:350 +msgid "9. Incorporate Google Satellite Embeddings (AlphaEarth Foundations)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:354 +msgid "" +"These are referred to as \"Alpha Earth Embeddings\" in some training " +"materials. They are now publicly available as the **Google Satellite " +"Embedding dataset**, powered by `AlphaEarth Foundations " +"`__ — a geospatial artificial " +"intelligence (AI) model developed by Google and Google DeepMind." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:357 +msgid "What are satellite embeddings?" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:359 +msgid "" +"Satellite embeddings are pre-computed, AI-generated feature vectors that " +"summarise multi-sensor, multi-temporal Earth observation data into a " +"compact representation. Each 10 m pixel is described by a 64-dimensional " +"embedding vector encoding a full year of observations from:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:362 +msgid "Landsat" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:363 +msgid "Sentinel-1 SAR" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:364 +msgid "Copernicus DEM (elevation)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:365 +msgid "ERA5 (climate)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:366 +msgid "GEDI LiDAR (vegetation structure)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:368 +msgid "Key advantages for mangrove mapping:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:370 +msgid "" +"**Fewer training samples needed** – embeddings encode rich spatial and " +"temporal context, reducing the labelled points required for accurate " +"classification;" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:371 +msgid "" +"**Cloud-robust** – embeddings summarise an entire year of acquisitions, " +"making them more robust to cloud contamination than single-date " +"composites;" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:372 +msgid "" +"**No deep learning infrastructure required** – pre-computed and analysis-" +"ready; compatible with SEPAL's built-in classifiers;" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:373 +msgid "" +"**Faster classification** – typically faster than classifying equivalent " +"optical and radar inputs separately; and" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:374 +msgid "**Temporal coverage** – annual embeddings available from 2017 onwards." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:377 +msgid "Loading embeddings as an EE Asset recipe" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:383 +#: ../../source/workflows/mangrove_mapping.rst:680 +msgid "``GOOGLE/SATELLITE_EMBEDDING/V1/ANNUAL``" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:384 +msgid "**Asset type**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:385 +msgid "ImageCollection — mosaic or select target year" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:386 +msgid "**Bands**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:387 +msgid "All 64 embedding bands" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:389 +msgid "``AlphaEarth_Embeddings_EEAsset``" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:393 +msgid "" +"Search for ``embeddings`` and select **Satellite Embeddings V1**, or " +"paste the asset path above." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:395 +msgid "" +"To confirm data is loading: open the **Menu** (☰) → select **+** → select" +" any band (e.g. ``Z00``) → select **Apply**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:396 +msgid "Save the recipe as ``AlphaEarth_Embeddings_EEAsset``." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:399 +msgid "When to use embeddings vs. optical/radar mosaics" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:401 +msgid "" +"Use **embeddings** when an annual classification is needed and good " +"results are required with limited training data or compute time. When " +"embeddings are used, optical and radar mosaics are **not** needed as " +"classifier inputs." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:402 +msgid "" +"Use **optical and radar mosaics** when classification at a specific sub-" +"annual time point is needed, or when within-year temporal detail is " +"important." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:403 +msgid "Both approaches can be combined if desired." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:407 +msgid "" +"`GEE Data Catalog: Satellite Embedding V1 `__" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:408 +msgid "" +"`GEE tutorial series: Introduction to Satellite Embeddings " +"`__" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:409 +msgid "Brown et al. (2025)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:414 +msgid "10. Classify mangroves" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:416 +msgid "" +"With training data and image inputs prepared, run the SEPAL " +"**Classification** recipe to produce a mangrove/non-mangrove map." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:419 +msgid "10.1 Set up the classification recipe" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:421 +msgid "Add a new recipe and select **Classification**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:422 +msgid "When asked which image to classify, choose one of the following:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:424 +msgid "" +"**Embeddings approach:** ``AlphaEarth_Embeddings_EEAsset`` only (do " +"**not** add optical or radar mosaics)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:425 +msgid "" +"**Optical/radar approach:** the optical mosaic recipe plus the radar " +"mosaic recipe" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:426 +msgid "**Combined approach:** embeddings plus optical and/or radar mosaics" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:429 +msgid "10.2 Select input bands" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:431 +msgid "For the **embeddings approach**, add all 64 embedding bands." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:433 +msgid "For the **optical/radar approach**, recommended bands are:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:435 +msgid "" +"Sentinel-2: B2, B3, B4, B5, B6, B7, B8, B8A, B11, B12, plus derived " +"indices (NDVI, NDMI, NDWI, Tasseled Cap)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:436 +msgid "Sentinel-1: VV mean, VH mean, VH standard deviation" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:439 +msgid "10.3 Define classification classes" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:441 +msgid "For mangrove mapping, a three-class legend is recommended:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:447 +msgid "Class" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:449 +msgid "Mangrove" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:450 +msgid "Mangrove forest" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:451 +msgid "Non-mangrove" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:452 +msgid "All other land cover" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:453 +msgid "Water" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:454 +msgid "Open water" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:456 +msgid "" +"Keep classes distinct — overlapping or ambiguous classes reduce " +"classification accuracy. Assign recognisable colours (e.g. green for " +"mangrove, blue for water)." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:459 +msgid "10.4 Add training data" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:461 +msgid "" +"Reference the ``Mangrove_HighConfidence_Remapping`` recipe (or exported " +"asset) generated in :ref:`Section 7 ` and sampled in " +":ref:`Section 8 `. In the training data tab, select " +"**Add** > **Sample classification**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:463 +msgid "" +"Add manual training points using the **Marker** icon if local knowledge " +"suggests corrections are needed." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:467 +msgid "" +"The classification updates in real time as training points are added or " +"modified, allowing the impact of each change to be seen immediately." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:470 +msgid "10.5 Configure the classifier" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:472 +msgid "SEPAL uses **Random Forest** by default. Recommended settings:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:478 +msgid "Parameter" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:479 +msgid "Recommended value" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:480 +msgid "Number of trees" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:481 +msgid "~300 (use 25 for exploration; increase for production)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:482 +msgid "Variables per split (mTry)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:483 +msgid "Default/auto" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:484 +msgid "Probability outputs" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:485 +msgid "Enable if available" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:488 +msgid "10.6 Interpret and refine results" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:490 +msgid "Use the **Menu** (☰) to switch between display bands:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:492 +msgid "**Class** – the final classified map (one class per pixel)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:493 +msgid "" +"**Mangrove percent** – the probability that each pixel belongs to the " +"mangrove class; more informative than the binary class map for " +"understanding model uncertainty" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:495 +msgid "To improve results, iterate by:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:497 +msgid "" +"tightening the high-confidence mask criteria in the **Remapping** recipe " +"(:ref:`Section 7 `) and resampling (:ref:`Section 8 " +"`);" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:498 +msgid "adding more training samples;" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:499 +msgid "increasing the number of Random Forest trees; or" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:500 +msgid "adjusting the input data stack." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:504 +msgid "" +"See :doc:`../cookbook/classification` for full instructions on the SEPAL " +"classification recipe." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:509 +msgid "11. Map above-ground biomass (optional)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:511 +msgid "" +"In addition to mangrove extent, SEPAL can produce wall-to-wall maps of " +"above-ground biomass (AGB) by combining point-based biomass measurements " +"with satellite embeddings using a **Regression** recipe." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:514 +msgid "11.1 Approach" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:516 +msgid "" +"Where biomass measurements are available (from field plots or GEDI " +"LiDAR), and where the 64 embedding bands are available, the known biomass" +" values can be statistically related to the embedding values and applied " +"to every pixel across the AOI — producing a continuous biomass estimate " +"map." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:519 +msgid "11.2 Option A – Using GEDI LiDAR data" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:521 +msgid "" +"The Global Ecosystem Dynamics Investigation (GEDI) is a full-waveform " +"LiDAR instrument on the International Space Station, capturing vegetation" +" height, canopy structure, and above-ground biomass density. GEDI data " +"are point samples rather than wall-to-wall, but can be used as training " +"data to produce a continuous biomass map." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:523 +msgid "To load GEDI L4A as an EE Asset recipe:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:528 +msgid "**Asset**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:529 +msgid "GEDI L4A Above Ground Biomass Density v2.1" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:531 +msgid "``AGBD`` (above-ground biomass density, Mg/ha)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:532 +msgid "**Visualisation**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:533 +msgid "Thermal colour palette, min = 0, max = ~194" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:535 +msgid "``GEDI_L4A_EEAsset``" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:537 +msgid "To run the biomass regression:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:539 +#: ../../source/workflows/mangrove_mapping.rst:564 +msgid "Add a new recipe and select **Regression**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:540 +#: ../../source/workflows/mangrove_mapping.rst:565 +msgid "Select ``AlphaEarth_Embeddings_EEAsset`` as the image (all 64 bands)." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:541 +msgid "In the training data tab, select **Add** > **Sample image**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:542 +msgid "" +"Select ``GEDI_L4A_EEAsset`` as the source, with ``AGBD`` as the target " +"band." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:543 +msgid "Set the number of samples (increase for production results)." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:544 +#: ../../source/workflows/mangrove_mapping.rst:569 +msgid "Select **Apply** and run." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:548 +msgid "" +"If the study area is changing rapidly, match the GEDI acquisition year to" +" the target image year. For more stable mangrove areas, using all " +"available GEDI data is acceptable." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:551 +msgid "11.3 Option B – Using field-collected AGB data" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:553 +msgid "" +"Field-collected plot data with geographic coordinates can be uploaded to " +"GEE as an asset table and used as training data in the **Regression** " +"recipe." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:555 +msgid "To upload field data to GEE:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:557 +msgid "In the GEE Code Editor, go to the **Assets** tab." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:558 +msgid "Select **New** > **CSV file**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:559 +msgid "Upload the data file — GEE handles reprojection automatically." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:560 +msgid "Note the asset ID from the asset details panel." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:562 +msgid "To run the regression using field data:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:566 +msgid "In the training data tab, select **Add** > **Earth Engine table**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:567 +msgid "Paste the field data table asset ID." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:568 +msgid "Select the AGB column as the target value band." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:572 +msgid "11.4 Interpreting biomass results" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:574 +#, python-format +msgid "" +"The regression produces a continuous map of estimated above-ground " +"biomass (Mg/ha). Results improve significantly with more training samples" +" and more trees in the Random Forest model. Consider reserving 20–30% of " +"samples for independent validation." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:579 +msgid "12. Detect change using CCDC" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:581 +msgid "" +"To map mangrove loss or gain over time, this workflow uses the Continuous" +" Change Detection and Classification (CCDC) algorithm (Zhu and Woodcock, " +"2014). CCDC fits a time-series model to each pixel using all available " +"satellite observations and detects structural breaks — making it well " +"suited to detecting mangrove conversion events." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:584 +msgid "12.1 Create a CCDC asset" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:586 +msgid "Add a new recipe and select **CCDC Asset**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:587 +msgid "Define the AOI and date range." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:588 +msgid "Select input imagery (Sentinel-2 and/or Landsat recommended)." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:589 +msgid "Run the recipe and save the result as a GEE asset." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:593 +msgid "" +"Pre-built CCDC assets for specific study areas may be shared by the SEPAL" +" team or colleagues as GEE asset links, avoiding the need to run this " +"computationally intensive step independently." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:597 +msgid "" +"See :doc:`../cookbook/ccdc_slice` for full instructions on creating a " +"CCDC asset." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:600 +msgid "12.2 Extract CCDC slices" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:602 +msgid "" +"A *CCDC slice* is a snapshot of the fitted time-series model at a " +"specific date — providing harmonised, cloud-free spectral values " +"consistent across dates. CCDC slices can be used:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:604 +msgid "" +"as additional input bands in the **Classification** recipe (:ref:`Section" +" 10 `) for improved accuracy using spatio-" +"temporal descriptors; or" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:605 +msgid "from two different dates to detect change between them." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:609 +msgid "" +"See :doc:`../cookbook/ccdc_slice` for full instructions on using CCDC " +"slices." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:612 +msgid "12.3 Run change detection" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:614 +msgid "**Option A – Index Change recipe (two-date comparison):**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:616 +msgid "Add a new recipe and select **Index Change**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:617 +msgid "Load CCDC slices from two target dates (e.g. 2015 and 2023)." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:618 +msgid "Run the recipe to produce a map of positive and negative spectral change." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:619 +msgid "Interpret positive and negative values as mangrove gain or loss." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:621 +msgid "**Option B – Near-real-time alert recipe:**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:623 +msgid "" +"SEPAL includes an alert recipe based on CCDC that compares the time-" +"series model to very recent observations (last few days to weeks), " +"enabling near-real-time detection of mangrove disturbance events for " +"operational monitoring." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:628 +msgid "13. Download and export results" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:631 +msgid "13.1 Export destinations" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:633 +msgid "" +"Select the **Download** button (cloud with arrow icon) in any recipe to " +"open the export dialog. Choose:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:635 +msgid "" +"**Bands to export** – e.g. ``class`` for a classified map, or " +"``mangrove_percent`` for a probability map;" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:636 +msgid "" +"**Scale** – spatial resolution in metres (e.g. 10 m for Sentinel-2 or " +"embeddings-based results); and" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:637 +msgid "**Destination:**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:639 +msgid "" +"**Google Earth Engine asset** – exports to the GEE asset folder; " +"recommended for further analysis or sharing;" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:640 +msgid "**Google Drive** – exports to Google Drive for local download; or" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:641 +msgid "" +"**SEPAL workspace** – exports to the SEPAL workspace; use if running " +"further analysis inside SEPAL." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:644 +msgid "13.2 Monitor export tasks" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:646 +msgid "" +"After selecting **Retrieve**, a spinning icon appears on the purple task " +"button. A green check mark indicates completion. Monitor tasks in the GEE" +" Code Editor under the **Tasks** tab." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:649 +msgid "13.3 Upload data to GEE" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:651 +msgid "" +"To use local raster or vector data in SEPAL (e.g. field plots, " +"administrative boundaries, existing maps):" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:653 +msgid "In the GEE Code Editor, go to the **Assets** tab and select **New**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:654 +msgid "Select the file type:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:656 +msgid "**GeoTIFF** for raster data;" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:657 +msgid "" +"**Shapefile** – upload ``.shp``, ``.shx``, ``.dbf``, and ``.prj`` files " +"together; or" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:658 +msgid "**CSV** for tabular data with geographic coordinates." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:660 +msgid "GEE handles reprojection automatically." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:661 +msgid "" +"Copy the asset ID and use it in any SEPAL **EE Asset** recipe or training" +" data input." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:664 +msgid "Summary: recommended input data stack" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:670 +msgid "Layer" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:671 +msgid "Asset/source" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:672 +msgid "Purpose" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:673 +msgid "Optical mosaic (Medoid)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:674 +msgid "Sentinel-2 (B2–B12 + indices)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:675 +msgid "Spectral features (if not using embeddings)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:676 +msgid "Radar mosaic" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:677 +msgid "Sentinel-1 (VV mean, VH mean, VH STD)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:678 +msgid "Structural features (if not using embeddings)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:679 +msgid "Google Satellite Embeddings" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:681 +msgid "AI-derived multi-sensor features (64 bands)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:682 +msgid "Global Mangrove Watch v3" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:684 +msgid "Reference mangrove mask" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:685 +msgid "ESA WorldCover v2" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:687 +msgid "Reference land cover (mangrove class = 95)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:688 +msgid "MERIT DEM" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:690 +msgid "Elevation constraint (< 40 m)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:691 +msgid "High-confidence reference map" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:692 +msgid "Remapping recipe output" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:693 +msgid "Training data source" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:694 +msgid "GEDI L4A" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:695 +msgid "GEE catalog" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:696 +#: ../../source/workflows/mangrove_mapping.rst:699 +msgid "Biomass regression training (optional)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:697 +msgid "Field AGB plots" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:698 +msgid "User-uploaded GEE table" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:700 +msgid "CCDC asset" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:701 +msgid "SEPAL CCDC Asset recipe" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:702 +msgid "Change detection" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:705 +msgid "Additional resources" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:711 +msgid "Resource" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:712 +msgid "Link" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:713 +msgid "SEPAL platform" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:714 +msgid "`sepal.io `__" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:715 +msgid "SEPAL documentation" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:716 +msgid "`docs.sepal.io `__" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:717 +msgid "SEPAL certified online course" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:718 +msgid "" +"`FAO SEPAL course `__" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:719 +msgid "FAO SEPAL brochure" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:720 +msgid "`fao.org/in-action/sepal `__" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:721 +msgid "Global Mangrove Watch v3.0" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:722 +msgid "" +"`JAXA GMW " +"`__" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:723 +msgid "ESA WorldCover" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:724 +msgid "`ESA WorldCover `__" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:725 +msgid "GEDI L4A AGB dataset" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:726 +msgid "" +"`GEDI L4A on GEE `__" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:727 +msgid "GEE Satellite Embeddings catalog" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:728 +msgid "" +"`GEE Data Catalog `__" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:729 +msgid "AlphaEarth Foundations" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:730 +msgid "" +"`Google DeepMind blog `__" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:731 +msgid "Contact" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:732 +msgid "sepal@fao.org" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:735 +msgid "References" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:737 +msgid "" +"Brown, C.F., Kazmierski, M.R., Pasquarella, V.J., et al. 2025. AlphaEarth" +" Foundations: An embedding field model for accurate and efficient global " +"mapping from sparse label data. *arXiv preprint* arXiv:2507.22291." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:739 +msgid "" +"Simard, M., Fatoyinbo, L., Smetanka, C., Rivera-Monroy, V.H., Castañeda-" +"Moya, E., Thomas, N. and Van der Stocken, T. 2019. Mangrove canopy height" +" globally related to precipitation, temperature and cyclone frequency. " +"*Nature Geoscience*, 12: 40–45." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:741 +msgid "" +"Zhu, Z. and Woodcock, C.E. 2014. Continuous change detection and " +"classification of land cover using all available Landsat data. *Remote " +"Sensing of Environment*, 144: 152–171." +msgstr "" + diff --git a/docs/source/_locale/it/LC_MESSAGES/workflows/proms.po b/docs/source/_locale/it/LC_MESSAGES/workflows/proms.po new file mode 100644 index 0000000000..1f092be217 --- /dev/null +++ b/docs/source/_locale/it/LC_MESSAGES/workflows/proms.po @@ -0,0 +1,456 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: it\n" +"Language-Team: it \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/workflows/proms.rst:2 +msgid "Probability Map Subtraction (PROMS)" +msgstr "" + +#: ../../source/workflows/proms.rst:5 +msgid "Overview" +msgstr "" + +#: ../../source/workflows/proms.rst:7 +msgid "" +"This tutorial provides a step-by-step guide to estimate forest change " +"areas between two dates using an improved area estimation technique. The " +"method leverages a statistically optimized stratification of forest and " +"forest change areas using continuous probability layers and sample " +"allocation." +msgstr "" + +#: ../../source/workflows/proms.rst:17 +msgid "In lighter green optional data and steps." +msgstr "" + +#: ../../source/workflows/proms.rst:21 +msgid "Workflow Steps" +msgstr "" + +#: ../../source/workflows/proms.rst:24 +msgid "Input Data Collection for Time 1 and Time 2" +msgstr "" + +#: ../../source/workflows/proms.rst:25 +msgid "" +"Training data on Stable Forest and Stable Non-Forest between Time 1 And " +"Time 2" +msgstr "" + +#: ../../source/workflows/proms.rst:26 +msgid "Forest Probability Classification at Time 1 and Time 2" +msgstr "" + +#: ../../source/workflows/proms.rst:27 +msgid "Forest Change Probability Calculation" +msgstr "" + +#: ../../source/workflows/proms.rst:28 +msgid "Inclusive Forest Mask Application (Optional)" +msgstr "" + +#: ../../source/workflows/proms.rst:29 +msgid "Stratification" +msgstr "" + +#: ../../source/workflows/proms.rst:30 +msgid "Sample Allocation" +msgstr "" + +#: ../../source/workflows/proms.rst:31 +msgid "Sample Interpretation and analysis" +msgstr "" + +#: ../../source/workflows/proms.rst:35 +msgid "Summary Approach" +msgstr "" + +#: ../../source/workflows/proms.rst:37 +msgid "" +"In this tutorial, we will demonstrate the methodology applied to the " +"region of Alto Paraguay, aiming to estimate the forest change area " +"between the years 2018 (Time 1) and 2020 (Time 2)." +msgstr "" + +#: ../../source/workflows/proms.rst:40 +msgid "Step 1: Input Data" +msgstr "" + +#: ../../source/workflows/proms.rst:42 +msgid "" +"The first step is to select the input imagery for classification. A " +"minimum of one type of data source is required; however, for optimal " +"classification results, a combination of sensors is recommended. The " +"selection depends on data availability and quality for your study area. " +"To capture changes occurring between Time 1 and Time 2, it is recommended" +" to create annual composites for one year before and one year after each " +"respective time point. This approach includes all possible changes that " +"occurred during Time 1 and Time 2." +msgstr "" + +#: ../../source/workflows/proms.rst:45 +msgid "SEPAL Tools for Image Combination:" +msgstr "" + +#: ../../source/workflows/proms.rst:47 +msgid "" +"SEPAL offers several tools to combine images from several sensors into " +"single raster:" +msgstr "" + +#: ../../source/workflows/proms.rst:49 +msgid "" +"**Optical Mosaics**: For creating optical mosaics, refer to the `Optical " +"Mosaics tool " +"`__." +msgstr "" + +#: ../../source/workflows/proms.rst:50 +msgid "" +"**Radar Mosaics**: For creating radar mosaics, use the `Radar Mosaics " +"tool `__." +msgstr "" + +#: ../../source/workflows/proms.rst:51 +msgid "" +"**Planet Mosaic**: For creating optical mosaics with high-resolution " +"imagery, see the `Planet Mosaic tool " +"`__." +msgstr "" + +#: ../../source/workflows/proms.rst:53 +msgid "" +"For areas with seasonal vegetation variations (e.g., dry forests), " +"consider using Continuous Change Detection and Classification (CCDC). " +"Refer to `CCDC Asset Creation " +"`__ for" +" more information." +msgstr "" + +#: ../../source/workflows/proms.rst:56 +msgid "Case Study Data Preparation:" +msgstr "" + +#: ../../source/workflows/proms.rst:58 +msgid "In our case study, we created:" +msgstr "" + +#: ../../source/workflows/proms.rst:60 +msgid "Planet Mosaics, Sentinel-1 Time Scans, Sentinel-2 Mosaics in SEPAL." +msgstr "" + +#: ../../source/workflows/proms.rst:61 +msgid "" +"ALOS-2 Time Scans in Google Earth Engine (`Link to Script " +"`__)" +msgstr "" + +#: ../../source/workflows/proms.rst:63 +msgid "" +"These datasets were prepared for both years 2017 and 2021 (one year " +"before and one year after Time 1 and Time 2, respectively)." +msgstr "" + +#: ../../source/workflows/proms.rst:71 +msgid "Step 2: Training Data" +msgstr "" + +#: ../../source/workflows/proms.rst:73 +msgid "" +"Create training data on the presence and absence of forest for your " +"period of interest. Depending on availability, training data can be " +"sourced from:" +msgstr "" + +#: ../../source/workflows/proms.rst:75 +msgid "**Existing Maps**: Extract samples from global or regional forest maps." +msgstr "" + +#: ../../source/workflows/proms.rst:76 +msgid "**Field Data**: Use ground-truth data collected from field surveys." +msgstr "" + +#: ../../source/workflows/proms.rst:77 +msgid "**Other Sources**: Extract samples from datasets like GEDI or GLANCE." +msgstr "" + +#: ../../source/workflows/proms.rst:80 +msgid "Step 3: Forest Probability Classification" +msgstr "" + +#: ../../source/workflows/proms.rst:82 +msgid "" +"Obtain forest probability maps for Time 1 and Time 2 through supervised " +"classification of your input data, using training data on forest and non-" +"forest classes. It is preferable to use stable samples from the period " +"between Time 1 and Time 2." +msgstr "" + +#: ../../source/workflows/proms.rst:85 +msgid "Using SEPAL's Classification Tool:" +msgstr "" + +#: ../../source/workflows/proms.rst:87 +msgid "" +"SEPAL offers a user-friendly `Classification tool " +"`__ for " +"building supervised classifications." +msgstr "" + +#: ../../source/workflows/proms.rst:90 ../../source/workflows/proms.rst:215 +#: ../../source/workflows/proms.rst:256 +msgid "Case Study Implementation:" +msgstr "" + +#: ../../source/workflows/proms.rst:92 +msgid "" +"Auxiliary Data: Added terrain data from the `MERIT Digital Elevation " +"Model `__ to the " +"mosaic stack for both years. Classifier: Used a Random Forest Classifier " +"in probability output mode. Output: Generated forest probability maps for" +" 2017 and 2021." +msgstr "" + +#: ../../source/workflows/proms.rst:96 +msgid "" +"If the number of samples that changed class between Time 1 and Time 2 is " +"small relative to the total number, it won’t significantly affect Random " +"Forest results due to its multiple decision trees and bootstrapping " +"method." +msgstr "" + +#: ../../source/workflows/proms.rst:103 +msgid "Step 4: Forest Change Probability Calculation" +msgstr "" + +#: ../../source/workflows/proms.rst:105 +msgid "" +"Calculate the forest change probability map by finding the difference " +"between the forest probability maps of Time 1 and Time 2." +msgstr "" + +#: ../../source/workflows/proms.rst:108 +msgid "Using SEPAL's Band Math Tool:" +msgstr "" + +#: ../../source/workflows/proms.rst:110 +msgid "" +"The `Band Math tool " +"`__ allows for " +"mathematical operations on images from SEPAL or Google Earth Engine." +msgstr "" + +#: ../../source/workflows/proms.rst:113 +msgid "Case Study Calculation:" +msgstr "" + +#: ../../source/workflows/proms.rst:115 +msgid "" +"Operation: Subtracted the forest probability band (probability_1) of the " +"2021 image from the 2017 image as an absolute value." +msgstr "" + +#: ../../source/workflows/proms.rst:116 +msgid "" +"Result: High values indicate a high probability of forest change, both " +"possible ‘forest losses’ and ‘forest gains’; low values indicate " +"stability." +msgstr "" + +#: ../../source/workflows/proms.rst:124 +msgid "For Multiple Monitoring Dates:" +msgstr "" + +#: ../../source/workflows/proms.rst:126 +msgid "" +"When intermediate dates are available, calculate the maximum forest " +"change probability:" +msgstr "" + +#: ../../source/workflows/proms.rst:140 +#, python-brace-format +msgid "" +"\\text{Max Change Probability} = \\max(\\text{probabilities over all " +"dates}) - \\min(\\text{probabilities over all dates})\n" +"\n" +msgstr "" + +#: ../../source/workflows/proms.rst:147 +msgid "With only two dates:" +msgstr "" + +#: ../../source/workflows/proms.rst:149 +#, python-brace-format +msgid "" +"\\text{Change Probability} = |\\text{Probability at Time 1} - " +"\\text{Probability at Time 2}|\n" +"\n" +msgstr "" + +#: ../../source/workflows/proms.rst:157 +msgid "Step 5: Inclusive Forest Mask Application (optional)" +msgstr "" + +#: ../../source/workflows/proms.rst:159 +msgid "" +"Apply a ‘forest mask’ to exclude areas with very low forest probability, " +"focusing the stratification on relevant areas." +msgstr "" + +#: ../../source/workflows/proms.rst:163 +msgid "" +"This mask should not be regarded as a commonly used forest mask but " +"rather as a highly conservative one, designed to include all areas where " +"forest could potentially exist at both Time 1 and Time 2, while excluding" +" areas where forest is definitively absent, such as deserts, croplands, " +"or built-up areas, especially when these categories constitute a " +"significant portion of the total area)." +msgstr "" + +#: ../../source/workflows/proms.rst:166 +msgid "Using SEPAL’s Band Math Tool:" +msgstr "" + +#: ../../source/workflows/proms.rst:168 +msgid "" +"Calculate Maximum Forest Probability: Use the Band Math tool to find the " +"maximum probability across all dates (Time 1 and Time 2 in the case " +"study)." +msgstr "" + +#: ../../source/workflows/proms.rst:172 +msgid "Using SEPAL’s Remapping Tool:" +msgstr "" + +#: ../../source/workflows/proms.rst:174 +msgid "" +"Remap Values: With the Remapping tool, classify areas as 'forest' where " +"the maximum forest probability exceeds a specified threshold, and mask " +"out areas that fall below this threshold." +msgstr "" + +#: ../../source/workflows/proms.rst:182 +msgid "Case study implementation:" +msgstr "" + +#: ../../source/workflows/proms.rst:184 +msgid "" +"In our case study we used a 10% maximum forest probability threshold that" +" masked out cropland areas." +msgstr "" + +#: ../../source/workflows/proms.rst:188 +msgid "Using SEPAL’s Masking Tool:" +msgstr "" + +#: ../../source/workflows/proms.rst:190 +msgid "" +"Apply Mask: Use the Masking tool to apply the ‘forest mask’ to the forest" +" change probability layer." +msgstr "" + +#: ../../source/workflows/proms.rst:200 +msgid "Step 6: Stratification" +msgstr "" + +#: ../../source/workflows/proms.rst:203 +msgid "" +"Convert the continuous forest change probability map into a categorical " +"map using the SEPAL's `Unsupervised Classification tool " +"`__" +" tool to create a stratification layer." +msgstr "" + +#: ../../source/workflows/proms.rst:207 +msgid "Using SEPAL’s Unsupervised Classification tool" +msgstr "" + +#: ../../source/workflows/proms.rst:210 +msgid "" +"**Sampling**: Number of Samples: Use a high number (e.g., 100,000) for " +"better representation, especially when areas with high forest change " +"probability are small. Sampling Scale: Consider the forest definition " +"(e.g., 70 meters aligning with a 0.5-hectare MMU)." +msgstr "" + +#: ../../source/workflows/proms.rst:211 +msgid "" +"**Clusterer**: Algorithm: Use the k-means algorithm. Number of Clusters: " +"Five classes are recommended (Kozak, 2011)." +msgstr "" + +#: ../../source/workflows/proms.rst:217 +msgid "" +"Samples: 100,000 samples to train the clusterer. Sampling Scale: 70 " +"meters." +msgstr "" + +#: ../../source/workflows/proms.rst:225 +msgid "Apply to Forest Areas Only:" +msgstr "" + +#: ../../source/workflows/proms.rst:227 +msgid "" +"The stratification could be applied exclusively to areas where forest " +"could potentially exist during the period of interest (both stable and " +"changing) using the masked forest change probability map as input image." +msgstr "" + +#: ../../source/workflows/proms.rst:235 +msgid "Step 7: Sample allocation" +msgstr "" + +#: ../../source/workflows/proms.rst:237 +msgid "" +"Select the sample points for interpretation on the stratification layer " +"using Neyman's method. The samples are optimally distributed according to" +" the variability and area of each stratum:" +msgstr "" + +#: ../../source/workflows/proms.rst:239 +msgid "" +":math:`n_h = \\left( \\frac{\\text{sd} \\cdot \\text{área del " +"estrato}}{\\sum (\\text{sd} \\cdot \\text{área})} \\right) \\cdot " +"\\text{targetSampleSize}`" +msgstr "" + +#: ../../source/workflows/proms.rst:242 +msgid "Using Google Earth Engine" +msgstr "" + +#: ../../source/workflows/proms.rst:244 +msgid "" +"The sample allocation can be applied either to the unmasked " +"stratification layer (as shown in the image above) or to the masked " +"stratification layer (as depicted in the image below)." +msgstr "" + +#: ../../source/workflows/proms.rst:258 +msgid "Total number of samples to select: 3000. Spatial resolution: 70m." +msgstr "" + +#: ../../source/workflows/proms.rst:261 +msgid "Step 8: Sample interpretation and analysis" +msgstr "" + +#: ../../source/workflows/proms.rst:263 +msgid "Estimate the forest change area." +msgstr "" + diff --git a/docs/source/_locale/pt/LC_MESSAGES/cli/env_management.po b/docs/source/_locale/pt/LC_MESSAGES/cli/env_management.po new file mode 100644 index 0000000000..0b4f900305 --- /dev/null +++ b/docs/source/_locale/pt/LC_MESSAGES/cli/env_management.po @@ -0,0 +1,337 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: pt\n" +"Language-Team: pt \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/cli/env_management.rst:4 +msgid "Python environment management" +msgstr "" + +#: ../../source/cli/env_management.rst:6 +msgid "" +"SEPAL provides two tools for managing Python environments: :guilabel:`uv`" +" and :guilabel:`micromamba`. Both are already installed and both are " +"better choices than the built-in :guilabel:`venv` for work on SEPAL." +msgstr "" + +#: ../../source/cli/env_management.rst:8 +msgid "" +"The core problem with :guilabel:`venv` on a shared platform is that it " +"creates environments tightly coupled to the system Python. When SEPAL " +"upgrades Python — as happened with the Ubuntu Noble upgrade from 3.10 to " +"3.12 — every venv breaks. The tools described on this page do not have " +"this problem." +msgstr "" + +#: ../../source/cli/env_management.rst:12 +msgid "" +"Do not use :guilabel:`venv` for new work on SEPAL. Use :guilabel:`uv` or " +":guilabel:`micromamba` instead." +msgstr "" + +#: ../../source/cli/env_management.rst:17 +msgid "Which tool should I use?" +msgstr "" + +#: ../../source/cli/env_management.rst:19 +msgid "The right choice depends on what your project needs." +msgstr "" + +#: ../../source/cli/env_management.rst:25 +msgid "Your stack includes..." +msgstr "" + +#: ../../source/cli/env_management.rst:26 +msgid "Use" +msgstr "" + +#: ../../source/cli/env_management.rst:27 +msgid "Why" +msgstr "" + +#: ../../source/cli/env_management.rst:28 +msgid "Web frameworks, APIs, pure Python tools" +msgstr "" + +#: ../../source/cli/env_management.rst:29 +#: ../../source/cli/env_management.rst:32 +msgid ":guilabel:`uv`" +msgstr "" + +#: ../../source/cli/env_management.rst:30 +msgid "Fast, lightweight, no overhead" +msgstr "" + +#: ../../source/cli/env_management.rst:31 +msgid "Data science: pandas, scikit-learn, statsmodels" +msgstr "" + +#: ../../source/cli/env_management.rst:33 +msgid "Good PyPI wheel coverage for Python 3.12" +msgstr "" + +#: ../../source/cli/env_management.rst:34 +msgid "Geospatial: GDAL, rasterio, fiona, GEOS" +msgstr "" + +#: ../../source/cli/env_management.rst:35 +#: ../../source/cli/env_management.rst:38 +msgid ":guilabel:`micromamba`" +msgstr "" + +#: ../../source/cli/env_management.rst:36 +msgid "Bundles native libraries inside the environment" +msgstr "" + +#: ../../source/cli/env_management.rst:37 +msgid "GPU / ML: CUDA, cuDNN, PyTorch with CUDA" +msgstr "" + +#: ../../source/cli/env_management.rst:39 +msgid "Pins CUDA runtime inside the environment" +msgstr "" + +#: ../../source/cli/env_management.rst:40 +msgid "Mixed: some native libraries, some pure Python" +msgstr "" + +#: ../../source/cli/env_management.rst:41 +msgid ":guilabel:`micromamba` + pip" +msgstr "" + +#: ../../source/cli/env_management.rst:42 +msgid "micromamba for native libraries, pip for the rest" +msgstr "" + +#: ../../source/cli/env_management.rst:46 +msgid "" +":guilabel:`uv` environments can still break if SEPAL upgrades a system-" +"level native library such as GDAL or CUDA. This is because :guilabel:`uv`" +" installs Python packages from PyPI but cannot bundle the underlying " +"``.so`` files they depend on. If your project uses geospatial or GPU " +"packages, use :guilabel:`micromamba`." +msgstr "" + +#: ../../source/cli/env_management.rst:51 +msgid "uv" +msgstr "" + +#: ../../source/cli/env_management.rst:53 +msgid "" +":guilabel:`uv` is a fast, modern Python and package manager. It manages " +"its own Python versions independently of the system, so a system Python " +"upgrade will not affect your environments." +msgstr "" + +#: ../../source/cli/env_management.rst:56 +msgid "Why use uv" +msgstr "" + +#: ../../source/cli/env_management.rst:58 +msgid "" +"**Survives system Python upgrades.** uv pins the Python version inside " +"the project. If you create an environment with Python 3.12.2, it stays on" +" 3.12.2 regardless of what the system does." +msgstr "" + +#: ../../source/cli/env_management.rst:59 +msgid "" +"**Much faster than pip and venv.** Dependency resolution and installation" +" are typically 10–100× faster due to parallel downloads and a compiled " +"resolver." +msgstr "" + +#: ../../source/cli/env_management.rst:60 +msgid "" +"**Lockfiles for reproducibility.** ``uv lock`` generates a precise, " +"cross-platform lockfile — more reliable than ``pip freeze`` for sharing " +"environments with colleagues." +msgstr "" + +#: ../../source/cli/env_management.rst:61 +msgid "" +"**Drop-in pip compatibility.** ``uv pip install`` works exactly like " +"``pip install``. Any package on PyPI works with uv. No new formats to " +"learn." +msgstr "" + +#: ../../source/cli/env_management.rst:62 +msgid "" +"**Works with standard project files.** Reads ``pyproject.toml`` and " +"``requirements.txt`` natively." +msgstr "" + +#: ../../source/cli/env_management.rst:63 +msgid "" +"**Manages multiple Python versions.** ``uv python install 3.10`` lets you" +" run any Python version without touching the system." +msgstr "" + +#: ../../source/cli/env_management.rst:64 +msgid "" +"**Single lightweight binary.** No base environment, no shell hooks, no " +"overhead." +msgstr "" + +#: ../../source/cli/env_management.rst:67 +msgid "Creating a uv project (recommended)" +msgstr "" + +#: ../../source/cli/env_management.rst:69 +msgid "" +"``uv init`` creates a project with a ``pyproject.toml`` and a lockfile, " +"giving you reproducible installs and clean dependency tracking:" +msgstr "" + +#: ../../source/cli/env_management.rst:83 +msgid "" +"uv automatically creates a ``.venv`` inside the project directory, " +"generates a ``uv.lock`` lockfile, and tracks all dependencies in " +"``pyproject.toml``. You do not need to activate anything — ``uv run`` " +"handles it." +msgstr "" + +#: ../../source/cli/env_management.rst:85 +msgid "To reproduce the environment elsewhere (or after a fresh clone):" +msgstr "" + +#: ../../source/cli/env_management.rst:92 +msgid "Creating a standalone uv environment" +msgstr "" + +#: ../../source/cli/env_management.rst:94 +msgid "" +"If you do not need a full project structure — for example, when working " +"with an existing ``requirements.txt`` — you can create a standalone " +"environment:" +msgstr "" + +#: ../../source/cli/env_management.rst:111 +#: ../../source/cli/env_management.rst:208 +msgid "Adding a Jupyter kernel" +msgstr "" + +#: ../../source/cli/env_management.rst:113 +msgid "Register your environment as a named kernel so it appears in JupyterLab:" +msgstr "" + +#: ../../source/cli/env_management.rst:115 +msgid "**For uv projects:**" +msgstr "" + +#: ../../source/cli/env_management.rst:123 +msgid "**For standalone uv environments:**" +msgstr "" + +#: ../../source/cli/env_management.rst:131 +msgid "Verify it appears:" +msgstr "" + +#: ../../source/cli/env_management.rst:137 +#: ../../source/cli/env_management.rst:224 +msgid "To remove a kernel:" +msgstr "" + +#: ../../source/cli/env_management.rst:146 +msgid "micromamba" +msgstr "" + +#: ../../source/cli/env_management.rst:148 +msgid "" +":guilabel:`micromamba` works like conda (if you have used conda before, " +"you already know how to use micromamba). Unlike :guilabel:`uv`, it " +"bundles native system libraries — GDAL, CUDA, HDF5, and others — inside " +"the environment itself, completely isolated from the system. This makes " +"it the right choice for geospatial and GPU workloads." +msgstr "" + +#: ../../source/cli/env_management.rst:151 +msgid "Why use micromamba" +msgstr "" + +#: ../../source/cli/env_management.rst:153 +msgid "" +"**Complete isolation including native libraries.** GDAL, CUDA, HDF5, " +"GEOS, and other system libraries are installed inside the environment. " +"Upgrading system libraries on SEPAL will not break your environment." +msgstr "" + +#: ../../source/cli/env_management.rst:154 +msgid "" +"**conda-forge provides excellent binary coverage.** conda-forge provides " +"pre-compiled, compatible builds of complex packages across all platforms " +"— often better than what is available on PyPI." +msgstr "" + +#: ../../source/cli/env_management.rst:155 +msgid "" +"**Environment files capture the full stack.** ``environment.yml`` files " +"describe both Python packages and native libraries in one place, making " +"environments fully reproducible by colleagues." +msgstr "" + +#: ../../source/cli/env_management.rst:156 +msgid "" +"**Pins native library versions.** You can pin ``cudatoolkit=11.8`` or " +"``gdal=3.6`` and those exact versions live inside the environment, " +"regardless of what is installed system-wide." +msgstr "" + +#: ../../source/cli/env_management.rst:157 +msgid "" +"**Faster than conda.** Written in C++, micromamba solves and installs " +"dependencies significantly faster than the original conda tool." +msgstr "" + +#: ../../source/cli/env_management.rst:158 +msgid "" +"**No base environment.** micromamba has no base environment that needs " +"updating — cleaner and lighter on disk." +msgstr "" + +#: ../../source/cli/env_management.rst:161 +msgid "Creating a micromamba environment" +msgstr "" + +#: ../../source/cli/env_management.rst:178 +msgid "Using an environment.yml file (recommended)" +msgstr "" + +#: ../../source/cli/env_management.rst:180 +msgid "" +"An ``environment.yml`` file captures the full environment — Python " +"version, native libraries, and Python packages — in one place:" +msgstr "" + +#: ../../source/cli/env_management.rst:197 +msgid "Create or update an environment from the file:" +msgstr "" + +#: ../../source/cli/env_management.rst:233 +msgid "Recovering a broken venv" +msgstr "" + +#: ../../source/cli/env_management.rst:235 +msgid "" +"If you have an existing venv that broke due to the Python upgrade, see " +":ref:`fix_venvs` for step-by-step recovery instructions, including a " +"script to extract your requirements without activating the broken " +"environment." +msgstr "" + diff --git a/docs/source/_locale/pt/LC_MESSAGES/cli/index.po b/docs/source/_locale/pt/LC_MESSAGES/cli/index.po index 17549f8505..e9fec9cb3c 100644 --- a/docs/source/_locale/pt/LC_MESSAGES/cli/index.po +++ b/docs/source/_locale/pt/LC_MESSAGES/cli/index.po @@ -1,22 +1,54 @@ + msgid "" msgstr "" -"Project-Id-Version: sepal-doc\n" +"Project-Id-Version: sepal-doc\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-03-07 09:39+0100\n" -"PO-Revision-Date: 2024-03-07 08:58\n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: 2024-03-07 08:58+0000\n" "Last-Translator: \n" +"Language: pt_PT\n" "Language-Team: Portuguese\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.14.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Crowdin-Project: sepal-doc\n" -"X-Crowdin-Project-ID: 562097\n" -"X-Crowdin-Language: pt-PT\n" -"X-Crowdin-File: /main/docs/source/_locale/en/LC_MESSAGES/cli/index.po\n" -"X-Crowdin-File-ID: 49\n" -"Language: pt_PT\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/cli/index.rst:10 +msgid "GDAL — Geospatial Data Abstraction Library" +msgstr "" + +#: ../../source/cli/index.rst:10 +msgid "Google Drive" +msgstr "" + +#: ../../source/cli/index.rst:10 +msgid "Google Earth Engine" +msgstr "" + +#: ../../source/cli/index.rst:10 +msgid "GuidosToolbox Workbench" +msgstr "" + +#: ../../source/cli/index.rst:10 +msgid "Open Foris Geospatial Toolkit" +msgstr "" + +#: ../../source/cli/index.rst:10 +msgid "Orfeo ToolBox" +msgstr "" + +#: ../../source/cli/index.rst:10 +msgid "Python" +msgstr "" + +#: ../../source/cli/index.rst:10 +msgid "R" +msgstr "" + +#: ../../source/cli/index.rst:10 +msgid "Python environment management" +msgstr "" #: ../../source/cli/index.rst:2 msgid "CLI" @@ -31,51 +63,72 @@ msgid "CLI tools" msgstr "" #: ../../source/cli/index.rst:8 -msgid "To help resolve specific problems, the SEPAL platform includes a variety of useful command-line interface (CLI) utilities, including:" +msgid "" +"To help resolve specific problems, the SEPAL platform includes a variety " +"of useful command-line interface (CLI) utilities, including:" msgstr "" -#: ../../source/cli/index.rst:22 -msgid "These tools can be called directly from the terminal or via any programming language sending commands to the kernel, including R and Python (installed by default on any SEPAL account)." +#: ../../source/cli/index.rst:23 +msgid "" +"These tools can be called directly from the terminal or via any " +"programming language sending commands to the kernel, including R and " +"Python (installed by default on any SEPAL account)." msgstr "" -#: ../../source/cli/index.rst:29 +#: ../../source/cli/index.rst:30 msgid "The code executed previously on an existing :code:`example.tif` file:" msgstr "" -#: ../../source/cli/index.rst:37 -msgid "If you're running actions from multiple directories or instances, you can open multiple **Terminal** tabs and name them as you see fit." +#: ../../source/cli/index.rst:38 +msgid "" +"If you're running actions from multiple directories or instances, you can" +" open multiple **Terminal** tabs and name them as you see fit." msgstr "" -#: ../../source/cli/index.rst:41 -msgid "If the code you want to execute is taking time, consider running it in the background using :code:`nohup`:" +#: ../../source/cli/index.rst:42 +msgid "" +"If the code you want to execute is taking time, consider running it in " +"the background using :code:`nohup`:" msgstr "" -#: ../../source/cli/index.rst:47 -msgid "All console outputs will be redirected to a :code:`nohup.out` in your home directory, but the execution will be running in the background. You will be able to safely close the terminal or even the browser window without interrupting the process (for more information about :code:`nohup`, see `this article `__)." +#: ../../source/cli/index.rst:48 +msgid "" +"All console outputs will be redirected to a :code:`nohup.out` in your " +"home directory, but the execution will be running in the background. You " +"will be able to safely close the terminal or even the browser window " +"without interrupting the process (for more information about " +":code:`nohup`, see `this article " +"`__)." msgstr "" -#: ../../source/cli/index.rst:50 +#: ../../source/cli/index.rst:51 msgid "Coding tools" msgstr "" -#: ../../source/cli/index.rst:52 -msgid "In the **Apps** section, there are three coding tools at the top of the list:" +#: ../../source/cli/index.rst:53 +msgid "" +"In the **Apps** section, there are three coding tools at the top of the " +"list:" msgstr "" -#: ../../source/cli/index.rst:54 +#: ../../source/cli/index.rst:55 msgid "JupyterLab" msgstr "" -#: ../../source/cli/index.rst:55 +#: ../../source/cli/index.rst:56 msgid "Jupyter Notebook" msgstr "" -#: ../../source/cli/index.rst:56 +#: ../../source/cli/index.rst:57 msgid "RStudio" msgstr "" -#: ../../source/cli/index.rst:61 -msgid "They will allow the user to code wokflows in any of the available languages using the corresponding environment in SEPAL. These environments are fully customizable (view the :code:`Python` or :code:`R` section to know more)." +#: ../../source/cli/index.rst:62 +msgid "" +"They will allow the user to code wokflows in any of the available " +"languages using the corresponding environment in SEPAL. These " +"environments are fully customizable (view the :code:`Python` or :code:`R`" +" section to know more)." msgstr "" #~ msgid "" diff --git a/docs/source/_locale/pt/LC_MESSAGES/cookbook/band_math.po b/docs/source/_locale/pt/LC_MESSAGES/cookbook/band_math.po new file mode 100644 index 0000000000..b134ea3131 --- /dev/null +++ b/docs/source/_locale/pt/LC_MESSAGES/cookbook/band_math.po @@ -0,0 +1,233 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: pt\n" +"Language-Team: pt \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/cookbook/band_math.rst:2 +msgid "Band Math" +msgstr "" + +#: ../../source/cookbook/band_math.rst:4 +msgid "" +"The **Band Math** recipe in SEPAL allows you to derive new raster layers " +"from existing ones by evaluating mathematical expressions. You can " +"combine, scale or subtract spectral bands, build indices or apply logical" +" masks. This guide walks through the Band Math workflow from start to " +"finish and uses a vegetation index as an example. The same steps apply " +"whether you are creating a simple ratio or a complex index." +msgstr "" + +#: ../../source/cookbook/band_math.rst:7 +msgid "Getting started" +msgstr "" + +#: ../../source/cookbook/band_math.rst:9 +msgid "Open `sepal.io `_ in your web browser and sign in." +msgstr "" + +#: ../../source/cookbook/band_math.rst:10 +msgid "" +"Go to the **Process** page where SEPAL lists your recipes. If you have " +"not created any recipes yet this list will be empty." +msgstr "" + +#: ../../source/cookbook/band_math.rst:13 +msgid "Creating a Band Math recipe" +msgstr "" + +#: ../../source/cookbook/band_math.rst:15 +msgid "" +"Click :btn:` Add recipe` in the recipe list and choose " +"**Band Math**. SEPAL opens a new tab for your recipe. On the right‑hand " +"side you will see three vertically stacked tabs labelled :guilabel:`IMG`," +" :guilabel:`CAL` and :guilabel:`OUT` corresponding to *Input imagery*, " +"*Calculations* and *Outputs*." +msgstr "" + +#: ../../source/cookbook/band_math.rst:27 +msgid "" +"Select the :guilabel:`IMG` button. Click :btn:` Add` " +"and then **Earth Engine Asset**. An entry form appears where you can " +"provide a Google Earth Engine image. Paste a valid asset ID into the " +"**Earth Engine asset ID** field (for example the Landsat 8 Level‑2 scene " +"``LANDSAT/LC08/C02/T1_L2/LC08_232064_20200119``). Leave the **Image " +"name** as the default (``i1``) unless you intend to add multiple images. " +"Use the tick icon to validate the ID; if the field turns red the asset is" +" not available. Once it loads successfully you will see a section " +"labelled **CONTINUOUS** listing the available bands." +msgstr "" + +#: ../../source/cookbook/band_math.rst:34 +msgid "" +"Specify which bands you need. Click the green :btn:` " +"Add` button to insert a row, select the band name from the drop‑down list" +" and leave the :guilabel:`TYPE` as **CONTINUOUS**. Repeat this step for " +"every band referenced in your expression. For a vegetation index select " +"the red band ``SR_B4`` and the near‑infrared band ``SR_B5``. When you " +"have added all your bands, click :btn:` Apply` to " +"confirm. The :guilabel:`IMG` tab now lists your Earth Engine asset and " +"the chosen name." +msgstr "" + +#: ../../source/cookbook/band_math.rst:42 +msgid "Defining a calculation" +msgstr "" + +#: ../../source/cookbook/band_math.rst:44 +msgid "" +"Switch to the :guilabel:`CAL` tab and click :btn:` " +"Add`. A dialog appears offering two paths: **Function** and " +"**Expression**. Choose **Function** when you want to compute built‑in " +"statistics (sum, mean, min, max, product) on your bands. Choose " +"**Expression** when you need to write a custom formula. For indices you " +"will almost always select **Expression**." +msgstr "" + +#: ../../source/cookbook/band_math.rst:51 +msgid "" +"In the expression editor type your formula. Refer to each band using its " +"image name and band name, for example ``i1.SR_B5`` for the near‑infrared " +"band of the first image. Parentheses control the order of operations. To " +"compute a vegetation index you can use:" +msgstr "" + +#: ../../source/cookbook/band_math.rst:57 +msgid "" +"You could just as easily substitute other bands or constants, for example" +" the Normalised Difference Water Index (NDWI) ``(i1.SR_B3 - i1.SR_B5) / " +"(i1.SR_B3 + i1.SR_B5)`` or a simple ratio like ``i1.SR_B5 / i1.SR_B4``." +msgstr "" + +#: ../../source/cookbook/band_math.rst:59 +msgid "" +"Enter a short Band name beneath the editor. This will be the label of the" +" resulting layer – for example ``ndvi`` for a vegetation index." +msgstr "" + +#: ../../source/cookbook/band_math.rst:66 +msgid "" +"Click :btn:` Apply`. Your calculation appears in the " +"list with an identifier such as ``c1``. You can add additional " +"calculations by repeating this process; each one becomes a separate " +"output band." +msgstr "" + +#: ../../source/cookbook/band_math.rst:74 +msgid "Managing outputs and naming" +msgstr "" + +#: ../../source/cookbook/band_math.rst:76 +msgid "" +"The :guilabel:`OUT` tab displays the bands produced by your expressions. " +"Check that the band names are correct. You can delete or add them using " +"the icons on the right of each row. Above the map the recipe tab uses a " +"default timestamp; rename it by double‑clicking the label, entering a " +"descriptive name (for example ``Amazon_BandMath``) and pressing " +"**Enter**. When everything looks correct close the :guilabel:`OUT` tab." +msgstr "" + +#: ../../source/cookbook/band_math.rst:84 +msgid "Visualising the results" +msgstr "" + +#: ../../source/cookbook/band_math.rst:86 +msgid "" +"By default your calculation is not drawn on the map. To create a " +"visualisation:" +msgstr "" + +#: ../../source/cookbook/band_math.rst:88 +msgid "" +"Locate the small :btn:`` icon near the bottom centre of" +" the map and click it. This opens the **This recipe** panel. If your " +"derived bands appear here they are ready for visualisation; if not, click" +" the :btn:`` button in that panel to create one." +msgstr "" + +#: ../../source/cookbook/band_math.rst:95 +msgid "" +"A **Visualisation** dialog opens. Choose the band you want to display " +"from the **Band** drop‑down (for example ``ndvi``). Set **Min** and " +"**Max** values to define the stretch – for indices spanning –1 to 1, " +"values such as –0.2 and 0.8 often provide good contrast." +msgstr "" + +#: ../../source/cookbook/band_math.rst:97 +msgid "" +"Select a colour palette. You can load a preset palette from the drop‑down" +" or define your own. To enter custom colours click the :guilabel:`HEX` " +"button; a text box appears containing a comma‑separated list of colour " +"codes. Replace it with your own codes (e.g. ``#ffffcc, #c2e699, #78c679, " +"#31a354, #006837`` for a light‑to‑dark green gradient). Multiple colours " +"create a smooth ramp." +msgstr "" + +#: ../../source/cookbook/band_math.rst:104 +msgid "" +"Click :btn:` Apply`. SEPAL renders the band using your" +" settings and adds a legend bar at the bottom of the map. If the map " +"stays blank for more than a few seconds, ensure you added the correct " +"bands and that the area of interest is not outside the footprint of your " +"image." +msgstr "" + +#: ../../source/cookbook/band_math.rst:113 +msgid "What else can you do with Band Math?" +msgstr "" + +#: ../../source/cookbook/band_math.rst:115 +msgid "" +"Band Math is a general‑purpose calculator for raster bands. Beyond " +"vegetation indices you can:" +msgstr "" + +#: ../../source/cookbook/band_math.rst:117 +msgid "" +"Highlight water bodies by computing the Normalised Difference Water Index" +" (NDWI): ``(i1.SR_B3 - i1.SR_B5) / (i1.SR_B3 + i1.SR_B5)``." +msgstr "" + +#: ../../source/cookbook/band_math.rst:118 +msgid "" +"Assess burn severity with the Normalised Burn Ratio (NBR) using " +"near‑infrared and short‑wave infrared bands: ``(i1.SR_B5 - i1.SR_B7) / " +"(i1.SR_B5 + i1.SR_B7)``." +msgstr "" + +#: ../../source/cookbook/band_math.rst:119 +msgid "" +"Perform arithmetic between bands (for example ``i1.SR_B5 - i1.SR_B4``), " +"multiply by constants to convert digital numbers to reflectance or add " +"bands to create composites." +msgstr "" + +#: ../../source/cookbook/band_math.rst:120 +msgid "" +"Create masks based on conditions – for instance ``i1.SR_B5 > 0.3`` to " +"select highly vegetated pixels – and combine them with logical operators " +"(`and`, `or`)." +msgstr "" + +#: ../../source/cookbook/band_math.rst:122 +msgid "" +"Every expression you add becomes a new band that can be visualised or " +"used in subsequent calculations. By chaining calculations together you " +"can build complex workflows in SEPAL without writing any external code." +msgstr "" + diff --git a/docs/source/_locale/pt/LC_MESSAGES/cookbook/classification.po b/docs/source/_locale/pt/LC_MESSAGES/cookbook/classification.po index 14fe8429da..c421847324 100644 --- a/docs/source/_locale/pt/LC_MESSAGES/cookbook/classification.po +++ b/docs/source/_locale/pt/LC_MESSAGES/cookbook/classification.po @@ -1,29 +1,27 @@ + msgid "" msgstr "" -"Project-Id-Version: sepal-doc\n" +"Project-Id-Version: sepal-doc\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-03-07 09:39+0100\n" -"PO-Revision-Date: 2024-03-07 08:58\n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: 2024-03-07 08:58+0000\n" "Last-Translator: \n" +"Language: pt_PT\n" "Language-Team: Portuguese\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.14.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Crowdin-Project: sepal-doc\n" -"X-Crowdin-Project-ID: 562097\n" -"X-Crowdin-Language: pt-PT\n" -"X-Crowdin-File: /main/docs/source/_locale/en/LC_MESSAGES/cookbook/classification.po\n" -"X-Crowdin-File-ID: 65\n" -"Language: pt_PT\n" +"Generated-By: Babel 2.18.0\n" #: ../../source/cookbook/classification.rst:2 msgid "Classification" msgstr "" #: ../../source/cookbook/classification.rst:3 -msgid "*Build supervised classifications of mosaic images to create easy-to-use user interfaces with the Classification recipe*" +msgid "" +"*Build supervised classifications of mosaic images to create easy-to-use " +"user interfaces with the Classification recipe*" msgstr "" #: ../../source/cookbook/classification.rst:6 @@ -31,7 +29,12 @@ msgid "Overview" msgstr "" #: ../../source/cookbook/classification.rst:8 -msgid "With this recipe, SEPAL helps users build supervised classifications of any mosaic image. It is built on top of the most advanced tools available on Google Earth Engine (GEE) – including the classifiers CART, RandomForest, NaiveBayes and SVM – allowing users to create an easy-to-use user interface to:" +msgid "" +"With this recipe, SEPAL helps users build supervised classifications of " +"any mosaic image. It is built on top of the most advanced tools available" +" on Google Earth Engine (GEE) – including seven classifiers, such as " +"Random Forest, CART and SVM – allowing users to create an easy-to-use " +"user interface to:" msgstr "" #: ../../source/cookbook/classification.rst:10 @@ -39,7 +42,7 @@ msgid "select an image to classify;" msgstr "" #: ../../source/cookbook/classification.rst:11 -msgid "define the class table; and" +msgid "define the legend; and" msgstr "" #: ../../source/cookbook/classification.rst:12 @@ -47,7 +50,10 @@ msgid "add training data from external sources and on-the-fly selection." msgstr "" #: ../../source/cookbook/classification.rst:14 -msgid "In combination with other tools of SEPAL, the **Classification** recipe can help you provide accurate land-use maps, without writing a single line of code." +msgid "" +"In combination with other tools of SEPAL, the **Classification** recipe " +"can help you provide accurate land-use maps, without writing a single " +"line of code." msgstr "" #: ../../source/cookbook/classification.rst:17 @@ -55,15 +61,24 @@ msgid "Start" msgstr "" #: ../../source/cookbook/classification.rst:19 -msgid "Once the **Classification** recipe is selected, SEPAL will show the recipe process in a new tab (see **1** in figure below); the **Image selection** window will appear in the lower right (**2**)." +msgid "" +"Once the **Classification** recipe is selected, SEPAL will show the " +"recipe process in a new tab (see **1** in figure below); the **Image " +"selection** window will appear in the lower right (**2**)." msgstr "" #: ../../source/cookbook/classification.rst:25 -msgid "The first step is to change the name of the recipe. This name will be used to identify your files and recipes in SEPAL folders. Use the best-suited convention for your needs. Simply double-click the tab and enter a new name. It will default to :code:`Classification_`." +msgid "" +"The first step is to change the name of the recipe. This name will be " +"used to identify your files and recipes in SEPAL folders. Use the best-" +"suited convention for your needs. Simply double-click the tab and enter a" +" new name. It will default to :code:`Classification_`." msgstr "" #: ../../source/cookbook/classification.rst:37 -msgid "The SEPAL team recommends using the following naming convention: :code:`__`." +msgid "" +"The SEPAL team recommends using the following naming convention: " +":code:`__`." msgstr "" #: ../../source/cookbook/classification.rst:40 @@ -71,7 +86,9 @@ msgid "Parameters" msgstr "" #: ../../source/cookbook/classification.rst:42 -msgid "In the lower-right corner, the following five tabs are available, allowing you to customize the time series to your needs:" +msgid "" +"In the lower-right corner, the following five tabs are available, " +"allowing you to customize the classification to your needs:" msgstr "" #: ../../source/cookbook/classification.rst:44 @@ -99,19 +116,29 @@ msgid "Image selection" msgstr "" #: ../../source/cookbook/classification.rst:57 -msgid "The first step consists of selecting the image bands on which to apply the classifier. The number of selected bands (i.e. images) is not limited." +msgid "" +"The first step consists of selecting the image bands on which to apply " +"the classifier. The number of selected bands (i.e. images) is not " +"limited." msgstr "" #: ../../source/cookbook/classification.rst:61 -msgid "Keep in mind that increasing the number of bands to analyse will improve the model but slow down the rendering of the final image." +msgid "" +"Keep in mind that increasing the number of bands to analyse will improve " +"the model but slow down the rendering of the final image." msgstr "" #: ../../source/cookbook/classification.rst:65 -msgid "If multiple images are selected, all selected images should overlap. If masked pixels are found in one of the bands, the classifier will mask them." +msgid "" +"If multiple images are selected, all selected images should overlap. If " +"masked pixels are found in one of the bands, the classifier will mask " +"them." msgstr "" #: ../../source/cookbook/classification.rst:67 -msgid "Select :btn:` Add`. The following screen should be displayed:" +msgid "" +"Select :btn:` Add`. The following screen should be " +"displayed:" msgstr "" #: ../../source/cookbook/classification.rst:74 @@ -119,11 +146,15 @@ msgid "Image type" msgstr "" #: ../../source/cookbook/classification.rst:76 -msgid "Users can select images coming from an **Existing recipe** or an exported **GEE asset** (see advantages and disadvantages below). Both should be an :code:`ee.Image`, rather than a :code:`Time series` or :code:`ee.ImageCollection`." +msgid "" +"Users can select images coming from a **Saved SEPAL recipe** or an " +"exported **Earth Engine asset** (see advantages and disadvantages below)." +" Both should be an :code:`ee.Image`, rather than a :code:`Time series` or" +" :code:`ee.ImageCollection`." msgstr "" #: ../../source/cookbook/classification.rst:78 -msgid "**Existing recipe**:" +msgid "**Saved SEPAL recipe**:" msgstr "" #: ../../source/cookbook/classification.rst:80 @@ -136,7 +167,9 @@ msgid "all of the computed bands from SEPAL can be used; and" msgstr "" #: ../../source/cookbook/classification.rst:83 -msgid "any modification to the existing recipe will be propagated in the final classification." +msgid "" +"any modification to the existing recipe will be propagated in the final " +"classification." msgstr "" #: ../../source/cookbook/classification.rst:85 @@ -145,11 +178,14 @@ msgid "Disadvantages:" msgstr "" #: ../../source/cookbook/classification.rst:87 -msgid "the initial recipe will be computed at each rendering step, slowing down the classification process and potentially breaking on-the-fly rendering due to GEE timeout errors." +msgid "" +"the initial recipe will be computed at each rendering step, slowing down " +"the classification process and potentially breaking on-the-fly rendering " +"due to GEE timeout errors." msgstr "" #: ../../source/cookbook/classification.rst:89 -msgid "**GEE asset**:" +msgid "**Earth Engine asset**:" msgstr "" #: ../../source/cookbook/classification.rst:93 @@ -177,11 +213,18 @@ msgid "Select bands" msgstr "" #: ../../source/cookbook/classification.rst:108 -msgid "For this example, we will use a public asset created with the **Optical mosaic** tool from SEPAL. It's a Sentinel-2 mosaic of Eastern Province in Zambia during the dry season from 2012 to 2020. Multiple bands are available." +msgid "" +"For this example, we will use a public asset created with the **Optical " +"mosaic** tool from SEPAL. It's a Sentinel-2 mosaic of Eastern Province in" +" Zambia during the dry season from 2012 to 2021. Multiple bands are " +"available." msgstr "" #: ../../source/cookbook/classification.rst:110 -msgid "Use the following asset name if you want to reproduce our workflow: :code:`projects/sepal-cookbook/assets/classification/zmb-eastern_2012_2021`" +msgid "" +"Use the following asset name if you want to reproduce our workflow: " +":code:`projects/sepal-cookbook/assets/classification/zmb-" +"eastern_2012_2021`" msgstr "" #: ../../source/cookbook/classification.rst:113 @@ -189,7 +232,12 @@ msgid "Image bands" msgstr "" #: ../../source/cookbook/classification.rst:115 -msgid "Once an asset has been selected, SEPAL will load its bands in the interface. You can use any band that is native to the image as input for the classification process. Simply click on the band name to select them. The selected bands are summarized in the expansion panel title (**1**) and displayed in gold in the pane content (**2**)." +msgid "" +"Once an asset has been selected, SEPAL will load its bands in the " +"interface. You can use any band that is native to the image as input for " +"the classification. Open the :guilabel:`Select bands...` dropdown and " +"click a band name to add it (the highlighted option). Each selected band " +"then appears as a removable chip in the **Image bands** panel." msgstr "" #: ../../source/cookbook/classification.rst:117 @@ -205,7 +253,7 @@ msgid ":code:`nir`" msgstr "" #: ../../source/cookbook/classification.rst:121 -msgid ":code:`swir`" +msgid ":code:`swir1`" msgstr "" #: ../../source/cookbook/classification.rst:122 @@ -217,39 +265,54 @@ msgid "Derived bands" msgstr "" #: ../../source/cookbook/classification.rst:131 -msgid "The analysis is not limited to natively available bands. SEPAL can also build additional derived bands on-the-fly." +msgid "" +"The analysis is not limited to natively available bands. SEPAL can also " +"build additional derived bands on-the-fly." msgstr "" #: ../../source/cookbook/classification.rst:133 -msgid "Select :btn:` Derived bands` at the bottom of the pop-up window and select the deriving method. This will add a a new panel to the expansion panel with the selected method name (**1**). The selected method will be applied to the selected bands." +msgid "" +"Select :btn:` Derived bands` at the bottom of the pop-" +"up window and select the deriving method. This adds a new panel named " +"after the selected method (e.g. **Normalized difference**). The method " +"will be applied to the bands you add to that panel." msgstr "" #: ../../source/cookbook/classification.rst:137 -msgid "If more than two bands are selected, the operation will be applied to the Cartesian product of the bands. If you select bands :math:`A`, :math:`B` and :math:`C`, and apply the :code:`Difference` derived bands, you'll add three bands to your analysis:" +msgid "" +"If you select two bands, :math:`A` and :math:`B`, and apply the " +"**Normalized difference** derived band, you'll add one band to your " +"analysis:" msgstr "" #: ../../source/cookbook/classification.rst:139 -msgid ":math:`A - B`" -msgstr "" - -#: ../../source/cookbook/classification.rst:140 -msgid ":math:`A - C`" +msgid ":math:`(A - B) / (A + B)`" msgstr "" #: ../../source/cookbook/classification.rst:141 -msgid ":math:`B - C`" +msgid "Selecting more than two bands applies the operation to each pair of them." msgstr "" #: ../../source/cookbook/classification.rst:149 -msgid "You should notice that in the figure, we compute the normalized difference between :code:`nir` and :code:`red` (i.e. the NDVI). It is also pre-computed in the :code:`Indexes` derived bands." +msgid "" +"You should notice that in the figure, we compute the normalized " +"difference between :code:`nir` and :code:`red` (i.e. the NDVI). It is " +"also pre-computed in the :code:`Indexes` derived bands." msgstr "" #: ../../source/cookbook/classification.rst:151 -msgid "Once image selection is complete, select :btn:` Apply` and the pop-up window will close. The images and bands will be displayed in the :guilabel:`IMG` panel in the lower-right corner of the screen. By selecting the :btn:`` button, you will remove the image and its band from the analysis altogether." +msgid "" +"Once image selection is complete, select :btn:` Apply`" +" and the pop-up window will close. The images and bands will be displayed" +" in the :guilabel:`IMG` panel in the lower-right corner of the screen. By" +" selecting the :btn:`` button, you will remove the " +"image and its bands from the analysis altogether." msgstr "" #: ../../source/cookbook/classification.rst:157 -msgid "From there, select :btn:` Next` to continue to the next step." +msgid "" +"From there, select :btn:` Next` to continue to" +" the next step." msgstr "" #: ../../source/cookbook/classification.rst:160 @@ -257,11 +320,17 @@ msgid "Legend setup" msgstr "" #: ../../source/cookbook/classification.rst:162 -msgid "In this step, the user will specify the legend that should be used in the output classified image. Any categorical classification that associates integer value to a class name will work. SEPAL provides multiple ways to create and customize a legend." +msgid "" +"In this step, the user will specify the legend that should be used in the" +" output classified image. Any categorical classification that associates " +"integer value to a class name will work. SEPAL provides multiple ways to " +"create and customize a legend." msgstr "" #: ../../source/cookbook/classification.rst:170 -msgid "Legends created here are fully compatible with other functionalities of SEPAL, including applications." +msgid "" +"Legends created here are fully compatible with other functionalities of " +"SEPAL, including applications." msgstr "" #: ../../source/cookbook/classification.rst:173 @@ -269,7 +338,9 @@ msgid "Manual legend" msgstr "" #: ../../source/cookbook/classification.rst:175 -msgid "The first and most natural way of building a legend is to do it from scratch." +msgid "" +"The first and most natural way of building a legend is to do it from " +"scratch." msgstr "" #: ../../source/cookbook/classification.rst:177 @@ -281,7 +352,9 @@ msgid "A class is defined by three key elements:" msgstr "" #: ../../source/cookbook/classification.rst:181 -msgid "Color (1): Select the small color square to open the color selector and choose any color (color[s] must be unique)." +msgid "" +"Color (1): Select the small color square to open the color selector and " +"choose any color (color[s] must be unique)." msgstr "" #: ../../source/cookbook/classification.rst:182 @@ -293,15 +366,26 @@ msgid "Class (3): Insert a class description (cannot be empty)." msgstr "" #: ../../source/cookbook/classification.rst:185 -msgid "Select the :btn:` Add` button again to add an extra class line. The :btn:`` button can be used to remove a specific line." +msgid "" +"Select the :btn:` Add` button again to add an extra " +"class line. The :btn:`` button can be used to remove a" +" specific line." msgstr "" #: ../../source/cookbook/classification.rst:189 -msgid "Select :btn:`HEX` (4) to display the hexadecimal value of the selected color. It can also be used to insert a known color palette by utilizing its values." +msgid "" +"Select :btn:`HEX` (4) to display the hexadecimal value of the selected " +"color. It can also be used to insert a known color palette by utilizing " +"its values." msgstr "" #: ../../source/cookbook/classification.rst:191 -msgid "If multiple classes are created and you are not sure which one to use, you can apply colors to them by selecting a preselected color-map (5). They are provided by the `GEE community `__ and will be applied to every existing class in your panel." +msgid "" +"If multiple classes are created and you are not sure which one to use, " +"you can apply colors to them by selecting a preselected color-map (5). " +"They are provided by the `GEE community `__ and will be applied to every existing class in your " +"panel." msgstr "" #: ../../source/cookbook/classification.rst:198 @@ -309,11 +393,16 @@ msgid "Import legend" msgstr "" #: ../../source/cookbook/classification.rst:200 -msgid "If you already have a file describing your legend, you can use it, rather than identifying every legend item individually. Your legend needs to be saved in .csv format and contain the following information:" +msgid "" +"If you already have a file describing your legend, you can use it, rather" +" than identifying every legend item individually. Your legend needs to be" +" saved in .csv format and contain the following information:" msgstr "" #: ../../source/cookbook/classification.rst:202 -msgid "color (stored as a hexadecimal value [e.g. #FFFF00] or in three columns [red, blue, green]);" +msgid "" +"color (stored as a hexadecimal value [e.g. #FFFF00] or in three columns " +"[red, blue, green]);" msgstr "" #: ../../source/cookbook/classification.rst:203 @@ -325,27 +414,43 @@ msgid "class (stored as a string)." msgstr "" #: ../../source/cookbook/classification.rst:208 -msgid "The column names will help SEPAL predict information, but are not compulsory." +msgid "" +"The column names will help SEPAL predict information, but are not " +"compulsory." msgstr "" #: ../../source/cookbook/classification.rst:210 -msgid "For example, a .csv file containing the following information is fully qualified to be used in SEPAL:" +msgid "" +"For example, a .csv file containing the following information is fully " +"qualified to be used in SEPAL:" msgstr "" #: ../../source/cookbook/classification.rst:227 -msgid "Alternatively, a file containing the following information – including RGB-defined colors – is also acceptable:" +msgid "" +"Alternatively, a file containing the following information – including " +"RGB-defined colors – is also acceptable:" msgstr "" #: ../../source/cookbook/classification.rst:244 -msgid "Once the fully qualified legend file has been prepared on your computer, select :btn:`` and then :code:`Import from CSV`, which will open a pop-up window where you can drag and drop the file or select it manually from your computer files." +msgid "" +"Once the fully qualified legend file has been prepared on your computer, " +"select :btn:`` and then :code:`Import from " +"CSV...`, which will open a pop-up window where you can drag and drop the " +"file or select it manually from your computer files." msgstr "" #: ../../source/cookbook/classification.rst:246 -msgid "As shown in the following image, you can then select the columns that are defining your .csv file (select :btn:`Single column` for hexadecimal-defined colors and :btn:`Multiple columns` for RGB-defined colors)." +msgid "" +"As shown in the following image, you can then select the columns that are" +" defining your .csv file (select :btn:`Single column` for hexadecimal-" +"defined colors and :btn:`Multiple columns` for RGB-defined colors)." msgstr "" #: ../../source/cookbook/classification.rst:252 -msgid "Select :btn:` Apply` to validate your selection. The classes will be added to the legend panel and you'll be able to modify the legend using the parameters presented in the previous subsection." +msgid "" +"Select :btn:` Apply` to validate your selection. The " +"classes will be added to the legend panel and you'll be able to modify " +"the legend using the parameters presented in the previous subsection." msgstr "" #: ../../source/cookbook/classification.rst:258 @@ -353,7 +458,12 @@ msgid "Select :btn:` Done` to validate this step." msgstr "" #: ../../source/cookbook/classification.rst:260 -msgid "Every pane should be closed; the colors of the legend should now be displayed at the bottom of the map. No classification is performed, as we didn't provide any training data. Nevertheless, this step is the last mandatory step for setting parameters. Training data can be added using the on-the-fly training functionality." +msgid "" +"Every pane should be closed; the colors of the legend should now be " +"displayed at the bottom of the map. No classification is performed, as we" +" didn't provide any training data. Nevertheless, this step is the last " +"mandatory step for setting parameters. Training data can be added using " +"the on-the-fly training functionality." msgstr "" #: ../../source/cookbook/classification.rst:263 @@ -361,499 +471,951 @@ msgid "Export legend" msgstr "" #: ../../source/cookbook/classification.rst:265 -msgid "Once your legend is validated, select the :btn:`` and then :code:`Export as CSV`." +msgid "" +"Once your legend is validated, select the :btn:``" +" and then :code:`Export as CSV`." msgstr "" #: ../../source/cookbook/classification.rst:267 -msgid "A file will be downloaded to you computer named :code:`_legend.csv`, which will contain the legend information in the following format:" +msgid "" +"A file will be downloaded to your computer named " +":code:`_legend.csv`, which will contain the legend " +"information in the following format:" msgstr "" #: ../../source/cookbook/classification.rst:277 -msgid "Select training data" +msgid "Training data setup" msgstr "" -#: ../../source/cookbook/classification.rst:281 -msgid "This step is not mandatory." -msgstr "" - -#: ../../source/cookbook/classification.rst:283 +#: ../../source/cookbook/classification.rst:279 msgid "Two inputs are required to create the classification output:" msgstr "" -#: ../../source/cookbook/classification.rst:285 +#: ../../source/cookbook/classification.rst:281 msgid "pixel values (e.g. bands) to classify; and" msgstr "" -#: ../../source/cookbook/classification.rst:286 +#: ../../source/cookbook/classification.rst:282 msgid "training data to set up the classification model." msgstr "" -#: ../../source/cookbook/classification.rst:288 -msgid "This menu will help the user manage the training data of the model used. To open it, select :btn:`TRN` in the lower-right side of the window." +#: ../../source/cookbook/classification.rst:284 +msgid "" +"This menu will help the user manage the training data of the model used. " +"To open it, select :btn:`TRN` in the lower-right side of the window." msgstr "" -#: ../../source/cookbook/classification.rst:295 -msgid "Collected reference data" +#: ../../source/cookbook/classification.rst:291 +msgid "Import existing training data" msgstr "" -#: ../../source/cookbook/classification.rst:297 -msgid "Collected reference data are data selected on the fly by the user. The workflow will be explained later in the documentation." +#: ../../source/cookbook/classification.rst:293 +msgid "" +"Instead of collecting all data by hand, SEPAL provides numerous ways to " +"include already existing training data into your analysis. The data can " +"be from multiple formats and will be included in the model to improve the" +" quality of the final map." msgstr "" -#: ../../source/cookbook/classification.rst:299 -msgid "In this pane, this type of data can be managed by the user. The data appear as a pair, associating coordinates to a class value, which will be used to create training data in the classification model." +#: ../../source/cookbook/classification.rst:297 +msgid "" +"The imported files can use an extended version of the legend provided in " +"the previous step, but to avoid unexpected behaviour, at least one of the" +" classes of your legend and the provided training data need to match." msgstr "" #: ../../source/cookbook/classification.rst:301 -msgid "If you're satisfied with the current selection and you want to share the data with others, select :btn:`` and then :code:`Export reference data to csv`. A file will be created and sent to your computer, named :code:`_reference_data.csv`. It will embed all of the gathered point data using the following convention:" +msgid "" +"If the added training data are outside of the image to classify, they " +"will have no impact on the final result (with the exception of the SEPAL " +"recipe)." +msgstr "" + +#: ../../source/cookbook/classification.rst:303 +msgid "" +"To add new data, select :btn:` Add` and choose the type" +" of data to import:" msgstr "" -#: ../../source/cookbook/classification.rst:309 -msgid "If you are not satisfied with the selected data, select :btn:`` and then :code:`Clear collected reference data` to remove all collected data from the analysis." +#: ../../source/cookbook/classification.rst:310 +msgid "CSV" msgstr "" -#: ../../source/cookbook/classification.rst:313 -msgid "A confirmation pop-up window should prevent you from accidentally deleting everything." +#: ../../source/cookbook/classification.rst:312 +msgid "" +"By selecting :btn:`CSV file`, SEPAL will request a file from your " +"computer in :code:`.csv` format. The file needs to include two pieces of " +"information: geographic coordinates and class value." msgstr "" -#: ../../source/cookbook/classification.rst:316 -msgid "Existing training data" +#: ../../source/cookbook/classification.rst:314 +msgid "" +"This can be done using coordinates in :code:`EPSG:4326` latitude and " +"longitude, as well as a `GeoJSON `__ compatible " +"point object. The file can embed other multiple columns that will not be " +"considered during the analysis." msgstr "" -#: ../../source/cookbook/classification.rst:318 -msgid "Instead of collecting all data by hand, SEPAL provides numerous ways to include already existing training data into your analysis. The data can be from multiple formats and will be included in the model to improve the quality of the final map." +#: ../../source/cookbook/classification.rst:316 +msgid "The following table is compatible with SEPAL:" msgstr "" -#: ../../source/cookbook/classification.rst:322 -msgid "The imported files can use an extended version of the legend provided in the previous step, but to avoid unexpected behaviour, at least one of the classes of your legend and the provided training data need to match." +#: ../../source/cookbook/classification.rst:324 +msgid "" +"The columns used to define the X (longitude) and Y (latitude) coordinates" +" are manually set up in the pop-up window. Select :btn:` Next` once every column is filled." msgstr "" -#: ../../source/cookbook/classification.rst:326 -msgid "If the added training data are outside of the image to classify, they will have no impact on the final result (with the exception of the SEPAL recipe)." +#: ../../source/cookbook/classification.rst:332 +msgid "" +"If your file contains a GeoJSON column instead of coordinates, select " +":btn:`GeoJSON column` to switch the interface to one column selection." msgstr "" -#: ../../source/cookbook/classification.rst:328 -msgid "To add new data, select :btn:` Add` and choose the type of data to import:" +#: ../../source/cookbook/classification.rst:334 +msgid "" +"Now that you have set up the coordinates of your points, SEPAL will ask " +"how the class values (not the names) are stored, through the **Class " +"format** selector:" msgstr "" -#: ../../source/cookbook/classification.rst:335 -msgid "CSV" +#: ../../source/cookbook/classification.rst:336 +msgid "" +"**Single column**: all class values are held in a single column — select " +"that column from your file." msgstr "" #: ../../source/cookbook/classification.rst:337 -msgid "By selecting :btn:`csv file`, SEPAL will request a file from your computer in :code:`.csv` format. The file needs to include two pieces of information: geographic coordinates and class value." +msgid "**Column per class**: each class has its own column." msgstr "" -#: ../../source/cookbook/classification.rst:339 -msgid "This can be done using coordinates in :code:`EPSG:4326` latitude and longitude, as well as a `GeoJSON `__ compatible point object. The file can embed other multiple columns that will not be considered during the analysis." +#: ../../source/cookbook/classification.rst:338 +msgid "**Other format**: use this if your data has a different layout." msgstr "" -#: ../../source/cookbook/classification.rst:341 -msgid "The following table is compatible with SEPAL:" +#: ../../source/cookbook/classification.rst:342 +msgid "" +"Using the :code:`Row filter expression` field, you can keep only the rows" +" that meet a condition — a JavaScript-like expression, referencing your " +"columns by name, that evaluates to ``true`` for the rows to keep (leave " +"it empty to keep all). For example, :code:`class == 30` keeps only the " +"rows in class 30, and :code:`class == 10 || class == 20` keeps classes 10" +" and 20." +msgstr "" + +#: ../../source/cookbook/classification.rst:348 +msgid "" +"Select :btn:` Next` to add the data to the " +"model. SEPAL will provide a summary of the classes in the legend of the " +"classification and the number of training points added by your file." msgstr "" -#: ../../source/cookbook/classification.rst:349 -msgid "The columns used to define the X (longitude) and Y (latitude) coordinates are manually set up in the pop-up window. Select :btn:` Next` once every column is filled." +#: ../../source/cookbook/classification.rst:350 +msgid "" +"Selecting the :btn:` Done` button will complete the " +"uploading procedure." msgstr "" #: ../../source/cookbook/classification.rst:357 -msgid "If your file contains a GeoJSON column instead of coordinates, select :btn:`geojson column` to switch the interface to one column selection." +msgid "GEE table" msgstr "" #: ../../source/cookbook/classification.rst:359 -msgid "Now that you have set up the coordinates of your points, SEPAL will request the columns specifying the class value (not the name) in a second frame. Only the single column is supported so far. Select the column from your file that embeds the class values." +msgid "" +"By selecting :btn:`Earth Engine Table`, SEPAL will request a file from " +"your computer in :code:`.csv` format. The file needs to provide two " +"pieces of information: geographic coordinates and class value." msgstr "" -#: ../../source/cookbook/classification.rst:363 -msgid "Using the :code:`row filter expression` text field, one can filter out some lines of the table. Refer to the `features <#>`__ section to learn more." +#: ../../source/cookbook/classification.rst:361 +msgid "" +"The process is nearly the same as found in the documentation above " +"discussing .csv tables. The only difference should be the geometry " +"column, as GEE assets usually embed a :code:`.geojson` column by default." +" If this column exists, it will be autodetected by SEPAL." msgstr "" -#: ../../source/cookbook/classification.rst:369 -msgid "Select :btn:` next` to add the data to the model. SEPAL will provide a summary of the classes in the legend of the classification and the number of training points added by your file." +#: ../../source/cookbook/classification.rst:363 +msgid "" +"For the other steps, please reproduce what was presented in the .csv " +"section above." msgstr "" #: ../../source/cookbook/classification.rst:371 -msgid "Selecting the :btn:` Done` button will complete the uploading procedure." +msgid "" +"To build the documentation example, use this public asset: " +":code:`projects/sepal-" +"cookbook/assets/classification/zmb_eastern_esa_2012_2021_reference_data`." +msgstr "" + +#: ../../source/cookbook/classification.rst:374 +msgid "Sample classification" +msgstr "" + +#: ../../source/cookbook/classification.rst:376 +msgid "" +"Instead of providing dataset points, SEPAL can also extract reference " +"data from an already existing classification – which is a good way to " +"improve an already existing classification system using an image with a " +"better resolution." msgstr "" #: ../../source/cookbook/classification.rst:378 -msgid "GEE table" +msgid "" +"To sample data, SEPAL will randomly select a number of points in each " +"class and extract the class value using the provided resolution." msgstr "" #: ../../source/cookbook/classification.rst:380 -msgid "By selecting :btn:`Earth Engine Table`, SEPAL will request a file from your computer in :code:`.csv` format. The file needs to provide two pieces of information: geographic coordinates and class value." +msgid "" +"Start by selecting :btn:`Sample classification` in the opened pop-up " +"window, where all of the parameters can be set:" msgstr "" #: ../../source/cookbook/classification.rst:382 -msgid "The process is nearly the same as found in the documentation above discussing .csv tables. The only difference should be the geometry column, as GEE assets usually embed a :code:`.goejson` column by default. If this column exists, it will be autodetected by SEPAL." -msgstr "" - -#: ../../source/cookbook/classification.rst:384 -msgid "For the other steps, please reproduce what was presented in the .csv section above." +msgid "" +"**Samples per class**: the number of samples per class of the provided " +"image. The more samples you request, the more accurate the model will be " +"(if too many samples are selected, on-the-fly visualization will never " +"render). The default is :code:`100`, but you can pick other preset " +"values, such as the :code:`1000` used in this example." msgstr "" -#: ../../source/cookbook/classification.rst:392 -msgid "To build the documentation example, use this public asset: :code:`projects/sepal-cookbook/assets/classification/zmb_eastern_esa_2012_2021_reference_data`." +#: ../../source/cookbook/classification.rst:383 +msgid "" +"**Scale to sample in**: the scale used to create the sample in the " +"provided image (it should match the image to classify resolution; default" +" to: :code:`30 m`)." msgstr "" -#: ../../source/cookbook/classification.rst:395 -msgid "Sample classification" +#: ../../source/cookbook/classification.rst:384 +msgid "" +"**Image source**: choose whether to sample from an existing :guilabel:`EE" +" Asset` or a saved :guilabel:`Recipe`." msgstr "" -#: ../../source/cookbook/classification.rst:397 -msgid "Instead of providing dataset points, SEPAL can also extract reference data from an already existing classification – which is a good way to improve an already existing classification system using an image with a better resolution." +#: ../../source/cookbook/classification.rst:385 +msgid "" +"**EE asset ID of classification**: when :guilabel:`EE Asset` is selected," +" the ID of the classification to sample (it should be an :code:`ee.Image`" +" accessible to the user). When :guilabel:`Recipe` is selected instead, " +"choose one of your saved classification recipes to sample." msgstr "" -#: ../../source/cookbook/classification.rst:399 -msgid "To sample data, SEPAL will randomly select a number of points in each class and extract the class value using the provided resolution." +#: ../../source/cookbook/classification.rst:386 +msgid "" +"**Class band**: The class to use for classification value (the dropdown " +"menu will be filled with the bands found in the provided asset or " +"recipe)." msgstr "" -#: ../../source/cookbook/classification.rst:401 -msgid "Start by selecting btn:`Sample classification` in the opened pop-up window, where all of the the parameters can be set:" +#: ../../source/cookbook/classification.rst:394 +msgid "" +"When all of the parameters are selected, it can take time, as SEPAL " +"builds the sampling values on the fly. They will only be displayed once " +"the sampling is validated." msgstr "" -#: ../../source/cookbook/classification.rst:403 -msgid "**Sample per class**: the number of samples per class of the provided image. The more samples you request, the more accurate the model will be (if too many samples are selected, on-the-fly visualization will never render; default to: :code:`1000`)." +#: ../../source/cookbook/classification.rst:396 +msgid "" +"Select :btn:` Next` to display the sampling " +"summary. In this pane, SEPAL displays each class of the legend (as " +"defined in the previous subsection) and the number of samples created for" +" it." msgstr "" -#: ../../source/cookbook/classification.rst:404 -msgid "**Scale to sample in**: the scale used to create the sample in the provided image (it should match the image to classify resolution; default to: :code:`30 m`)." +#: ../../source/cookbook/classification.rst:398 +msgid "" +"Each class shows its sample count next to a green :btn:`` button — use it to change the number of samples for that class. By" +" default, SEPAL ignores the samples with a :code:`Null` value; select " +":btn:`Default` on any class so that these points end up in the default " +"class instead of being ignored." msgstr "" #: ../../source/cookbook/classification.rst:405 -msgid "**EE asset ID**: the ID of the classification to sample (it should be an :code:`ee.Image` accessible to the user)." +msgid "SEPAL recipe" msgstr "" -#: ../../source/cookbook/classification.rst:406 -msgid "**Class band**: The class to use for classification value (the dropdown menu will be filled with the bands found in the provided asset)." +#: ../../source/cookbook/classification.rst:407 +msgid "" +"SEPAL is also able to directly apply a model built in another recipe as " +"training data. In this case, we are not importing the points, but all of " +"the model from the external recipe. It will not add points to the map. " +"It's useful when the same classification needs to be applied on the same " +"area for multiple years. The classification work can be carried out only " +"in the first year and then applied recursively on all the others." msgstr "" -#: ../../source/cookbook/classification.rst:410 -msgid "To reproduce this example, use the following asset as an image to sample: :code:`projects/sepal-cookbook/assets/classification/zmb_copernicus_landcover`." +#: ../../source/cookbook/classification.rst:409 +msgid "" +"Select :btn:`Saved SEPAL recipe` to open the pop-up window. In the " +"dropdown menu, select one of the recipes saved in your SEPAL account." msgstr "" -#: ../../source/cookbook/classification.rst:418 -msgid "When all of the parameters are selected, it can take time, as SEPAL builds the sampling values on the fly. They will only be displayed once the sampling is validated." +#: ../../source/cookbook/classification.rst:413 +msgid "" +"The imported recipe needs to be a **Classification** recipe. If none are " +"found, the dropdown menu will be empty." msgstr "" -#: ../../source/cookbook/classification.rst:420 -msgid "Select :btn:` Next` to display the sampling summary. In this pane, SEPAL displays each class of the legend (as defined in the previous subsection) and the number of samples created for it." +#: ../../source/cookbook/classification.rst:415 +msgid "This recipe cannot come from another SEPAL account." msgstr "" #: ../../source/cookbook/classification.rst:422 -msgid "Select the :btn:`` buttons (**1**) to change the number of samples in a specific class. By default, SEPAL ignores the samples with a :code:`Null` value. One can select :btn:`Default` (**2**) for any of the classes so that these points end up in the default class instead of being ignored." +msgid "Collect Earth Online" +msgstr "" + +#: ../../source/cookbook/classification.rst:427 +msgid "" +"SEPAL can import training data you have collected in a `Collect Earth " +"Online `__ (CEO) project directly, without " +"exporting and re-uploading a file. Select :btn:`Collect Earth Online` to " +"open the panel." msgstr "" #: ../../source/cookbook/classification.rst:429 -msgid "SEPAL recipe" +msgid "**Connect to your CEO account**" msgstr "" #: ../../source/cookbook/classification.rst:431 -msgid "SEPAL is also able to directly apply a model built in another recipe as training data. In this case, we are not importing the points, but all of the model from the external recipe. It will not add points to the map. It's useful when the same classification needs to be applied on the same area for multiple years. The classification work can be carried out only in the first year and then applied recursively on all the others." +msgid "The panel starts as :ceo-disconnected:`Disconnected from CEO`." msgstr "" #: ../../source/cookbook/classification.rst:433 -msgid "Select :btn:`Saved SEPAL recipe` to open the pop-up window. In the dropdown menu, select one of the recipes saved in your SEPAL account." +msgid "" +"Select :btn:`Connect` to open the **Collect Earth Online Authentication**" +" window, enter your :code:`CEO Email` and :code:`CEO Password`, and " +"select :btn:`Connect` again." msgstr "" #: ../../source/cookbook/classification.rst:437 -msgid "The imported recipe needs to be a **Classification** recipe. If none are found, the dropdown menu will be empty." +msgid "" +"Your credentials are never stored on SEPAL servers. When your SEPAL " +"session ends, the CEO connection is terminated automatically. You can " +"also select :btn:`Disconnect` at any time to end it manually." msgstr "" #: ../../source/cookbook/classification.rst:439 -msgid "This recipe cannot come from another SEPAL account." +msgid "**Select the institution and project**" msgstr "" -#: ../../source/cookbook/classification.rst:446 -msgid "Use auxiliary datasets" +#: ../../source/cookbook/classification.rst:441 +msgid "Once connected (:ceo-connected:`You are connected to CEO`), fill in:" msgstr "" -#: ../../source/cookbook/classification.rst:448 -msgid "Some information that could be useful to the classification model is not always included in your image bands. A common example is **Elevation**. In order to improve the quality of the classification, SEPAL can provide some extra datasets to add auxiliary bands to the classification model." +#: ../../source/cookbook/classification.rst:443 +msgid "" +"**Institution**: the CEO institution to pull data from. Only institutions" +" where you are both a **member** and an **admin** are listed." +msgstr "" + +#: ../../source/cookbook/classification.rst:444 +msgid "" +"**Project**: the project within that institution whose collected data you" +" want to use." msgstr "" -#: ../../source/cookbook/classification.rst:450 -msgid "Select :btn:`AUX` to open the **Auxiliaries** tab. Three sources are currently implemented in the platform (any number of them can be selected):" +#: ../../source/cookbook/classification.rst:445 +msgid "" +"**Data type**: whether to import the project's :guilabel:`Plot` " +"(aggregated plot) data or its :guilabel:`Sample` data." msgstr "" -#: ../../source/cookbook/classification.rst:452 -msgid "**Latitude**: On-the-fly latitude dataset built from the coordinates of each pixel's center." +#: ../../source/cookbook/classification.rst:451 +msgid "" +"SEPAL then loads the collected data, ready to be mapped to your legend in" +" the next two steps." msgstr "" #: ../../source/cookbook/classification.rst:453 -msgid "**Terrain**: From the `NASA SRTM Digital Elevation 30 m `__ dataset, SEPAL will use the :code:`Elevation`, :code:`Slope` and :code:`Aspect` bands. It will also add an :code:`Eastness` and :code:`Northness` band derived from :code:`Aspect`." +msgid "**Set the location**" msgstr "" -#: ../../source/cookbook/classification.rst:454 -msgid "**Water**: From the `JRC Global Surface Water Mapping Layers, v1.3 `__ dataset, SEPAL will add the following bands: :code:`occurrence`, :code:`change_abs`, :code:`change_norm`, :code:`seasonality`, :code:`max_extent`, :code:`water_occurrence`, :code:`water_change_abs`, :code:`water_change_norm`, :code:`water_seasonality` and :code:`water_max_extent`." +#: ../../source/cookbook/classification.rst:455 +msgid "" +"SEPAL reads the point locations from the data and pre-fills the " +"**Location type** (:guilabel:`X/Y coordinate columns` or " +":guilabel:`GeoJSON column`) together with the matching coordinate " +"columns. These are detected automatically from the CEO data, so you can " +"usually confirm them as they are." msgstr "" -#: ../../source/cookbook/classification.rst:461 -msgid "Classifier configuration" +#: ../../source/cookbook/classification.rst:457 +msgid "**Set the class format**" msgstr "" -#: ../../source/cookbook/classification.rst:465 -msgid "Customizing the classifier is a section designed for advanced users. Make sure that you thoroughly understand how the classifier you're using works before changing its parameters." +#: ../../source/cookbook/classification.rst:459 +msgid "" +"Tell SEPAL how the class values are stored in the CEO data, through the " +"**Class format** selector:" msgstr "" -#: ../../source/cookbook/classification.rst:469 -msgid "The default value is a **Random Forest** classifier using 25 trees." +#: ../../source/cookbook/classification.rst:461 +msgid "**Single column**: all class values are held in a single column." msgstr "" -#: ../../source/cookbook/classification.rst:471 -msgid "The **Classification** tool used in SEPAL is based on the `Smile - Statistical Machine Intelligence and Learning Engine Javascript `__ library (refer to their documentation for specific descriptions of each model)." +#: ../../source/cookbook/classification.rst:462 +msgid "" +"**Column per class**: each class has its own column. CEO data is mostly " +"organized this way." msgstr "" -#: ../../source/cookbook/classification.rst:473 -msgid "Select :btn:`CLS` to open the **Classification parameter** menu. SEPAL supports seven classifiers:" +#: ../../source/cookbook/classification.rst:463 +msgid "**Other format**: use this if your reference data has a different layout." msgstr "" -#: ../../source/cookbook/classification.rst:475 -msgid "random forest" +#: ../../source/cookbook/classification.rst:465 +msgid "" +"SEPAL pre-selects the format based on the chosen data type, but you can " +"change it." msgstr "" -#: ../../source/cookbook/classification.rst:476 -msgid "gradient tree boost" +#: ../../source/cookbook/classification.rst:467 +msgid "" +"Select :btn:` Next` to reach the class " +"summary, which lists each legend class. For every class, select the :btn" +":`` button to choose the column that corresponds to it," +" then select :btn:` Done` to add the reference data to" +" the model." msgstr "" -#: ../../source/cookbook/classification.rst:477 -msgid "cart" +#: ../../source/cookbook/classification.rst:474 +msgid "Manage collected reference data" msgstr "" -#: ../../source/cookbook/classification.rst:478 -msgid "naive bayes" +#: ../../source/cookbook/classification.rst:476 +msgid "" +"Collected reference data are the points you add directly on the map with " +"the on-the-fly training tool, described in the `On-the-fly training`_ " +"section. Each point pairs a set of coordinates with a class value. Select" +" the :btn:`` button — to the right of the :btn" +":` Add` button in the :btn:`TRN` tab — to manage them:" msgstr "" -#: ../../source/cookbook/classification.rst:479 -msgid "SVM" +#: ../../source/cookbook/classification.rst:478 +msgid "" +"**Export reference data to CSV**: download a " +":code:`_reference_data.csv` file to share your points with " +"others. It will embed all of the gathered point data using the following " +"convention:" msgstr "" -#: ../../source/cookbook/classification.rst:480 -msgid "min distance" +#: ../../source/cookbook/classification.rst:486 +msgid "" +"**Clear collected reference data**: remove every collected point from the" +" analysis." msgstr "" -#: ../../source/cookbook/classification.rst:481 -msgid "decision tree" +#: ../../source/cookbook/classification.rst:490 +msgid "A confirmation pop-up prevents you from accidentally deleting everything." msgstr "" -#: ../../source/cookbook/classification.rst:483 -msgid "For each of them, the workflow is the same:" +#: ../../source/cookbook/classification.rst:493 +msgid "Use auxiliary datasets" msgstr "" -#: ../../source/cookbook/classification.rst:485 -msgid "Select the classifier by clicking on the corresponding name. SEPAL will display some of the parameters available." +#: ../../source/cookbook/classification.rst:495 +msgid "" +"Some information that could be useful to the classification model is not " +"always included in your image bands. A common example is **Elevation**. " +"In order to improve the quality of the classification, SEPAL can provide " +"some extra datasets to add auxiliary bands to the classification model." msgstr "" -#: ../../source/cookbook/classification.rst:486 -msgid "Select :btn:`More` on the lower-left side of the panel to fully customize your classifier. The classification results will be updated on the fly." +#: ../../source/cookbook/classification.rst:497 +msgid "" +"Select :btn:`AUX` to open the **Auxiliaries** tab. Three sources are " +"currently implemented in the platform (any number of them can be " +"selected):" msgstr "" #: ../../source/cookbook/classification.rst:499 -msgid "On-the-fly training" +msgid "" +"**Latitude**: On-the-fly latitude dataset built from the coordinates of " +"each pixel's center." msgstr "" -#: ../../source/cookbook/classification.rst:503 -msgid "This process requires a good understanding of the **Visualization** feature of SEPAL (refer to the `feature <#>`__ section for more information)." +#: ../../source/cookbook/classification.rst:500 +msgid "" +"**Terrain**: From the `NASA SRTM Digital Elevation 30 m " +"`__ dataset, SEPAL will use the " +":code:`Elevation`, :code:`Slope` and :code:`Aspect` bands. It will also " +"add an :code:`Eastness` and :code:`Northness` band derived from " +":code:`Aspect`." msgstr "" -#: ../../source/cookbook/classification.rst:505 -msgid "Once all of the parameters are set, the user is free to add extra training data in the web interface and the new points will be added to the final model, improving the quality of the classification." +#: ../../source/cookbook/classification.rst:501 +msgid "" +"**Water**: From the `JRC Global Surface Water Mapping Layers, v1.3 " +"`__ dataset, SEPAL " +"will add the following bands: :code:`occurrence`, :code:`change_abs`, " +":code:`change_norm`, :code:`seasonality`, :code:`max_extent`, " +":code:`water_occurrence`, :code:`water_change_abs`, " +":code:`water_change_norm`, :code:`water_seasonality` and " +":code:`water_max_extent`." msgstr "" #: ../../source/cookbook/classification.rst:508 -msgid "Set up the view" +msgid "Classifier configuration" msgstr "" -#: ../../source/cookbook/classification.rst:510 -msgid "In order to improve the classification, one must set up the view to display all of the information. While these guidelines could be modified and extended, they are still useful as an introductory resource." +#: ../../source/cookbook/classification.rst:512 +msgid "" +"Customizing the classifier is a section designed for advanced users. Make" +" sure that you thoroughly understand how the classifier you're using " +"works before changing its parameters." msgstr "" -#: ../../source/cookbook/classification.rst:512 -msgid "In the following image, we displayed:" +#: ../../source/cookbook/classification.rst:516 +msgid "The default value is a **Random Forest** classifier using 25 trees." msgstr "" -#: ../../source/cookbook/classification.rst:514 -msgid "The current recipe (**1**) using the class colors in categorical mode." +#: ../../source/cookbook/classification.rst:518 +msgid "" +"The **Classification** tool used in SEPAL is based on the `Smile - " +"Statistical Machine Intelligence and Learning Engine Javascript " +"`__ library (refer to " +"their documentation for specific descriptions of each model)." msgstr "" -#: ../../source/cookbook/classification.rst:515 -msgid "The current image (what you are classifying) (**2**) using the NIR,RED,SWIR band combination." +#: ../../source/cookbook/classification.rst:520 +msgid "" +"Select :btn:`CLS` to open the **Classification parameter** menu. SEPAL " +"supports seven classifiers:" msgstr "" -#: ../../source/cookbook/classification.rst:516 -msgid "The extra visual dataset NICFI Planet Lab data (**3**) from 2021." +#: ../../source/cookbook/classification.rst:522 +msgid "Random Forest" msgstr "" -#: ../../source/cookbook/classification.rst:518 -msgid "The number (4) indicates a cluster of existing training points. Zoom in and they will be displayed as markers using the color of the class they mark (**5**)." +#: ../../source/cookbook/classification.rst:523 +msgid "Gradient tree boost" msgstr "" -#: ../../source/cookbook/classification.rst:522 -msgid "This initial classification has been set using sampled data. Since they are sampled from a larger image, some are out of the image. They will have no impact on the classification as they are applied to masked pixels (**6**)." +#: ../../source/cookbook/classification.rst:524 +msgid "Cart" msgstr "" -#: ../../source/cookbook/classification.rst:530 -msgid "Select points" +#: ../../source/cookbook/classification.rst:525 +msgid "Naive bayes" msgstr "" -#: ../../source/cookbook/classification.rst:532 -msgid "To start adding points, open the training interface by selecting :btn:`` in the upper right of the screen (**1**). Once selected, the background color becomes darker and the pointer of the mouse becomes a :icon:`fa-solid fa-plus`." +#: ../../source/cookbook/classification.rst:526 +msgid "SVM" msgstr "" -#: ../../source/cookbook/classification.rst:534 -msgid "The process to add new training data is as follows:" +#: ../../source/cookbook/classification.rst:527 +msgid "Min distance" msgstr "" -#: ../../source/cookbook/classification.rst:536 -msgid "**Click on the map to select a point**: You can click in any of the panes (not restricted to the **Recipe** pane), but to be useful, the point needs to be within the border of the AOI. If it's not already the case, the **Class selection** panel will appear in the upper right of the window (**2**)." +#: ../../source/cookbook/classification.rst:528 +msgid "Decision tree" msgstr "" -#: ../../source/cookbook/classification.rst:537 -msgid "**Select the class value**: The previous class value is preselected, but you can change it to any other class value from the defined legend. The legend is displayed as :code:` ()`." +#: ../../source/cookbook/classification.rst:530 +msgid "For each of them, the workflow is the same:" msgstr "" -#: ../../source/cookbook/classification.rst:539 -msgid "You can now click elsewhere on the map to add another point. If you are satisfied with the classification, select :btn:` Close` (3) and select :btn:`` again to stop editing the points. Every time a new point is added, the **Classification** map is recomputed and rendered on the left side." +#: ../../source/cookbook/classification.rst:532 +msgid "" +"Select the classifier by clicking on the corresponding name. SEPAL will " +"display some of the parameters available." msgstr "" -#: ../../source/cookbook/classification.rst:546 -msgid "Modify existing points" +#: ../../source/cookbook/classification.rst:533 +msgid "" +"Select :btn:`More` on the lower-left side of the panel to fully customize" +" your classifier. The classification results will be updated on the fly." msgstr "" -#: ../../source/cookbook/classification.rst:548 -msgid "To modify existing points, select the :btn:`` to open the **Point editing** interface. Then:" +#: ../../source/cookbook/classification.rst:546 +msgid "Refine the classification" msgstr "" #: ../../source/cookbook/classification.rst:550 -msgid "**Select a point**: To select a point, click on an existing marker. It will appear bolder than the others. If it's not already the case, the **Class selection** pane will appear in the upper right." +msgid "" +"This process requires a good understanding of the **Visualization** " +"feature of SEPAL (see :doc:`../feature/visualization` for more " +"information)." msgstr "" -#: ../../source/cookbook/classification.rst:551 -msgid "**Change the class value**: The point class will be selected in the **Editing** menu with a :icon:`fa-solid fa-check`. Select any other class value to change it." +#: ../../source/cookbook/classification.rst:552 +msgid "" +"Once all of the parameters are set, you can refine the classification " +"directly on the map: set up the view, add or edit training points on the " +"fly, and check the model's confidence." msgstr "" -#: ../../source/cookbook/classification.rst:554 -msgid "Check the validity" +#: ../../source/cookbook/classification.rst:555 +msgid "Set up the view" msgstr "" -#: ../../source/cookbook/classification.rst:556 -msgid "SEPAL embeds information to help the user understand if the amount of training data is sufficient to produce an accurate classification model. In the **Recipe** window, change the **Band combination** to :code:`Class probability`." +#: ../../source/cookbook/classification.rst:557 +msgid "" +"In order to improve the classification, one must set up the view to " +"display all of the information; you choose what the map shows from the " +"**Layers** panel. Select the :btn:`` layers-to-" +"show icon in the top-right of the screen to open the panel, then:" msgstr "" -#: ../../source/cookbook/classification.rst:558 -msgid "The user now sees the probability of the model (i.e. the confidence level of the level with output class for each pixel)." +#: ../../source/cookbook/classification.rst:559 +msgid "" +"Pick a layout mode — :guilabel:`Grid` to split the map into several panes" +" side by side, or :guilabel:`Stack` to overlay the layers in a single " +"pane." msgstr "" #: ../../source/cookbook/classification.rst:560 -msgid "If the value is high (> 80 percent), then the pixel can be considered valid; if the value is low (< 80 percent), the model needs more training data or extra bands to improve the analysis." +msgid "" +"Drag and drop each layer onto a position (centre, a side, or a corner) to" +" choose where it appears; drag it between positions to rearrange it, or " +"off the areas to remove it." msgstr "" -#: ../../source/cookbook/classification.rst:562 -msgid "In the example image, the lake is classified as a **permanent water body** with a confidence of 65 percent, which is higher than the rest of the vegetation around it." +#: ../../source/cookbook/classification.rst:561 +msgid "" +"If the layer you need is not already in the panel, select :btn:` Add` to add a source: **Add a SEPAL recipe**, **Add an Earth " +"Engine asset**, or **Add a Planet account**." msgstr "" -#: ../../source/cookbook/classification.rst:568 -msgid "This analysis can also be conducted class-by-class using the built-in :code:` %` bands. Select the one corresponding to the class you want to assess (see the following image) and you'll get the percentage of confidence for each pixel to be in the sub-mentioned class." +#: ../../source/cookbook/classification.rst:567 +msgid "" +"With your layers arranged, the map displays them together so you can " +"compare them while adding training data." msgstr "" -#: ../../source/cookbook/classification.rst:575 -msgid "Export" +#: ../../source/cookbook/classification.rst:569 +msgid "In the following image, we displayed:" msgstr "" -#: ../../source/cookbook/classification.rst:579 -msgid "You cannot export a recipe as an asset or a :code:`.tiff` file without a small computation quota. If you are a new user, see :doc:`../setup/resource`." +#: ../../source/cookbook/classification.rst:571 +msgid "The current recipe (**1**) using the class colors in categorical mode." msgstr "" -#: ../../source/cookbook/classification.rst:582 -msgid "Start download" +#: ../../source/cookbook/classification.rst:572 +msgid "" +"The current image (what you are classifying) (**2**) using the " +"NIR,RED,SWIR1 band combination." msgstr "" -#: ../../source/cookbook/classification.rst:584 -msgid "Selecting the :icon:`fa-solid fa-cloud-arrow-down` tab will open the **Retrieve** pane, where you can select the exportation parameters (**1**)." +#: ../../source/cookbook/classification.rst:573 +msgid "The extra visual dataset NICFI Planet Lab data (**3**) from 2021." +msgstr "" + +#: ../../source/cookbook/classification.rst:575 +msgid "" +"The number (4) indicates a cluster of existing training points. Zoom in " +"and they will be displayed as markers using the color of the class they " +"mark (**5**)." +msgstr "" + +#: ../../source/cookbook/classification.rst:583 +msgid "" +"This initial classification has been set using sampled data. Since they " +"are sampled from a larger image, some are out of the image. They will " +"have no impact on the classification as they are applied to masked pixels" +" (**6**)." msgstr "" -#: ../../source/cookbook/classification.rst:586 -msgid "You need to select the band to export (**2**). There is no maximum number of bands; however, exporting useless bands will only increase the size and time of the output." +#: ../../source/cookbook/classification.rst:587 +msgid "On-the-fly training" msgstr "" -#: ../../source/cookbook/classification.rst:588 -msgid "You can set a custom scale for exportation (**3**) by changing the value of the slider in metres (m). (Note: Requesting a smaller resolution than images' native resolution will not improve the quality of the output – just its size; keep in mind that the native resolution of Sentinel data is 10 m, while Landsat is 30 m.)" +#: ../../source/cookbook/classification.rst:589 +msgid "" +"You are free to add extra training data in the web interface; each new " +"point is added to the final model, improving the quality of the " +"classification." msgstr "" -#: ../../source/cookbook/classification.rst:590 -msgid "You can export the image to the :btn:`SEPAL workspace` or to the :btn:`Google Earth Engine Asset` list. The same image will be exported, but for the former, you will find it in :code:`.tif` format in the :code:`Downloads` folder; for the latter, the image will be exported to your **GEE account asset list**." +#: ../../source/cookbook/classification.rst:592 +msgid "Select points" msgstr "" #: ../../source/cookbook/classification.rst:594 -msgid "If :btn:`Google Earth Engine Asset` is not displayed, your GEE account is not connected to SEPAL. Refer to `Connect SEPAL to GEE <../setup/gee.html>`__." +msgid "" +"To start adding points, open the training interface by selecting :btn" +":`` in the upper right of the screen (**1**). " +"Once selected, the background color becomes darker and the pointer of the" +" mouse becomes a :icon:`fa-solid fa-plus`." msgstr "" #: ../../source/cookbook/classification.rst:596 -msgid "Select :btn:` Apply` to start the download process." +msgid "The process to add new training data is as follows:" msgstr "" -#: ../../source/cookbook/classification.rst:603 -msgid "Exportation status" +#: ../../source/cookbook/classification.rst:598 +msgid "" +"**Click on the map to select a point**: You can click in any of the panes" +" (not restricted to the **Recipe** pane), but to be useful, the point " +"needs to be within the border of the AOI. If it's not already the case, " +"the **Class selection** panel will appear in the upper right of the " +"window (**2**)." +msgstr "" + +#: ../../source/cookbook/classification.rst:599 +msgid "" +"**Select the class value**: The previous class value is preselected, but " +"you can change it to any other class value from the defined legend. The " +"legend is displayed as :code:` ()`." +msgstr "" + +#: ../../source/cookbook/classification.rst:601 +msgid "" +"You can now click elsewhere on the map to add another point. If you are " +"satisfied with the classification, select :btn:` " +"Close` (3) and select :btn:`` again to stop " +"editing the points. Every time a new point is added, the " +"**Classification** map is recomputed and rendered on the left side." msgstr "" -#: ../../source/cookbook/classification.rst:605 -msgid "By going to the **Tasks** tab (in the lower-left corner using the :btn:`` or :btn:`` buttons, depending on the loading status), you will see the list of different loading tasks." +#: ../../source/cookbook/classification.rst:608 +msgid "Modify existing points" msgstr "" -#: ../../source/cookbook/classification.rst:607 -msgid "The interface will provide you with information about the task progress and display an error if the exportation has failed. If you are unsatisfied with the way we present information, the task can also be monitored using the `GEE task manager `__." +#: ../../source/cookbook/classification.rst:610 +msgid "" +"To modify existing points, select the :btn:`` " +"to open the **Point editing** interface. Then:" msgstr "" -#: ../../source/cookbook/classification.rst:611 -msgid "This operation is running between GEE and SEPAL servers in the background. You can close the SEPAL page without ending the process." +#: ../../source/cookbook/classification.rst:612 +msgid "" +"**Select a point**: To select a point, click on an existing marker. It " +"will appear bolder than the others. If it's not already the case, the " +"**Class selection** pane will appear in the upper right." msgstr "" #: ../../source/cookbook/classification.rst:613 -msgid "When the task is finished, the frame will be displayed in green, as shown in the second image below." +msgid "" +"**Change the class value**: The point class will be selected in the " +"**Editing** menu with a :icon:`fa-solid fa-check`. Select any other class" +" value to change it." msgstr "" -#: ../../source/cookbook/classification.rst:626 -msgid "Access" +#: ../../source/cookbook/classification.rst:616 +msgid "Check the validity" msgstr "" -#: ../../source/cookbook/classification.rst:628 -msgid "Once the download process is done, you can access the data in your **SEPAL folders**. The data will be stored in the :code:`Downloads` folder using the following format:" +#: ../../source/cookbook/classification.rst:618 +msgid "" +"SEPAL embeds information to help the user understand if the amount of " +"training data is sufficient to produce an accurate classification model. " +"In the **Recipe** window, select the :btn:`` button at " +"the bottom centre of the map to open the layer's options, then change the" +" **Bands** selector to :code:`Class probability`." msgstr "" -#: ../../source/cookbook/classification.rst:643 -msgid "Understanding how images are stored in an optical mosaic is only required if you want to manually use them. The SEPAL applications are bound to this tiling system and can digest this information for you." +#: ../../source/cookbook/classification.rst:620 +msgid "" +"The user now sees the probability of the model (i.e. the confidence level" +" of the output class for each pixel)." msgstr "" -#: ../../source/cookbook/classification.rst:645 -msgid "The data are stored in a folder using the name of the optical mosaic as it was created in the first section of this article. As the data are spatially too big to be exported at once, they are divided into smaller pieces and brought back together in a :code:`_.vrt` file." +#: ../../source/cookbook/classification.rst:622 +msgid "" +"If the value is high (> 80 percent), then the pixel can be considered " +"valid; if the value is low (< 80 percent), the model needs more training " +"data or extra bands to improve the analysis." msgstr "" -#: ../../source/cookbook/classification.rst:649 -msgid "The full folder with a consistent tree folder is required to read the `.vrt`." +#: ../../source/cookbook/classification.rst:624 +msgid "" +"In the example image, the lake is classified as a **permanent water " +"body** with a confidence of 65 percent, which is higher than the rest of " +"the vegetation around it." msgstr "" -#~ msgid "" -#~ "With this recipe, SEPAL will help " -#~ "users build a supervised classification " -#~ "of any mosaic image. It is built" -#~ " on top of the most advanced " -#~ "tools available on Google Earth Engine" -#~ " (including the classifiers CART, " -#~ "RandomForest, NaiveBayes and SVM), allowing" -#~ " users to create an easy-to-use" -#~ " user interface to:" -#~ msgstr "" +#: ../../source/cookbook/classification.rst:630 +msgid "" +"This analysis can also be conducted class-by-class using the built-in " +":code:` %` bands. Select the one corresponding to the class " +"you want to assess (see the following image) and you'll get the " +"percentage of confidence for each pixel to be in the sub-mentioned class." +msgstr "" -#~ msgid "select the image to classify" -#~ msgstr "" +#: ../../source/cookbook/classification.rst:637 +msgid "Export" +msgstr "" -#~ msgid "add training data from external sources and on the fly selection" -#~ msgstr "" +#: ../../source/cookbook/classification.rst:641 +msgid "" +"You cannot export a recipe as an asset or a :code:`.tif` file without a " +"small computation quota. If you are a new user, see " +":doc:`../setup/resource`." +msgstr "" -#~ msgid "" -#~ "Once the classification recipe is " -#~ "selected, SEPAL will show the recipe " -#~ "process in a new tab (1) and " +#: ../../source/cookbook/classification.rst:644 +msgid "Start download" +msgstr "" + +#: ../../source/cookbook/classification.rst:646 +msgid "" +"Selecting the :icon:`fa-solid fa-cloud-arrow-down` tab will open the " +"**Retrieve** pane where you can select the exportation parameters." +msgstr "" + +#: ../../source/cookbook/classification.rst:653 +msgid "Bands" +msgstr "" + +#: ../../source/cookbook/classification.rst:655 +msgid "" +"You need to select the band(s) to export. There is no maximum number of " +"bands, but exporting useless bands will only increase the size and time " +"of the output. The available bands include the classified Class band, the" +" Class probability band, and the per-class confidence " +"(:code:` %`) bands." +msgstr "" + +#: ../../source/cookbook/classification.rst:658 +msgid "Scale" +msgstr "" + +#: ../../source/cookbook/classification.rst:660 +msgid "" +"You can set a custom scale for exportation by selecting a value in metres" +" (m) (note that requesting a smaller resolution than the images' native " +"resolution will not improve the quality of the output – just its size – " +"keep in mind that the native resolution of Sentinel data is 10 m, while " +"Landsat is 30 m)." +msgstr "" + +#: ../../source/cookbook/classification.rst:663 +msgid "Destination" +msgstr "" + +#: ../../source/cookbook/classification.rst:665 +msgid "Choose a single destination for the export:" +msgstr "" + +#: ../../source/cookbook/classification.rst:667 +msgid "" +":guilabel:`SEPAL workspace`: the image is written to your SEPAL files in " +":code:`.tif` format (by default in the :code:`Downloads` folder)." +msgstr "" + +#: ../../source/cookbook/classification.rst:668 +msgid "" +":guilabel:`Google Earth Engine asset`: the image is exported to your GEE " +"account as an asset. You can export it either as a single " +":guilabel:`Image` or as an :guilabel:`Image collection` (tiled, which is " +"better suited to large exports), and set its sharing to " +":guilabel:`Private` or :guilabel:`Public`." +msgstr "" + +#: ../../source/cookbook/classification.rst:669 +msgid "" +":guilabel:`Google Drive`: the image is exported to the Google Drive of " +"the connected Google account." +msgstr "" + +#: ../../source/cookbook/classification.rst:673 +msgid "" +"The :guilabel:`Google Earth Engine asset` and :guilabel:`Google Drive` " +"destinations are only displayed when a Google account is connected to " +"SEPAL. If they are missing, please refer to `Connect SEPAL to GEE " +"<../setup/gee.html>`__." +msgstr "" + +#: ../../source/cookbook/classification.rst:675 +msgid "Select :guilabel:`Retrieve` to start the export process." +msgstr "" + +#: ../../source/cookbook/classification.rst:678 +msgid "Exportation status" +msgstr "" + +#: ../../source/cookbook/classification.rst:680 +msgid "" +"By going to the **Tasks** tab (in the lower-left corner using the :btn" +":`` or :btn:`` buttons, " +"depending on the loading status), you will see the list of different " +"loading tasks." +msgstr "" + +#: ../../source/cookbook/classification.rst:682 +msgid "" +"The interface will provide you with information about the task progress " +"and display an error if the exportation has failed. If you are " +"unsatisfied with the way we present information, the task can also be " +"monitored using the `GEE task manager " +"`__." +msgstr "" + +#: ../../source/cookbook/classification.rst:686 +msgid "" +"This operation is running between GEE and SEPAL servers in the " +"background. You can close the SEPAL page without ending the process." +msgstr "" + +#: ../../source/cookbook/classification.rst:688 +msgid "" +"When the task is finished, the frame will be displayed in green, as shown" +" in the second image below." +msgstr "" + +#: ../../source/cookbook/classification.rst:701 +msgid "Access" +msgstr "" + +#: ../../source/cookbook/classification.rst:703 +msgid "" +"Once the download process is done, you can access the data in your " +"**SEPAL folders**. The data will be stored in the :code:`Downloads` " +"folder using the following format:" +msgstr "" + +#: ../../source/cookbook/classification.rst:718 +msgid "" +"Understanding how images are stored in an optical mosaic is only required" +" if you want to manually use them. The SEPAL applications are bound to " +"this tiling system and can digest this information for you." +msgstr "" + +#: ../../source/cookbook/classification.rst:720 +msgid "" +"The data are stored in a folder using the name of the optical mosaic as " +"it was created in the first section of this article. As the data are " +"spatially too big to be exported at once, they are divided into smaller " +"pieces and brought back together in a :code:`_.vrt`" +" file." +msgstr "" + +#: ../../source/cookbook/classification.rst:724 +msgid "" +"The full folder with a consistent tree folder is required to read the " +"`.vrt`." +msgstr "" + +#~ msgid "" +#~ "With this recipe, SEPAL will help " +#~ "users build a supervised classification " +#~ "of any mosaic image. It is built" +#~ " on top of the most advanced " +#~ "tools available on Google Earth Engine" +#~ " (including the classifiers CART, " +#~ "RandomForest, NaiveBayes and SVM), allowing" +#~ " users to create an easy-to-use" +#~ " user interface to:" +#~ msgstr "" + +#~ msgid "select the image to classify" +#~ msgstr "" + +#~ msgid "add training data from external sources and on the fly selection" +#~ msgstr "" + +#~ msgid "" +#~ "Once the classification recipe is " +#~ "selected, SEPAL will show the recipe " +#~ "process in a new tab (1) and " #~ "the image selection window will appear" #~ " on the lower-right side (2)." #~ msgstr "" @@ -2394,3 +2956,444 @@ msgstr "" #~ "file." #~ msgstr "" +#~ msgid "" +#~ "With this recipe, SEPAL helps users " +#~ "build supervised classifications of any " +#~ "mosaic image. It is built on top" +#~ " of the most advanced tools available" +#~ " on Google Earth Engine (GEE) – " +#~ "including the classifiers CART, RandomForest," +#~ " NaiveBayes and SVM – allowing users" +#~ " to create an easy-to-use user" +#~ " interface to:" +#~ msgstr "" + +#~ msgid "define the class table; and" +#~ msgstr "" + +#~ msgid "" +#~ "In the lower-right corner, the " +#~ "following five tabs are available, " +#~ "allowing you to customize the time " +#~ "series to your needs:" +#~ msgstr "" + +#~ msgid "" +#~ "Users can select images coming from " +#~ "an **Existing recipe** or an exported" +#~ " **GEE asset** (see advantages and " +#~ "disadvantages below). Both should be an" +#~ " :code:`ee.Image`, rather than a " +#~ ":code:`Time series` or :code:`ee.ImageCollection`." +#~ msgstr "" + +#~ msgid "**Existing recipe**:" +#~ msgstr "" + +#~ msgid "**GEE asset**:" +#~ msgstr "" + +#~ msgid "" +#~ "For this example, we will use a" +#~ " public asset created with the " +#~ "**Optical mosaic** tool from SEPAL. It's" +#~ " a Sentinel-2 mosaic of Eastern " +#~ "Province in Zambia during the dry " +#~ "season from 2012 to 2020. Multiple " +#~ "bands are available." +#~ msgstr "" + +#~ msgid "" +#~ "Once an asset has been selected, " +#~ "SEPAL will load its bands in the" +#~ " interface. You can use any band " +#~ "that is native to the image as " +#~ "input for the classification process. " +#~ "Simply click on the band name to" +#~ " select them. The selected bands are" +#~ " summarized in the expansion panel " +#~ "title (**1**) and displayed in gold " +#~ "in the pane content (**2**)." +#~ msgstr "" + +#~ msgid ":code:`swir`" +#~ msgstr "" + +#~ msgid "" +#~ "Select :btn:` Derived" +#~ " bands` at the bottom of the " +#~ "pop-up window and select the deriving" +#~ " method. This will add a a new" +#~ " panel to the expansion panel with" +#~ " the selected method name (**1**). " +#~ "The selected method will be applied " +#~ "to the selected bands." +#~ msgstr "" + +#~ msgid "" +#~ "If more than two bands are " +#~ "selected, the operation will be applied" +#~ " to the Cartesian product of the " +#~ "bands. If you select bands :math:`A`," +#~ " :math:`B` and :math:`C`, and apply " +#~ "the :code:`Difference` derived bands, you'll" +#~ " add three bands to your analysis:" +#~ msgstr "" + +#~ msgid ":math:`A - B`" +#~ msgstr "" + +#~ msgid ":math:`A - C`" +#~ msgstr "" + +#~ msgid ":math:`B - C`" +#~ msgstr "" + +#~ msgid "" +#~ "Once image selection is complete, select" +#~ " :btn:` Apply` and" +#~ " the pop-up window will close. " +#~ "The images and bands will be " +#~ "displayed in the :guilabel:`IMG` panel " +#~ "in the lower-right corner of the" +#~ " screen. By selecting the :btn:`` button, you will " +#~ "remove the image and its band from" +#~ " the analysis altogether." +#~ msgstr "" + +#~ msgid "" +#~ "Once the fully qualified legend file " +#~ "has been prepared on your computer, " +#~ "select :btn:``" +#~ " and then :code:`Import from CSV`, " +#~ "which will open a pop-up window" +#~ " where you can drag and drop " +#~ "the file or select it manually " +#~ "from your computer files." +#~ msgstr "" + +#~ msgid "" +#~ "A file will be downloaded to you" +#~ " computer named :code:`_legend.csv`, " +#~ "which will contain the legend " +#~ "information in the following format:" +#~ msgstr "" + +#~ msgid "Select training data" +#~ msgstr "" + +#~ msgid "This step is not mandatory." +#~ msgstr "" + +#~ msgid "Collected reference data" +#~ msgstr "" + +#~ msgid "" +#~ "Collected reference data are data " +#~ "selected on the fly by the user." +#~ " The workflow will be explained later" +#~ " in the documentation." +#~ msgstr "" + +#~ msgid "" +#~ "In this pane, this type of data" +#~ " can be managed by the user. " +#~ "The data appear as a pair, " +#~ "associating coordinates to a class " +#~ "value, which will be used to " +#~ "create training data in the " +#~ "classification model." +#~ msgstr "" + +#~ msgid "" +#~ "If you're satisfied with the current " +#~ "selection and you want to share " +#~ "the data with others, select :btn" +#~ ":`` and then" +#~ " :code:`Export reference data to csv`. " +#~ "A file will be created and sent" +#~ " to your computer, named " +#~ ":code:`_reference_data.csv`. It will " +#~ "embed all of the gathered point " +#~ "data using the following convention:" +#~ msgstr "" + +#~ msgid "" +#~ "If you are not satisfied with the" +#~ " selected data, select :btn:`` and then :code:`Clear" +#~ " collected reference data` to remove " +#~ "all collected data from the analysis." +#~ msgstr "" + +#~ msgid "" +#~ "A confirmation pop-up window should " +#~ "prevent you from accidentally deleting " +#~ "everything." +#~ msgstr "" + +#~ msgid "Existing training data" +#~ msgstr "" + +#~ msgid "" +#~ "By selecting :btn:`csv file`, SEPAL will" +#~ " request a file from your computer" +#~ " in :code:`.csv` format. The file " +#~ "needs to include two pieces of " +#~ "information: geographic coordinates and class" +#~ " value." +#~ msgstr "" + +#~ msgid "" +#~ "If your file contains a GeoJSON " +#~ "column instead of coordinates, select " +#~ ":btn:`geojson column` to switch the " +#~ "interface to one column selection." +#~ msgstr "" + +#~ msgid "" +#~ "Now that you have set up the " +#~ "coordinates of your points, SEPAL will" +#~ " request the columns specifying the " +#~ "class value (not the name) in a" +#~ " second frame. Only the single column" +#~ " is supported so far. Select the " +#~ "column from your file that embeds " +#~ "the class values." +#~ msgstr "" + +#~ msgid "" +#~ "Using the :code:`row filter expression` " +#~ "text field, one can filter out " +#~ "some lines of the table. Refer to" +#~ " the `features <#>`__ section to " +#~ "learn more." +#~ msgstr "" + +#~ msgid "" +#~ "Select :btn:`" +#~ " next` to add the data to the" +#~ " model. SEPAL will provide a summary" +#~ " of the classes in the legend " +#~ "of the classification and the number " +#~ "of training points added by your " +#~ "file." +#~ msgstr "" + +#~ msgid "" +#~ "The process is nearly the same as" +#~ " found in the documentation above " +#~ "discussing .csv tables. The only " +#~ "difference should be the geometry " +#~ "column, as GEE assets usually embed " +#~ "a :code:`.goejson` column by default. If" +#~ " this column exists, it will be " +#~ "autodetected by SEPAL." +#~ msgstr "" + +#~ msgid "" +#~ "Start by selecting btn:`Sample classification`" +#~ " in the opened pop-up window, " +#~ "where all of the the parameters " +#~ "can be set:" +#~ msgstr "" + +#~ msgid "" +#~ "**Sample per class**: the number of " +#~ "samples per class of the provided " +#~ "image. The more samples you request, " +#~ "the more accurate the model will " +#~ "be (if too many samples are " +#~ "selected, on-the-fly visualization will" +#~ " never render; default to: :code:`1000`)." +#~ msgstr "" + +#~ msgid "" +#~ "**EE asset ID**: the ID of the " +#~ "classification to sample (it should be" +#~ " an :code:`ee.Image` accessible to the " +#~ "user)." +#~ msgstr "" + +#~ msgid "" +#~ "**Class band**: The class to use " +#~ "for classification value (the dropdown " +#~ "menu will be filled with the bands" +#~ " found in the provided asset)." +#~ msgstr "" + +#~ msgid "" +#~ "To reproduce this example, use the " +#~ "following asset as an image to " +#~ "sample: :code:`projects/sepal-" +#~ "cookbook/assets/classification/zmb_copernicus_landcover`." +#~ msgstr "" + +#~ msgid "" +#~ "Select the :btn:`` " +#~ "buttons (**1**) to change the number " +#~ "of samples in a specific class. By" +#~ " default, SEPAL ignores the samples " +#~ "with a :code:`Null` value. One can " +#~ "select :btn:`Default` (**2**) for any of" +#~ " the classes so that these points " +#~ "end up in the default class " +#~ "instead of being ignored." +#~ msgstr "" + +#~ msgid "random forest" +#~ msgstr "" + +#~ msgid "gradient tree boost" +#~ msgstr "" + +#~ msgid "cart" +#~ msgstr "" + +#~ msgid "naive bayes" +#~ msgstr "" + +#~ msgid "min distance" +#~ msgstr "" + +#~ msgid "decision tree" +#~ msgstr "" + +#~ msgid "" +#~ "This process requires a good " +#~ "understanding of the **Visualization** feature" +#~ " of SEPAL (refer to the `feature " +#~ "<#>`__ section for more information)." +#~ msgstr "" + +#~ msgid "" +#~ "Once all of the parameters are " +#~ "set, the user is free to add " +#~ "extra training data in the web " +#~ "interface and the new points will " +#~ "be added to the final model, " +#~ "improving the quality of the " +#~ "classification." +#~ msgstr "" + +#~ msgid "" +#~ "In order to improve the classification," +#~ " one must set up the view to" +#~ " display all of the information. " +#~ "While these guidelines could be modified" +#~ " and extended, they are still useful" +#~ " as an introductory resource." +#~ msgstr "" + +#~ msgid "" +#~ "The current image (what you are " +#~ "classifying) (**2**) using the NIR,RED,SWIR" +#~ " band combination." +#~ msgstr "" + +#~ msgid "" +#~ "To start adding points, open the " +#~ "training interface by selecting :btn:`` in the " +#~ "upper right of the screen (**1**). " +#~ "Once selected, the background color " +#~ "becomes darker and the pointer of " +#~ "the mouse becomes a :icon:`fa-solid " +#~ "fa-plus`." +#~ msgstr "" + +#~ msgid "" +#~ "You can now click elsewhere on the" +#~ " map to add another point. If " +#~ "you are satisfied with the " +#~ "classification, select :btn:` Close` (3) and select :btn" +#~ ":`` again " +#~ "to stop editing the points. Every " +#~ "time a new point is added, the " +#~ "**Classification** map is recomputed and " +#~ "rendered on the left side." +#~ msgstr "" + +#~ msgid "" +#~ "To modify existing points, select the" +#~ " :btn:`` to" +#~ " open the **Point editing** interface. " +#~ "Then:" +#~ msgstr "" + +#~ msgid "" +#~ "SEPAL embeds information to help the " +#~ "user understand if the amount of " +#~ "training data is sufficient to produce" +#~ " an accurate classification model. In " +#~ "the **Recipe** window, change the **Band" +#~ " combination** to :code:`Class probability`." +#~ msgstr "" + +#~ msgid "" +#~ "The user now sees the probability " +#~ "of the model (i.e. the confidence " +#~ "level of the level with output " +#~ "class for each pixel)." +#~ msgstr "" + +#~ msgid "" +#~ "You cannot export a recipe as an" +#~ " asset or a :code:`.tiff` file " +#~ "without a small computation quota. If" +#~ " you are a new user, see " +#~ ":doc:`../setup/resource`." +#~ msgstr "" + +#~ msgid "" +#~ "Selecting the :icon:`fa-solid fa-" +#~ "cloud-arrow-down` tab will open the" +#~ " **Retrieve** pane, where you can " +#~ "select the exportation parameters (**1**)." +#~ msgstr "" + +#~ msgid "" +#~ "You need to select the band to " +#~ "export (**2**). There is no maximum " +#~ "number of bands; however, exporting " +#~ "useless bands will only increase the " +#~ "size and time of the output." +#~ msgstr "" + +#~ msgid "" +#~ "You can set a custom scale for " +#~ "exportation (**3**) by changing the " +#~ "value of the slider in metres (m)." +#~ " (Note: Requesting a smaller resolution " +#~ "than images' native resolution will not" +#~ " improve the quality of the output" +#~ " – just its size; keep in mind" +#~ " that the native resolution of " +#~ "Sentinel data is 10 m, while " +#~ "Landsat is 30 m.)" +#~ msgstr "" + +#~ msgid "" +#~ "You can export the image to the" +#~ " :btn:`SEPAL workspace` or to the " +#~ ":btn:`Google Earth Engine Asset` list. " +#~ "The same image will be exported, " +#~ "but for the former, you will find" +#~ " it in :code:`.tif` format in the " +#~ ":code:`Downloads` folder; for the latter, " +#~ "the image will be exported to your" +#~ " **GEE account asset list**." +#~ msgstr "" + +#~ msgid "" +#~ "If :btn:`Google Earth Engine Asset` is" +#~ " not displayed, your GEE account is" +#~ " not connected to SEPAL. Refer to " +#~ "`Connect SEPAL to GEE <../setup/gee.html>`__." +#~ msgstr "" + +#~ msgid "Select :btn:` Apply` to start the download process." +#~ msgstr "" + diff --git a/docs/source/_locale/pt/LC_MESSAGES/cookbook/optical_mosaic.po b/docs/source/_locale/pt/LC_MESSAGES/cookbook/optical_mosaic.po index 75b9582caa..1ee916d176 100644 --- a/docs/source/_locale/pt/LC_MESSAGES/cookbook/optical_mosaic.po +++ b/docs/source/_locale/pt/LC_MESSAGES/cookbook/optical_mosaic.po @@ -1,22 +1,18 @@ + msgid "" msgstr "" -"Project-Id-Version: sepal-doc\n" +"Project-Id-Version: sepal-doc\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-03-07 09:39+0100\n" -"PO-Revision-Date: 2024-03-07 08:58\n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: 2024-03-07 08:58+0000\n" "Last-Translator: \n" +"Language: pt_PT\n" "Language-Team: Portuguese\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.14.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Crowdin-Project: sepal-doc\n" -"X-Crowdin-Project-ID: 562097\n" -"X-Crowdin-Language: pt-PT\n" -"X-Crowdin-File: /main/docs/source/_locale/en/LC_MESSAGES/cookbook/optical_mosaic.po\n" -"X-Crowdin-File-ID: 69\n" -"Language: pt_PT\n" +"Generated-By: Babel 2.18.0\n" #: ../../source/cookbook/optical_mosaic.rst:2 msgid "Optical mosaics" @@ -31,11 +27,17 @@ msgid "Overview" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:8 -msgid "A mosaic is a combination or fusion of two or more images. In SEPAL, you can create a single raster dataset from several raster datasets by mosaicing them together. This can be achieved on both contiguous rasters (see first image below) and overlapping images (see second image below)." +msgid "" +"A mosaic is a combination or fusion of two or more images. In SEPAL, you " +"can create a single raster dataset from several raster datasets by " +"mosaicing them together. This can be achieved on both contiguous rasters " +"(see first image below) and overlapping images (see second image below)." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:21 -msgid "These overlay areas can be managed in various ways. For example, you can choose to:" +msgid "" +"These overlay areas can be managed in various ways. For example, you can " +"choose to:" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:23 @@ -55,15 +57,23 @@ msgid "take the maximum or minimum value." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:28 -msgid "In addition, certain corrections can be made to the image to account for clouds, snow and other factors; these operations are complex and repetitive." +msgid "" +"In addition, certain corrections can be made to the image to account for " +"clouds, snow and other factors; these operations are complex and " +"repetitive." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:30 -msgid "SEPAL offers you an interactive and intuitive way to create mosaics in any area of interest (AOI)." +msgid "" +"SEPAL offers you an interactive and intuitive way to create mosaics in " +"any area of interest (AOI)." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:34 -msgid "You won't be able to retrieve the images if your SEPAL and Google Earth Engine (GEE) accounts are not connected. For more information, go to :doc:`../setup/gee`." +msgid "" +"You won't be able to retrieve the images if your SEPAL and Google Earth " +"Engine (GEE) accounts are not connected. For more information, go to " +":doc:`../setup/gee`." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:37 @@ -71,15 +81,25 @@ msgid "Start" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:39 -msgid "Once the mosaic recipe is selected, SEPAL will display the recipe process in a new tab (see **1** in the image below) and the **AOI selection** window will appear in the lower right (**2**)." +msgid "" +"Once the mosaic recipe is selected, SEPAL will display the recipe process" +" in a new tab (see **1** in the image below) and the **AOI selection** " +"window will appear in the lower right (**2**)." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:45 -msgid "The first step is to change the name of the recipe. This name will be used to identify your files and recipes in SEPAL folders. Use the best-suited convention for your needs. Simply double-click the tab and write a new name. It will default to :code:`Optical_mosaic___`." +msgid "" +"The first step is to change the name of the recipe. This name will be " +"used to identify your files and recipes in SEPAL folders. Use the best-" +"suited convention for your needs. Simply double-click the tab and write a" +" new name. It defaults to " +":code:`Optical_mosaic___`." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:57 -msgid "The SEPAL team recommends using the following naming convention: :code:`__`." +msgid "" +"The SEPAL team recommends using the following naming convention: " +":code:`__`." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:60 @@ -87,7 +107,9 @@ msgid "Parameters" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:62 -msgid "In the lower-right corner, five tabs are available, which allow you to customize the mosaic creation to your needs:" +msgid "" +"In the lower-right corner, five tabs are available, which allow you to " +"customize the mosaic creation to your needs:" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:64 @@ -115,7 +137,9 @@ msgid "AOI selection" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:77 -msgid "The data exported by the recipe will be generated from within the bounds of the AOI. There are multiple ways to select the AOI in SEPAL:" +msgid "" +"The data exported by the recipe will be generated from within the bounds " +"of the AOI. There are multiple ways to select the AOI in SEPAL:" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:79 @@ -131,7 +155,9 @@ msgid "Drawn polygons" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:83 -msgid "They are extensively described in our documentation. For more information, read :doc:`../feature/aoi_selector`." +msgid "" +"They are extensively described in our documentation. For more " +"information, read :doc:`../feature/aoi_selector`." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:90 @@ -143,7 +169,10 @@ msgid "Yearly mosaic" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:95 -msgid "In the :guilabel:`DAT` tab, select a year which pixels in the mosaic should come from. Then select the :icon:`fa-solid fa-check` :guilabel:`Apply` button." +msgid "" +"In the :guilabel:`DAT` tab, select a year which pixels in the mosaic " +"should come from. Then select the :icon:`fa-solid fa-check` " +":guilabel:`Apply` button." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:102 @@ -151,23 +180,40 @@ msgid "Seasonal mosaic" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:104 -msgid "Select :guilabel:`More` in the :guilabel:`DAT` panel to expand the date selection tool. Rather than selecting a year, you can select a season of interest." +msgid "" +"Select :guilabel:`More` in the :guilabel:`DAT` panel to expand the date " +"selection tool. Rather than selecting a year, you can select a season of " +"interest." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:106 -msgid "Select the :icon:`fa-solid fa-calendar` (**1**) to open the **Date selection** pop-up window. The selected date will be the target of the mosaic (i.e. the date from which pixels in the mosaic should ideally come from)." +msgid "" +"Select the :icon:`fa-solid fa-calendar` (**1**) to open the **Date " +"selection** pop-up window. The selected date will be the target of the " +"mosaic (i.e. the date from which pixels in the mosaic should ideally come" +" from)." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:108 -msgid "Using the main slider (**2**), define a season around the target date by identifying a start date and end date. SEPAL will then retrieve the mosaic images between those dates." +msgid "" +"Using the main slider (**2**), define a season around the target date by " +"identifying a start date and end date. SEPAL will then retrieve the " +"mosaic images between those dates." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:110 -msgid "The number of images in a single season of one year may not be enough to produce a correct mosaic. SEPAL provides two secondary sliders to increase the pool of images to create the mosaic. Both count the number of seasons SEPAL can retrieve in the past (:code:`Past season` - [**3**]) and in the future (:code:`Future season` - [**4**])." +msgid "" +"The number of images in a single season of one year may not be enough to " +"produce a correct mosaic. SEPAL provides two secondary sliders to " +"increase the pool of images to create the mosaic. Both count the number " +"of seasons SEPAL can retrieve in the past (:code:`Past season` - [**3**])" +" and in the future (:code:`Future season` - [**4**])." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:112 -msgid "When the selection is done, select the :icon:`fa-solid fa-check` :guilabel:`Apply` button." +msgid "" +"When the selection is done, select the :icon:`fa-solid fa-check` " +":guilabel:`Apply` button." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:119 @@ -175,504 +221,865 @@ msgid "Sources" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:121 -msgid "As mentioned in the introduction, a mosaic uses different raster datasets that can be obtained from multiple sources. SEPAL allows you to select data from multiple entry points. Below, you can find a description of these sources (select a link to see the corresponding dataset information):" +msgid "" +"As mentioned in the introduction, a mosaic combines raster datasets that " +"can come from multiple satellite sources. In the :guilabel:`SRC` tab, " +"select one or more **optical** data sources to build the mosaic from." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:123 -msgid ":guilabel:`L8`: `Landsat 8 Tier 1 `__. Landsat scenes with the highest available data quality are placed into **Tier 1** and considered suitable for time-series processing analysis. **Tier 1** includes Level-1 Precision Terrain (L1TP) processed data that have well-characterized radiometry and are intercalibrated across different Landsat sensors. The geo-registration of **Tier 1** scenes will be consistent and within prescribed tolerances (< = 12 m root mean square error [RMSE]). All **Tier 1** Landsat data can be considered consistent and intercalibrated (regardless of the sensor used) across the full collection." +msgid "**Landsat** scenes are distributed in two quality tiers:" +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:125 +msgid "" +"**Tier 1** holds the scenes with the highest data quality. They are " +"processed to Level-1 Precision Terrain (L1TP), have well-characterized " +"radiometry, are intercalibrated across the different Landsat sensors and " +"are geo-registered within prescribed tolerances (12 m root mean square " +"error [RMSE] or less). Tier 1 scenes are consistent across the full " +"collection and suitable for time-series analysis." +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:126 +msgid "" +"**Tier 2** (marked :guilabel:`T2`) holds scenes that do not meet the Tier" +" 1 criteria, for example because of significant cloud cover, insufficient" +" ground control or systematic-only terrain correction (L1GT/L1GS). They " +"can still be useful; analyze the RMSE and other properties to determine " +"their suitability for your study." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:127 -msgid ":guilabel:`L8 T2`: `Landsat 8 Tier 2 `__. Scenes not meeting **Tier 1** criteria during processing are assigned to **Tier 2**. This includes Systematic terrain (L1GT) and Systematic (L1GS) processed scenes, as well as any L1TP scenes that do not meet the **Tier 1** specifications due to significant cloud cover, insufficient ground control and other factors. Users interested in **Tier 2** scenes can analyze the RMSE and other properties to determine the suitability for use in individual applications and studies." +#: ../../source/cookbook/optical_mosaic.rst:128 +msgid "" +"The following optical sources are available (select a link to open the " +"corresponding Google Earth Engine dataset):" +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:130 +msgid "" +":guilabel:`L9`: `Landsat 9 `__ (Tier 1; from 2021)." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:131 -msgid ":guilabel:`L7`: `Landsat 7 Tier 1 `__. Landsat scenes with the highest available data quality are placed into **Tier 1** and are considered suitable for time-series processing analysis. **Tier 1** includes Level-1 Precision Terrain (L1TP) processed data that have well-characterized radiometry and are intercalibrated across different Landsat sensors. The geo-registration of **Tier 1** scenes will be consistent and within prescribed tolerances (< = 12 m RMSE). All **Tier 1** Landsat data can be considered consistent and intercalibrated across the full collection (regardless of the sensor used)." +msgid "" +":guilabel:`L8`: `Landsat 8 `__ (Tier 1; from 2013)." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:135 -msgid ":guilabel:`L7 T2`: `Landsat 7 Tier 2 `__. Scenes not meeting **Tier 1** criteria during processing are assigned to **Tier 2**. This includes Systematic terrain (L1GT) and Systematic (L1GS) processed scenes, as well as any L1TP scenes that do not meet the **Tier 1** specifications due to significant cloud cover, insufficient ground control and other factors. Users interested in **Tier 2** scenes can analyze the RMSE and other properties to determine the suitability for use in individual applications and studies." +#: ../../source/cookbook/optical_mosaic.rst:132 +msgid "" +":guilabel:`L7`: `Landsat 7 `__ (Tier 1; from 1999)." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:139 -msgid ":guilabel:`L4-5`: `Landsat 4 Tier 1 `__ combined with `Landsat 5 Tier 1 `__. Landsat scenes with the highest available data quality are placed into **Tier 1** and are considered suitable for time-series processing analysis. **Tier 1** includes Level-1 Precision Terrain (L1TP) processed data that have well-characterized radiometry and are intercalibrated across different Landsat sensors. The geo-registration of **Tier 1** scenes will be consistent and within prescribed tolerances (< = 12 m RMSE). All **Tier 1** Landsat data can be considered consistent and intercalibrated across the full collection (regardless of the sensor used)." +#: ../../source/cookbook/optical_mosaic.rst:133 +msgid "" +":guilabel:`L4-5`: `Landsat 4 `__ combined with `Landsat" +" 5 `__ (Tier 1; 1982–2012)." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:143 -msgid ":guilabel:`L4-5 T2`: `Landsat 4 TM Tier 2 `__ combined with `Landsat 5 TM Tier 2 `__. Scenes not meeting **Tier 1** criteria during processing are assigned to **Tier 2**. This includes Systematic terrain (L1GT) and Systematic (L1GS) processed scenes, as well as any L1TP scenes that do not meet the **Tier 1** specifications due to significant cloud cover, insufficient ground control and other factors. Users interested in **Tier 2** scenes can analyze the RMSE and other properties to determine the suitability for use in individual applications and studies." +#: ../../source/cookbook/optical_mosaic.rst:134 +msgid "" +":guilabel:`L9 T2`, :guilabel:`L8 T2`, :guilabel:`L7 T2`, :guilabel:`L4-5 " +"T2`: the **Tier 2** equivalents of the datasets listed above." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:147 -msgid ":guilabel:`A+B`: `Sentinel-2 Multispectral instrument `__ is a wide-swath, high-resolution, multispectral imaging mission supporting Copernicus Land Monitoring studies, including the monitoring of vegetation, soil and water cover, as well as the observation of inland waterways and coastal areas." +#: ../../source/cookbook/optical_mosaic.rst:135 +msgid "" +":guilabel:`S2`: `Sentinel-2 `__ (Sentinel-2A and " +"Sentinel-2B; from 2015). A wide-swath, high-resolution, multispectral " +"imaging mission supporting Copernicus Land Monitoring studies, including " +"the monitoring of vegetation, soil and water cover, as well as the " +"observation of inland waterways and coastal areas." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:153 -#: ../../source/cookbook/optical_mosaic.rst:170 -msgid "To validate your selection, select the :icon:`fa-solid fa-check` :guilabel:`Apply` button." +#: ../../source/cookbook/optical_mosaic.rst:139 +msgid "" +"SEPAL uses the Landsat **Collection 2** archive and the **harmonized** " +"Sentinel-2 collection." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:156 -msgid "Scenes" +#: ../../source/cookbook/optical_mosaic.rst:145 +msgid "" +"You can also restrict the imagery with the :code:`Max cloud cover %` " +"slider: scenes whose cloud cover is higher than this threshold are " +"excluded before the mosaic is built." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:160 -msgid "If Sentinel and Landsat data have been selected, you will be forced to use all scenes. As the tiling system from Sentinel and Landsat data are different, it's impossible to select scenes using the tool presented in the following sections." +#: ../../source/cookbook/optical_mosaic.rst:147 +msgid "" +"To validate your selection, select the :icon:`fa-solid fa-check` " +":guilabel:`Apply` button (labelled :guilabel:`Done` when you first create" +" the recipe through the setup wizard)." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:162 -msgid "You can use multiple options to select the best scenes for your mosaic. The most simple is to use every image available based on the date parameters. Select :guilabel:`Use all scenes` and all images will be integrated into the mosaic." +#: ../../source/cookbook/optical_mosaic.rst:150 +msgid "Scenes" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:164 -msgid "Choose :guilabel:`Select scenes` and choose one of the three available :code:`Priority` options, based on the needs of your analysis (SEPAL sorts the images available for each tile):" +#: ../../source/cookbook/optical_mosaic.rst:154 +msgid "" +"If Sentinel and Landsat data have been selected, you will be forced to " +"use all scenes. As the tiling system from Sentinel and Landsat data are " +"different, it's impossible to select scenes using the tool presented in " +"the following sections." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:166 -msgid ":guilabel:`Cloud free`: Prioritizes images with zero or few clouds." +#: ../../source/cookbook/optical_mosaic.rst:156 +msgid "" +"You can use multiple options to select the best scenes for your mosaic. " +"The most simple is to use every image available based on the date " +"parameters. Select :guilabel:`Use all scenes` and all images will be " +"integrated into the mosaic." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:167 -msgid ":guilabel:`Target date`: Prioritizes images that match the target date." +#: ../../source/cookbook/optical_mosaic.rst:158 +msgid "" +"Choose :guilabel:`Select scenes` and pick one of the three available " +":code:`Priority` options, based on the needs of your analysis (SEPAL " +"sorts the images available for each tile):" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:168 -msgid ":guilabel:`Balanced`: Prioritizes images that maximize both cloud and target date." +#: ../../source/cookbook/optical_mosaic.rst:160 +msgid "" +":guilabel:`Cloud free`: Prioritizes imagery as cloud-free as possible, " +"ignoring the date." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:177 -msgid "Composite" +#: ../../source/cookbook/optical_mosaic.rst:161 +msgid "" +":guilabel:`Balanced`: Prioritizes imagery that is neither too cloudy nor " +"too far from the target date." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:181 -msgid "This step is optional. SEPAL provides the following options by default:" +#: ../../source/cookbook/optical_mosaic.rst:162 +msgid "" +":guilabel:`Target date`: Prioritizes imagery as close as possible to the " +"target date." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:183 -msgid "**Correction**: :guilabel:`SR`, :guilabel:`BRDF`" +#: ../../source/cookbook/optical_mosaic.rst:164 +msgid "" +"To validate your selection, select the :icon:`fa-solid fa-check` " +":guilabel:`Apply` button." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:184 -msgid "**Pixel filters**: No filters" +#: ../../source/cookbook/optical_mosaic.rst:171 +msgid "Composite" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:185 -msgid "**Cloud detection**: :guilabel:`QA bands`, :guilabel:`Cloud score`" +#: ../../source/cookbook/optical_mosaic.rst:173 +msgid "" +"The :guilabel:`CMP` tab controls how the selected scenes are corrected, " +"how clouds and snow are masked, and how the final pixel values are " +"computed. The panel opens in a **simple** view showing the most common " +"options; select :guilabel:`More` to reveal the **advanced** options (and " +":guilabel:`Less` to hide them again)." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:186 -msgid "**Cloud masking**: :guilabel:`Moderate`" +#: ../../source/cookbook/optical_mosaic.rst:177 +msgid "This step is optional. By default, SEPAL applies:" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:187 -msgid "**Cloud buffering**: :guilabel:`None`" +#: ../../source/cookbook/optical_mosaic.rst:179 +msgid "**Corrections**: :guilabel:`SR` and :guilabel:`BRDF`" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:188 -msgid "**Snow masking**: :guilabel:`On`" +#: ../../source/cookbook/optical_mosaic.rst:180 +msgid "**Cloud masking**: :guilabel:`Moderate`" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:189 +#: ../../source/cookbook/optical_mosaic.rst:181 msgid "**Composing method**: :guilabel:`Medoid`" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:191 -msgid "To create a mosaic, provide SEPAL with the compositing method to create the final image. See the following image for all possible compositing options available." +#: ../../source/cookbook/optical_mosaic.rst:183 +msgid "" +"The advanced view additionally defaults to no pixel filters, no cloud " +"buffering and snow/ice masking turned on." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:198 -msgid "Corrections" +#: ../../source/cookbook/optical_mosaic.rst +msgid "Show the advanced view (opened with **More**)" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:200 -msgid "This will apply corrections on the stacked pixels to improve the quality of the mosaic." +#: ../../source/cookbook/optical_mosaic.rst:199 +msgid "Corrections" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:202 -msgid ":guilabel:`SR`: Surface reflectance improves comparison between multiple images over the same region by accounting for atmospheric effects such as aerosol scattering and thin clouds, which can help in the detection and characterization of Earth surface change. Top-of-atmosphere images are used if not selected." +#: ../../source/cookbook/optical_mosaic.rst:201 +msgid "" +"Corrections are applied to the stacked pixels to improve the quality of " +"the mosaic." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:203 -msgid ":guilabel:`BRDF`: Uses a bidirectional reflectance distribution function (BRDF) model to characterize surface reflectance anisotropy. For a given land area, the BRDF is established based on selected multi-angular observations of surface reflectance." +msgid "" +":guilabel:`SR`: Surface reflectance improves comparison between multiple " +"images over the same region by accounting for atmospheric effects such as" +" aerosol scattering and thin clouds, which can help in the detection and " +"characterization of Earth surface change. Top-of-atmosphere (TOA) images " +"are used if not selected." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:204 -msgid ":guilabel:`Calibrate`: Calibrates Sentinel and Landsat data to make them compatible." +msgid "" +":guilabel:`BRDF`: Uses a bidirectional reflectance distribution function " +"(BRDF) model to characterize surface reflectance anisotropy. For a given " +"land area, the BRDF is established based on selected multi-angular " +"observations of surface reflectance. When BRDF is enabled, the advanced " +"view shows a :code:`BRDF Multiplier` field that controls how much " +"correction is applied (values of 3–4 usually work well; lower it if the " +"effect is overcompensated, raise it if it is not compensated enough)." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:208 -msgid "This option is only available if:" +#: ../../source/cookbook/optical_mosaic.rst:205 +msgid "" +":guilabel:`Calibrate`: Calibrates the bands to improve a cross-sensor " +"mosaic." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:210 -msgid "Landsat and Sentinel data are mixed; and" +#: ../../source/cookbook/optical_mosaic.rst:209 +msgid "This option is only available if:" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:211 -msgid "BRDF and surface reflectance (SR) corrections are disabled." +msgid "Landsat and Sentinel-2 data are mixed; and" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:214 -msgid "Pixel filters" +#: ../../source/cookbook/optical_mosaic.rst:212 +msgid "surface reflectance (:guilabel:`SR`) correction is disabled." +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:215 +msgid "Cloud masking" +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:217 +msgid "" +"Controls how clouds are detected and masked. In the simple view, choose a" +" preset:" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:216 -msgid "Activating any of the filters will remove some pixels from the stack. Removing pixels improves the quality of the mosaic, as they are not taken into account in the median value computation." +#: ../../source/cookbook/optical_mosaic.rst:219 +msgid "" +":guilabel:`Moderate`: Relies only on the image source QA bands for cloud " +"masking." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:220 -msgid "Each filter is applied iteratively (e.g. if the normalized difference vegetation index [NDVI] is already filtering all pixels but one, there will be nothing left in the stack to be filtered by day of year)." +msgid "" +":guilabel:`Aggressive`: Relies on the image source QA bands together with" +" a cloud-scoring algorithm. This will probably mask out some built-up " +"areas and other bright features." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:222 -msgid "Note as well that adding filters significantly increases the creation time of the mosaic." +#: ../../source/cookbook/optical_mosaic.rst:221 +msgid "" +":guilabel:`Custom`: Automatically selected (and otherwise disabled) when " +"you fine-tune the individual cloud-masking algorithms in the advanced " +"view." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:224 -msgid "**Shadow**: Filters the XX percent darkest pixels of the stack." +#: ../../source/cookbook/optical_mosaic.rst:223 +msgid "" +"In the advanced view you can add and configure the individual cloud-" +"masking algorithms with the :icon:`fa-solid fa-plus` button. The " +"available algorithms depend on the sources you selected:" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:225 -msgid "**Haze**: Computes a haze index and filters the XX percent highest values." +msgid "" +":guilabel:`SEPAL cloud score`: SEPAL's own cloud-scoring algorithm, with " +"a configurable *maximum cloud probability*. Always available." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:226 -msgid "**NDVI**: Computes the NDVI and only keeps the XX percent highest values." +msgid "" +":guilabel:`S2 Cloud Score+`: Sentinel-2 Cloud Score+, with a *maximum " +"cloud probability* and a choice of scoring band — :guilabel:`cs` " +"(instantaneous clear-sky similarity) or :guilabel:`cs_cdf` (likelihood of" +" being clear over time). Sentinel-2 sources only." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:227 -msgid "**Day of the year**: Computes the distance from target day in days and filters out the XX percent farthest." +msgid "" +":guilabel:`S2 Cloud Probability`: the Sentinel-2 cloud-probability " +"dataset, with a configurable *maximum cloud probability*. Sentinel-2 " +"sources only." +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:228 +msgid "" +":guilabel:`Landsat CFMask`: the Landsat CFMask QA bands. You can set " +":code:`Cloud Masking`, :code:`Cloud Shadow Masking` and :code:`Cirrus " +"Masking` each to :guilabel:`Off`, :guilabel:`Moderate` or " +":guilabel:`Aggressive`, and choose whether to :guilabel:`Keep` or " +":guilabel:`Remove` dilated clouds. Landsat sources only." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:230 -msgid "Cloud detection" +#: ../../source/cookbook/optical_mosaic.rst:229 +msgid "" +":guilabel:`Pino 26`: the Pan-Tropical Sentinel-2 cloud-detection " +"algorithm developed by Dario Simonetti (for more information, see `D. " +"Simonetti [2021] `__). Only " +"available for a Sentinel-2-exclusive source when :guilabel:`SR` " +"correction is disabled." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:232 -msgid "Refers to the algorithm used to detect clouds." +msgid "Cloud buffering" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:234 -msgid ":guilabel:`QA bands`: Uses quality assessment (QA) bands to identify clouds in Sentinel data." +msgid "" +"(Advanced view.) When pixels are identified as clouds, SEPAL can also " +"mask a small buffer around them to prevent hazy pixels at the borders of " +"clouds from being included in the mosaic." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:235 -msgid ":guilabel:`Cloud score`: Uses the computed cloud score to identify clouds in Landsat data." +#: ../../source/cookbook/optical_mosaic.rst:238 +msgid "" +"Buffering is done at the pixel level, so using this option significantly " +"increases the creation time of the mosaic." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:236 -msgid ":guilabel:`Pino 26`: Uses the Pino_26 algorithm to identify clouds (for more information, see `D. Simonetti [2021] `__)." +#: ../../source/cookbook/optical_mosaic.rst:240 +msgid ":guilabel:`None`: Doesn't use cloud buffering." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:240 -msgid "This filter is only available for Sentinel exclusive source when both :guilabel:`BRDF` and :guilabel:`SR` correction are disabled." +#: ../../source/cookbook/optical_mosaic.rst:241 +msgid "" +":guilabel:`Moderate`: Masks an additional **120 m** around each larger " +"cloud." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:243 -msgid "Cloud masking" +#: ../../source/cookbook/optical_mosaic.rst:242 +msgid "" +":guilabel:`Aggressive`: Masks an additional **600 m** around each larger " +"cloud." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:245 -msgid "Controls how clouds will be masked based on the cloud detection algorithm selected." +msgid "Snow/ice masking" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:247 -msgid ":guilabel:`off`: Uses cloud-free pixels if possible, but doesn't mask areas without cloud-free pixels." -msgstr "" - -#: ../../source/cookbook/optical_mosaic.rst:248 -msgid ":guilabel:`moderate`: Relies only on image source QA bands for cloud masking (a moderate threshold is used)." +msgid "(Advanced view.) Defines how snowy or icy pixels are masked." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:249 -msgid ":guilabel:`aggressive`: Relies on image source QA bands and a cloud scoring algorithm for cloud masking with an aggressive threshold (this will probably mask out some built-up areas and other bright features)." +msgid "" +":guilabel:`On`: Masks snow. This tends to leave some pixels with shadowy " +"snow." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:252 -msgid "Cloud buffering" +#: ../../source/cookbook/optical_mosaic.rst:250 +msgid "" +":guilabel:`Off`: Doesn't mask snow. Note that some clouds might get " +"misclassified as snow; therefore, disabling snow masking might lead to " +"cloud artifacts." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:254 -msgid "When pixels are identified as clouds, SEPAL can remove pixels in a small buffer around it to prevent hazy pixels at the borders of clouds to be included in the mosaic." +#: ../../source/cookbook/optical_mosaic.rst:253 +msgid "Masked out pixels" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:258 -msgid "Buffering is done on the pixel level, so using this option will significantly increase the creation time of the mosaic." +#: ../../source/cookbook/optical_mosaic.rst:255 +msgid "" +"(Advanced view.) Controls whether a pixel can end up completely masked " +"when every available acquisition is cloudy and/or snowy." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:260 -msgid ":guilabel:`none`: Doesn't use cloud buffering." +#: ../../source/cookbook/optical_mosaic.rst:257 +msgid "" +":guilabel:`Prevent`: Prevents pixels from being completely masked out, " +"keeping the best available (possibly cloudy/snowy) value." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:261 -msgid ":guilabel:`moderate`: Masks an additional **120 m** around each larger cloud." +#: ../../source/cookbook/optical_mosaic.rst:258 +msgid "" +":guilabel:`Allow`: Allows pixels to be completely masked out, leaving " +"holes in the mosaic where no clear observation exists." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:262 -msgid ":guilabel:`aggressive`: Masks an additional **600 m** around each larger cloud." +#: ../../source/cookbook/optical_mosaic.rst:261 +msgid "Pixel filters" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:265 -msgid "Snow masking" +#: ../../source/cookbook/optical_mosaic.rst:263 +msgid "" +"(Advanced view.) Add filters with the :icon:`fa-solid fa-plus` button to " +"remove pixels from the stack before compositing. Each filter excludes a " +"percentage of the stack (set with a slider, defaulting to 50%); removing " +"low-quality pixels improves the quality of the mosaic." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:267 -msgid "Defines how snowy pixels will be masked." +msgid "" +"Each filter is applied iteratively (e.g. if the normalized difference " +"vegetation index [NDVI] is already filtering all pixels but one, there " +"will be nothing left in the stack to be filtered by date)." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:269 -msgid ":guilabel:`on`: Masks snow. This tends to leave some pixels with shadowy snow." +msgid "" +"Note as well that adding filters significantly increases the creation " +"time of the mosaic." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:270 -msgid ":guilabel:`off`: Doesn't mask snow. Note that some clouds might get misclassified as snow; therefore, disabling snow masking might lead to cloud artifacts." +#: ../../source/cookbook/optical_mosaic.rst:271 +msgid "" +"**Shadow**: Excludes the selected percentage of pixels with the most " +"shadow." +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:272 +msgid "" +"**Haze**: Excludes the selected percentage of pixels with the most haze. " +"Only available when :guilabel:`SR` correction is disabled." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:273 -msgid "Composing method" +msgid "**NDVI**: Excludes the selected percentage of pixels with the lowest NDVI." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:275 -msgid "After filtering the stack of pixels, SEPAL will compute the median value on the different bands of the image. The composing method will define how the final pixel value is extracted." +#: ../../source/cookbook/optical_mosaic.rst:274 +msgid "" +"**Date**: Excludes the selected percentage of pixels farthest from the " +"target date." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:277 -msgid ":guilabel:`Medoid`: Uses the closest pixel from the median value. As a real pixel from the stack, the final value will embed metadata (e.g. the date of observation)." +msgid "Sentinel-2 overlap" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:278 -msgid ":guilabel:`Median`: Uses the computed value of the median. If no pixel is matching this value, the pixel will not embed any metadata. It tends to produce smoother mosaics." +#: ../../source/cookbook/optical_mosaic.rst:279 +msgid "" +"(Advanced view; shown only when Sentinel-2 is selected.) Sentinel-2 " +"acquisitions overlap both between orbits and between neighbouring tiles, " +"which can result in duplicated observations." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:281 -msgid "Analysis" +msgid "" +"**Orbit Overlap**: :guilabel:`Keep` the overlap between Sentinel-2 orbits" +" (more data, better models) or :guilabel:`Remove` it." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:283 -msgid "After selecting the parameters, you can start interacting with the scenes and begin the analysis." +#: ../../source/cookbook/optical_mosaic.rst:282 +msgid "" +"**Tile Overlap**: :guilabel:`Keep` the overlap between Sentinel-2 tiles, " +":guilabel:`Quick remove` most of it, or :guilabel:`Remove` all of it. " +"Removing overlap adds an extra preprocessing step." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:285 -msgid "In the upper-right corner, three tabs are available, which allow you to customize the mosaic scene selection and export the final result:" +msgid "Composing method" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:287 -msgid ":btn:``: auto-select scenes" +msgid "" +"After filtering the stack of pixels, the composing method defines how the" +" final pixel value is extracted." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:288 -msgid ":btn:``: clear selected scenes" +#: ../../source/cookbook/optical_mosaic.rst:289 +msgid "" +":guilabel:`Medoid`: Uses the pixel closest to the median value. As a real" +" pixel from the stack, the final value embeds metadata (e.g. the date of " +"observation)." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:289 -msgid ":btn:``: retrieve mosaic" +#: ../../source/cookbook/optical_mosaic.rst:290 +msgid "" +":guilabel:`Median`: Uses the computed median value. If no pixel matches " +"this value, the pixel will not embed any metadata. It tends to produce " +"smoother mosaics." +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:293 +msgid "Analysis" +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:295 +msgid "" +"After selecting the parameters, you can start interacting with the scenes" +" and begin the analysis." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:297 -msgid "If you have not selected the option :guilabel:`Select scenes` in the :guilabel:`SCN` tab, the :icon:`fa-solid fa-wand-magic` button will be disabled and the scene areas will be hidden as no scene selection needs to be performed (see those with a number in a circle on the previous screenshot)." +msgid "" +"In the upper-right corner, three tabs are available, which allow you to " +"customize the mosaic scene selection and export the final result:" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:299 -msgid "If you can't see the image scene area, you probably have selected a small AOI. Zoom out on the map and you will see the number of available images in the circles." +msgid ":btn:``: auto-select scenes" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:302 -msgid "Select scenes" +#: ../../source/cookbook/optical_mosaic.rst:300 +msgid ":btn:``: clear selected scenes" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:304 -msgid "To create a mosaic, select the scenes that will be used to compute each pixel value of the mosaic. SEPAL provides a user-friendly interface that will guide you through the selection process. You don't have to select the stack for every pixel; instead, SEPAL will clip the AOI in smaller pieces called **Tiles**. These tiles correspond to the native tiling system of your dataset and are displayed on the map with circled numbers in their centroid. Each number corresponds to the number of scenes available to build the mosaic tile. Hover over these circles to see the tile boundaries appear." +#: ../../source/cookbook/optical_mosaic.rst:301 +msgid ":btn:``: retrieve mosaic" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:308 -msgid "Landsat and Sentinel datasets have a different grid system, which is why the selection process cannot be used if you have selected both of these datasets. If you have an idea related to the user interface (UI) that could make them work together, let us know in our `issue tracker `__." +#: ../../source/cookbook/optical_mosaic.rst:309 +msgid "" +"If you have not selected the option :guilabel:`Select scenes` in the " +":guilabel:`SCN` tab, the :icon:`fa-solid fa-wand-sparkles` button will be" +" disabled and the scene areas will be hidden as no scene selection needs " +"to be performed (see those with a number in a circle on the previous " +"screenshot)." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:311 +msgid "" +"If you can't see the image scene area, you probably have selected a small" +" AOI. Zoom out on the map and you will see the number of available images" +" in the circles." +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:314 +msgid "Select scenes" +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:316 +msgid "" +"To create a mosaic, select the scenes that will be used to compute each " +"pixel value of the mosaic. SEPAL provides a user-friendly interface that " +"will guide you through the selection process. You don't have to select " +"the stack for every pixel; instead, SEPAL will clip the AOI in smaller " +"pieces called **Tiles**. These tiles correspond to the native tiling " +"system of your dataset and are displayed on the map with circled numbers " +"in their centroid. Each number corresponds to the number of scenes " +"available to build the mosaic tile. Hover over these circles to see the " +"tile boundaries appear." +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:320 +msgid "" +"Landsat and Sentinel datasets have a different grid system, which is why " +"the selection process cannot be used if you have selected both of these " +"datasets. If you have an idea related to the user interface (UI) that " +"could make them work together, let us know in our `issue tracker " +"`__." +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:323 msgid "Auto-select scene" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:313 -msgid "Selecting the :icon:`fa-solid fa-wand-magic` tab will open the **Auto-selection** pane." +#: ../../source/cookbook/optical_mosaic.rst:325 +msgid "" +"Selecting the :icon:`fa-solid fa-wand-sparkles` tab will open the **Auto-" +"selection** pane." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:315 -msgid "Move the sliders to select the minimum and the maximum number of scenes SEPAL should select in a tile. Then, select the :guilabel:`Validate` button to apply the auto-select method." +#: ../../source/cookbook/optical_mosaic.rst:327 +msgid "" +"Move the sliders to set the :code:`Minimum number of scenes` and the " +":code:`Maximum number of scenes` SEPAL should select in a tile. Then, " +"select the :guilabel:`Select scenes` button to apply the auto-select " +"method." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:317 -msgid "SEPAL will use the priority defined in the :guilabel:`SCN` tab to order the scene and collect the optimal number for your request." +#: ../../source/cookbook/optical_mosaic.rst:329 +msgid "" +"SEPAL will use the priority defined in the :guilabel:`SCN` tab to order " +"the scene and collect the optimal number for your request." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:321 -msgid "The result is never perfect but can be used as a starting point for the manual selection of scenes." +#: ../../source/cookbook/optical_mosaic.rst:333 +msgid "" +"The result is never perfect but can be used as a starting point for the " +"manual selection of scenes." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:328 +#: ../../source/cookbook/optical_mosaic.rst:340 msgid "Clear all scenes" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:330 -msgid "If at least one scene is selected, the :icon:`fa-solid fa-trash` tab will be available. Select it to open the **Clear** pane." +#: ../../source/cookbook/optical_mosaic.rst:342 +msgid "" +"If at least one scene is selected, the :icon:`fa-solid fa-trash` tab will" +" be available. Select it to open the **Clear** pane." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:332 -msgid "Select :guilabel:`Clear scenes` to remove all manually and automatically selected scenes." +#: ../../source/cookbook/optical_mosaic.rst:344 +msgid "" +"Select :guilabel:`Clear scenes` to remove all manually and automatically " +"selected scenes." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:339 +#: ../../source/cookbook/optical_mosaic.rst:351 msgid "Manual selection" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:341 -msgid "To open the **Scene selection** menu, hover over a tile circled-number and select it (**1**). The window will be divided into two sections:" +#: ../../source/cookbook/optical_mosaic.rst:353 +msgid "" +"To open the **Scene selection** menu, hover over a tile circled-number " +"and select it (**1**). The window will be divided into two sections:" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:343 -msgid "**Available scene** (**2**): All the available scenes according to the parameters you selected. These scenes are ordered using the :code:`priority` parameter you set in the :guilabel:`SCN` tab." +#: ../../source/cookbook/optical_mosaic.rst:355 +msgid "" +"**Available scene** (**2**): All the available scenes according to the " +"parameters you selected. These scenes are ordered using the " +":code:`priority` parameter you set in the :guilabel:`SCN` tab." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:344 +#: ../../source/cookbook/optical_mosaic.rst:356 msgid "**Selected scenes** (**3**): The scenes that are currently selected." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:350 -msgid "Each thumbnail represents a scene of the tile stack. You have the option to include them in the mosaic. The scenes located on the left side are the **Available scenes**; the **Selected scenes** are on the right side. In both cases, the following information can be found on the thumbnail:" +#: ../../source/cookbook/optical_mosaic.rst:362 +msgid "" +"Each thumbnail represents a scene of the tile stack. You have the option " +"to include them in the mosaic. The scenes located on the left side are " +"the **Available scenes**; the **Selected scenes** are on the right side. " +"In both cases, the following information can be found on the thumbnail:" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:352 -msgid "A small preview of the scene in the *red, blue, green* band combination." +#: ../../source/cookbook/optical_mosaic.rst:364 +msgid "" +"A small preview of the scene in the *red, green, blue* (true-colour) band" +" combination." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:353 +#: ../../source/cookbook/optical_mosaic.rst:365 msgid "The exact date in YYYY-MM-DD of the scene." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:354 +#: ../../source/cookbook/optical_mosaic.rst:366 msgid "The satellite name :icon:`fa-solid fa-satellite-dish`." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:355 -msgid "The cloud coverage of the scene in percent and its position in the stack values :icon:`fa-solid fa-cloud`." +#: ../../source/cookbook/optical_mosaic.rst:367 +msgid "" +"The cloud coverage of the scene in percent and its position in the stack " +"values :icon:`fa-solid fa-cloud`." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:356 -msgid "The distance from target day in days within the season and its position in the stack values :icon:`fa-solid fa-calendar-check`." +#: ../../source/cookbook/optical_mosaic.rst:368 +msgid "" +"The distance from target day in days within the season and its position " +"in the stack values :icon:`fa-solid fa-calendar-check`." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:368 -msgid "You can decide to move the scene to the **Selected scene** area by selecting :icon:`fa-solid fa-plus`:guilabel:`Add` or moving it back to **Available scene** pane by selecting :icon:`fa-solid fa-minus` :guilabel:`Remove`." +#: ../../source/cookbook/optical_mosaic.rst:380 +msgid "" +"You can decide to move the scene to the **Selected scene** area by " +"selecting :icon:`fa-solid fa-plus` :guilabel:`Add` or moving it back to " +"the **Available scene** pane by selecting :icon:`fa-solid fa-minus` " +":guilabel:`Remove`." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:382 -msgid "Scenes are moved from one side to the other so they are not duplicated and cannot be selected twice. Be careful if your connection is slow; wait for the thumbnail to move before clicking again (if you click too fast, you could select two different images instead of one)." +#: ../../source/cookbook/optical_mosaic.rst:394 +msgid "" +"Scenes are moved from one side to the other so they are not duplicated " +"and cannot be selected twice. Be careful if your connection is slow; wait" +" for the thumbnail to move before clicking again (if you click too fast, " +"you could select two different images instead of one)." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:384 -msgid "Once you are happy with your selection, select the :guilabel:`Apply` button to close the window and use the selected scenes to compute the mosaic on this tile. When the window is closed, SEPAL resets the rendering of all tiles." +#: ../../source/cookbook/optical_mosaic.rst:396 +msgid "" +"Once you are happy with your selection, select the :guilabel:`Apply` " +"button to close the window and use the selected scenes to compute the " +"mosaic on this tile. When the window is closed, SEPAL resets the " +"rendering of all tiles." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:387 +#: ../../source/cookbook/optical_mosaic.rst:399 msgid "Retrieve" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:391 -msgid "You cannot export a recipe as an asset or a :code:`.tiff` file without a small computation quota. If you are a new user, see :doc:`../setup/resource`." +#: ../../source/cookbook/optical_mosaic.rst:403 +msgid "" +"You cannot export a recipe as an asset or a :code:`.tif` file without a " +"small computation quota. If you are a new user, see " +":doc:`../setup/resource`." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:393 -msgid "Selecting the :icon:`fa-solid fa-cloud-arrow-down` tab will open the **Retrieve** pane where you can select the exportation parameters." +#: ../../source/cookbook/optical_mosaic.rst:405 +msgid "" +"Selecting the :icon:`fa-solid fa-cloud-arrow-down` tab will open the " +"**Retrieve** pane where you can select the exportation parameters." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:400 +#: ../../source/cookbook/optical_mosaic.rst:412 msgid "Bands" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:402 -msgid "You need to select the band(s) to export with the mosaic. There is no maximum number of bands, but exporting useless bands will only increase the size and time of the output. To discover the full list of available bands with SEPAL, see :doc:`../feature/bands`." +#: ../../source/cookbook/optical_mosaic.rst:414 +msgid "" +"You need to select the band(s) to export with the mosaic. There is no " +"maximum number of bands, but exporting useless bands will only increase " +"the size and time of the output. To discover the full list of available " +"bands with SEPAL, see :doc:`../feature/optical_bands`." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:406 -msgid "There is no fixed rule to the band selection. Each index is more adapted to a set of analyses in a defined biome. The knowledge of the study area, the evolution expected and the careful selection of an adapted band combination will improve the quality of downstream analysis." +#: ../../source/cookbook/optical_mosaic.rst:418 +msgid "" +"There is no fixed rule to the band selection. Each index is more adapted " +"to a set of analyses in a defined biome. The knowledge of the study area," +" the evolution expected and the careful selection of an adapted band " +"combination will improve the quality of downstream analysis." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:409 +#: ../../source/cookbook/optical_mosaic.rst:421 msgid "Dates" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:411 -msgid ":guilabel:`dayofyear`: the Julian calendar date (day of the year)" +#: ../../source/cookbook/optical_mosaic.rst:423 +msgid ":guilabel:`dayOfYear`: the Julian calendar date (day of the year)" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:412 -msgid ":guilabel:`dayfromtarget`: the distance to the target date within the season in days" +#: ../../source/cookbook/optical_mosaic.rst:424 +msgid "" +":guilabel:`daysFromTarget`: the distance to the target date within the " +"season in days" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:415 +#: ../../source/cookbook/optical_mosaic.rst:428 +msgid "" +"These metadata bands are only available when the :guilabel:`Medoid` " +"composing method is used (the :guilabel:`Median` method produces " +"artificial pixels that carry no metadata)." +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:431 msgid "Scale" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:417 -msgid "You can set a custom scale for exportation by changing the value of the slider in metres (m) (note that requesting a smaller resolution than images' native resolution will not improve the quality of the output – just its size – keep in mind that the native resolution of Sentinel data is 10 m, while Landsat is 30 m.)" +#: ../../source/cookbook/optical_mosaic.rst:433 +msgid "" +"You can set a custom scale for exportation by selecting a value in metres" +" (m) (note that requesting a smaller resolution than the images' native " +"resolution will not improve the quality of the output – just its size – " +"keep in mind that the native resolution of Sentinel data is 10 m, while " +"Landsat is 30 m)." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:420 +#: ../../source/cookbook/optical_mosaic.rst:436 msgid "Destination" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:422 -msgid "You can export the image to the :guilabel:`SEPAL workspace` or to the ;guilabel:`Google Earth Engine Asset` folder. The same image will be exported to both; however, for the former, you will find it in :code:`.tif` format in the :code:`Downloads` folder; for the latter, the image will be exported to your GEE account asset list." +#: ../../source/cookbook/optical_mosaic.rst:438 +msgid "Choose a single destination for the export:" +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:440 +msgid "" +":guilabel:`SEPAL workspace`: the image is written to your SEPAL files in " +":code:`.tif` format (by default in the :code:`Downloads` folder)." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:426 -msgid "If :guilabel:`Google Earth Engine Asset` is not displayed, it means that your GEE account is not connected to SEPAL. Please refer to `Connect SEPAL to GEE <../setup/gee.html>`__." +#: ../../source/cookbook/optical_mosaic.rst:441 +msgid "" +":guilabel:`Google Earth Engine asset`: the image is exported to your GEE " +"account as an asset. You can export it either as a single " +":guilabel:`Image` or as an :guilabel:`Image collection` (tiled, which is " +"better suited to large exports), and set its sharing to " +":guilabel:`Private` or :guilabel:`Public`." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:428 -msgid "Select :guilabel:`Apply` to start the download process." +#: ../../source/cookbook/optical_mosaic.rst:442 +msgid "" +":guilabel:`Google Drive`: the image is exported to the Google Drive of " +"the connected Google account." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:431 +#: ../../source/cookbook/optical_mosaic.rst:446 +msgid "" +"The :guilabel:`Google Earth Engine asset` and :guilabel:`Google Drive` " +"destinations are only displayed when a Google account is connected to " +"SEPAL. If they are missing, please refer to `Connect SEPAL to GEE " +"<../setup/gee.html>`__." +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:448 +msgid "Select :guilabel:`Retrieve` to start the export process." +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:451 msgid "Exportation status" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:433 -msgid "In the **Tasks** tab (lower-left corner using the :icon:`fa-solid fa-list-check` or :icon:`fa-solid fa-spinner` buttons, depending on the loading status), you will see the list of the different loading tasks. The interface will provide you with information about task progress and display an error if the exportation has failed." +#: ../../source/cookbook/optical_mosaic.rst:453 +msgid "" +"In the **Tasks** tab (lower-left corner using the :icon:`fa-solid fa-" +"list-check` or :icon:`fa-solid fa-spinner` buttons, depending on the " +"loading status), you will see the list of the different loading tasks. " +"The interface will provide you with information about task progress and " +"display an error if the exportation has failed." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:435 -msgid "If you are unsatisfied with the way we present information, the task can also be monitored using the `GEE task manager `__." +#: ../../source/cookbook/optical_mosaic.rst:455 +msgid "" +"If you are unsatisfied with the way we present information, the task can " +"also be monitored using the `GEE task manager " +"`__." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:439 -msgid "This operation is running between GEE and SEPAL servers in the background. You can close the SEPAL page without stopping the process." +#: ../../source/cookbook/optical_mosaic.rst:459 +msgid "" +"This operation is running between GEE and SEPAL servers in the " +"background. You can close the SEPAL page without stopping the process." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:441 -msgid "When the task is finished, the frame will be displayed in green, as shown on the second image below." +#: ../../source/cookbook/optical_mosaic.rst:461 +msgid "" +"When the task is finished, the frame will be displayed in green, as shown" +" on the second image below." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:454 +#: ../../source/cookbook/optical_mosaic.rst:474 msgid "Access" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:456 -msgid "Once the download process is complete, you can access the data in your SEPAL folders. The data will be stored in the :code:`Downloads` folder using the following format:" +#: ../../source/cookbook/optical_mosaic.rst:476 +msgid "" +"Once the download process is complete, you can access the data in your " +"SEPAL folders. The data will be stored in the :code:`Downloads` folder " +"using the following format:" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:471 -msgid "Understanding how images are stored in an optical mosaic is only required if you want to manually use them. The SEPAL applications are bound to this tiling system and can digest the information for you." +#: ../../source/cookbook/optical_mosaic.rst:491 +msgid "" +"Understanding how images are stored in an optical mosaic is only required" +" if you want to manually use them. The SEPAL applications are bound to " +"this tiling system and can digest the information for you." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:473 -msgid "The data are stored in a folder using the name of the optical mosaic as it was created in the first section of this article. As the number of data is spatially too big to be exported at once, the data are divided into smaller pieces and brought back together in a :code:`_.vrt` file." +#: ../../source/cookbook/optical_mosaic.rst:493 +msgid "" +"The data are stored in a folder using the name of the optical mosaic as " +"it was created in the first section of this article. As the number of " +"data is spatially too big to be exported at once, the data are divided " +"into smaller pieces and brought back together in a :code:`_.vrt` file." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:477 -msgid "The full folder with a consistent tree folder is required to read the `.vrt`" +#: ../../source/cookbook/optical_mosaic.rst:497 +msgid "" +"The full folder with a consistent tree folder is required to read the " +"`.vrt`" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:481 -msgid "Now that you have downloaded the optical mosaic to your SEPAL and/or GEE account, it can be downloaded to your computer using `FileZilla <../setup.filezilla.html>`__ or used in other SEPAL workflows." +#: ../../source/cookbook/optical_mosaic.rst:501 +msgid "" +"Now that you have exported the optical mosaic to your SEPAL workspace, it" +" can be downloaded to your computer using `file exchange options " +"<../setup/filezilla.html>`__ or used in other SEPAL workflows." msgstr "" #~ msgid "Optical mosaic" @@ -1794,3 +2201,539 @@ msgstr "" #~ " SEPAL workflows." #~ msgstr "" +#~ msgid "" +#~ "The first step is to change the" +#~ " name of the recipe. This name " +#~ "will be used to identify your " +#~ "files and recipes in SEPAL folders. " +#~ "Use the best-suited convention for " +#~ "your needs. Simply double-click the " +#~ "tab and write a new name. It " +#~ "will default to " +#~ ":code:`Optical_mosaic___`." +#~ msgstr "" + +#~ msgid "" +#~ "As mentioned in the introduction, a " +#~ "mosaic uses different raster datasets " +#~ "that can be obtained from multiple " +#~ "sources. SEPAL allows you to select " +#~ "data from multiple entry points. Below," +#~ " you can find a description of " +#~ "these sources (select a link to " +#~ "see the corresponding dataset information):" +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`L8`: `Landsat 8 Tier 1 " +#~ "`__. Landsat " +#~ "scenes with the highest available data" +#~ " quality are placed into **Tier 1**" +#~ " and considered suitable for time-" +#~ "series processing analysis. **Tier 1** " +#~ "includes Level-1 Precision Terrain (L1TP) " +#~ "processed data that have well-" +#~ "characterized radiometry and are " +#~ "intercalibrated across different Landsat " +#~ "sensors. The geo-registration of **Tier" +#~ " 1** scenes will be consistent and" +#~ " within prescribed tolerances (< = 12" +#~ " m root mean square error [RMSE])." +#~ " All **Tier 1** Landsat data can " +#~ "be considered consistent and intercalibrated" +#~ " (regardless of the sensor used) " +#~ "across the full collection." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`L8 T2`: `Landsat 8 Tier 2 " +#~ "`__. Scenes " +#~ "not meeting **Tier 1** criteria during" +#~ " processing are assigned to **Tier " +#~ "2**. This includes Systematic terrain " +#~ "(L1GT) and Systematic (L1GS) processed " +#~ "scenes, as well as any L1TP scenes" +#~ " that do not meet the **Tier " +#~ "1** specifications due to significant " +#~ "cloud cover, insufficient ground control " +#~ "and other factors. Users interested in" +#~ " **Tier 2** scenes can analyze the" +#~ " RMSE and other properties to " +#~ "determine the suitability for use in " +#~ "individual applications and studies." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`L7`: `Landsat 7 Tier 1 " +#~ "`__. Landsat " +#~ "scenes with the highest available data" +#~ " quality are placed into **Tier 1**" +#~ " and are considered suitable for " +#~ "time-series processing analysis. **Tier 1**" +#~ " includes Level-1 Precision Terrain (L1TP)" +#~ " processed data that have well-" +#~ "characterized radiometry and are " +#~ "intercalibrated across different Landsat " +#~ "sensors. The geo-registration of **Tier" +#~ " 1** scenes will be consistent and" +#~ " within prescribed tolerances (< = 12" +#~ " m RMSE). All **Tier 1** Landsat " +#~ "data can be considered consistent and" +#~ " intercalibrated across the full collection" +#~ " (regardless of the sensor used)." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`L7 T2`: `Landsat 7 Tier 2 " +#~ "`__. Scenes " +#~ "not meeting **Tier 1** criteria during" +#~ " processing are assigned to **Tier " +#~ "2**. This includes Systematic terrain " +#~ "(L1GT) and Systematic (L1GS) processed " +#~ "scenes, as well as any L1TP scenes" +#~ " that do not meet the **Tier " +#~ "1** specifications due to significant " +#~ "cloud cover, insufficient ground control " +#~ "and other factors. Users interested in" +#~ " **Tier 2** scenes can analyze the" +#~ " RMSE and other properties to " +#~ "determine the suitability for use in " +#~ "individual applications and studies." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`L4-5`: `Landsat 4 Tier 1 " +#~ "`__ combined " +#~ "with `Landsat 5 Tier 1 " +#~ "`__. Landsat " +#~ "scenes with the highest available data" +#~ " quality are placed into **Tier 1**" +#~ " and are considered suitable for " +#~ "time-series processing analysis. **Tier 1**" +#~ " includes Level-1 Precision Terrain (L1TP)" +#~ " processed data that have well-" +#~ "characterized radiometry and are " +#~ "intercalibrated across different Landsat " +#~ "sensors. The geo-registration of **Tier" +#~ " 1** scenes will be consistent and" +#~ " within prescribed tolerances (< = 12" +#~ " m RMSE). All **Tier 1** Landsat " +#~ "data can be considered consistent and" +#~ " intercalibrated across the full collection" +#~ " (regardless of the sensor used)." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`L4-5 T2`: `Landsat 4 TM Tier" +#~ " 2 `__ combined " +#~ "with `Landsat 5 TM Tier 2 " +#~ "`__. Scenes " +#~ "not meeting **Tier 1** criteria during" +#~ " processing are assigned to **Tier " +#~ "2**. This includes Systematic terrain " +#~ "(L1GT) and Systematic (L1GS) processed " +#~ "scenes, as well as any L1TP scenes" +#~ " that do not meet the **Tier " +#~ "1** specifications due to significant " +#~ "cloud cover, insufficient ground control " +#~ "and other factors. Users interested in" +#~ " **Tier 2** scenes can analyze the" +#~ " RMSE and other properties to " +#~ "determine the suitability for use in " +#~ "individual applications and studies." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`A+B`: `Sentinel-2 Multispectral " +#~ "instrument `__ is a " +#~ "wide-swath, high-resolution, multispectral " +#~ "imaging mission supporting Copernicus Land " +#~ "Monitoring studies, including the monitoring" +#~ " of vegetation, soil and water cover," +#~ " as well as the observation of " +#~ "inland waterways and coastal areas." +#~ msgstr "" + +#~ msgid "" +#~ "Choose :guilabel:`Select scenes` and choose" +#~ " one of the three available " +#~ ":code:`Priority` options, based on the " +#~ "needs of your analysis (SEPAL sorts " +#~ "the images available for each tile):" +#~ msgstr "" + +#~ msgid ":guilabel:`Cloud free`: Prioritizes images with zero or few clouds." +#~ msgstr "" + +#~ msgid ":guilabel:`Target date`: Prioritizes images that match the target date." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`Balanced`: Prioritizes images that " +#~ "maximize both cloud and target date." +#~ msgstr "" + +#~ msgid "This step is optional. SEPAL provides the following options by default:" +#~ msgstr "" + +#~ msgid "**Correction**: :guilabel:`SR`, :guilabel:`BRDF`" +#~ msgstr "" + +#~ msgid "**Pixel filters**: No filters" +#~ msgstr "" + +#~ msgid "**Cloud detection**: :guilabel:`QA bands`, :guilabel:`Cloud score`" +#~ msgstr "" + +#~ msgid "**Cloud buffering**: :guilabel:`None`" +#~ msgstr "" + +#~ msgid "**Snow masking**: :guilabel:`On`" +#~ msgstr "" + +#~ msgid "" +#~ "To create a mosaic, provide SEPAL " +#~ "with the compositing method to create" +#~ " the final image. See the following" +#~ " image for all possible compositing " +#~ "options available." +#~ msgstr "" + +#~ msgid "" +#~ "This will apply corrections on the " +#~ "stacked pixels to improve the quality" +#~ " of the mosaic." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`SR`: Surface reflectance improves " +#~ "comparison between multiple images over " +#~ "the same region by accounting for " +#~ "atmospheric effects such as aerosol " +#~ "scattering and thin clouds, which can" +#~ " help in the detection and " +#~ "characterization of Earth surface change. " +#~ "Top-of-atmosphere images are used " +#~ "if not selected." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`BRDF`: Uses a bidirectional " +#~ "reflectance distribution function (BRDF) model" +#~ " to characterize surface reflectance " +#~ "anisotropy. For a given land area, " +#~ "the BRDF is established based on " +#~ "selected multi-angular observations of " +#~ "surface reflectance." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`Calibrate`: Calibrates Sentinel and " +#~ "Landsat data to make them compatible." +#~ msgstr "" + +#~ msgid "Landsat and Sentinel data are mixed; and" +#~ msgstr "" + +#~ msgid "BRDF and surface reflectance (SR) corrections are disabled." +#~ msgstr "" + +#~ msgid "" +#~ "Activating any of the filters will " +#~ "remove some pixels from the stack. " +#~ "Removing pixels improves the quality of" +#~ " the mosaic, as they are not " +#~ "taken into account in the median " +#~ "value computation." +#~ msgstr "" + +#~ msgid "" +#~ "Each filter is applied iteratively (e.g." +#~ " if the normalized difference vegetation" +#~ " index [NDVI] is already filtering " +#~ "all pixels but one, there will be" +#~ " nothing left in the stack to " +#~ "be filtered by day of year)." +#~ msgstr "" + +#~ msgid "**Shadow**: Filters the XX percent darkest pixels of the stack." +#~ msgstr "" + +#~ msgid "" +#~ "**Haze**: Computes a haze index and " +#~ "filters the XX percent highest values." +#~ msgstr "" + +#~ msgid "" +#~ "**NDVI**: Computes the NDVI and only " +#~ "keeps the XX percent highest values." +#~ msgstr "" + +#~ msgid "" +#~ "**Day of the year**: Computes the " +#~ "distance from target day in days " +#~ "and filters out the XX percent " +#~ "farthest." +#~ msgstr "" + +#~ msgid "Cloud detection" +#~ msgstr "" + +#~ msgid "Refers to the algorithm used to detect clouds." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`QA bands`: Uses quality assessment" +#~ " (QA) bands to identify clouds in " +#~ "Sentinel data." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`Cloud score`: Uses the computed " +#~ "cloud score to identify clouds in " +#~ "Landsat data." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`Pino 26`: Uses the Pino_26 " +#~ "algorithm to identify clouds (for more" +#~ " information, see `D. Simonetti [2021] " +#~ "`__)." +#~ msgstr "" + +#~ msgid "" +#~ "This filter is only available for " +#~ "Sentinel exclusive source when both " +#~ ":guilabel:`BRDF` and :guilabel:`SR` correction " +#~ "are disabled." +#~ msgstr "" + +#~ msgid "" +#~ "Controls how clouds will be masked " +#~ "based on the cloud detection algorithm" +#~ " selected." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`off`: Uses cloud-free pixels " +#~ "if possible, but doesn't mask areas " +#~ "without cloud-free pixels." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`moderate`: Relies only on image " +#~ "source QA bands for cloud masking " +#~ "(a moderate threshold is used)." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`aggressive`: Relies on image source" +#~ " QA bands and a cloud scoring " +#~ "algorithm for cloud masking with an " +#~ "aggressive threshold (this will probably " +#~ "mask out some built-up areas and" +#~ " other bright features)." +#~ msgstr "" + +#~ msgid "" +#~ "When pixels are identified as clouds," +#~ " SEPAL can remove pixels in a " +#~ "small buffer around it to prevent " +#~ "hazy pixels at the borders of " +#~ "clouds to be included in the " +#~ "mosaic." +#~ msgstr "" + +#~ msgid "" +#~ "Buffering is done on the pixel " +#~ "level, so using this option will " +#~ "significantly increase the creation time " +#~ "of the mosaic." +#~ msgstr "" + +#~ msgid ":guilabel:`none`: Doesn't use cloud buffering." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`moderate`: Masks an additional " +#~ "**120 m** around each larger cloud." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`aggressive`: Masks an additional " +#~ "**600 m** around each larger cloud." +#~ msgstr "" + +#~ msgid "Snow masking" +#~ msgstr "" + +#~ msgid "Defines how snowy pixels will be masked." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`on`: Masks snow. This tends " +#~ "to leave some pixels with shadowy " +#~ "snow." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`off`: Doesn't mask snow. Note " +#~ "that some clouds might get misclassified" +#~ " as snow; therefore, disabling snow " +#~ "masking might lead to cloud artifacts." +#~ msgstr "" + +#~ msgid "" +#~ "After filtering the stack of pixels, " +#~ "SEPAL will compute the median value " +#~ "on the different bands of the " +#~ "image. The composing method will define" +#~ " how the final pixel value is " +#~ "extracted." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`Medoid`: Uses the closest pixel " +#~ "from the median value. As a real" +#~ " pixel from the stack, the final " +#~ "value will embed metadata (e.g. the " +#~ "date of observation)." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`Median`: Uses the computed value" +#~ " of the median. If no pixel is" +#~ " matching this value, the pixel will" +#~ " not embed any metadata. It tends " +#~ "to produce smoother mosaics." +#~ msgstr "" + +#~ msgid ":btn:``: auto-select scenes" +#~ msgstr "" + +#~ msgid "" +#~ "If you have not selected the " +#~ "option :guilabel:`Select scenes` in the " +#~ ":guilabel:`SCN` tab, the :icon:`fa-solid " +#~ "fa-wand-magic` button will be " +#~ "disabled and the scene areas will " +#~ "be hidden as no scene selection " +#~ "needs to be performed (see those " +#~ "with a number in a circle on " +#~ "the previous screenshot)." +#~ msgstr "" + +#~ msgid "" +#~ "Selecting the :icon:`fa-solid fa-" +#~ "wand-magic` tab will open the " +#~ "**Auto-selection** pane." +#~ msgstr "" + +#~ msgid "" +#~ "Move the sliders to select the " +#~ "minimum and the maximum number of " +#~ "scenes SEPAL should select in a " +#~ "tile. Then, select the :guilabel:`Validate`" +#~ " button to apply the auto-select " +#~ "method." +#~ msgstr "" + +#~ msgid "" +#~ "A small preview of the scene in" +#~ " the *red, blue, green* band " +#~ "combination." +#~ msgstr "" + +#~ msgid "" +#~ "You can decide to move the scene" +#~ " to the **Selected scene** area by" +#~ " selecting :icon:`fa-solid fa-" +#~ "plus`:guilabel:`Add` or moving it back " +#~ "to **Available scene** pane by selecting" +#~ " :icon:`fa-solid fa-minus` " +#~ ":guilabel:`Remove`." +#~ msgstr "" + +#~ msgid "" +#~ "You cannot export a recipe as an" +#~ " asset or a :code:`.tiff` file " +#~ "without a small computation quota. If" +#~ " you are a new user, see " +#~ ":doc:`../setup/resource`." +#~ msgstr "" + +#~ msgid "" +#~ "You need to select the band(s) to" +#~ " export with the mosaic. There is " +#~ "no maximum number of bands, but " +#~ "exporting useless bands will only " +#~ "increase the size and time of the" +#~ " output. To discover the full list" +#~ " of available bands with SEPAL, see" +#~ " :doc:`../feature/bands`." +#~ msgstr "" + +#~ msgid ":guilabel:`dayofyear`: the Julian calendar date (day of the year)" +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`dayfromtarget`: the distance to the" +#~ " target date within the season in " +#~ "days" +#~ msgstr "" + +#~ msgid "" +#~ "You can set a custom scale for " +#~ "exportation by changing the value of " +#~ "the slider in metres (m) (note " +#~ "that requesting a smaller resolution " +#~ "than images' native resolution will not" +#~ " improve the quality of the output" +#~ " – just its size – keep in " +#~ "mind that the native resolution of " +#~ "Sentinel data is 10 m, while " +#~ "Landsat is 30 m.)" +#~ msgstr "" + +#~ msgid "" +#~ "You can export the image to the" +#~ " :guilabel:`SEPAL workspace` or to the " +#~ ";guilabel:`Google Earth Engine Asset` folder." +#~ " The same image will be exported " +#~ "to both; however, for the former, " +#~ "you will find it in :code:`.tif` " +#~ "format in the :code:`Downloads` folder; " +#~ "for the latter, the image will be" +#~ " exported to your GEE account asset" +#~ " list." +#~ msgstr "" + +#~ msgid "" +#~ "If :guilabel:`Google Earth Engine Asset` " +#~ "is not displayed, it means that " +#~ "your GEE account is not connected " +#~ "to SEPAL. Please refer to `Connect " +#~ "SEPAL to GEE <../setup/gee.html>`__." +#~ msgstr "" + +#~ msgid "Select :guilabel:`Apply` to start the download process." +#~ msgstr "" + +#~ msgid "" +#~ "Now that you have downloaded the " +#~ "optical mosaic to your SEPAL and/or " +#~ "GEE account, it can be downloaded " +#~ "to your computer using `FileZilla " +#~ "<../setup.filezilla.html>`__ or used in other" +#~ " SEPAL workflows." +#~ msgstr "" + diff --git a/docs/source/_locale/pt/LC_MESSAGES/cookbook/time_series.po b/docs/source/_locale/pt/LC_MESSAGES/cookbook/time_series.po index 837140762e..3470a190db 100644 --- a/docs/source/_locale/pt/LC_MESSAGES/cookbook/time_series.po +++ b/docs/source/_locale/pt/LC_MESSAGES/cookbook/time_series.po @@ -1,29 +1,27 @@ + msgid "" msgstr "" -"Project-Id-Version: sepal-doc\n" +"Project-Id-Version: sepal-doc\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-03-07 09:39+0100\n" -"PO-Revision-Date: 2024-03-07 08:58\n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: 2024-03-07 08:58+0000\n" "Last-Translator: \n" +"Language: pt_PT\n" "Language-Team: Portuguese\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.14.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Crowdin-Project: sepal-doc\n" -"X-Crowdin-Project-ID: 562097\n" -"X-Crowdin-Language: pt-PT\n" -"X-Crowdin-File: /main/docs/source/_locale/en/LC_MESSAGES/cookbook/time_series.po\n" -"X-Crowdin-File-ID: 75\n" -"Language: pt_PT\n" +"Generated-By: Babel 2.18.0\n" #: ../../source/cookbook/time_series.rst:2 msgid "Time series" msgstr "" #: ../../source/cookbook/time_series.rst:4 -msgid "*Create and retrieve SITS to study patterns and key changes in landscape evolution over time*" +msgid "" +"*Create and retrieve SITS to study patterns and key changes in landscape " +"evolution over time*" msgstr "" #: ../../source/cookbook/time_series.rst:7 @@ -31,23 +29,48 @@ msgid "Overview" msgstr "" #: ../../source/cookbook/time_series.rst:9 -msgid "A Satellite Image Time Series (SITS) is a set of satellite images taken of the same scene at different times. A SITS makes use of different satellite sources to obtain a larger data series with a short time interval between two images. In this case, it is fundamental to observe the spatial resolution and registration constraints." +msgid "" +"A Satellite Image Time Series (SITS) is a set of satellite images taken " +"of the same scene at different times. A SITS makes use of different " +"satellite sources to obtain a larger data series with a short time " +"interval between two images. In this case, it is fundamental to observe " +"the spatial resolution and registration constraints." msgstr "" #: ../../source/cookbook/time_series.rst:11 -msgid "Satellite observations offer opportunities for understanding how the Earth is changing, determining the causes of these changes and predicting future changes. Remotely sensed data, combined with information from ecosystem models, offer an opportunity for predicting and understanding the behaviour of Earth's ecosystems. Sensors with high spatial and temporal resolutions make the observation of precise spatio-temporal structures in dynamic scenes more accessible. Temporal components integrated with spectral and spatial dimensions allow the identification of complex patterns concerning applications connected with environmental monitoring and analysis of land cover dynamics." +msgid "" +"Satellite observations offer opportunities for understanding how the " +"Earth is changing, determining the causes of these changes and predicting" +" future changes. Remotely sensed data, combined with information from " +"ecosystem models, offer an opportunity for predicting and understanding " +"the behaviour of Earth's ecosystems. Sensors with high spatial and " +"temporal resolutions make the observation of precise spatio-temporal " +"structures in dynamic scenes more accessible. Temporal components " +"integrated with spectral and spatial dimensions allow the identification " +"of complex patterns concerning applications connected with environmental " +"monitoring and analysis of land cover dynamics." msgstr "" #: ../../source/cookbook/time_series.rst:13 -msgid "Change detection can only provide a \"before and after\" scenario; a time-series analysis provides an opportunity to study patterns and key changes in the landscape evolution over time." +msgid "" +"Change detection can only provide a \"before and after\" scenario; a " +"time-series analysis provides an opportunity to study patterns and key " +"changes in the landscape evolution over time." msgstr "" #: ../../source/cookbook/time_series.rst:15 -msgid "This SEPAL recipe allows users to create and retrieve SITS based on `Landsat `__ and `Copernicus `__ programmes' imagery using the Google Earth Engine (GEE) datacube." +msgid "" +"This SEPAL recipe allows users to create and retrieve SITS based on " +"`Landsat `__ and `Copernicus `__ programmes' " +"imagery using the Google Earth Engine (GEE) datacube." msgstr "" #: ../../source/cookbook/time_series.rst:19 -msgid "You won't be able to download images if your SEPAL and GEE account aren't connected. To learn more, go to `Connect SEPAL to GEE <../setup/gee.html>`__." +msgid "" +"You won't be able to download images if your SEPAL and GEE account aren't" +" connected. To learn more, go to `Connect SEPAL to GEE " +"<../setup/gee.html>`__." msgstr "" #: ../../source/cookbook/time_series.rst:22 @@ -55,15 +78,27 @@ msgid "Start" msgstr "" #: ../../source/cookbook/time_series.rst:24 -msgid "Once the **Time series** recipe is selected, SEPAL will open the recipe process in a new tab (see **1** in the following figure). The base map will change to Google high-resolution imagery and the **Area of interest (AOI)** selection window will appear in the lower right (**2**)." +msgid "" +"Once the **Time series** recipe is selected, SEPAL will open the recipe " +"process in a new tab (see **1** in the following figure). The base map " +"will change to Google high-resolution imagery and the **Area of interest " +"(AOI)** selection window will appear in the lower right (**2**)." msgstr "" #: ../../source/cookbook/time_series.rst:30 -msgid "The first step is to change the name of the recipe. This name will be used to identify your files and recipes in the SEPAL folders. Use the best-suited convention for your needs. Simply double-click the tab and enter a new name. It will default to :code:`Time_series___`." +msgid "" +"The first step is to change the name of the recipe. This name will be " +"used to identify your files and recipes in the SEPAL folders. Use the " +"best-suited convention for your needs. Simply double-click the tab and " +"enter a new name. It will default to " +":code:`Time_series___`." msgstr "" #: ../../source/cookbook/time_series.rst:42 -msgid "The SEPAL team recommends using the following naming convention: :code:`___` (e.g. :code:`sgp_2012-2018_ndfi_l78`)." +msgid "" +"The SEPAL team recommends using the following naming convention: " +":code:`___` (e.g. " +":code:`sgp_2012-2018_ndfi_l78`)." msgstr "" #: ../../source/cookbook/time_series.rst:45 @@ -72,7 +107,9 @@ msgid "Parameters" msgstr "" #: ../../source/cookbook/time_series.rst:47 -msgid "In the lower-right corner, four tabs are available, allowing you to customize the time series to your needs:" +msgid "" +"In the lower-right corner, four tabs are available, allowing you to " +"customize the time series to your needs:" msgstr "" #: ../../source/cookbook/time_series.rst:49 @@ -96,7 +133,9 @@ msgid "AOI selection" msgstr "" #: ../../source/cookbook/time_series.rst:61 -msgid "The data exported by the recipe will be confined to the bounds of the AOI. There are multiple ways to select the AOI in SEPAL:" +msgid "" +"The data exported by the recipe will be confined to the bounds of the " +"AOI. There are multiple ways to select the AOI in SEPAL:" msgstr "" #: ../../source/cookbook/time_series.rst:63 @@ -120,7 +159,12 @@ msgid "Dates" msgstr "" #: ../../source/cookbook/time_series.rst:76 -msgid "In the :guilabel:`DAT` tab, you will be asked to select the start date and end date of the time series. Select the **Date** text field to open a pop-up window. Choose the :btn:` Select` button to choose a date. When both dates have been chosen, select the :btn:` Apply` button." +msgid "" +"In the :guilabel:`DAT` tab, you will be asked to select the start date " +"and end date of the time series. Select the **Date** text field to open a" +" pop-up window. Choose the :btn:` Select` button to " +"choose a date. When both dates have been chosen, select the :btn:` Apply` button." msgstr "" #: ../../source/cookbook/time_series.rst:89 @@ -128,11 +172,18 @@ msgid "Sources" msgstr "" #: ../../source/cookbook/time_series.rst:91 -msgid "As mentioned in the introduction, a SITS makes use of different satellite sources to obtain a larger data series with a shorter time interval between the images. To meet this objective, SEPAL allows you to select data from multiple entry points. You can select multiple sources from :btn:`Radar`, :btn:`Optical` or :btn:`Planet` datasets." +msgid "" +"As mentioned in the introduction, a SITS makes use of different satellite" +" sources to obtain a larger data series with a shorter time interval " +"between the images. To meet this objective, SEPAL allows you to select " +"data from multiple entry points. You can select multiple sources from " +":btn:`Radar`, :btn:`Optical` or :btn:`Planet` datasets." msgstr "" #: ../../source/cookbook/time_series.rst:93 -msgid "When all of the data has been selected, select :btn:` Apply`." +msgid "" +"When all of the data has been selected, select :btn:` " +"Apply`." msgstr "" #: ../../source/cookbook/time_series.rst:100 @@ -160,7 +211,12 @@ msgid "Snow masking: :guilabel:`on`" msgstr "" #: ../../source/cookbook/time_series.rst:111 -msgid "Multiple pre-processing parameters can be set to improve the quality of the provided images. SEPAL has gathered four of them in the form of these interactive buttons. If you think others should be added, tell us in the `issue tracker `__." +msgid "" +"Multiple pre-processing parameters can be set to improve the quality of " +"the provided images. SEPAL has gathered four of them in the form of these" +" interactive buttons. If you think others should be added, tell us in the" +" `issue tracker " +"`__." msgstr "" #: ../../source/cookbook/time_series.rst:113 @@ -168,11 +224,15 @@ msgid "**Correction**" msgstr "" #: ../../source/cookbook/time_series.rst:115 -msgid ":guilabel:`Surface reflectance`: Use scenes' atmospherically corrected surface reflectance." +msgid "" +":guilabel:`Surface reflectance`: Use scenes' atmospherically corrected " +"surface reflectance." msgstr "" #: ../../source/cookbook/time_series.rst:116 -msgid ":guilabel:`BRDF correction`: Correct for bidirectional reflectance distribution function (BRDF) effects." +msgid "" +":guilabel:`BRDF correction`: Correct for bidirectional reflectance " +"distribution function (BRDF) effects." msgstr "" #: ../../source/cookbook/time_series.rst:118 @@ -180,7 +240,9 @@ msgid "**Cloud detection**" msgstr "" #: ../../source/cookbook/time_series.rst:120 -msgid ":guilabel:`QA bands`: Use previously created quality assessment (QA) bands from datasets." +msgid "" +":guilabel:`QA bands`: Use previously created quality assessment (QA) " +"bands from datasets." msgstr "" #: ../../source/cookbook/time_series.rst:121 @@ -192,11 +254,16 @@ msgid "**Cloud masking**" msgstr "" #: ../../source/cookbook/time_series.rst:125 -msgid ":guilabel:`Moderate`: Rely only on image source QA bands for cloud masking." +msgid "" +":guilabel:`Moderate`: Rely only on image source QA bands for cloud " +"masking." msgstr "" #: ../../source/cookbook/time_series.rst:126 -msgid ":guilabel:`Aggressive`: Rely on image source QA bands and a cloud-scoring algorithm for cloud masking (this will probably \"mask\" some built-up areas and other bright features)." +msgid "" +":guilabel:`Aggressive`: Rely on image source QA bands and a cloud-scoring" +" algorithm for cloud masking (this will probably \"mask\" some built-up " +"areas and other bright features)." msgstr "" #: ../../source/cookbook/time_series.rst:128 @@ -204,11 +271,16 @@ msgid "**Snow masking**" msgstr "" #: ../../source/cookbook/time_series.rst:130 -msgid ":guilabel:`On`: Mask snow (this tends to leave some pixels with shadowy snow)." +msgid "" +":guilabel:`On`: Mask snow (this tends to leave some pixels with shadowy " +"snow)." msgstr "" #: ../../source/cookbook/time_series.rst:131 -msgid ":guilabel:`Off`: Don't mask snow (some clouds might get misclassified as snow, and because of this, disabling snow masking might lead to cloud artefacts)." +msgid "" +":guilabel:`Off`: Don't mask snow (some clouds might get misclassified as " +"snow, and because of this, disabling snow masking might lead to cloud " +"artefacts)." msgstr "" #: ../../source/cookbook/time_series.rst:138 @@ -220,7 +292,11 @@ msgid "The wavelength of each band is dependent on the satellite used." msgstr "" #: ../../source/cookbook/time_series.rst:144 -msgid "The time series will use a single observation for each pixel. This observation can be one of the available bands in SEPAL. To discover the full list of available bands, see :doc:`../feature/bands`." +msgid "" +"The time series will use a single observation for each pixel. This " +"observation can be one of the available bands in SEPAL. To discover the " +"full list of available bands, see :doc:`../feature/optical_bands` and " +"`../feature/radar_bands`." msgstr "" #: ../../source/cookbook/time_series.rst:147 @@ -228,11 +304,16 @@ msgid "Analysis" msgstr "" #: ../../source/cookbook/time_series.rst:149 -msgid "Once all parameters are set, you can generate data from the recipe. Some can be directly generated on the fly from the interface; the rest require retrieving the data from SEPAL folders." +msgid "" +"Once all parameters are set, you can generate data from the recipe. Some " +"can be directly generated on the fly from the interface; the rest require" +" retrieving the data from SEPAL folders." msgstr "" #: ../../source/cookbook/time_series.rst:151 -msgid "The analysis icons can be found in the upper-right corner of the SEPAL interface:" +msgid "" +"The analysis icons can be found in the upper-right corner of the SEPAL " +"interface:" msgstr "" #: ../../source/cookbook/time_series.rst:153 @@ -244,7 +325,10 @@ msgid ":btn:``: Retrieve data." msgstr "" #: ../../source/cookbook/time_series.rst:162 -msgid "The **Download** icon is only enabled when the data parameters are complete. If the button is disabled, check your parameters, as some might be missing." +msgid "" +"The **Download** icon is only enabled when the data parameters are " +"complete. If the button is disabled, check your parameters, as some might" +" be missing." msgstr "" #: ../../source/cookbook/time_series.rst:165 @@ -252,7 +336,11 @@ msgid "Plot" msgstr "" #: ../../source/cookbook/time_series.rst:167 -msgid "Select :btn:`` to start the plotting tool. Move the pointer to the main map; the pointer will be transformed into a :icon:`fa-solid fa-plus`. Click anywhere in the AOI to plot data for this specific location in the following pop-up window." +msgid "" +"Select :btn:`` to start the plotting tool. Move " +"the pointer to the main map; the pointer will be transformed into a :icon" +":`fa-solid fa-plus`. Click anywhere in the AOI to plot data for this " +"specific location in the following pop-up window." msgstr "" #: ../../source/cookbook/time_series.rst:169 @@ -260,15 +348,23 @@ msgid "The plotting area is dynamic and can be customized by the user." msgstr "" #: ../../source/cookbook/time_series.rst:171 -msgid "Using the slider (1), the temporal width displayed can be changed. It cannot exceed the start and/or end date of the time series." +msgid "" +"Using the slider (1), the temporal width displayed can be changed. It " +"cannot exceed the start and/or end date of the time series." msgstr "" #: ../../source/cookbook/time_series.rst:173 -msgid "You can also select the observation feature by selecting one of the available measures in the dropdown selector in the upper-left corner (2). The available bands are the same as those described previously." +msgid "" +"You can also select the observation feature by selecting one of the " +"available measures in the dropdown selector in the upper-left corner (2)." +" The available bands are the same as those described previously." msgstr "" #: ../../source/cookbook/time_series.rst:175 -msgid "On the main graph, each point represents one valid observation (based on the pre-processing filters). Hover over the point to let the tooltip describe the value and date of the observation (3)." +msgid "" +"On the main graph, each point represents one valid observation (based on " +"the pre-processing filters). Hover over the point to let the tooltip " +"describe the value and date of the observation (3)." msgstr "" #: ../../source/cookbook/time_series.rst:179 @@ -276,7 +372,13 @@ msgid "The coordinates of the point are displayed at the top of the chart window msgstr "" #: ../../source/cookbook/time_series.rst:187 -msgid "Since the plot feature is retrieving information from GEE on the fly and presenting it in an interactive window, this operation can take time, depending on the number of available observations and the complexity of the selected pre-processing parameters. If a spinning wheel appears in the pop-up window, you may have to wait up to two minutes to see the data displayed." +msgid "" +"Since the plot feature is retrieving information from GEE on the fly and " +"presenting it in an interactive window, this operation can take time, " +"depending on the number of available observations and the complexity of " +"the selected pre-processing parameters. If a spinning wheel appears in " +"the pop-up window, you may have to wait up to two minutes to see the data" +" displayed." msgstr "" #: ../../source/cookbook/time_series.rst:194 @@ -284,27 +386,47 @@ msgid "Export" msgstr "" #: ../../source/cookbook/time_series.rst:196 -msgid "In order for the data generated by the recipe to be used in other workflows, it needs to be retrieved from GEE and uploaded to SEPAL." +msgid "" +"In order for the data generated by the recipe to be used in other " +"workflows, it needs to be retrieved from GEE and uploaded to SEPAL." msgstr "" #: ../../source/cookbook/time_series.rst:200 -msgid "You cannot export a recipe as an asset or a :code:`.tiff` file without a small computation quota. If you are a new user, see :doc:`../setup/resource`." +msgid "" +"You cannot export a recipe as an asset or a :code:`.tiff` file without a " +"small computation quota. If you are a new user, see " +":doc:`../setup/resource`." msgstr "" #: ../../source/cookbook/time_series.rst:204 -msgid "Select :btn:`` to open the **Download parameters** window. You will be able to select the measure to use on each observation of the time series. This measure can be selected in the list of available bands presented above in a previous section." +msgid "" +"Select :btn:`` to open the **Download " +"parameters** window. You will be able to select the measure to use on " +"each observation of the time series. This measure can be selected in the " +"list of available bands presented above in a previous section." msgstr "" #: ../../source/cookbook/time_series.rst:208 -msgid "There is no fixed rule to the measure selection. Each index is more adapted to a set of analyses in a defined biome. The knowledge of the study area, the evolution expected and the careful selection of an adapted measure will improve the quality of downstream analysis." +msgid "" +"There is no fixed rule to the measure selection. Each index is more " +"adapted to a set of analyses in a defined biome. The knowledge of the " +"study area, the evolution expected and the careful selection of an " +"adapted measure will improve the quality of downstream analysis." msgstr "" #: ../../source/cookbook/time_series.rst:210 -msgid "You can set a custom scale for exportation by changing the value of the slider in metres (m). Keep in mind that Sentinel data native resolution is 10 m and Landsat is 30 m." +msgid "" +"You can set a custom scale for exportation by changing the value of the " +"slider in metres (m). Keep in mind that Sentinel data native resolution " +"is 10 m and Landsat is 30 m." msgstr "" #: ../../source/cookbook/time_series.rst:212 -msgid "When all the data is selected, select the :btn:` apply` button. Notice that the task tab in the lower-left corner of the screen (1) will change from :btn:`` to :btn:``, meaning that the tasks are loading." +msgid "" +"When all the data is selected, select the :btn:` " +"apply` button. Notice that the task tab in the lower-left corner of the " +"screen (1) will change from :btn:`` to :btn:``, meaning that the tasks are loading." msgstr "" #: ../../source/cookbook/time_series.rst:220 @@ -312,15 +434,27 @@ msgid "Exportation status" msgstr "" #: ../../source/cookbook/time_series.rst:222 -msgid "By selecting the **Tasks** tab (lower-left corner using the :btn:`` or :btn:`` buttons, depending on the loading status), you will see the list of different tasks loading. The interface will provide you with information about the task progress and display an error if the exportation has failed. If you are unsatisfied with the way we present information, the task can also be monitored using the `GEE task manager `__." +msgid "" +"By selecting the **Tasks** tab (lower-left corner using the :btn:`` or :btn:`` buttons, depending " +"on the loading status), you will see the list of different tasks loading." +" The interface will provide you with information about the task progress " +"and display an error if the exportation has failed. If you are " +"unsatisfied with the way we present information, the task can also be " +"monitored using the `GEE task manager " +"`__." msgstr "" #: ../../source/cookbook/time_series.rst:226 -msgid "This operation is running between GEE and SEPAL servers in the background, so you can close the SEPAL page without ending the process." +msgid "" +"This operation is running between GEE and SEPAL servers in the " +"background, so you can close the SEPAL page without ending the process." msgstr "" #: ../../source/cookbook/time_series.rst:228 -msgid "When the task is finished, the frame will be displayed in green, as shown in the second image below." +msgid "" +"When the task is finished, the frame will be displayed in green, as shown" +" in the second image below." msgstr "" #: ../../source/cookbook/time_series.rst:241 @@ -328,43 +462,82 @@ msgid "Access" msgstr "" #: ../../source/cookbook/time_series.rst:243 -msgid "Once the download process is done, you can access the data in your **SEPAL folders** in :code:`Downloads`, using the following format:" +msgid "" +"Once the download process is done, you can access the data in your " +"**SEPAL folders** in :code:`Downloads`, using the following format:" msgstr "" #: ../../source/cookbook/time_series.rst:268 -msgid "Understanding how images are stored in a time series is only required if you want to manually use them. The SEPAL applications are bound to this tiling system and can digest this information for you." +msgid "" +"Understanding how images are stored in a time series is only required if " +"you want to manually use them. The SEPAL applications are bound to this " +"tiling system and can digest this information for you." msgstr "" #: ../../source/cookbook/time_series.rst:270 -msgid "The data are stored in a folder using the name of the time series as it was labeled in the first section of this document. The SEPAL team was forced to use this folder structure as GEE is unable to export an :code:`ee.ImageCollection`. As the data is spatially too big to be exported at once, they are divided into smaller pieces and reassembled in a :code:`stack.vrt` file." +msgid "" +"The data are stored in a folder using the name of the time series as it " +"was labeled in the first section of this document. The SEPAL team was " +"forced to use this folder structure as GEE is unable to export an " +":code:`ee.ImageCollection`. As the data is spatially too big to be " +"exported at once, they are divided into smaller pieces and reassembled in" +" a :code:`stack.vrt` file." msgstr "" #: ../../source/cookbook/time_series.rst:272 -msgid "The AOI provided by the user will be divided into multiple SEPAL tiles. The AOI is a :code:`ee.FeatureCollection`; each feature is downloaded in a different tile. If the tile is bigger than 2° x 2° (EPSG:4326), then the feature is divided again until all of the tiles are smaller than the maximum 2° size. The tiles are identified by their :code:``." +msgid "" +"The AOI provided by the user will be divided into multiple SEPAL tiles. " +"The AOI is a :code:`ee.FeatureCollection`; each feature is downloaded in " +"a different tile. If the tile is bigger than 2° x 2° (EPSG:4326), then " +"the feature is divided again until all of the tiles are smaller than the " +"maximum 2° size. The tiles are identified by their :code:``." msgstr "" #: ../../source/cookbook/time_series.rst:274 -msgid "To limit the size of the downloaded images, in each SEPAL tile, the time period is divided into **Chunks** of 3 months. They are identified by their :code:`_`. **Chunks** are image folders. As a SEPAL tile is still bigger than what GEE can download at once, the images are divided into GEE tiles. This tiling process uses its own identification system (000000xxxx-000000xxxx). Consequently, **Chunks** contain tile raster images. Each one of these images is composed of one band per observation date, with the value of the measure for each pixel. The bands are named with the date." +msgid "" +"To limit the size of the downloaded images, in each SEPAL tile, the time " +"period is divided into **Chunks** of 3 months. They are identified by " +"their :code:`_`. **Chunks** are image folders. As a " +"SEPAL tile is still bigger than what GEE can download at once, the images" +" are divided into GEE tiles. This tiling process uses its own " +"identification system (000000xxxx-000000xxxx). Consequently, **Chunks** " +"contain tile raster images. Each one of these images is composed of one " +"band per observation date, with the value of the measure for each pixel. " +"The bands are named with the date." msgstr "" #: ../../source/cookbook/time_series.rst:276 -msgid "To gather all these rasters together, a first aggregation on time is performed. One :code:`stack.vrt` is created per GEE tile, meaning that each :code:`stack.vrt` file contains all the :code:`*.tif` contained in each **Chunk**, reconstituting the full time period on the smallest spatial unit: the GEE tile. Each file is stored in a folder called :code:`tile-`." +msgid "" +"To gather all these rasters together, a first aggregation on time is " +"performed. One :code:`stack.vrt` is created per GEE tile, meaning that " +"each :code:`stack.vrt` file contains all the :code:`*.tif`" +" contained in each **Chunk**, reconstituting the full time period on the " +"smallest spatial unit: the GEE tile. Each file is stored in a folder " +"called :code:`tile-`." msgstr "" #: ../../source/cookbook/time_series.rst:278 -msgid "Finally, information is gathered spatially at the SEPAL tile level in the main :code:`stack.vrt` file." +msgid "" +"Finally, information is gathered spatially at the SEPAL tile level in the" +" main :code:`stack.vrt` file." msgstr "" #: ../../source/cookbook/time_series.rst:280 -msgid "The last file, :code:`date.csv`, gathers all the observation dates in chronological order." +msgid "" +"The last file, :code:`date.csv`, gathers all the observation dates in " +"chronological order." msgstr "" #: ../../source/cookbook/time_series.rst:284 -msgid "The dates contained in :code:`date.csv` can differ from one SEPAL tile to another, due to data availability and pre-processing filters." +msgid "" +"The dates contained in :code:`date.csv` can differ from one SEPAL tile to" +" another, due to data availability and pre-processing filters." msgstr "" #: ../../source/cookbook/time_series.rst:288 -msgid "The full folder with a consistent treefolder is required to read the `.vrt`" +msgid "" +"The full folder with a consistent treefolder is required to read the " +"`.vrt`" msgstr "" #: ../../source/cookbook/time_series.rst:290 @@ -372,7 +545,11 @@ msgid "Here is an example of a real TS folder:" msgstr "" #: ../../source/cookbook/time_series.rst:315 -msgid "Now that you have downloaded the TS to your SEPAL account, it can be downloaded to your computer using `FileZilla <../setup.filezilla.html>`__ or used in one of our `Time-series analysis modules <../modules/time-series.html>`__." +msgid "" +"Now that you have downloaded the TS to your SEPAL account, it can be " +"downloaded to your computer using `FileZilla <../setup.filezilla.html>`__" +" or used in one of our `Time-series analysis modules <../modules/time-" +"series.html>`__." msgstr "" #~ msgid "" @@ -961,3 +1138,12 @@ msgstr "" #~ "analysis modules <../modules/time-series.html>`__." #~ msgstr "" +#~ msgid "" +#~ "The time series will use a single" +#~ " observation for each pixel. This " +#~ "observation can be one of the " +#~ "available bands in SEPAL. To discover" +#~ " the full list of available bands," +#~ " see :doc:`../feature/bands`." +#~ msgstr "" + diff --git a/docs/source/_locale/pt/LC_MESSAGES/developers/apps/app_catalog.po b/docs/source/_locale/pt/LC_MESSAGES/developers/apps/app_catalog.po new file mode 100644 index 0000000000..25327c5c89 --- /dev/null +++ b/docs/source/_locale/pt/LC_MESSAGES/developers/apps/app_catalog.po @@ -0,0 +1,478 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: pt\n" +"Language-Team: pt \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/developers/apps/app_catalog.rst:4 +msgid "Request a new app" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:5 +msgid "*Add your app to the SEPAL apps catalog so it appears on the platform*" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:8 +msgid "The catalog" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:10 +msgid "" +"The list of apps SEPAL runs lives in a dedicated repository, `dfguerrerom" +"/sepal-apps-catalog `__. For docker apps the catalog pins the exact commit SEPAL will" +" run; for jupyter apps it records the ``branch`` and SEPAL runs its tip. " +"Either way, adding or updating an app means opening a pull request " +"against this catalog, where a maintainer reviews the change before it " +"goes live." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:17 +msgid "The catalog ships two files:" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:19 +msgid "" +"``apps.test.json`` — apps available on test.sepal.io (the staging " +"environment used to validate changes before they reach end users)" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:21 +msgid "" +"``apps.prod.json`` — apps available on sepal.io (the production " +"environment)" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:23 +msgid "" +"New apps always land in ``apps.test.json`` first and are promoted to " +"``apps.prod.json`` only once they behave correctly on test.sepal.io." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:27 +msgid "Anatomy of a catalog entry" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:29 +msgid "" +"An app is a JSON object in the ``apps`` array. The schema only enforces " +"``id`` and ``label`` as universally required, plus a docker-specific " +"block — but the catalog convention is to **fill every field** so each " +"entry carries a complete dashboard listing. The only practical " +"exceptions:" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:34 +msgid "``port`` applies only to docker apps (and is required there)." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:35 +msgid "" +"For hidden kernel-only apps (see :ref:`developers_apps_kernels`) the " +"user-facing presentation fields (``description``, ``tagline``, " +"``logoRef``, ``projectLink``, ``author``, ``tags``) can be omitted, since" +" they are never shown." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:41 +msgid "Identification and routing" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:47 +#: ../../source/developers/apps/app_catalog.rst:84 +#: ../../source/developers/apps/app_catalog.rst:110 +#: ../../source/developers/apps/app_catalog.rst:144 +msgid "Field" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:48 +#: ../../source/developers/apps/app_catalog.rst:85 +#: ../../source/developers/apps/app_catalog.rst:111 +#: ../../source/developers/apps/app_catalog.rst:145 +msgid "When" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:49 +#: ../../source/developers/apps/app_catalog.rst:86 +#: ../../source/developers/apps/app_catalog.rst:112 +#: ../../source/developers/apps/app_catalog.rst:146 +msgid "Meaning" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:50 +msgid "``id``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:51 +#: ../../source/developers/apps/app_catalog.rst:54 +msgid "always (schema)" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:52 +msgid "Unique identifier across the catalog (``[A-Za-z0-9_.-]+``)." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:53 +msgid "``label``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:55 +msgid "Display name shown on the apps dashboard." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:56 +msgid "``endpoint``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:57 +#: ../../source/developers/apps/app_catalog.rst:62 +#: ../../source/developers/apps/app_catalog.rst:66 +#: ../../source/developers/apps/app_catalog.rst:69 +msgid "always" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:58 +msgid "" +"How SEPAL runs the app: ``jupyter`` or ``docker`` for new apps — " +"``shiny`` is legacy and ``rstudio`` is reserved for the built-in tool. " +"See :ref:`developers_apps_types`." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:61 +msgid "``repository``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:63 +msgid "" +"``https://github.com//`` of the app source. SEPAL clones it " +"to run the app." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:65 +msgid "``branch``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:67 +msgid "Branch the app tracks (commonly ``release``)." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:68 +msgid "``path``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:70 +msgid "" +"Entry point the app-launcher routes to. For jupyter, the Voila URL of the" +" notebook (e.g. " +"``/sandbox/jupyter/voila/render/shared/apps//ui.ipynb``); for " +"docker, **must equal** ``/api/app-launcher/`` exactly — the schema " +"enforces the prefix and ``check-docker-rules.js`` enforces that ```` " +"matches the entry's ``id``." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:78 +msgid "Docker-only fields" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:87 +msgid "``commit``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:88 +#: ../../source/developers/apps/app_catalog.rst:93 +msgid "docker only (schema)" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:89 +msgid "" +"Full 40-character lowercase commit SHA. Required for ``endpoint: " +"docker``; not allowed for other endpoints, which track the branch tip." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:92 +msgid "``port``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:94 +msgid "" +"Container port the docker app listens on. Integer 1–65535. Must be unique" +" across ``apps.test.json`` and ``apps.prod.json``; ``check-docker-" +"rules.js`` enforces this and prints ``Next free port: N`` on a violation." +" New apps take the next free port — ``max(existing_ports) + 1``." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:101 +msgid "Presentation" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:103 +msgid "" +"These fields populate the dashboard tile and the app's detail page. Skip " +"them *only* on hidden kernel-only entries." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:113 +msgid "``author``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:114 +#: ../../source/developers/apps/app_catalog.rst:117 +#: ../../source/developers/apps/app_catalog.rst:120 +#: ../../source/developers/apps/app_catalog.rst:123 +#: ../../source/developers/apps/app_catalog.rst:127 +#: ../../source/developers/apps/app_catalog.rst:130 +msgid "visible apps" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:115 +msgid "Who maintains the app (free-form string)." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:116 +msgid "``description``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:118 +msgid "Long-form description shown on the app's detail page." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:119 +msgid "``tagline``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:121 +msgid "One-line summary shown on the dashboard tile." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:122 +msgid "``logoRef``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:124 +msgid "Filename of the logo asset bundled with the catalog (e.g. ``my-app.svg``)." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:126 +msgid "``projectLink``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:128 +msgid "URL to the project's home page, docs, or upstream repository." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:129 +msgid "``tags``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:131 +msgid "" +"Array of tag values defined in the catalog's top-level ``tags`` block " +"(e.g. ``[\"TOOLS\", \"TIME_SERIES\"]``)." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:135 +msgid "Behaviour flags" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:137 +msgid "" +"Optional booleans that alter how the app is listed or launched. Defaults " +"are all ``false``." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:147 +msgid "``hidden``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:148 +#: ../../source/developers/apps/app_catalog.rst:152 +#: ../../source/developers/apps/app_catalog.rst:155 +#: ../../source/developers/apps/app_catalog.rst:158 +#: ../../source/developers/apps/app_catalog.rst:162 +msgid "optional" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:149 +msgid "" +"If ``true``, the app builds but does not show a dashboard tile. Used for " +"packaged kernels — see :ref:`developers_apps_kernels`." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:151 +msgid "``pinned``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:153 +msgid "Pin the app to the top of the dashboard." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:154 +msgid "``googleAccountRequired``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:156 +msgid "The app needs a connected Google account (e.g. for GEE)." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:157 +msgid "``single``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:159 +msgid "" +"Only one instance of this app can run at a time per user (used by the " +"built-in ``jupyter-notebook``, ``jupyter-lab`` and ``rstudio`` tools)." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:161 +msgid "``skip``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:163 +msgid "Temporarily skip building/serving this app without removing the entry." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:165 +msgid "" +"A typical jupyter entry — every field a user sees on the dashboard is " +"filled in:" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:187 +msgid "" +"A docker entry adds the docker-only ``commit``, ``port`` and the schema-" +"enforced ``/api/app-launcher/`` path; the presentation fields are the" +" same:" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:213 +msgid "Adding the app" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:215 +msgid "" +"Open a pull request adding your entry to ``apps.test.json``. The fastest " +"way is to edit the file directly on GitHub: `edit apps.test.json " +"`__. For a docker app, ``commit`` must " +"be a full 40-character SHA that exists on the declared ``branch``." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:220 +msgid "" +"The ``Validate catalog`` and ``Review helper`` workflows run " +"automatically. Validation is a blocking gate (schema, canonical " +"formatting, and — for docker apps — a check that the commit is reachable " +"from its branch). The review helper posts a single PR comment with a per-" +"app diff and *risk flags* (new dependencies, network calls, shell-outs) " +"to help maintainers review safely." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:226 +msgid "" +"A SEPAL maintainer reviews and merges. Once merged, the app appears on " +"test.sepal.io within minutes." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:228 +msgid "" +"When you are happy with its behaviour on test.sepal.io, promote it to " +"production — see `Promoting to production`_." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:232 +msgid "Promoting to production" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:234 +msgid "" +"Promotion copies the *exact same pinned reference* (commit for docker, " +"branch for the others) from ``apps.test.json`` into ``apps.prod.json``. " +"Two paths, either of which produces the same promotion PR for a " +"maintainer to merge:" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:239 +msgid "Self-service ``/promote`` comment (recommended)" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:241 +msgid "" +"The catalog has a single pinned issue titled *\"Promotion requests — " +"comment ``/promote `` here\"*, labeled ``promote-request``. Find " +"it in the catalog's `issues tab `__ " +"(there is only ever one) and comment:" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:251 +msgid "" +"The ``Promote app on /promote comment`` workflow then verifies the " +"commenter is authorized for the app's source repository and, if so, opens" +" the promotion PR. Authorization uses public GitHub data only:" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:255 +msgid "If the source repo is owned by a User, the commenter must equal that user." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:256 +msgid "" +"If it is owned by an Organization, the commenter must be a **public** " +"member of that org. If your membership is private, make it public at " +"``https://github.com/orgs//people`` or use the manual-PR path below." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:260 +msgid "A maintainer still merges the PR." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:263 +msgid "Manual PR" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:265 +msgid "" +"Open a pull request copying the entry's ``commit`` (or whole object) from" +" ``apps.test.json`` into ``apps.prod.json``. The same validation and " +"review checks run; a maintainer merges." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:270 +msgid "Working on the catalog locally" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:272 +msgid "" +"The catalog files use canonical ``JSON.stringify(parsed, null, 2)`` " +"formatting (2-space indent, one-element arrays expanded, trailing " +"newline). A ``.prettierignore`` keeps editor formatters off them, and CI " +"rejects PRs that don't match. Install the pre-commit hooks once so " +"problems are caught before they fail CI:" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:284 +msgid "To re-canonicalize a file before pushing:" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:292 +msgid "" +"The catalog's own ``docs/contributing.md`` and ``docs/ci.md`` document " +"every workflow, check, and script in detail." +msgstr "" + diff --git a/docs/source/_locale/pt/LC_MESSAGES/developers/apps/app_types.po b/docs/source/_locale/pt/LC_MESSAGES/developers/apps/app_types.po new file mode 100644 index 0000000000..2e06623448 --- /dev/null +++ b/docs/source/_locale/pt/LC_MESSAGES/developers/apps/app_types.po @@ -0,0 +1,290 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: pt\n" +"Language-Team: pt \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/developers/apps/app_types.rst:4 +msgid "Docker vs. Jupyter apps" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:5 +msgid "*The two endpoints you'll choose between, and where each one fits*" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:7 +msgid "" +"Every catalog entry declares an ``endpoint`` that tells SEPAL how to run " +"the app. For new apps the practical choice is between ``docker`` and " +"``jupyter``." +msgstr "" + +#: ../../source/developers/apps/app_types.rst:12 +msgid "" +"``shiny`` is a legacy endpoint and is no longer recommended for new apps " +"— package the same UX as a Jupyter/Voila app instead. ``rstudio`` is " +"reserved for the built-in RStudio tool. Both still work, but neither " +"should be picked for anything new." +msgstr "" + +#: ../../source/developers/apps/app_types.rst:18 +msgid "At a glance" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:25 +msgid "Docker app" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:26 +msgid "Jupyter app" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:27 +msgid "``endpoint``" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:28 +msgid "``docker``" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:29 +msgid "``jupyter``" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:30 +msgid "Where it runs" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:31 +msgid "Its own container, on its own port, on the shared SEPAL server" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:32 +msgid "Inside the user's own SEPAL instance (sandbox), served through Voila" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:33 +msgid "Where compute happens" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:34 +msgid "On the shared SEPAL server — all users hit the same instance" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:35 +msgid "On the user's own SEPAL instance, at the size they have provisioned" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:36 +msgid "Versioning" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:37 +msgid "Pinned to a commit SHA (required)" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:38 +msgid "Tracks the catalog's ``branch``; no commit pin" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:39 +msgid "Code location" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:40 +msgid "Cloned from ``repository`` into the container" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:41 +msgid "" +"Cloned from ``repository`` into the shared sandbox at ``/home/sepal-" +"user/shared/apps//``" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:43 +msgid "Isolation" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:44 +msgid "Strong — separate container and dependencies" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:45 +msgid "" +"Own micromamba kernel built from ``sepal_environment.yml`` (see " +":ref:`developers_apps_kernels`)" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:47 +msgid "Update trigger" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:48 +msgid "" +"Catalog PR bumps ``commit`` → app-launcher checks out that commit on the " +"next launch" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:50 +msgid "" +"app-manager refreshes the clone to the branch tip and rebuilds the kernel" +" if the env file changed" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:54 +msgid "Docker apps" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:56 +msgid "" +"A docker app lives in its own repository and runs in its own container " +"with a dedicated ``port`` on the shared SEPAL server. Because it is fully" +" isolated, the catalog schema requires ``repository``, ``branch``, " +"``commit``, ``port`` and ``path`` for every ``endpoint: docker`` entry." +msgstr "" + +#: ../../source/developers/apps/app_types.rst:61 +msgid "When SEPAL launches the app it runs the equivalent of:" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:68 +msgid "" +"That is why the pinned ``commit`` must be reachable from ``branch`` (see " +":ref:`developers_apps_releases`). The app's dependencies are baked into " +"its container, so its update cycle is independent of the rest of the " +"platform — it changes only when you bump its commit in the catalog." +msgstr "" + +#: ../../source/developers/apps/app_types.rst:73 +msgid "" +"Because the docker app runs on the shared SEPAL server, every user hits " +"the same instance. That makes docker a good fit for **lightweight, low-" +"compute apps that act as a single service for many users** — interfaces " +"over a small API, lookups, light visualizations, dashboards. It is *not* " +"a good fit for heavy per-user compute: there is only one container " +"backing all users." +msgstr "" + +#: ../../source/developers/apps/app_types.rst:80 +msgid "Jupyter apps" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:82 +msgid "" +"A jupyter app does not get its own container. Its code is cloned from the" +" ``repository`` into the shared sandbox under ``/home/sepal-" +"user/shared/apps//``, and its ``ui.ipynb`` notebook is rendered with" +" `Voila `__ (hence catalog paths such as " +"``/sandbox/jupyter/voila/render/shared/apps//ui.ipynb``). Crucially," +" it runs **inside each user's own SEPAL instance** — so the compute " +"budget is whatever the user has provisioned for themselves." +msgstr "" + +#: ../../source/developers/apps/app_types.rst:90 +msgid "" +"Versioning is by branch, not by commit: the app-manager keeps the cloned " +"``shared/apps//`` working tree on the tip of the catalog's " +"``branch`` and rebuilds the app's kernel whenever " +"``sepal_environment.yml`` (or ``requirements.txt``) changes — see " +":ref:`developers_apps_kernels`. Pushing to that branch is enough to ship " +"a new version; no catalog PR is required (the catalog PR is only needed " +"to *list* the app in the first place)." +msgstr "" + +#: ../../source/developers/apps/app_types.rst:97 +msgid "" +"Because compute lives on the user's instance, a jupyter app is the right " +"choice for **heavy, scalable, per-user workloads**: anything where the " +"user needs to be able to size their machine to the job — training " +"pipelines, large geospatial analyses, model inference, parallel " +"processing." +msgstr "" + +#: ../../source/developers/apps/app_types.rst:103 +msgid "When to use which" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:105 +msgid "A simple rule of thumb:" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:112 +msgid "Use ``docker``" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:113 +msgid "Use ``jupyter``" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:114 +msgid "Compute profile" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:115 +msgid "Light; same load no matter who is using it" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:116 +msgid "Heavy or variable; each user should be able to scale their own instance" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:118 +msgid "Usage pattern" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:119 +msgid "Single backend service serving many users" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:120 +msgid "Per-user notebook session, isolated per user" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:121 +msgid "Versioning needs" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:122 +msgid "You want strict, audited control of *exactly* which commit is live" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:123 +msgid "Push-to-branch is a fine release model" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:124 +msgid "Runtime needs" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:125 +msgid "Custom system stack, services, ports, or a non-Python runtime" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:126 +msgid "" +"Standard SEPAL geospatial / scientific Python stack (extended via " +"``sepal_environment.yml``)" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:129 +msgid "" +"If the answer to most of these points the same way, that's your endpoint." +" If the app is genuinely a notebook UI doing heavy compute, jupyter is " +"almost always the right pick — that is the most common pattern on SEPAL." +msgstr "" + diff --git a/docs/source/_locale/pt/LC_MESSAGES/developers/apps/index.po b/docs/source/_locale/pt/LC_MESSAGES/developers/apps/index.po new file mode 100644 index 0000000000..93d5252f29 --- /dev/null +++ b/docs/source/_locale/pt/LC_MESSAGES/developers/apps/index.po @@ -0,0 +1,72 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: pt\n" +"Language-Team: pt \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/developers/apps/index.rst:48 +msgid "Docker vs. Jupyter apps" +msgstr "" + +#: ../../source/developers/apps/index.rst:48 +msgid "Request a new app" +msgstr "" + +#: ../../source/developers/apps/index.rst:48 +msgid "Request a new kernel" +msgstr "" + +#: ../../source/developers/apps/index.rst:48 +msgid "Create a release" +msgstr "" + +#: ../../source/developers/apps/index.rst:4 +msgid "Develop apps" +msgstr "" + +#: ../../source/developers/apps/index.rst:5 +msgid "*Build, release and publish your own apps on the SEPAL platform*" +msgstr "" + +#: ../../source/developers/apps/index.rst:7 +msgid "" +"These pages explain how SEPAL decides which app code to run and how that " +"code reaches the platform — useful when you want to add an app, ship a " +"new version of an existing one, or package a reusable environment for a " +"notebook or workflow." +msgstr "" + +#: ../../source/developers/apps/index.rst:14 +msgid "" +"The set of apps SEPAL runs is curated in the `dfguerrerom/sepal-apps-" +"catalog `__ " +"repository. Getting an app onto SEPAL — or updating one — means opening a" +" pull request there. For docker apps, the catalog also pins the *exact " +"commit* SEPAL will run; for jupyter apps, the catalog records the " +"``branch`` and SEPAL still runs the tip of that branch. The pages below " +"walk through both flows." +msgstr "" + +#: ../../source/developers/apps/index.rst:23 +msgid "How an app reaches SEPAL" +msgstr "" + +#: ../../source/developers/apps/index.rst:46 +msgid "Contents" +msgstr "" + diff --git a/docs/source/_locale/pt/LC_MESSAGES/developers/apps/kernels.po b/docs/source/_locale/pt/LC_MESSAGES/developers/apps/kernels.po new file mode 100644 index 0000000000..749b427b83 --- /dev/null +++ b/docs/source/_locale/pt/LC_MESSAGES/developers/apps/kernels.po @@ -0,0 +1,260 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: pt\n" +"Language-Team: pt \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/developers/apps/kernels.rst:4 +msgid "Request a new kernel" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:5 +msgid "" +"*Package an environment once and share it with every SEPAL user as a " +"named Jupyter kernel*" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:7 +#, python-format +msgid "" +"A \"kernel\" in the SEPAL catalog is really just a special-purpose " +"jupyter app: the same catalog entry, the same :ref:`PR flow " +"`, the same :ref:`release lifecycle " +"`. The only difference is *intent* — " +"the deliverable is the environment (and, often, training notebooks and " +"data alongside it), not an app UI. If you have read " +":ref:`developers_apps_catalog`, you already know 90% of how to ship one." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:15 +msgid "Why request a kernel" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:17 +msgid "" +"Some notebooks need a large or unusual environment: a deep-learning " +"stack, a pinned GDAL build, a model with awkward native dependencies. " +"Asking every user — or every training participant — to build that " +"environment by hand is slow, fragile, and easy to get subtly wrong." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:22 +msgid "" +"A shared kernel solves that. You package the environment once, in a " +"repository; SEPAL builds it centrally and exposes it as a named Jupyter " +"kernel that lives in the shared sandbox. Every user then simply *selects*" +" that kernel for the relevant notebook — no per-user installation, and " +"everyone runs the same, reproducible environment." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:28 +msgid "This is the right approach when:" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:30 +msgid "" +"You are preparing a notebook or workflow for a training and want every " +"participant on an identical environment." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:32 +msgid "" +"A notebook needs heavy dependencies (GPU/ML, large geospatial stacks) " +"that are wasteful to rebuild per user." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:34 +msgid "You want a stable, named environment that several notebooks can share." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:36 +msgid "" +"It is *not* the right approach for quick, personal experiments. For an " +"environment only you need, build it yourself with :guilabel:`uv` or " +":guilabel:`micromamba` — see :ref:`env_management`." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:41 +msgid "It's the same flow as a jupyter app" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:43 +msgid "A kernel-only entry in the catalog is just a jupyter app that:" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:45 +msgid "has ``\"hidden\": true`` (no dashboard tile — see below), and" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:46 +msgid "ships a ``sepal_environment.yml`` at the root of its repository." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:48 +msgid "" +"Everything else — the PR against ``apps.test.json``, the validation and " +"review-helper workflows, the promotion to ``apps.prod.json`` — works " +"exactly as described in :ref:`developers_apps_catalog`." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:52 +msgid "" +"The one extra behaviour, which fires automatically whenever the app-" +"manager updates a jupyter app, is the kernel build itself: if the cloned " +"repository contains a ``sepal_environment.yml`` (or a legacy " +"``requirements.txt``), SEPAL builds an isolated environment from it and " +"registers it as a named Jupyter kernel. For a ``sepal_environment.yml`` " +"the build is, in essence:" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:63 +msgid "" +"The script then writes a ``kernel.json`` so the environment shows up in " +"JupyterLab as ``(venv) ``, and wires the geospatial " +"environment variables (``PROJ_LIB``, ``PROJ_DATA``, ``GDAL_DATA``) to the" +" environment's own data directories. The kernel is rebuilt only when the " +"environment file changes (the script compares timestamps against an " +"``.installed`` marker), so unchanged apps don't pay a rebuild cost on " +"every update." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:71 +msgid "Hiding the app" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:73 +msgid "" +"A packaged kernel usually has no dashboard UI of its own — it exists to " +"back *other* notebooks. Set ``\"hidden\": true`` on its catalog entry so " +"SEPAL builds the environment and registers the kernel without showing a " +"tile in the apps dashboard." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:81 +msgid "Ship notebooks and data alongside the kernel" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:83 +msgid "" +"The same clone the app-manager uses to build the kernel lands at ``/home" +"/sepal-user/shared/apps//`` **inside every user's sandbox**. " +"Anything you put in the repository is therefore reachable from every " +"user's JupyterLab — not just the ``sepal_environment.yml``." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:88 +msgid "" +"This makes the same mechanism useful for a second job: shipping " +"**training notebooks and supporting data** to a cohort of users. For a " +"workshop or a training, you can put the curriculum in the repo alongside " +"the environment file. Each participant gets the notebooks already on " +"their instance under ``shared/apps//``, with the matching " +"``(venv) `` kernel pre-built and ready to select — no per-" +"user clone, no per-user pip install, no \"it works on my machine\"." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:96 +msgid "Practical conventions for that case:" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:98 +msgid "" +"Keep notebook files at the top level (or in a clearly named subdirectory)" +" so participants can find them via ``shared/apps//``." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:100 +msgid "" +"Keep sample inputs in the repo only if they are small. For larger " +"datasets, point notebooks at a shared SEPAL location or an external URL " +"so the clone stays light." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:103 +msgid "" +"Tag a ``release`` branch for each cohort you run, so an in-flight push to" +" ``main`` does not surprise a session that is already underway. See " +":ref:`developers_apps_releases_branch`." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:107 +msgid "" +"The catalog entry itself stays the same — ``\"hidden\": true``, " +"``\"endpoint\": \"jupyter\"``, ``sepal_environment.yml`` in the repo. The" +" notebooks just ride along in the same clone." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:112 +msgid "Worked example: ``sepal-sam``" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:114 +msgid "" +"The catalog entry below is a real, hidden kernel app. Its description is " +"simply *\"SAM environment\"* — it ships the environment for SAM-based " +"notebooks and never appears in the dashboard:" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:130 +msgid "" +"Because the ``sepal-sam`` repository contains a " +"``sepal_environment.yml``, SEPAL builds its micromamba environment and " +"registers a ``(venv) Sepal SAM`` kernel. Any notebook a user opens can " +"then select that kernel and run against the SAM stack immediately." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:138 +msgid "Recommended: ``sepal_environment.yml``" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:140 +msgid "" +"Declare your kernel with a ``sepal_environment.yml`` at the root of the " +"app repository. It is a standard conda/micromamba environment file, and " +"it is the preferred way to define a SEPAL kernel because micromamba " +"bundles native libraries (GDAL, GEOS, CUDA, HDF5, …) inside the " +"environment — so it keeps working when SEPAL upgrades system-level " +"libraries. A plain ``requirements.txt`` is still supported for backward " +"compatibility, but it installs into a system-Python venv and can break on" +" platform upgrades." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:148 +msgid "A minimal example:" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:164 +msgid "" +"You do not need to add ``ipykernel`` yourself — SEPAL installs it into " +"the environment when it builds the kernel." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:167 +msgid "" +"Once the file is in your repository and the app is in the catalog (see " +":ref:`developers_apps_catalog`), every release that changes " +"``sepal_environment.yml`` triggers a rebuild of the shared kernel on the " +"next update." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:174 +msgid "" +":ref:`env_management` — managing your *own* environments and kernels " +"interactively, when you don't need a shared, centrally built one." +msgstr "" + diff --git a/docs/source/_locale/pt/LC_MESSAGES/developers/apps/releases.po b/docs/source/_locale/pt/LC_MESSAGES/developers/apps/releases.po new file mode 100644 index 0000000000..b9ad046593 --- /dev/null +++ b/docs/source/_locale/pt/LC_MESSAGES/developers/apps/releases.po @@ -0,0 +1,214 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: pt\n" +"Language-Team: pt \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/developers/apps/releases.rst:4 +msgid "Create a release" +msgstr "" + +#: ../../source/developers/apps/releases.rst:5 +msgid "*Ship a new version of an app already in the SEPAL catalog*" +msgstr "" + +#: ../../source/developers/apps/releases.rst:7 +msgid "" +"Once your app is in the catalog (see :ref:`developers_apps_catalog`), the" +" way you ship a new version depends on the app's ``endpoint`` (see " +":ref:`developers_apps_types`):" +msgstr "" + +#: ../../source/developers/apps/releases.rst:11 +msgid "" +"**Jupyter apps** (and :ref:`kernels `, which are" +" just hidden jupyter apps) are not pinned to a commit. The app-manager " +"checks out the tip of the catalog's ``branch`` (defaulting to ``HEAD``) " +"every time the sandbox refreshes the app, so a release is just a push to " +"that branch in your source repository — no catalog change is needed." +msgstr "" + +#: ../../source/developers/apps/releases.rst:16 +msgid "" +"**Docker apps** are pinned in the catalog to an exact commit SHA. SEPAL " +"keeps running the old commit until that ``commit`` field is advanced, so " +"a release is, in practice, a pull request against the catalog." +msgstr "" + +#: ../../source/developers/apps/releases.rst:20 +msgid "The rest of this page describes each flow in turn." +msgstr "" + +#: ../../source/developers/apps/releases.rst:25 +msgid "Jupyter and kernel apps" +msgstr "" + +#: ../../source/developers/apps/releases.rst:27 +msgid "" +"These endpoints don't take a ``commit`` field in the catalog — only " +"``branch`` (which defaults to ``HEAD``). On every sandbox refresh the " +"app-manager runs the equivalent of ``git fetch`` + checkout of that " +"branch's tip, so whatever is at the head of the tracked branch is what " +"users get." +msgstr "" + +#: ../../source/developers/apps/releases.rst:33 +msgid "Releasing a new version" +msgstr "" + +#: ../../source/developers/apps/releases.rst:35 +msgid "" +"Push the change to the branch the catalog tracks for your app. The next " +"time the user's sandbox refreshes the app, the new tip is picked up " +"automatically. No catalog PR is required." +msgstr "" + +#: ../../source/developers/apps/releases.rst:42 +#: ../../source/developers/apps/releases.rst:68 +msgid "The release branch convention" +msgstr "" + +#: ../../source/developers/apps/releases.rst:44 +msgid "" +"Because every push to the tracked branch is effectively a release, most " +"contributors keep a dedicated ``release`` branch and pin ``\"branch\": " +"\"release\"`` in the catalog rather than ``main``. You develop on " +"``main`` and merge into ``release`` only when you intend to publish — " +"that way unreviewed work on ``main`` doesn't go live the moment it is " +"pushed." +msgstr "" + +#: ../../source/developers/apps/releases.rst:50 +msgid "" +"This is a convention, not a requirement. Any branch works; if you pin " +"``main``, every push to ``main`` is a release." +msgstr "" + +#: ../../source/developers/apps/releases.rst:56 +msgid "Docker apps" +msgstr "" + +#: ../../source/developers/apps/releases.rst:58 +msgid "" +"Docker apps carry a required ``commit`` SHA in the catalog. The app-" +"launcher runs ``git fetch origin `` followed by ``git checkout " +"--detach ``, so SEPAL only ever runs that exact commit — " +"regardless of what is at the tip of ``branch``. Shipping a new version " +"therefore means advancing the ``commit`` field in the catalog." +msgstr "" + +#: ../../source/developers/apps/releases.rst:64 +msgid "" +"There are two ways to do that: a manual pull request, or an automated " +"bump triggered when your source repository publishes a release." +msgstr "" + +#: ../../source/developers/apps/releases.rst:70 +msgid "" +"Many docker apps pin ``\"branch\": \"release\"`` rather than ``main``. " +"Since the catalog validation requires the pinned ``commit`` to be " +"reachable from ``branch``, keeping a dedicated ``release`` branch lets " +"you continue developing on ``main`` while controlling exactly which " +"commits are eligible to be pinned: you merge into ``release`` only when " +"you intend to publish, and that merge commit is the one you pin." +msgstr "" + +#: ../../source/developers/apps/releases.rst:77 +msgid "" +"This is a convention, not a requirement — any branch works as long as the" +" pinned commit is reachable from it." +msgstr "" + +#: ../../source/developers/apps/releases.rst:81 +msgid "Manual release" +msgstr "" + +#: ../../source/developers/apps/releases.rst:83 +msgid "" +"Push the code you want to ship and note the commit SHA on your release " +"branch." +msgstr "" + +#: ../../source/developers/apps/releases.rst:85 +msgid "" +"Open a PR against ``apps.test.json`` changing the ``commit`` field of " +"your app's entry (and ``branch`` if it moved)." +msgstr "" + +#: ../../source/developers/apps/releases.rst:87 +msgid "" +"The ``Review helper`` bot posts a compare link showing exactly what " +"changed upstream between the old and new commit, with risk flags. A " +"maintainer reviews and merges; the change goes live on test.sepal.io." +msgstr "" + +#: ../../source/developers/apps/releases.rst:90 +msgid "" +"Promote to sepal.io with a second PR against ``apps.prod.json`` (or the " +"``Promote app to production`` workflow)." +msgstr "" + +#: ../../source/developers/apps/releases.rst:95 +msgid "" +"Validation requires the new commit to be an *ancestor of* (or equal to) " +"the branch tip — exactly what the app-launcher needs, since it runs ``git" +" fetch origin `` then ``git checkout --detach ``. You can" +" spot-check this before opening the PR:" +msgstr "" + +#: ../../source/developers/apps/releases.rst:106 +msgid "Automated release from your source repo" +msgstr "" + +#: ../../source/developers/apps/releases.rst:108 +msgid "" +"The catalog can bump a docker app automatically when your repository " +"publishes a GitHub release. The catalog's ``update-from-release.yml`` " +"workflow listens for a ``repository_dispatch`` event of type ``bump-" +"app``; on receipt it updates the app's ``commit`` in ``apps.test.json`` " +"and opens a pull request for a maintainer to review." +msgstr "" + +#: ../../source/developers/apps/releases.rst:114 +msgid "" +"To wire this up, add a workflow to your app's repository that sends the " +"dispatch on release. The snippet below is a starting point — adjust the " +"app ``id`` and the catalog repository to match your setup:" +msgstr "" + +#: ../../source/developers/apps/releases.rst:139 +msgid "" +"The token must have permission to dispatch to the catalog repository. The" +" bump only updates ``commit`` — never ``branch`` — and still goes through" +" the normal validation, risk-flag review, and maintainer merge before " +"reaching test." +msgstr "" + +#: ../../source/developers/apps/releases.rst:145 +msgid "" +"The exact ``client_payload`` fields the catalog expects may evolve. " +"Confirm against the catalog's ``update-from-release.yml`` and " +"``docs/ci.md`` before relying on this in production." +msgstr "" + +#: ../../source/developers/apps/releases.rst:151 +msgid "" +"The end-to-end lifecycle diagram lives on the section landing page — " +":ref:`developers_apps`." +msgstr "" + diff --git a/docs/source/_locale/pt/LC_MESSAGES/developers/index.po b/docs/source/_locale/pt/LC_MESSAGES/developers/index.po new file mode 100644 index 0000000000..cbfdcee3eb --- /dev/null +++ b/docs/source/_locale/pt/LC_MESSAGES/developers/index.po @@ -0,0 +1,45 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: pt\n" +"Language-Team: pt \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/developers/index.rst:11 +msgid "Command-line tools" +msgstr "" + +#: ../../source/developers/index.rst:11 +msgid "Develop apps" +msgstr "" + +#: ../../source/developers/index.rst:4 +msgid "For developers" +msgstr "" + +#: ../../source/developers/index.rst:5 +msgid "*Tools, conventions and workflows for building on the SEPAL platform*" +msgstr "" + +#: ../../source/developers/index.rst:7 +msgid "" +"This section is for developers and trainers working on SEPAL rather than " +"just using it: scripting against the sandbox from the command line, " +"packaging environments for shared use, and publishing apps that other " +"users can run." +msgstr "" + diff --git a/docs/source/_locale/pt/LC_MESSAGES/feature/index.po b/docs/source/_locale/pt/LC_MESSAGES/feature/index.po index 1d9fdb144c..5e620521f6 100644 --- a/docs/source/_locale/pt/LC_MESSAGES/feature/index.po +++ b/docs/source/_locale/pt/LC_MESSAGES/feature/index.po @@ -1,33 +1,53 @@ + msgid "" msgstr "" -"Project-Id-Version: sepal-doc\n" +"Project-Id-Version: sepal-doc\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-03-07 09:39+0100\n" -"PO-Revision-Date: 2024-03-07 08:58\n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: 2024-03-07 08:58+0000\n" "Last-Translator: \n" +"Language: pt_PT\n" "Language-Team: Portuguese\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.14.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Crowdin-Project: sepal-doc\n" -"X-Crowdin-Project-ID: 562097\n" -"X-Crowdin-Language: pt-PT\n" -"X-Crowdin-File: /main/docs/source/_locale/en/LC_MESSAGES/feature/index.po\n" -"X-Crowdin-File-ID: 81\n" -"Language: pt_PT\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/feature/index.rst:9 +msgid "Organize recipes" +msgstr "" + +#: ../../source/feature/index.rst:9 +msgid "AOI selection" +msgstr "" + +#: ../../source/feature/index.rst:9 +msgid "Optical bands" +msgstr "" + +#: ../../source/feature/index.rst:9 +msgid "Radar bands" +msgstr "" + +#: ../../source/feature/index.rst:9 +msgid "Visualization" +msgstr "" #: ../../source/feature/index.rst:2 msgid "Features" msgstr "" #: ../../source/feature/index.rst:3 -msgid "*Analyse, combine and visualize different types of data with SEPAL features*" +msgid "" +"*Analyse, combine and visualize different types of data with SEPAL " +"features*" msgstr "" #: ../../source/feature/index.rst:5 -msgid "Since these features can be accessed across various recipes and modules, they are described extensively in this section of the documentation." +msgid "" +"Since these features can be accessed across various recipes and modules, " +"they are described extensively in this section of the documentation." msgstr "" #: ../../source/feature/index.rst:7 diff --git a/docs/source/_locale/pt/LC_MESSAGES/feature/optical_bands.po b/docs/source/_locale/pt/LC_MESSAGES/feature/optical_bands.po new file mode 100644 index 0000000000..7203077114 --- /dev/null +++ b/docs/source/_locale/pt/LC_MESSAGES/feature/optical_bands.po @@ -0,0 +1,953 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: pt\n" +"Language-Team: pt \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/feature/optical_bands.rst:2 +msgid "Optical Satellite bands, transformations, and indices" +msgstr "" + +#: ../../source/feature/optical_bands.rst:4 +msgid "" +"When exporting an optical satellite image in SEPAL, you can choose from a" +" variety of bands, transformations, and indices to enhance your analysis " +"and visualization. Understanding the characteristics and applications of " +"different bands can help you optimize your image processing workflow and " +"extract valuable insights from satellite data." +msgstr "" + +#: ../../source/feature/optical_bands.rst:13 +msgid "Bands" +msgstr "" + +#: ../../source/feature/optical_bands.rst:15 +msgid "" +"Satellite imagery is composed of multiple bands, each capturing light in " +"specific wavelengths. Depending on the satellite sensor and mission, " +"SEPAL offers a range of bands that can be used for export and analysis." +msgstr "" + +#: ../../source/feature/optical_bands.rst:18 +msgid "Band" +msgstr "" + +#: ../../source/feature/optical_bands.rst:18 +msgid "Sentinel 2" +msgstr "" + +#: ../../source/feature/optical_bands.rst:18 +msgid "Landsat 9" +msgstr "" + +#: ../../source/feature/optical_bands.rst:18 +msgid "Landsat 8" +msgstr "" + +#: ../../source/feature/optical_bands.rst:18 +msgid "Landsat 7" +msgstr "" + +#: ../../source/feature/optical_bands.rst:18 +msgid "Landsat TM" +msgstr "" + +#: ../../source/feature/optical_bands.rst:20 +msgid "pan" +msgstr "" + +#: ../../source/feature/optical_bands.rst:20 +#: ../../source/feature/optical_bands.rst:22 +#: ../../source/feature/optical_bands.rst:32 +#: ../../source/feature/optical_bands.rst:34 +#: ../../source/feature/optical_bands.rst:36 +#: ../../source/feature/optical_bands.rst:38 +#: ../../source/feature/optical_bands.rst:44 +#: ../../source/feature/optical_bands.rst:46 +#: ../../source/feature/optical_bands.rst:48 +#: ../../source/feature/optical_bands.rst:50 +msgid "❌" +msgstr "" + +#: ../../source/feature/optical_bands.rst:20 +#: ../../source/feature/optical_bands.rst:22 +#: ../../source/feature/optical_bands.rst:24 +#: ../../source/feature/optical_bands.rst:26 +#: ../../source/feature/optical_bands.rst:28 +#: ../../source/feature/optical_bands.rst:30 +#: ../../source/feature/optical_bands.rst:32 +#: ../../source/feature/optical_bands.rst:34 +#: ../../source/feature/optical_bands.rst:36 +#: ../../source/feature/optical_bands.rst:38 +#: ../../source/feature/optical_bands.rst:40 +#: ../../source/feature/optical_bands.rst:42 +#: ../../source/feature/optical_bands.rst:44 +#: ../../source/feature/optical_bands.rst:46 +#: ../../source/feature/optical_bands.rst:48 +#: ../../source/feature/optical_bands.rst:50 +#: ../../source/feature/optical_bands.rst:52 +#: ../../source/feature/optical_bands.rst:54 +#: ../../source/feature/optical_bands.rst:56 +#: ../../source/feature/optical_bands.rst:58 +#: ../../source/feature/optical_bands.rst:60 +#: ../../source/feature/optical_bands.rst:62 +msgid "✅" +msgstr "" + +#: ../../source/feature/optical_bands.rst:22 +msgid "aerosol" +msgstr "" + +#: ../../source/feature/optical_bands.rst:24 +msgid "blue" +msgstr "" + +#: ../../source/feature/optical_bands.rst:26 +msgid "green" +msgstr "" + +#: ../../source/feature/optical_bands.rst:28 +msgid "red" +msgstr "" + +#: ../../source/feature/optical_bands.rst:30 +msgid "nir" +msgstr "" + +#: ../../source/feature/optical_bands.rst:32 +msgid "redEdge1" +msgstr "" + +#: ../../source/feature/optical_bands.rst:34 +msgid "redEdge2" +msgstr "" + +#: ../../source/feature/optical_bands.rst:36 +msgid "redEdge3" +msgstr "" + +#: ../../source/feature/optical_bands.rst:38 +msgid "redEdge4" +msgstr "" + +#: ../../source/feature/optical_bands.rst:40 +msgid "swir1" +msgstr "" + +#: ../../source/feature/optical_bands.rst:42 +msgid "swir2" +msgstr "" + +#: ../../source/feature/optical_bands.rst:44 +msgid "cirrus" +msgstr "" + +#: ../../source/feature/optical_bands.rst:46 +msgid "thermal" +msgstr "" + +#: ../../source/feature/optical_bands.rst:48 +msgid "thermal2" +msgstr "" + +#: ../../source/feature/optical_bands.rst:50 +msgid "waterVapor" +msgstr "" + +#: ../../source/feature/optical_bands.rst:52 +msgid "brightness" +msgstr "" + +#: ../../source/feature/optical_bands.rst:54 +msgid "greenness" +msgstr "" + +#: ../../source/feature/optical_bands.rst:56 +msgid "wetness" +msgstr "" + +#: ../../source/feature/optical_bands.rst:58 +msgid "fourth" +msgstr "" + +#: ../../source/feature/optical_bands.rst:60 +msgid "fifth" +msgstr "" + +#: ../../source/feature/optical_bands.rst:62 +msgid "sixth" +msgstr "" + +#: ../../source/feature/optical_bands.rst:66 +msgid "Description" +msgstr "" + +#: ../../source/feature/optical_bands.rst:68 +msgid "**Pan (Panchromatic)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:69 +msgid "" +"**Description**: Captures data in a single broad wavelength band, " +"offering higher spatial resolution." +msgstr "" + +#: ../../source/feature/optical_bands.rst:70 +#: ../../source/feature/optical_bands.rst:76 +#: ../../source/feature/optical_bands.rst:83 +#: ../../source/feature/optical_bands.rst:90 +#: ../../source/feature/optical_bands.rst:97 +#: ../../source/feature/optical_bands.rst:104 +#: ../../source/feature/optical_bands.rst:111 +#: ../../source/feature/optical_bands.rst:117 +#: ../../source/feature/optical_bands.rst:124 +#: ../../source/feature/optical_bands.rst:131 +#: ../../source/feature/optical_bands.rst:138 +#: ../../source/feature/optical_bands.rst:144 +msgid "**Wavelengths**:" +msgstr "" + +#: ../../source/feature/optical_bands.rst:71 +msgid "0.500-0.680 µm, only for Landsat." +msgstr "" + +#: ../../source/feature/optical_bands.rst:72 +msgid "**Usage**: High-resolution imaging for mapping and urban planning." +msgstr "" + +#: ../../source/feature/optical_bands.rst:74 +msgid "**Aerosol**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:75 +msgid "" +"**Description**: Used for detecting aerosols (tiny particles) in the " +"atmosphere, which can be crucial for air quality monitoring and climate " +"studies." +msgstr "" + +#: ../../source/feature/optical_bands.rst:77 +msgid "0.433-0.453 µm for Landsat 8 and 9." +msgstr "" + +#: ../../source/feature/optical_bands.rst:78 +msgid "0.443-0.463 µm for Sentinel-2." +msgstr "" + +#: ../../source/feature/optical_bands.rst:79 +msgid "**Usage**: Air pollution assessment, wildfire smoke tracking." +msgstr "" + +#: ../../source/feature/optical_bands.rst:81 +msgid "**Blue**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:82 +msgid "**Description**: Captures light in the blue wavelength." +msgstr "" + +#: ../../source/feature/optical_bands.rst:84 +msgid "0.450-0.510 µm for Landsat 8 and 9." +msgstr "" + +#: ../../source/feature/optical_bands.rst:85 +msgid "0.490-0.555 µm for Sentinel-2." +msgstr "" + +#: ../../source/feature/optical_bands.rst:86 +msgid "" +"**Usage**: Coastal water mapping, vegetation health monitoring, and " +"identification of shallow water bodies." +msgstr "" + +#: ../../source/feature/optical_bands.rst:88 +msgid "**Green**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:89 +msgid "**Description**: Captures light in the green wavelength." +msgstr "" + +#: ../../source/feature/optical_bands.rst:91 +msgid "0.530-0.590 µm for Landsat 8 and 9." +msgstr "" + +#: ../../source/feature/optical_bands.rst:92 +msgid "0.560-0.595 µm for Sentinel-2." +msgstr "" + +#: ../../source/feature/optical_bands.rst:93 +msgid "**Usage**: Mapping vegetation, water bodies, and urban areas." +msgstr "" + +#: ../../source/feature/optical_bands.rst:95 +msgid "**Red**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:96 +msgid "**Description**: Captures light in the red wavelength." +msgstr "" + +#: ../../source/feature/optical_bands.rst:98 +msgid "0.640-0.670 µm for Landsat 8 and 9." +msgstr "" + +#: ../../source/feature/optical_bands.rst:99 +msgid "0.665-0.695 µm for Sentinel-2." +msgstr "" + +#: ../../source/feature/optical_bands.rst:100 +msgid "" +"**Usage**: Vegetation analysis, especially in calculating vegetation " +"indices like NDVI." +msgstr "" + +#: ../../source/feature/optical_bands.rst:102 +msgid "**NIR (Near-Infrared)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:103 +msgid "**Description**: Captures light in the near-infrared spectrum." +msgstr "" + +#: ../../source/feature/optical_bands.rst:105 +msgid "0.850-0.880 µm for Landsat 8 and 9." +msgstr "" + +#: ../../source/feature/optical_bands.rst:106 +msgid "0.780-0.900 µm for Sentinel-2." +msgstr "" + +#: ../../source/feature/optical_bands.rst:107 +msgid "" +"**Usage**: Differentiating between vegetation and water, and monitoring " +"vegetation health." +msgstr "" + +#: ../../source/feature/optical_bands.rst:109 +msgid "**Red Edge (4)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:110 +msgid "" +"**Description**: 4 narrow Bands in the VNIR vegetation red edge spectral " +"domain: Red edge 1, Red edge 2, Red edge 3, Red edge 4, is a region of " +"the electromagnetic spectrum where the spectral reflectance of green " +"vegetation changes rapidly" +msgstr "" + +#: ../../source/feature/optical_bands.rst:112 +msgid "~704nm,~740nm, ~783nm and ~865nm, only for Sentinel-2." +msgstr "" + +#: ../../source/feature/optical_bands.rst:113 +msgid "" +"**Usage**: Detailed vegetation health monitoring, particularly for " +"precision agriculture." +msgstr "" + +#: ../../source/feature/optical_bands.rst:115 +msgid "**SWIR 1 (Shortwave Infrared 1)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:116 +#: ../../source/feature/optical_bands.rst:123 +msgid "**Description**: Captures light in the shortwave infrared spectrum." +msgstr "" + +#: ../../source/feature/optical_bands.rst:118 +msgid "1.570-1.650 µm for Landsat 8 and 9." +msgstr "" + +#: ../../source/feature/optical_bands.rst:119 +msgid "1.560-1.660 µm for Sentinel-2." +msgstr "" + +#: ../../source/feature/optical_bands.rst:120 +msgid "" +"**Usage**: Detecting moisture content in soil and vegetation, mapping " +"burned areas." +msgstr "" + +#: ../../source/feature/optical_bands.rst:122 +msgid "**SWIR 2 (Shortwave Infrared 2)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:125 +msgid "2.110-2.290 µm for Landsat 8 and 9." +msgstr "" + +#: ../../source/feature/optical_bands.rst:126 +msgid "2.100-2.280 µm for Sentinel-2." +msgstr "" + +#: ../../source/feature/optical_bands.rst:127 +msgid "" +"**Usage**: Distinguishing snow from clouds, mapping geological features, " +"and burn scars." +msgstr "" + +#: ../../source/feature/optical_bands.rst:129 +msgid "**Cirrus**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:130 +msgid "**Description**: A band designed to detect high-altitude cirrus clouds." +msgstr "" + +#: ../../source/feature/optical_bands.rst:132 +msgid "1.360-1.380 µm for Landsat 8 and 9." +msgstr "" + +#: ../../source/feature/optical_bands.rst:133 +msgid "1.360-1.390 µm for Sentinel-2." +msgstr "" + +#: ../../source/feature/optical_bands.rst:134 +msgid "" +"**Usage**: Cloud screening in high-altitude regions to improve " +"atmospheric correction." +msgstr "" + +#: ../../source/feature/optical_bands.rst:136 +msgid "**Thermal 1**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:137 +#: ../../source/feature/optical_bands.rst:143 +msgid "" +"**Description**: Measures thermal radiation emitted by the Earth's " +"surface." +msgstr "" + +#: ../../source/feature/optical_bands.rst:139 +msgid "10.60-11.19 µm for Landsat 8 and 9." +msgstr "" + +#: ../../source/feature/optical_bands.rst:140 +#: ../../source/feature/optical_bands.rst:146 +msgid "" +"**Usage**: Monitoring land surface temperature, detecting fires, and " +"assessing volcanic activity." +msgstr "" + +#: ../../source/feature/optical_bands.rst:142 +msgid "**Thermal 2**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:145 +msgid "11.50-12.51 µm for Landsat 8 and 9." +msgstr "" + +#: ../../source/feature/optical_bands.rst:148 +msgid "**Water Vapor**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:149 +msgid "" +"**Description**: Sensitive to atmospheric water vapor absorption, " +"commonly used for weather and climate studies." +msgstr "" + +#: ../../source/feature/optical_bands.rst:150 +msgid "**Usage**: Studying cloud formation, precipitation, and humidity levels." +msgstr "" + +#: ../../source/feature/optical_bands.rst:154 +msgid "Tasseled Cap Transformation" +msgstr "" + +#: ../../source/feature/optical_bands.rst:156 +msgid "" +"The Tasseled Cap Transformation is a method to transform satellite " +"imagery into three brightness components (Brightness, Greenness, and " +"Wetness) and three color components (Red, Green, and Blue). This " +"transformation is particularly useful for analyzing land cover changes, " +"vegetation health, and urban development over time." +msgstr "" + +#: ../../source/feature/optical_bands.rst:158 +msgid "**Brightness**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:159 +msgid "" +"**Description**: Measures the brightness band measures the overall " +"brightness of the image, specifically the soil." +msgstr "" + +#: ../../source/feature/optical_bands.rst:160 +msgid "" +"**Usage**: this band is often used to identify bare or partially covered " +"soil, man-made features, and natural features like asphalt, concrete, " +"gravel, and rock outcrops." +msgstr "" + +#: ../../source/feature/optical_bands.rst:162 +msgid "**Greenness**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:163 +msgid "" +"**Description**: Measures the density and health of vegetation by " +"capitalizing on the chlorophyll absorption in the red band and the high " +"reflectance in the near-infrared band. It enhances the contrast between " +"vegetated areas and non-vegetated areas." +msgstr "" + +#: ../../source/feature/optical_bands.rst:164 +msgid "" +"**Usage**: Widely used in assessing plant health, monitoring crop " +"conditions, tracking forest cover changes, and managing natural " +"resources." +msgstr "" + +#: ../../source/feature/optical_bands.rst:166 +msgid "**Wetness**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:167 +msgid "" +"**Description**: Captures moisture content in both soil and vegetation. " +"This band is sensitive to the moisture continuum from dry to wet " +"surfaces, helping to differentiate moist soils and saturated vegetation " +"from dry areas." +msgstr "" + +#: ../../source/feature/optical_bands.rst:168 +msgid "" +"**Usage**: Important for identifying wetlands, managing irrigation in " +"agriculture, detecting flood-prone areas, and conducting soil moisture " +"studies." +msgstr "" + +#: ../../source/feature/optical_bands.rst:170 +msgid "**Fourth Component**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:171 +msgid "" +"**Description**: Often calibrated to highlight additional properties of " +"vegetation or soil, such as senescence or specific soil types. The exact " +"nature of this band can vary depending on the coefficients and sensor " +"used." +msgstr "" + +#: ../../source/feature/optical_bands.rst:172 +msgid "" +"**Usage**: Can be used to differentiate between types of vegetation or " +"stages of crop maturity, and to detect stressed vegetation in forestry " +"and agriculture." +msgstr "" + +#: ../../source/feature/optical_bands.rst:174 +msgid "**Fifth Component**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:175 +msgid "" +"**Description**: Typically emphasizes land disturbance or variability in " +"land cover types, providing a finer distinction between different types " +"of ground cover and land use." +msgstr "" + +#: ../../source/feature/optical_bands.rst:176 +msgid "" +"**Usage**: Useful in monitoring land cover changes over time, detecting " +"disturbances like deforestation or urban expansion, and enhancing land " +"cover classification schemes." +msgstr "" + +#: ../../source/feature/optical_bands.rst:178 +msgid "**Sixth Component**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:179 +msgid "" +"**Description**: This band often captures more subtle or residual " +"information that the other bands do not emphasize. It can be less " +"directly interpretable and might be seen as highlighting noise or " +"anomalies in the data." +msgstr "" + +#: ../../source/feature/optical_bands.rst:180 +msgid "" +"**Usage**: Potentially useful for detecting subtle ecological changes, " +"analyzing noise in the data for improved image processing, and refining " +"classifications by providing additional context." +msgstr "" + +#: ../../source/feature/optical_bands.rst:184 +msgid "Vegetation Indices" +msgstr "" + +#: ../../source/feature/optical_bands.rst:186 +msgid "" +"Vegetation indices are mathematical transformations of satellite data " +"that highlight specific vegetation properties, such as chlorophyll " +"content, leaf area, or vegetation health. These indices are widely used " +"in agriculture, forestry, and environmental monitoring to assess plant " +"growth, detect stress, and monitor land cover changes." +msgstr "" + +#: ../../source/feature/optical_bands.rst:188 +msgid "**NDVI (Normalized Difference Vegetation Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:189 +msgid "" +"**Description**: Measures the density and health of vegetation by " +"calculating the difference between the near-infrared (NIR) and red light " +"reflected by vegetation. Healthy vegetation absorbs most of the visible " +"light and reflects a large portion of the NIR." +msgstr "" + +#: ../../source/feature/optical_bands.rst:190 +msgid "" +"**Usage**: Used to assess vegetation health, monitor drought, and manage " +"agricultural operations." +msgstr "" + +#: ../../source/feature/optical_bands.rst:191 +msgid "**Formula**: (NIR - Red) / (NIR + Red)" +msgstr "" + +#: ../../source/feature/optical_bands.rst:193 +msgid "**NDMI (Normalized Difference Moisture Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:194 +msgid "" +"**Description**: Highlights moisture content in vegetation by utilizing " +"the NIR and short-wave infrared (SWIR1) bands. It is sensitive to " +"moisture content in vegetation." +msgstr "" + +#: ../../source/feature/optical_bands.rst:195 +msgid "" +"**Usage**: Useful in monitoring vegetation hydration and managing " +"irrigation in agricultural contexts." +msgstr "" + +#: ../../source/feature/optical_bands.rst:196 +msgid "**Formula**: (NIR - SWIR1) / (NIR + SWIR1)" +msgstr "" + +#: ../../source/feature/optical_bands.rst:198 +msgid "**NDWI (Normalized Difference Water Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:199 +msgid "" +"**Description**: Designed to identify and monitor changes in water " +"content in vegetation, leveraging the green and NIR bands to maximize the" +" reflection differences." +msgstr "" + +#: ../../source/feature/optical_bands.rst:200 +msgid "" +"**Usage**: Employed in monitoring water stress in crops, detecting water " +"bodies, and managing wetland areas." +msgstr "" + +#: ../../source/feature/optical_bands.rst:201 +msgid "**Formula**: (Green - NIR) / (Green + NIR)" +msgstr "" + +#: ../../source/feature/optical_bands.rst:203 +msgid "**MNDWI (Modified Normalized Difference Water Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:204 +msgid "" +"**Description**: Enhances the detection of surface water by using the " +"green and SWIR1 bands, reducing the influence of built-up land that can " +"be confused with water in traditional NDWI." +msgstr "" + +#: ../../source/feature/optical_bands.rst:205 +msgid "" +"**Usage**: Used to map and monitor surface water bodies, crucial for " +"flood mapping and water resource management." +msgstr "" + +#: ../../source/feature/optical_bands.rst:206 +msgid "**Formula**: (Green - SWIR1) / (Green + SWIR1)" +msgstr "" + +#: ../../source/feature/optical_bands.rst:208 +msgid "**NDFI (Normalized Difference Fraction Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:209 +msgid "" +"**Description**: Typically used to distinguish between different types of" +" vegetation and non-vegetation elements, providing a measure of " +"vegetation cover fraction." +msgstr "" + +#: ../../source/feature/optical_bands.rst:210 +msgid "" +"**Usage**: Utilized in forest management and land cover classification " +"tasks." +msgstr "" + +#: ../../source/feature/optical_bands.rst:211 +msgid "**Formula**: Index-specific, varies based on application." +msgstr "" + +#: ../../source/feature/optical_bands.rst:213 +msgid "**EVI (Enhanced Vegetation Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:214 +msgid "" +"**Description**: Improves the NDVI by optimizing the vegetation signal " +"with improved sensitivity in high biomass regions and reducing background" +" and atmospheric noise." +msgstr "" + +#: ../../source/feature/optical_bands.rst:215 +msgid "" +"**Usage**: Frequently used in areas where vegetation monitoring requires " +"greater sensitivity to biomass." +msgstr "" + +#: ../../source/feature/optical_bands.rst:216 +msgid "**Formula**: 2.5 * (NIR - Red) / (NIR + 6 * Red - 7.5 * Blue + 1)" +msgstr "" + +#: ../../source/feature/optical_bands.rst:218 +msgid "**EVI2 (Enhanced Vegetation Index 2)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:219 +msgid "" +"**Description**: A refinement of EVI that uses only red and NIR bands, " +"designed for areas where blue band data may not be reliable." +msgstr "" + +#: ../../source/feature/optical_bands.rst:220 +msgid "" +"**Usage**: Ideal for vegetation monitoring through dense atmosphere or " +"where the blue band is unavailable." +msgstr "" + +#: ../../source/feature/optical_bands.rst:221 +msgid "**Formula**: 2.5 * (NIR - Red) / (NIR + 2.4 * Red + 1)" +msgstr "" + +#: ../../source/feature/optical_bands.rst:223 +msgid "**SAVI (Soil-Adjusted Vegetation Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:224 +msgid "" +"**Description**: Adjusts the NDVI for the influence of soil brightness, " +"particularly useful in areas with sparse vegetation where soil is " +"visible." +msgstr "" + +#: ../../source/feature/optical_bands.rst:225 +msgid "" +"**Usage**: Applied in semi-arid regions to improve the accuracy of " +"vegetation assessments." +msgstr "" + +#: ../../source/feature/optical_bands.rst:226 +msgid "**Formula**: (1.5 * (NIR - Red) / (NIR + Red + 0.5))" +msgstr "" + +#: ../../source/feature/optical_bands.rst:228 +msgid "**NBR (Normalized Burn Ratio)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:229 +msgid "" +"**Description**: Utilizes NIR and SWIR2 bands to assess the severity of " +"burn damage and the delineation of burned areas." +msgstr "" + +#: ../../source/feature/optical_bands.rst:230 +msgid "" +"**Usage**: Key for assessing post-fire recovery in forested areas and " +"mapping burn severity." +msgstr "" + +#: ../../source/feature/optical_bands.rst:231 +msgid "**Formula**: (NIR - SWIR2) / (NIR + SWIR2)" +msgstr "" + +#: ../../source/feature/optical_bands.rst:233 +msgid "**MVI (Mangrove Vegetation Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:234 +msgid "" +"**Description**: Specifically designed to enhance the detection and " +"monitoring of mangrove forests by using NIR and green bands." +msgstr "" + +#: ../../source/feature/optical_bands.rst:235 +msgid "" +"**Usage**: Used in coastal management and conservation of mangrove " +"ecosystems." +msgstr "" + +#: ../../source/feature/optical_bands.rst:236 +msgid "**Formula**: 0.1 * (NIR - Green) / abs(SWIR1 - Green)" +msgstr "" + +#: ../../source/feature/optical_bands.rst:238 +msgid "**UI (Urban Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:239 +msgid "" +"**Description**: Highlights urban areas by exploiting the differences in " +"reflection between SWIR2 and NIR bands." +msgstr "" + +#: ../../source/feature/optical_bands.rst:240 +msgid "" +"**Usage**: Useful for urban mapping and monitoring changes in urban land " +"use." +msgstr "" + +#: ../../source/feature/optical_bands.rst:241 +msgid "**Formula**: (SWIR2 - NIR) / (SWIR2 + NIR)" +msgstr "" + +#: ../../source/feature/optical_bands.rst:243 +msgid "**NDBI (Normalized Difference Built-up Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:244 +msgid "" +"**Description**: Differentiates urban and built-up areas from natural " +"land cover by using NIR and SWIR1 bands." +msgstr "" + +#: ../../source/feature/optical_bands.rst:245 +msgid "**Usage**: Employed in urban planning and studying urban heat islands." +msgstr "" + +#: ../../source/feature/optical_bands.rst:246 +msgid "**Formula**: (SWIR1 - NIR) / (SWIR1 + NIR)" +msgstr "" + +#: ../../source/feature/optical_bands.rst:248 +msgid "**IBI (Index-based Built-up Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:249 +msgid "" +"**Description**: Combines NDBI with SAVI and MNDWI to provide a more " +"comprehensive measure of built-up areas." +msgstr "" + +#: ../../source/feature/optical_bands.rst:250 +msgid "**Usage**: Useful in detailed urban analysis and land use classification." +msgstr "" + +#: ../../source/feature/optical_bands.rst:251 +msgid "**Formula**: (NDBI - (SAVI + MNDWI) / 2) / (NDBI + (SAVI + MNDWI) / 2)" +msgstr "" + +#: ../../source/feature/optical_bands.rst:253 +msgid "**NBI (New Built-up Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:254 +msgid "" +"**Description**: Employs red, NIR, and SWIR1 bands to enhance the " +"detection of built-up areas." +msgstr "" + +#: ../../source/feature/optical_bands.rst:255 +msgid "**Usage**: Applied in urban growth monitoring and land use planning." +msgstr "" + +#: ../../source/feature/optical_bands.rst:256 +msgid "**Formula**: Red * SWIR1 / NIR" +msgstr "" + +#: ../../source/feature/optical_bands.rst:258 +msgid "**EBBI (Enhanced Built-Up and Bareness Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:259 +msgid "" +"**Description**: Focuses on urban areas and bare land by incorporating " +"thermal and SWIR1 bands to detect built-up regions." +msgstr "" + +#: ../../source/feature/optical_bands.rst:260 +msgid "" +"**Usage**: Crucial for urban mapping and identifying heat-stressed areas " +"in cities." +msgstr "" + +#: ../../source/feature/optical_bands.rst:261 +msgid "**Formula**: (SWIR1 - NIR) / (10 * sqrt(SWIR1 + Thermal))" +msgstr "" + +#: ../../source/feature/optical_bands.rst:263 +msgid "**BUI (Built-Up Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:264 +msgid "" +"**Description**: Combines multiple SWIR bands to enhance the detection " +"and differentiation of built-up areas." +msgstr "" + +#: ../../source/feature/optical_bands.rst:265 +msgid "" +"**Usage**: Employed in urban and regional planning to delineate built-up " +"from natural areas." +msgstr "" + +#: ../../source/feature/optical_bands.rst:266 +msgid "" +"**Formula**: (Red - SWIR1) / (Red + SWIR1) + (SWIR2 - SWIR1) / (SWIR2 + " +"SWIR1)" +msgstr "" + +#: ../../source/feature/optical_bands.rst:268 +msgid "**KNDVI (Kernel Normalized Difference Vegetation Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:269 +msgid "" +"**Description**: Applies a kernel function to traditional NDVI to improve" +" sensitivity and accuracy in vegetation monitoring." +msgstr "" + +#: ../../source/feature/optical_bands.rst:270 +msgid "" +"**Usage**: Used in precision agriculture and detailed vegetation studies " +"where standard NDVI is not sufficient." +msgstr "" + +#: ../../source/feature/optical_bands.rst:271 +msgid "" +"**Formula**: Kernel-function applied to NDVI, specific implementation " +"details vary." +msgstr "" + diff --git a/docs/source/_locale/pt/LC_MESSAGES/feature/project.po b/docs/source/_locale/pt/LC_MESSAGES/feature/project.po index 8b212092b2..c50e3b35e4 100644 --- a/docs/source/_locale/pt/LC_MESSAGES/feature/project.po +++ b/docs/source/_locale/pt/LC_MESSAGES/feature/project.po @@ -1,33 +1,34 @@ + msgid "" msgstr "" -"Project-Id-Version: sepal-doc\n" +"Project-Id-Version: sepal-doc\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-03-07 09:39+0100\n" -"PO-Revision-Date: 2024-03-07 08:58\n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: 2024-03-07 08:58+0000\n" "Last-Translator: \n" +"Language: pt_PT\n" "Language-Team: Portuguese\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.14.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Crowdin-Project: sepal-doc\n" -"X-Crowdin-Project-ID: 562097\n" -"X-Crowdin-Language: pt-PT\n" -"X-Crowdin-File: /main/docs/source/_locale/en/LC_MESSAGES/feature/project.po\n" -"X-Crowdin-File-ID: 83\n" -"Language: pt_PT\n" +"Generated-By: Babel 2.18.0\n" #: ../../source/feature/project.rst:2 -msgid "Recipe projects" +msgid "Organize Recipes by projects" msgstr "" #: ../../source/feature/project.rst:4 -msgid "When interacting with SEPAL processes, a user creates **Recipes**, which can work together and be interconnected inside a single project (e.g. :code:`Mosaics` used in a :code:`Classification`)." +msgid "" +"When interacting with SEPAL processes, a user creates **Recipes**, which " +"can work together and be interconnected inside a single project (e.g. " +":code:`Mosaics` used in a :code:`Classification`)." msgstr "" #: ../../source/feature/project.rst:6 -msgid "To help with these interconnections, the SEPAL platform provides a :code:`Project` system to organize users' work." +msgid "" +"To help with these interconnections, the SEPAL platform provides a " +":code:`Project` system to organize users' work." msgstr "" #: ../../source/feature/project.rst:9 @@ -39,7 +40,9 @@ msgid "Go to the **Processes** interface of SEPAL (:btn:``)." msgstr "" #: ../../source/feature/project.rst:13 -msgid "(You should see the following. If you've already created recipes in previous releases, you will see a list of existing recipes)." +msgid "" +"(You should see the following. If you've already created recipes in " +"previous releases, you will see a list of existing recipes)." msgstr "" #: ../../source/feature/project.rst:20 @@ -67,7 +70,9 @@ msgid "Edit recipes" msgstr "" #: ../../source/feature/project.rst:28 -msgid "Read the following section to understand how users can create a new project and manage existing projects in the SEPAL platform." +msgid "" +"Read the following section to understand how users can create a new " +"project and manage existing projects in the SEPAL platform." msgstr "" #: ../../source/feature/project.rst:31 @@ -75,19 +80,29 @@ msgid "Project" msgstr "" #: ../../source/feature/project.rst:35 -msgid "Projects are personal. They cannot be shared and they are not visible to other users." +msgid "" +"Projects are personal. They cannot be shared and they are not visible to " +"other users." msgstr "" #: ../../source/feature/project.rst:39 -msgid "For every user, a :code:`[no project]` project is created during registration. This project will be the fallback for every recipe that was created before the publication of the feature. It cannot be deleted or renamed." +msgid "" +"For every user, a :code:`[no project]` project is created during " +"registration. This project will be the fallback for every recipe that was" +" created before the publication of the feature. It cannot be deleted or " +"renamed." msgstr "" #: ../../source/feature/project.rst:41 -msgid "To create a project, select :btn:` Projects`, which opens the interface (see figure below)." +msgid "" +"To create a project, select :btn:` Projects`, " +"which opens the interface (see figure below)." msgstr "" #: ../../source/feature/project.rst:43 -msgid "Then, select :btn:` Add` to create a new project. Enter the name and select :btn:` Apply`." +msgid "" +"Then, select :btn:` Add` to create a new project. " +"Enter the name and select :btn:` Apply`." msgstr "" #: ../../source/feature/project.rst:45 @@ -95,7 +110,10 @@ msgid "The newly created project will now appear in the list." msgstr "" #: ../../source/feature/project.rst:57 -msgid "To remove a project, select the :btn:`` icon (located beside its name), which will destroy all recipes included in the process as well." +msgid "" +"To remove a project, select the :btn:`` icon (located " +"beside its name), which will destroy all recipes included in the process " +"as well." msgstr "" #: ../../source/feature/project.rst:65 @@ -103,7 +121,11 @@ msgid "Recipes" msgstr "" #: ../../source/feature/project.rst:67 -msgid "When entering the **Process** interface, no projects are selected by default, meaning that users will see all recipes available in their SEPAL accounts. All recipes are displayed using the following prototype: :code:` / `." +msgid "" +"When entering the **Process** interface, no projects are selected by " +"default, meaning that users will see all recipes available in their SEPAL" +" accounts. All recipes are displayed using the following prototype: " +":code:` / `." msgstr "" #: ../../source/feature/project.rst:74 @@ -115,23 +137,36 @@ msgid "Filter recipes" msgstr "" #: ../../source/feature/project.rst:79 -msgid "Select (3) to filter recipes according to your project. Once selected, only the recipes included in the project will be displayed. The field is clearable (i.e. you can go back to the unfiltered state and select another project). Also, :code:`[no project]` can be selected." +msgid "" +"Select (3) to filter recipes according to your project. Once selected, " +"only the recipes included in the project will be displayed. The field is " +"clearable (i.e. you can go back to the unfiltered state and select " +"another project). Also, :code:`[no project]` can be selected." msgstr "" #: ../../source/feature/project.rst:86 -msgid "Once a project is selected, it will appear as **Current project** in the project list (see figure below)." +msgid "" +"Once a project is selected, it will appear as **Current project** in the " +"project list (see figure below)." msgstr "" #: ../../source/feature/project.rst:93 -msgid "Once a project is selected and a recipe is created, it will belong to the selected project." +msgid "" +"Once a project is selected and a recipe is created, it will belong to the" +" selected project." msgstr "" #: ../../source/feature/project.rst:97 -msgid "If you don't want your recipe to be associated with any project, unfilter the list before selecting :btn:` Add recipe`." +msgid "" +"If you don't want your recipe to be associated with any project, unfilter" +" the list before selecting :btn:` Add recipe`." msgstr "" #: ../../source/feature/project.rst:102 -msgid "Recipe behaviour can be edited directly from this view. Select the :btn:` Edit` button to open the **Editing** interface." +msgid "" +"Recipe behaviour can be edited directly from this view. Select the :btn" +":` Edit` button to open the **Editing** " +"interface." msgstr "" #: ../../source/feature/project.rst:109 @@ -139,11 +174,16 @@ msgid "From this interface, you can:" msgstr "" #: ../../source/feature/project.rst:111 -msgid ":btn:` Select`: Select/unselect all recipes shown on the screen. Any other editing operation will only be applied to the selected recipe(s)." +msgid "" +":btn:` Select`: Select/unselect all recipes shown on " +"the screen. Any other editing operation will only be applied to the " +"selected recipe(s)." msgstr "" #: ../../source/feature/project.rst:112 -msgid ":btn:` Move`: Move the selected recipe(s) to another project." +msgid "" +":btn:` Move`: Move the selected recipe(s) to another" +" project." msgstr "" #: ../../source/feature/project.rst:113 @@ -151,7 +191,9 @@ msgid ":btn:` Remove`: Delete the recipe(s) permanently." msgstr "" #: ../../source/feature/project.rst:117 -msgid "Before deleting individual recipes, make sure that they are not used as inputs in others." +msgid "" +"Before deleting individual recipes, make sure that they are not used as " +"inputs in others." msgstr "" #: ../../source/feature/project.rst:120 @@ -159,11 +201,18 @@ msgid "Connect recipes" msgstr "" #: ../../source/feature/project.rst:122 -msgid "When creating recipes such as :code:`Classification`, users can use other recipes as inputs for the process. To avoid flooding the dropdown list with too many values, only the recipes from the same project will be displayed (see following figure on the left)." +msgid "" +"When creating recipes such as :code:`Classification`, users can use other" +" recipes as inputs for the process. To avoid flooding the dropdown list " +"with too many values, only the recipes from the same project will be " +"displayed (see following figure on the left)." msgstr "" #: ../../source/feature/project.rst:124 -msgid "If one still wants to see all of the recipes in the dropdown list, select :btn:`All` and all recipes will be displayed using project names as headers (see following figure on right)." +msgid "" +"If one still wants to see all of the recipes in the dropdown list, select" +" :btn:`All` and all recipes will be displayed using project names as " +"headers (see following figure on right)." msgstr "" #~ msgid "" @@ -490,3 +539,6 @@ msgstr "" #~ " (see following figure on right)." #~ msgstr "" +#~ msgid "Recipe projects" +#~ msgstr "" + diff --git a/docs/source/_locale/pt/LC_MESSAGES/feature/radar_bands.po b/docs/source/_locale/pt/LC_MESSAGES/feature/radar_bands.po new file mode 100644 index 0000000000..3c198ceade --- /dev/null +++ b/docs/source/_locale/pt/LC_MESSAGES/feature/radar_bands.po @@ -0,0 +1,121 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: pt\n" +"Language-Team: pt \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/feature/radar_bands.rst:2 +msgid "Sentinel-1 Radar Bands" +msgstr "" + +#: ../../source/feature/radar_bands.rst:4 +msgid "" +"When exporting a radar mosaic from the SEPAL platform, the following " +"radar band metrics are available for analysis:" +msgstr "" + +#: ../../source/feature/radar_bands.rst:13 +msgid "Basic Radar Metrics (VV and VH Polarizations)" +msgstr "" + +#: ../../source/feature/radar_bands.rst:15 +msgid "**Metrics Included**:" +msgstr "" + +#: ../../source/feature/radar_bands.rst:16 +msgid "" +"*VV_min, VV_max, VV_mean, VV_std, VV_med*: Statistics of the VV " +"polarization signal, covering minimum, maximum, mean, standard deviation," +" and median." +msgstr "" + +#: ../../source/feature/radar_bands.rst:17 +msgid "" +"*VH_min, VH_max, VH_mean, VH_std, VH_med*: Similar statistics for the VH " +"polarization." +msgstr "" + +#: ../../source/feature/radar_bands.rst:18 +msgid "" +"*ratio_VV_med_VH_med*: The ratio of the median values of VV to VH " +"polarizations, indicating surface roughness and moisture." +msgstr "" + +#: ../../source/feature/radar_bands.rst:19 +msgid "" +"*VV_cv, VH_cv*: Coefficient of variation for VV and VH, showing the " +"variability relative to the mean." +msgstr "" + +#: ../../source/feature/radar_bands.rst:20 +msgid "" +"*NDCV (Normalized Difference Coefficient of Variation)*: A normalized " +"measure that highlights differences in texture or moisture content " +"between VV and VH returns." +msgstr "" + +#: ../../source/feature/radar_bands.rst:21 +msgid "" +"*orbit*: The orbit direction (ascending or descending), which can affect " +"the radar's observation angle and thus the backscatter properties." +msgstr "" + +#: ../../source/feature/radar_bands.rst:23 +msgid "" +"**Description**: These metrics are essential for analyzing surface " +"features, moisture content, vegetation, and other land cover " +"characteristics using radar backscatter properties." +msgstr "" + +#: ../../source/feature/radar_bands.rst:24 +msgid "" +"**Usage**: Widely used in agricultural monitoring, flood mapping, forest " +"monitoring, and urban expansion studies." +msgstr "" + +#: ../../source/feature/radar_bands.rst:27 +msgid "Harmonic Analysis Metrics (Conditional on Data Availability)" +msgstr "" + +#: ../../source/feature/radar_bands.rst:29 +msgid "**Metrics Included** (Only if harmonic dependents are available):" +msgstr "" + +#: ../../source/feature/radar_bands.rst:30 +msgid "" +"*VV_phase, VV_amp, VV_res*: Phase, amplitude, and residuals of the VV " +"signal following harmonic analysis." +msgstr "" + +#: ../../source/feature/radar_bands.rst:31 +msgid "*VH_phase, VH_amp, VH_res*: Similar metrics for the VH signal." +msgstr "" + +#: ../../source/feature/radar_bands.rst:32 +msgid "" +"**Description**: Harmonic analysis metrics help in understanding seasonal" +" variations and temporal patterns in the radar signal, useful for long-" +"term monitoring." +msgstr "" + +#: ../../source/feature/radar_bands.rst:33 +msgid "" +"**Usage**: Ideal for studying seasonal changes in vegetation, detecting " +"changes in water bodies over time, and monitoring environmental changes." +msgstr "" + diff --git a/docs/source/_locale/pt/LC_MESSAGES/feature/visualization.po b/docs/source/_locale/pt/LC_MESSAGES/feature/visualization.po new file mode 100644 index 0000000000..82dfb229c0 --- /dev/null +++ b/docs/source/_locale/pt/LC_MESSAGES/feature/visualization.po @@ -0,0 +1,161 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: pt\n" +"Language-Team: pt \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/feature/visualization.rst:2 +msgid "Visualization in SEPAL" +msgstr "" + +#: ../../source/feature/visualization.rst:4 +msgid "**Natural color: red, green, blue**" +msgstr "" + +#: ../../source/feature/visualization.rst:5 +msgid "" +"**Description**: Represents the true color of the terrain as human eyes " +"would see it, using the red, green, and blue bands." +msgstr "" + +#: ../../source/feature/visualization.rst:6 +msgid "" +"**Usage**: Used for general mapping and visual inspections where true " +"color representation is necessary." +msgstr "" + +#: ../../source/feature/visualization.rst:8 +msgid "**False color: nir, red, green**" +msgstr "" + +#: ../../source/feature/visualization.rst:9 +msgid "" +"**Description**: Uses near-infrared, red, and green bands. Vegetation " +"appears red due to the high reflection of NIR by healthy vegetation, " +"helpful for distinguishing vegetative areas." +msgstr "" + +#: ../../source/feature/visualization.rst:10 +msgid "" +"**Usage**: Commonly used in vegetation studies to easily distinguish live" +" green vegetation, which reflects NIR strongly." +msgstr "" + +#: ../../source/feature/visualization.rst:12 +msgid "**False color: nir, swir1, red**" +msgstr "" + +#: ../../source/feature/visualization.rst:13 +msgid "" +"**Description**: Combines near-infrared, short-wave infrared, and red " +"bands. This combination is effective in highlighting vegetation and " +"differentiating moisture levels and geological features." +msgstr "" + +#: ../../source/feature/visualization.rst:14 +msgid "" +"**Usage**: Useful in geological mapping, vegetation health assessment, " +"and moisture content analysis." +msgstr "" + +#: ../../source/feature/visualization.rst:16 +msgid "**False color: swir2, nir, red**" +msgstr "" + +#: ../../source/feature/visualization.rst:17 +msgid "" +"**Description**: Utilizes short-wave infrared, near-infrared, and red " +"bands. It enhances the differentiation between mineral types and can " +"indicate burn severity in post-fire assessments." +msgstr "" + +#: ../../source/feature/visualization.rst:18 +msgid "" +"**Usage**: Often used in mineralogical mapping, soil and rock " +"differentiation, and detecting burned areas." +msgstr "" + +#: ../../source/feature/visualization.rst:20 +msgid "**False color: swir2, swir1, red**" +msgstr "" + +#: ../../source/feature/visualization.rst:21 +msgid "" +"**Description**: Involves short-wave infrared bands and red band. This " +"setup enhances geological features and is sensitive to water content and " +"urban areas." +msgstr "" + +#: ../../source/feature/visualization.rst:22 +msgid "" +"**Usage**: Ideal for enhanced geological mapping, urban sprawl studies, " +"and discriminating between different water bodies." +msgstr "" + +#: ../../source/feature/visualization.rst:24 +msgid "**False color: swir2, nir, green**" +msgstr "" + +#: ../../source/feature/visualization.rst:25 +msgid "" +"**Description**: Features short-wave infrared, near-infrared, and green " +"bands. This visualization aids in the analysis of vegetation health and " +"soil/water interactions." +msgstr "" + +#: ../../source/feature/visualization.rst:26 +msgid "" +"**Usage**: Useful for detailed vegetation health monitoring and " +"differentiating water stress in plants." +msgstr "" + +#: ../../source/feature/visualization.rst:28 +msgid "**Tasseled cap: brightness, greenness, wetness**" +msgstr "" + +#: ../../source/feature/visualization.rst:29 +msgid "" +"**Description**: Applies the Tasseled Cap transformation to highlight " +"physical properties of the land surface such as brightness " +"(reflectivity), greenness (vegetation), and wetness (moisture content)." +msgstr "" + +#: ../../source/feature/visualization.rst:30 +msgid "" +"**Usage**: Extensively used in environmental monitoring, land cover " +"classification, and assessing vegetation and water content dynamics." +msgstr "" + +#: ../../source/feature/visualization.rst:32 +msgid "**Tasseled cap: fifth, sixth, fourth**" +msgstr "" + +#: ../../source/feature/visualization.rst:33 +msgid "" +"**Description**: Another Tasseled Cap visualization focusing on the " +"additional components that might reflect other surface properties not " +"captured by the primary three bands." +msgstr "" + +#: ../../source/feature/visualization.rst:34 +msgid "" +"**Usage**: Useful for specialized studies in vegetation dynamics, soil " +"properties, and other environmental monitoring where standard Tasseled " +"Cap indices might need supplementation." +msgstr "" + diff --git a/docs/source/_locale/pt/LC_MESSAGES/index.po b/docs/source/_locale/pt/LC_MESSAGES/index.po index 940bc15363..0de7d0c350 100644 --- a/docs/source/_locale/pt/LC_MESSAGES/index.po +++ b/docs/source/_locale/pt/LC_MESSAGES/index.po @@ -1,24 +1,20 @@ + msgid "" msgstr "" -"Project-Id-Version: sepal-doc\n" +"Project-Id-Version: sepal-doc\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-03-07 09:39+0100\n" -"PO-Revision-Date: 2024-03-07 08:58\n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: 2024-03-07 08:58+0000\n" "Last-Translator: \n" +"Language: pt_PT\n" "Language-Team: Portuguese\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.14.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Crowdin-Project: sepal-doc\n" -"X-Crowdin-Project-ID: 562097\n" -"X-Crowdin-Language: pt-PT\n" -"X-Crowdin-File: /main/docs/source/_locale/en/LC_MESSAGES/index.po\n" -"X-Crowdin-File-ID: 87\n" -"Language: pt_PT\n" +"Generated-By: Babel 2.18.0\n" -#: ../../source/index.rst:20 ../../source/index.rst:54 +#: ../../source/index.rst:20 ../../source/index.rst:55 msgid "Getting started" msgstr "" @@ -31,15 +27,19 @@ msgid "Modules" msgstr "" #: ../../source/index.rst:20 -msgid "CLI" +msgid "Workflows" +msgstr "" + +#: ../../source/index.rst:20 +msgid "Features" msgstr "" #: ../../source/index.rst:20 -msgid "Workflows" +msgid "Troubleshooting" msgstr "" #: ../../source/index.rst:20 -msgid "Features" +msgid "Developers" msgstr "" #: ../../source/index.rst:20 @@ -50,140 +50,176 @@ msgstr "" msgid "Documentation" msgstr "" -#: ../../source/index.rst:36 -msgid "The System for Earth Observation Data Access, Processing and Analysis for Land Monitoring (**SEPAL**) is an open-source project and platform empowering people around the world to gain a better understanding of land cover dynamics by facilitating the efficient access and use of Earth observation data – without the need of coding knowledge." +#: ../../source/index.rst:37 +msgid "" +"The System for Earth Observation Data Access, Processing and Analysis for" +" Land Monitoring (**SEPAL**) is an open-source project and platform " +"empowering people around the world to gain a better understanding of land" +" cover dynamics by facilitating the efficient access and use of Earth " +"observation data – without the need of coding knowledge." msgstr "" -#: ../../source/index.rst:47 +#: ../../source/index.rst:48 msgid "Learn how to use the platform with SEPAL documentation" msgstr "" -#: ../../source/index.rst:49 -msgid "The SEPAL team developed this GitHub page to help users get the most out of the interface." +#: ../../source/index.rst:50 +msgid "" +"The SEPAL team developed this GitHub page to help users get the most out " +"of the interface." msgstr "" -#: ../../source/index.rst:59 +#: ../../source/index.rst:60 msgid "Register to SEPAL" msgstr "" -#: ../../source/index.rst:62 +#: ../../source/index.rst:63 msgid "Set up your SEPAL account and request additional resources." msgstr "" -#: ../../source/index.rst:64 +#: ../../source/index.rst:65 msgid "Connect to GEE" msgstr "" -#: ../../source/index.rst:67 +#: ../../source/index.rst:68 msgid "Register with Google Earth Engine (GEE) and connect your account to SEPAL." msgstr "" -#: ../../source/index.rst:69 +#: ../../source/index.rst:70 msgid "Connect to NICFI–PlanetLab imagery" msgstr "" -#: ../../source/index.rst:72 -msgid "Sign up to use Norway’s International Climate and Forests Initiative (NICFI) – PlanetLab data and connect your account to GEE." +#: ../../source/index.rst:73 +msgid "" +"Sign up to use Norway’s International Climate and Forests Initiative " +"(NICFI) – PlanetLab data and connect your account to GEE." msgstr "" -#: ../../source/index.rst:77 +#: ../../source/index.rst:78 msgid "Recipes and modules" msgstr "" -#: ../../source/index.rst:82 +#: ../../source/index.rst:83 msgid "Start a recipe" msgstr "" -#: ../../source/index.rst:85 +#: ../../source/index.rst:86 msgid "Run analysis with recipes – the foundation of SEPAL processes." msgstr "" -#: ../../source/index.rst:87 +#: ../../source/index.rst:88 msgid "Start a module" msgstr "" -#: ../../source/index.rst:90 -msgid "Run integrated workflows with modules – no need of coding experience required." +#: ../../source/index.rst:91 +msgid "" +"Run integrated workflows with modules – no need of coding experience " +"required." msgstr "" -#: ../../source/index.rst:92 +#: ../../source/index.rst:93 msgid "Use the se.plan module" msgstr "" -#: ../../source/index.rst:95 -msgid "Compute your restoration index with se.plan, a spatially explicit online tool designed to support forest restoration planning decisions by restoration stakeholders." +#: ../../source/index.rst:96 +msgid "" +"Compute your restoration index with se.plan, a spatially explicit online " +"tool designed to support forest restoration planning decisions by " +"restoration stakeholders." msgstr "" -#: ../../source/index.rst:100 +#: ../../source/index.rst:101 msgid "Other resources" msgstr "" -#: ../../source/index.rst:105 +#: ../../source/index.rst:106 msgid "SEPAL website" msgstr "" -#: ../../source/index.rst:108 +#: ../../source/index.rst:109 msgid "Discover the impact of the project." msgstr "" -#: ../../source/index.rst:110 +#: ../../source/index.rst:111 msgid "SEPAL platform" msgstr "" -#: ../../source/index.rst:113 +#: ../../source/index.rst:114 msgid "Learn more about the interface." msgstr "" -#: ../../source/index.rst:115 +#: ../../source/index.rst:116 msgid "Open Foris" msgstr "" -#: ../../source/index.rst:118 +#: ../../source/index.rst:119 msgid "Browse the Suite of Tools." msgstr "" -#: ../../source/index.rst:123 +#: ../../source/index.rst:124 msgid "SEPAL is always improving" msgstr "" -#: ../../source/index.rst:125 -msgid "Encounter a problem? See an issue? Need help? Help our team members enhance user experience by improving the platform and its documentation." +#: ../../source/index.rst:126 +msgid "" +"Encounter a problem? See an issue? Need help? Help our team members " +"enhance user experience by improving the platform and its documentation." msgstr "" -#: ../../source/index.rst:132 +#: ../../source/index.rst:133 msgid "For general support, ask the Google Group community" msgstr "" -#: ../../source/index.rst:135 +#: ../../source/index.rst:136 msgid "For documentation improvement, use the GitHub Issue Tracker" msgstr "" -#: ../../source/index.rst:138 +#: ../../source/index.rst:139 msgid "For usage questions, ask the GIS StackExchange community" msgstr "" -#: ../../source/index.rst:141 -msgid "For training, register for the SEPAL Forest and Land Monitoring for Climate Action e-learning course" +#: ../../source/index.rst:142 +msgid "" +"For training, register for the SEPAL Forest and Land Monitoring for " +"Climate Action e-learning course" msgstr "" -#: ../../source/index.rst:147 +#: ../../source/index.rst:148 msgid "About the platform" msgstr "" -#: ../../source/index.rst:149 -msgid "SEPAL is part of the `Open Foris `__ Suite of Tools. The platform allows users to query and process satellite data quickly and efficiently, tailor their products for local needs, and produce sophisticated and relevant geospatial analyses. Harnessing cloud-based supercomputers and modern geospatial data infrastructures (e.g. GEE), the interface enables users to access and process historical satellite data as well as newer data from Landsat and higher-resolution data from Europe’s Copernicus programme." +#: ../../source/index.rst:150 +msgid "" +"SEPAL is part of the `Open Foris `__ Suite of " +"Tools. The platform allows users to query and process satellite data " +"quickly and efficiently, tailor their products for local needs, and " +"produce sophisticated and relevant geospatial analyses. Harnessing cloud-" +"based supercomputers and modern geospatial data infrastructures (e.g. " +"GEE), the interface enables users to access and process historical " +"satellite data as well as newer data from Landsat and higher-resolution " +"data from Europe’s Copernicus programme." msgstr "" -#: ../../source/index.rst:151 -msgid "SEPAL is a cloud computing-based platform for autonomous land monitoring using remotely sensed data. It is a combination of GEE and open-source software such as GDAL, Jupyter, the Open Foris Geospatial Toolkit, ORFEO Toolbox, Python, R, R Shiny Server, R Studio Server, and the SNAP Toolkit. The platform allows users to access powerful cloud-computing resources to query, access and process satellite data quickly and efficiently for conducting advanced analyses." +#: ../../source/index.rst:152 +msgid "" +"SEPAL is a cloud computing-based platform for autonomous land monitoring " +"using remotely sensed data. It is a combination of GEE and open-source " +"software such as GDAL, Jupyter, the Open Foris Geospatial Toolkit, ORFEO " +"Toolbox, Python, R, R Shiny Server, R Studio Server, and the SNAP " +"Toolkit. The platform allows users to access powerful cloud-computing " +"resources to query, access and process satellite data quickly and " +"efficiently for conducting advanced analyses." msgstr "" -#: ../../source/index.rst:156 +#: ../../source/index.rst:157 msgid "Supporting institutions" msgstr "" -#: ../../source/index.rst:158 -msgid "SEPAL is a project funded by the Government of Norway from the Forestry Department of the Food and Agriculture Organization of the United Nations (FAO)." +#: ../../source/index.rst:159 +msgid "" +"SEPAL is a project funded by the Government of Norway from the Forestry " +"Department of the Food and Agriculture Organization of the United Nations" +" (FAO)." msgstr "" #~ msgid "Modules" @@ -478,3 +514,6 @@ msgstr "" #~ "for creating advanced analyses." #~ msgstr "" +#~ msgid "CLI" +#~ msgstr "" + diff --git a/docs/source/_locale/pt/LC_MESSAGES/troubleshooting/fix_venvs.po b/docs/source/_locale/pt/LC_MESSAGES/troubleshooting/fix_venvs.po new file mode 100644 index 0000000000..81a1273408 --- /dev/null +++ b/docs/source/_locale/pt/LC_MESSAGES/troubleshooting/fix_venvs.po @@ -0,0 +1,381 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: pt\n" +"Language-Team: pt \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/troubleshooting/fix_venvs.rst:4 +msgid "Recovering broken Python environments" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:6 +msgid "" +"On 5 March 2026, SEPAL sandboxes upgraded from Ubuntu Jammy to Ubuntu " +"Noble. As part of this upgrade, the system Python changed from version " +"3.10 to 3.12. This was a deliberate and necessary change: Python 3.10 " +"reaches end of life in October 2026, meaning it will no longer receive " +"security patches, and an increasing number of libraries are dropping " +"support for it and requiring Python 3.11 or newer. Staying on 3.10 would " +"eventually mean being locked out of updated packages and exposed to " +"unpatched security issues." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:8 +msgid "" +"If you created Python virtual environments using ``python -m venv`` on " +"SEPAL before this upgrade, those environments are now broken. This page " +"explains why, and how to recover." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:12 +msgid "" +"This only affects environments created with ``python -m venv``. " +"Environments created with :guilabel:`uv` or :guilabel:`micromamba` are " +"not affected." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:14 +msgid "" +"See :ref:`env_management` for full guidance on using :guilabel:`uv` and " +":guilabel:`micromamba` — better alternatives that will not break when " +"SEPAL upgrades Python in the future." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:18 +msgid "" +"Python 3.10 reaches end of life on 4 October 2026. Rather than putting " +"effort into restoring environments on the old version, consider migrating" +" to Python 3.12 at the same time." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:23 +msgid "Why venvs break after a Python upgrade" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:25 +msgid "" +"A venv is not a fully self-contained copy of Python. It is a lightweight " +"directory structure that relies on the system Python being present at a " +"specific path. When you run ``python -m venv myenv``, it records the " +"exact path to the Python binary (e.g. ``/usr/bin/python3.10``) and " +"creates symbolic links inside the environment's ``bin/`` directory " +"pointing back to it. Installed packages land in a versioned subdirectory," +" for example ``lib/python3.10/site-packages/``." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:27 +msgid "" +"When the system Python changes from 3.10 to 3.12, two things go wrong " +"simultaneously:" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:29 +msgid "" +"The symlinks inside ``bin/`` now point to a Python binary that no longer " +"exists at the recorded path, so the environment cannot start correctly." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:30 +msgid "" +"Any packages with compiled C extensions (numpy, scipy, cryptography, " +"etc.) were built against the Python 3.10 ABI. Python 3.12 has a different" +" ABI, so those compiled ``.so`` files are no longer valid and will crash " +"or fail to load." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:32 +msgid "" +"The package files themselves — the pure Python code and the package " +"metadata — are still intact on disk. Only the wiring is broken, which is " +"why it is possible to extract a list of what was installed without " +"activating the environment." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:37 +msgid "Why Jupyter kernels disappear" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:39 +msgid "" +"When you register a venv as a Jupyter kernel using ``ipykernel``, Jupyter" +" saves a small ``kernel.json`` file under " +"``~/.local/share/jupyter/kernels//``. This file contains the " +"absolute path to the Python binary inside the environment." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:41 +msgid "" +"After the upgrade, Jupyter still finds the ``kernel.json`` file and may " +"still show the kernel in the launcher — but when you try to start it, it " +"attempts to launch the Python binary at the recorded path. Because that " +"binary no longer works, the kernel either fails to start or starts and " +"immediately crashes, which JupyterLab reports as the kernel repeatedly " +"dying." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:43 +msgid "" +"In some cases the kernel disappears from the launcher entirely. In others" +" it appears but cannot be used. Either way, notebooks that relied on it " +"cannot run." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:48 +msgid "Symptoms of a broken environment" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:50 +msgid "You may see any of the following:" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:52 +msgid "" +"A Jupyter kernel that was previously available has disappeared from the " +"launcher, or starts and immediately dies" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:53 +msgid "``ModuleNotFoundError: No module named 'pip'`` when running pip commands" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:54 +msgid "Packages that were previously installed fail to import" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:55 +msgid "Compiled packages (numpy, scipy, etc.) segfault or raise ``ImportError``" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:56 +msgid "" +"``python --version`` inside the activated environment shows 3.12 even " +"though it was created with 3.10" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:58 +msgid "" +"All of these have the same root cause: the environment's internal " +"symlinks and compiled extensions were built against Python 3.10 and are " +"no longer valid." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:63 +msgid "Recovery" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:68 +msgid "Extract your requirements" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:70 +msgid "" +"You cannot activate the broken environment, but the package metadata is " +"still readable on disk. SEPAL provides a script that extracts the list of" +" installed packages from a broken environment. Run it from the terminal:" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:76 +msgid "" +"This scans the package metadata inside the broken environment and writes " +"a ``requirements.txt`` with pinned versions. Verify the output:" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:85 +msgid "Recreate the environment with uv" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:87 +msgid "" +":guilabel:`uv` is a fast, modern Python package manager already installed" +" on SEPAL. Unlike venv, it manages its own Python versions independently " +"of the system, so future upgrades will not break your environments." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:91 +msgid "" +"See :ref:`env_management` for full guidance on :guilabel:`uv` and other " +"environment tools available on SEPAL." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:93 +msgid "You have two options:" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:98 +msgid "Option A — Recreate on Python 3.10" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:100 +msgid "" +"*Fewer compatibility issues — use this if you need to get back up and " +"running quickly and cannot yet deal with package compatibility on 3.12.*" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:110 +msgid "" +"The ``requirements.txt`` referenced here is the file you extracted in the" +" previous step." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:115 +msgid "Option B — Migrate to Python 3.12" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:117 +msgid "" +"*Better long-term choice — most pure-Python packages work on 3.12 without" +" any changes.*" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:127 +msgid "" +"The ``requirements.txt`` referenced here is the file you extracted in the" +" first step." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:132 +msgid "Handling package version conflicts (Option B)" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:134 +msgid "" +"When migrating to Python 3.12, the ``requirements.txt`` from the first " +"step contains fully pinned versions (e.g. ``numpy==1.23.4``). Some of " +"these may not have wheels available for Python 3.12. If installation " +"fails, try removing the version pins:" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:142 +msgid "" +"The following packages are known to cause issues when moving from 3.10 to" +" 3.12:" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:148 +msgid "Package" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:149 +msgid "Issue" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:150 +msgid "Fix" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:151 +msgid "``numpy < 1.24``" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:152 +#: ../../source/troubleshooting/fix_venvs.rst:155 +msgid "No Python 3.12 wheels available" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:153 +msgid "Unpin: ``numpy``" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:154 +msgid "``scipy < 1.11``" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:156 +msgid "Unpin: ``scipy``" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:157 +msgid "Packages using ``distutils``" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:158 +msgid "``distutils`` was removed in Python 3.12" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:159 +msgid "Upgrade or replace the package" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:160 +msgid "Old Cython extensions" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:161 +msgid "ABI mismatch, segfaults at import" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:162 +msgid "``uv pip install --force-reinstall ``" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:163 +msgid "``cryptography`` (old versions)" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:164 +msgid "Needs a recent version for the 3.12 ABI" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:165 +msgid "Unpin: ``cryptography``" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:170 +msgid "Re-register your Jupyter kernel" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:172 +msgid "" +"JupyterLab discovers environments through kernel specifications — small " +"JSON files that point to a specific Python binary. When you recreate an " +"environment, the old kernel specification still points to the broken " +"binary, so JupyterLab cannot find or use the new environment. You need to" +" remove the old specification and register a new one." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:174 +msgid "First, list existing kernels and remove the broken one:" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:184 +msgid "Then register the new environment as a kernel:" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:192 +msgid "" +"After restarting JupyterLab, the new kernel will appear in the launcher " +"and notebooks that reference it by name will work again." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:197 +msgid "Going forward" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:199 +msgid "" +"To avoid this problem in the future, stop using venv. :guilabel:`uv` " +"manages Python versions independently of the system and will not break " +"when SEPAL upgrades Python." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:201 +msgid "" +"See :ref:`env_management` for full guidance on creating and managing " +"environments, including how to add Jupyter kernels." +msgstr "" + diff --git a/docs/source/_locale/pt/LC_MESSAGES/troubleshooting/index.po b/docs/source/_locale/pt/LC_MESSAGES/troubleshooting/index.po new file mode 100644 index 0000000000..1772316963 --- /dev/null +++ b/docs/source/_locale/pt/LC_MESSAGES/troubleshooting/index.po @@ -0,0 +1,42 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: pt\n" +"Language-Team: pt \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/troubleshooting/index.rst:7 +msgid "Recovering broken Python environments" +msgstr "" + +#: ../../source/troubleshooting/index.rst:2 +msgid "Troubleshooting" +msgstr "" + +#: ../../source/troubleshooting/index.rst:3 +msgid "*Solve common issues on the SEPAL platform*" +msgstr "" + +#: ../../source/troubleshooting/index.rst:5 +msgid "" +"This section covers known issues and step-by-step solutions for problems " +"you may encounter while using SEPAL. If your issue is not listed here, " +"ask the `Google Group community `__ or report it on the `GitHub Issue Tracker " +"`__." +msgstr "" + diff --git a/docs/source/_locale/pt/LC_MESSAGES/workflows/mangrove_mapping.po b/docs/source/_locale/pt/LC_MESSAGES/workflows/mangrove_mapping.po new file mode 100644 index 0000000000..cb755aabb0 --- /dev/null +++ b/docs/source/_locale/pt/LC_MESSAGES/workflows/mangrove_mapping.po @@ -0,0 +1,1850 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: pt\n" +"Language-Team: pt \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/workflows/mangrove_mapping.rst:4 +msgid "Mangrove mapping with SEPAL" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:6 +msgid "" +"This article describes a complete workflow for mapping mangroves using " +"SEPAL — FAO's free, open-source, web-based cloud platform for satellite " +"data analysis. The approach combines multi-sensor satellite data, global " +"mangrove reference datasets, and machine learning classification to " +"produce locally relevant mangrove maps and detect change over time. An " +"optional extension covers above-ground biomass (AGB) mapping." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:10 +msgid "" +"**Author:** Erik Lindquist, Forestry Officer, Food and Agriculture " +"Organization of the United Nations (FAO)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:13 +msgid "Overview" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:15 +msgid "The workflow consists of the following stages:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:17 +msgid ":ref:`Registration and setup `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:18 +msgid ":ref:`Request SEPAL resources `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:19 +msgid ":ref:`Define the area of interest `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:20 +msgid ":ref:`Build an optical mosaic (optional) `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:21 +msgid ":ref:`Build a radar mosaic (optional) `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:22 +msgid ":ref:`Load global mangrove reference datasets `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:23 +msgid "" +":ref:`Create the high-confidence mangrove reference map `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:24 +msgid ":ref:`Generate training data `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:25 +msgid ":ref:`Incorporate Google Satellite Embeddings `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:26 +msgid ":ref:`Classify mangroves `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:27 +msgid ":ref:`Map above-ground biomass (optional) `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:28 +msgid ":ref:`Detect change using CCDC `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:29 +msgid ":ref:`Download and export results `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:32 +msgid "Why use SEPAL for mangrove mapping?" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:34 +msgid "" +"SEPAL democratises access to satellite data and analysis tools, enabling " +"autonomous land monitoring without the need for local compute " +"infrastructure. For mangrove mapping specifically, SEPAL provides:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:36 +msgid "" +"**Multi-sensor data access** – seamless integration of optical " +"(Sentinel-2, Landsat, NICFI/Planet) and synthetic aperture radar (SAR) " +"(Sentinel-1 C-band, ALOS L-band) imagery" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:37 +msgid "" +"**Multi-temporal analysis** – time-series processing and change detection" +" using the Continuous Change Detection and Classification (CCDC) " +"algorithm" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:38 +msgid "" +"**Cloud-based classification** – machine learning classification recipes " +"powered by Google Earth Engine (GEE)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:39 +msgid "" +"**Global reference data** – integration with existing global mangrove " +"products to generate locally relevant training data automatically" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:40 +msgid "" +"**Team collaboration** – data saved as GEE assets can be shared across a " +"team, allowing one person to build a composite that all team members can " +"access and classify" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:45 +msgid "1. Registration and setup" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:47 +msgid "Before starting, create accounts on two platforms." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:50 +msgid "1.1 Google Earth Engine" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:52 +msgid "SEPAL's processing recipes run on GEE. A free GEE account is required." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:54 +msgid "Go to `earthengine.google.com `__." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:55 +msgid "Sign up using a Gmail account." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:56 +msgid "Wait for approval (usually within a few hours to a few days)." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:59 +msgid "1.2 SEPAL" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:61 +msgid "Go to `sepal.io `__ and register for a free account." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:62 +msgid "Connect the GEE account within SEPAL settings." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:66 +msgid "" +"For a step-by-step walkthrough of SEPAL setup, see " +":doc:`../setup/register`." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:71 +msgid "2. Request SEPAL resources" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:73 +msgid "" +"SEPAL is always free to use; however, downloading data and running high-" +"performance computing in the cloud requires resources to be allocated to " +"an account. Resources are requested via the **User report** button " +"(displayed as **$ 0/h**) in the lower-right corner of the **SEPAL " +"interface**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:75 +msgid "To request resources:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:77 +msgid "" +"Select the **User report** button in the lower-right corner of the " +"**SEPAL interface**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:78 +msgid "Select **Request additional resources**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:79 +msgid "" +"Enter the requested amounts. For most mapping work, the following is a " +"reasonable starting point:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:81 +msgid "**Processing:** $10 USD/month of cloud compute time" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:82 +msgid "**Storage:** $10 USD/month" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:83 +msgid "**Workspace:** 10 gigabytes (GB) of personal SEPAL workspace storage" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:85 +msgid "Enter a short message describing the work (e.g. \"Mangrove mapping\")." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:86 +msgid "Select **Apply**. The SEPAL team will review and approve the request." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:88 +msgid "" +"Once resources are approved, the **Download** button (displayed as a " +"cloud with an arrow icon) will become active in all recipes. Even $1 of " +"resources is sufficient to activate downloading to GEE or Google Drive." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:92 +msgid "" +"SEPAL supports requests for larger amounts of resources for intensive " +"work, such as training machine learning models. Describe the use case in " +"the request message if needed." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:97 +msgid "3. Define the area of interest" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:99 +msgid "" +"Use the same area of interest (AOI) for all downstream recipes to ensure " +"composites, reference layers, and classification outputs are spatially " +"aligned." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:101 +msgid "Open **Process** in the **SEPAL interface**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:102 +msgid "" +"Set the AOI using an administrative boundary, an uploaded geometry, or a " +"drawn polygon." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:107 +msgid "4. Build an optical mosaic (optional)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:111 +msgid "" +"This step is only required if Google Satellite Embeddings are **not** " +"used as the classification input (see :ref:`Section 9 `). If using embeddings, proceed directly to :ref:`Section 6 " +"`." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:113 +msgid "" +"A cloud-free optical mosaic provides the spectral bands used for " +"classification. In SEPAL, all processing starts with a *recipe*. Open a " +"new recipe from the recipe book by selecting the **+** button, then the " +"green **Add recipe** button." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:116 +msgid "Recommended data sources" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:122 +msgid "Source" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:123 +msgid "Spatial resolution" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:124 +msgid "Temporal resolution" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:125 +msgid "Bands" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:126 +#: ../../source/workflows/mangrove_mapping.rst:361 +msgid "Sentinel-2" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:127 +msgid "10 m" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:128 +msgid "5 days" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:129 +msgid "12" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:130 +msgid "Landsat (8/9)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:131 +msgid "30 m" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:132 +msgid "16 days" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:133 +msgid "8" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:134 +msgid "NICFI/Planet" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:135 +msgid "4.5 m" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:136 +msgid "Monthly" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:137 +msgid "4" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:140 +msgid "Recommended bands and indices" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:142 +msgid "" +"For Sentinel-2, include bands: **B2, B3, B4, B5, B6, B7, B8, B8A, B11, " +"B12**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:144 +msgid "Suggested derived indices:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:146 +msgid "normalized difference vegetation index (NDVI)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:147 +msgid "normalized difference moisture index (NDMI)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:148 +msgid "normalized difference water index (NDWI)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:149 +msgid "modified normalized difference water index (MNDWI)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:150 +msgid "red-edge NDVI variants" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:151 +msgid "Tasseled Cap Brightness, Greenness and Wetness" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:152 +msgid "short-wave infrared (SWIR) ratios (B11/B8, B12/B11)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:153 +msgid "enhanced vegetation index (EVI)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:157 +msgid "" +"Avoid the **Aerosol** band for vegetation mapping — it captures " +"atmospheric rather than surface conditions. The near-infrared (NIR) and " +"SWIR bands are particularly important for mangroves: NIR is sensitive to " +"chlorophyll and vegetation health; SWIR helps distinguish inundated " +"vegetation from upland forest and open water." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:160 +msgid "Composite method" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:162 +msgid "" +"Use the **Medoid** composite method, which selects actual observed pixel " +"values rather than statistical summaries, preserving spectral integrity. " +"Save the recipe with a meaningful name (e.g. ``Optical_Medoid_2023``) so " +"it can be referenced in the classification recipe." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:166 +msgid "" +"See :doc:`../cookbook/optical_mosaic` for full instructions on the SEPAL " +"optical mosaic recipe." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:171 +msgid "5. Build a radar mosaic (optional)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:175 +msgid "" +"This step is only required if Google Satellite Embeddings are **not** " +"used as the classification input." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:177 +msgid "" +"SAR data penetrates cloud cover and is sensitive to canopy structure and " +"soil moisture — making it a valuable complement to optical data in " +"tropical coastal environments where persistent cloud cover limits optical" +" data availability." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:180 +msgid "Recommended data source" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:182 +msgid "" +"The primary radar source used in this workflow is **Sentinel-1 C-band " +"SAR**:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:184 +msgid "spatial resolution: 10 m" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:185 +msgid "temporal resolution: 12 days" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:186 +msgid "bands: VV and VH polarisations" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:188 +msgid "" +"ALOS PALSAR L-band mosaics (25 m, yearly) can be added where available " +"for additional structural information." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:191 +msgid "Recommended statistics to include" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:197 +msgid "Band" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:198 +#: ../../source/workflows/mangrove_mapping.rst:448 +msgid "Description" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:199 +msgid "VV mean" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:200 +msgid "Average VV backscatter across the year" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:201 +msgid "VH mean" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:202 +msgid "Average VH backscatter across the year" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:203 +msgid "VV/VH ratio" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:204 +msgid "Structural differentiation" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:205 +msgid "VH standard deviation" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:206 +msgid "Seasonal variability; helps distinguish vegetation types" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:208 +msgid "Save the recipe as ``Radar_Mosaic_YYYY``." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:212 +msgid "" +"See :doc:`../cookbook/radar_mosaic` for full instructions on the SEPAL " +"radar mosaic recipe." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:217 +msgid "6. Load global mangrove reference datasets" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:219 +msgid "" +"Load three global datasets as **EE Asset** recipes in SEPAL to build the " +"high-confidence reference map in :ref:`Section 7 `. " +"Each dataset is available in the GEE catalog or the Awesome GEE Community" +" Catalog." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:221 +msgid "To add an **EE Asset** recipe:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:223 +#: ../../source/workflows/mangrove_mapping.rst:391 +msgid "Add a new recipe and select **EE Asset**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:224 +#: ../../source/workflows/mangrove_mapping.rst:392 +msgid "Set the AOI." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:225 +msgid "Search for the asset by name or paste the asset path." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:226 +#: ../../source/workflows/mangrove_mapping.rst:394 +msgid "Select **Done**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:227 +msgid "" +"To visualise, open the **Menu** (☰) → select **+** → select the band → " +"set min/max values → select **Apply**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:228 +msgid "Save the recipe with the name indicated below." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:231 +msgid "6.1 Global Mangrove Watch (GMW) v3 — 2020 extent" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:236 +#: ../../source/workflows/mangrove_mapping.rst:251 +#: ../../source/workflows/mangrove_mapping.rst:266 +#: ../../source/workflows/mangrove_mapping.rst:382 +msgid "**Asset path**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:237 +#: ../../source/workflows/mangrove_mapping.rst:683 +msgid "``projects/sat-io/open-datasets/GMW/extent/GMW_V3``" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:238 +#: ../../source/workflows/mangrove_mapping.rst:253 +#: ../../source/workflows/mangrove_mapping.rst:268 +#: ../../source/workflows/mangrove_mapping.rst:530 +msgid "**Band**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:239 +msgid "``b1`` (1 = mangrove, 0 = non-mangrove)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:240 +msgid "**Date filter**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:241 +msgid "2020-01-01 to 2020-12-31; select first image" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:242 +#: ../../source/workflows/mangrove_mapping.rst:257 +#: ../../source/workflows/mangrove_mapping.rst:270 +#: ../../source/workflows/mangrove_mapping.rst:388 +#: ../../source/workflows/mangrove_mapping.rst:534 +msgid "**Save as**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:243 +msgid "``GMW_2020_EEAsset``" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:246 +msgid "6.2 ESA WorldCover land cover — 2021" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:252 +#: ../../source/workflows/mangrove_mapping.rst:686 +msgid "``ESA/WorldCover/v200``" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:254 +msgid "``Map``" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:255 +msgid "**Mangrove class value**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:256 +msgid "95" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:258 +msgid "``WorldCover_2021_EEAsset``" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:261 +msgid "6.3 Digital elevation model (MERIT DEM)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:267 +#: ../../source/workflows/mangrove_mapping.rst:689 +msgid "``MERIT/DEM/v1_0_3``" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:269 +msgid "``dem``" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:271 +msgid "``MERIT_DEM_EEAsset``" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:273 +msgid "" +"The digital elevation model (DEM) provides an elevation constraint — " +"mangroves occupy low-lying intertidal zones, so pixels above 40 m " +"elevation are excluded from the high-confidence product in :ref:`Section " +"7 `." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:278 +msgid "7. Create the high-confidence mangrove reference map" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:280 +msgid "" +"This step converts the three global datasets into a single high-" +"confidence binary map of mangrove and non-mangrove, which is then used to" +" automatically generate training data for the local classification." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:282 +msgid "" +"If multiple independent global datasets agree that a pixel is mangrove " +"(or non-mangrove), confidence in that label is much higher than if only " +"one dataset indicates this. The elevation constraint further removes " +"unlikely mangrove locations." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:285 +msgid "Remapping rules" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:287 +msgid "In SEPAL, use the **Remapping** recipe with the following logic:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:293 +msgid "Output class" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:294 +msgid "Condition" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:295 +msgid "**Class 1 – Mangrove**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:296 +msgid "GMW ``b1`` = 1 **AND** WorldCover ``Map`` = 95 **AND** DEM ``dem`` < 40 m" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:297 +msgid "**Class 2 – Non-mangrove**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:298 +msgid "GMW ``b1`` = 0 **AND** WorldCover ``Map`` ≠ 95 **AND** DEM ``dem`` < 40 m" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:299 +msgid "*(No data)*" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:300 +msgid "Pixels that do not meet either condition are excluded" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:302 +msgid "**Output band:** ``class`` (1 = mangrove, 2 = non-mangrove)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:304 +msgid "**Save as:** ``Mangrove_HighConfidence_Remapping``" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:308 +msgid "" +"The DEM < 40 m filter restricts both mangrove and non-mangrove samples to" +" the intertidal zone, improving the relevance of the non-mangrove class " +"and avoiding confusion with upland forest." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:312 +msgid "" +"Use the divided interface (multi-view panel) to inspect the high-" +"confidence product against the optical and radar mosaics before " +"proceeding. Confirm that the mangrove extent looks reasonable for the " +"area." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:317 +msgid "8. Generate training data" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:319 +msgid "" +"With the high-confidence reference map produced, generate training data " +"automatically by stratified sampling — more efficiently and at greater " +"scale than manual digitising." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:321 +msgid "" +"In SEPAL, training data is generated within the **Classification** recipe" +" using the **Sample classification** option:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:323 +msgid "Open a new **Classification** recipe." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:324 +msgid "In the training data tab, select **Add** > **Sample classification**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:325 +msgid "" +"Set the sampling source to ``Mangrove_HighConfidence_Remapping`` (recipe " +"reference) or an exported GEE asset of the same (band: ``class``)." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:326 +msgid "Use balanced (stratified) sampling — equal numbers of samples per class." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:327 +msgid "Set a random seed for reproducibility." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:330 +msgid "Recommended sample sizes" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:336 +msgid "Area of interest" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:337 +msgid "Samples per class" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:338 +msgid "Small AOI" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:339 +msgid "300–800" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:340 +msgid "Subnational/national AOI" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:341 +msgid "1000–2000" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:342 +msgid "Very large or heterogeneous AOI" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:343 +msgid "5000–10000" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:345 +msgid "" +"After sampling, inspect the training points visually against the imagery " +"in the multi-view panel. If contaminated points are observed (e.g. " +"mangrove samples landing on water), resample or remove them before " +"running the classification." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:350 +msgid "9. Incorporate Google Satellite Embeddings (AlphaEarth Foundations)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:354 +msgid "" +"These are referred to as \"Alpha Earth Embeddings\" in some training " +"materials. They are now publicly available as the **Google Satellite " +"Embedding dataset**, powered by `AlphaEarth Foundations " +"`__ — a geospatial artificial " +"intelligence (AI) model developed by Google and Google DeepMind." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:357 +msgid "What are satellite embeddings?" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:359 +msgid "" +"Satellite embeddings are pre-computed, AI-generated feature vectors that " +"summarise multi-sensor, multi-temporal Earth observation data into a " +"compact representation. Each 10 m pixel is described by a 64-dimensional " +"embedding vector encoding a full year of observations from:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:362 +msgid "Landsat" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:363 +msgid "Sentinel-1 SAR" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:364 +msgid "Copernicus DEM (elevation)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:365 +msgid "ERA5 (climate)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:366 +msgid "GEDI LiDAR (vegetation structure)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:368 +msgid "Key advantages for mangrove mapping:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:370 +msgid "" +"**Fewer training samples needed** – embeddings encode rich spatial and " +"temporal context, reducing the labelled points required for accurate " +"classification;" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:371 +msgid "" +"**Cloud-robust** – embeddings summarise an entire year of acquisitions, " +"making them more robust to cloud contamination than single-date " +"composites;" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:372 +msgid "" +"**No deep learning infrastructure required** – pre-computed and analysis-" +"ready; compatible with SEPAL's built-in classifiers;" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:373 +msgid "" +"**Faster classification** – typically faster than classifying equivalent " +"optical and radar inputs separately; and" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:374 +msgid "**Temporal coverage** – annual embeddings available from 2017 onwards." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:377 +msgid "Loading embeddings as an EE Asset recipe" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:383 +#: ../../source/workflows/mangrove_mapping.rst:680 +msgid "``GOOGLE/SATELLITE_EMBEDDING/V1/ANNUAL``" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:384 +msgid "**Asset type**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:385 +msgid "ImageCollection — mosaic or select target year" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:386 +msgid "**Bands**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:387 +msgid "All 64 embedding bands" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:389 +msgid "``AlphaEarth_Embeddings_EEAsset``" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:393 +msgid "" +"Search for ``embeddings`` and select **Satellite Embeddings V1**, or " +"paste the asset path above." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:395 +msgid "" +"To confirm data is loading: open the **Menu** (☰) → select **+** → select" +" any band (e.g. ``Z00``) → select **Apply**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:396 +msgid "Save the recipe as ``AlphaEarth_Embeddings_EEAsset``." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:399 +msgid "When to use embeddings vs. optical/radar mosaics" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:401 +msgid "" +"Use **embeddings** when an annual classification is needed and good " +"results are required with limited training data or compute time. When " +"embeddings are used, optical and radar mosaics are **not** needed as " +"classifier inputs." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:402 +msgid "" +"Use **optical and radar mosaics** when classification at a specific sub-" +"annual time point is needed, or when within-year temporal detail is " +"important." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:403 +msgid "Both approaches can be combined if desired." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:407 +msgid "" +"`GEE Data Catalog: Satellite Embedding V1 `__" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:408 +msgid "" +"`GEE tutorial series: Introduction to Satellite Embeddings " +"`__" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:409 +msgid "Brown et al. (2025)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:414 +msgid "10. Classify mangroves" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:416 +msgid "" +"With training data and image inputs prepared, run the SEPAL " +"**Classification** recipe to produce a mangrove/non-mangrove map." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:419 +msgid "10.1 Set up the classification recipe" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:421 +msgid "Add a new recipe and select **Classification**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:422 +msgid "When asked which image to classify, choose one of the following:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:424 +msgid "" +"**Embeddings approach:** ``AlphaEarth_Embeddings_EEAsset`` only (do " +"**not** add optical or radar mosaics)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:425 +msgid "" +"**Optical/radar approach:** the optical mosaic recipe plus the radar " +"mosaic recipe" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:426 +msgid "**Combined approach:** embeddings plus optical and/or radar mosaics" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:429 +msgid "10.2 Select input bands" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:431 +msgid "For the **embeddings approach**, add all 64 embedding bands." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:433 +msgid "For the **optical/radar approach**, recommended bands are:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:435 +msgid "" +"Sentinel-2: B2, B3, B4, B5, B6, B7, B8, B8A, B11, B12, plus derived " +"indices (NDVI, NDMI, NDWI, Tasseled Cap)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:436 +msgid "Sentinel-1: VV mean, VH mean, VH standard deviation" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:439 +msgid "10.3 Define classification classes" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:441 +msgid "For mangrove mapping, a three-class legend is recommended:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:447 +msgid "Class" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:449 +msgid "Mangrove" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:450 +msgid "Mangrove forest" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:451 +msgid "Non-mangrove" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:452 +msgid "All other land cover" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:453 +msgid "Water" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:454 +msgid "Open water" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:456 +msgid "" +"Keep classes distinct — overlapping or ambiguous classes reduce " +"classification accuracy. Assign recognisable colours (e.g. green for " +"mangrove, blue for water)." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:459 +msgid "10.4 Add training data" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:461 +msgid "" +"Reference the ``Mangrove_HighConfidence_Remapping`` recipe (or exported " +"asset) generated in :ref:`Section 7 ` and sampled in " +":ref:`Section 8 `. In the training data tab, select " +"**Add** > **Sample classification**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:463 +msgid "" +"Add manual training points using the **Marker** icon if local knowledge " +"suggests corrections are needed." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:467 +msgid "" +"The classification updates in real time as training points are added or " +"modified, allowing the impact of each change to be seen immediately." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:470 +msgid "10.5 Configure the classifier" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:472 +msgid "SEPAL uses **Random Forest** by default. Recommended settings:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:478 +msgid "Parameter" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:479 +msgid "Recommended value" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:480 +msgid "Number of trees" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:481 +msgid "~300 (use 25 for exploration; increase for production)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:482 +msgid "Variables per split (mTry)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:483 +msgid "Default/auto" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:484 +msgid "Probability outputs" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:485 +msgid "Enable if available" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:488 +msgid "10.6 Interpret and refine results" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:490 +msgid "Use the **Menu** (☰) to switch between display bands:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:492 +msgid "**Class** – the final classified map (one class per pixel)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:493 +msgid "" +"**Mangrove percent** – the probability that each pixel belongs to the " +"mangrove class; more informative than the binary class map for " +"understanding model uncertainty" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:495 +msgid "To improve results, iterate by:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:497 +msgid "" +"tightening the high-confidence mask criteria in the **Remapping** recipe " +"(:ref:`Section 7 `) and resampling (:ref:`Section 8 " +"`);" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:498 +msgid "adding more training samples;" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:499 +msgid "increasing the number of Random Forest trees; or" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:500 +msgid "adjusting the input data stack." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:504 +msgid "" +"See :doc:`../cookbook/classification` for full instructions on the SEPAL " +"classification recipe." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:509 +msgid "11. Map above-ground biomass (optional)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:511 +msgid "" +"In addition to mangrove extent, SEPAL can produce wall-to-wall maps of " +"above-ground biomass (AGB) by combining point-based biomass measurements " +"with satellite embeddings using a **Regression** recipe." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:514 +msgid "11.1 Approach" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:516 +msgid "" +"Where biomass measurements are available (from field plots or GEDI " +"LiDAR), and where the 64 embedding bands are available, the known biomass" +" values can be statistically related to the embedding values and applied " +"to every pixel across the AOI — producing a continuous biomass estimate " +"map." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:519 +msgid "11.2 Option A – Using GEDI LiDAR data" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:521 +msgid "" +"The Global Ecosystem Dynamics Investigation (GEDI) is a full-waveform " +"LiDAR instrument on the International Space Station, capturing vegetation" +" height, canopy structure, and above-ground biomass density. GEDI data " +"are point samples rather than wall-to-wall, but can be used as training " +"data to produce a continuous biomass map." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:523 +msgid "To load GEDI L4A as an EE Asset recipe:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:528 +msgid "**Asset**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:529 +msgid "GEDI L4A Above Ground Biomass Density v2.1" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:531 +msgid "``AGBD`` (above-ground biomass density, Mg/ha)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:532 +msgid "**Visualisation**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:533 +msgid "Thermal colour palette, min = 0, max = ~194" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:535 +msgid "``GEDI_L4A_EEAsset``" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:537 +msgid "To run the biomass regression:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:539 +#: ../../source/workflows/mangrove_mapping.rst:564 +msgid "Add a new recipe and select **Regression**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:540 +#: ../../source/workflows/mangrove_mapping.rst:565 +msgid "Select ``AlphaEarth_Embeddings_EEAsset`` as the image (all 64 bands)." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:541 +msgid "In the training data tab, select **Add** > **Sample image**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:542 +msgid "" +"Select ``GEDI_L4A_EEAsset`` as the source, with ``AGBD`` as the target " +"band." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:543 +msgid "Set the number of samples (increase for production results)." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:544 +#: ../../source/workflows/mangrove_mapping.rst:569 +msgid "Select **Apply** and run." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:548 +msgid "" +"If the study area is changing rapidly, match the GEDI acquisition year to" +" the target image year. For more stable mangrove areas, using all " +"available GEDI data is acceptable." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:551 +msgid "11.3 Option B – Using field-collected AGB data" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:553 +msgid "" +"Field-collected plot data with geographic coordinates can be uploaded to " +"GEE as an asset table and used as training data in the **Regression** " +"recipe." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:555 +msgid "To upload field data to GEE:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:557 +msgid "In the GEE Code Editor, go to the **Assets** tab." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:558 +msgid "Select **New** > **CSV file**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:559 +msgid "Upload the data file — GEE handles reprojection automatically." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:560 +msgid "Note the asset ID from the asset details panel." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:562 +msgid "To run the regression using field data:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:566 +msgid "In the training data tab, select **Add** > **Earth Engine table**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:567 +msgid "Paste the field data table asset ID." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:568 +msgid "Select the AGB column as the target value band." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:572 +msgid "11.4 Interpreting biomass results" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:574 +#, python-format +msgid "" +"The regression produces a continuous map of estimated above-ground " +"biomass (Mg/ha). Results improve significantly with more training samples" +" and more trees in the Random Forest model. Consider reserving 20–30% of " +"samples for independent validation." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:579 +msgid "12. Detect change using CCDC" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:581 +msgid "" +"To map mangrove loss or gain over time, this workflow uses the Continuous" +" Change Detection and Classification (CCDC) algorithm (Zhu and Woodcock, " +"2014). CCDC fits a time-series model to each pixel using all available " +"satellite observations and detects structural breaks — making it well " +"suited to detecting mangrove conversion events." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:584 +msgid "12.1 Create a CCDC asset" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:586 +msgid "Add a new recipe and select **CCDC Asset**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:587 +msgid "Define the AOI and date range." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:588 +msgid "Select input imagery (Sentinel-2 and/or Landsat recommended)." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:589 +msgid "Run the recipe and save the result as a GEE asset." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:593 +msgid "" +"Pre-built CCDC assets for specific study areas may be shared by the SEPAL" +" team or colleagues as GEE asset links, avoiding the need to run this " +"computationally intensive step independently." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:597 +msgid "" +"See :doc:`../cookbook/ccdc_slice` for full instructions on creating a " +"CCDC asset." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:600 +msgid "12.2 Extract CCDC slices" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:602 +msgid "" +"A *CCDC slice* is a snapshot of the fitted time-series model at a " +"specific date — providing harmonised, cloud-free spectral values " +"consistent across dates. CCDC slices can be used:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:604 +msgid "" +"as additional input bands in the **Classification** recipe (:ref:`Section" +" 10 `) for improved accuracy using spatio-" +"temporal descriptors; or" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:605 +msgid "from two different dates to detect change between them." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:609 +msgid "" +"See :doc:`../cookbook/ccdc_slice` for full instructions on using CCDC " +"slices." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:612 +msgid "12.3 Run change detection" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:614 +msgid "**Option A – Index Change recipe (two-date comparison):**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:616 +msgid "Add a new recipe and select **Index Change**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:617 +msgid "Load CCDC slices from two target dates (e.g. 2015 and 2023)." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:618 +msgid "Run the recipe to produce a map of positive and negative spectral change." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:619 +msgid "Interpret positive and negative values as mangrove gain or loss." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:621 +msgid "**Option B – Near-real-time alert recipe:**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:623 +msgid "" +"SEPAL includes an alert recipe based on CCDC that compares the time-" +"series model to very recent observations (last few days to weeks), " +"enabling near-real-time detection of mangrove disturbance events for " +"operational monitoring." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:628 +msgid "13. Download and export results" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:631 +msgid "13.1 Export destinations" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:633 +msgid "" +"Select the **Download** button (cloud with arrow icon) in any recipe to " +"open the export dialog. Choose:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:635 +msgid "" +"**Bands to export** – e.g. ``class`` for a classified map, or " +"``mangrove_percent`` for a probability map;" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:636 +msgid "" +"**Scale** – spatial resolution in metres (e.g. 10 m for Sentinel-2 or " +"embeddings-based results); and" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:637 +msgid "**Destination:**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:639 +msgid "" +"**Google Earth Engine asset** – exports to the GEE asset folder; " +"recommended for further analysis or sharing;" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:640 +msgid "**Google Drive** – exports to Google Drive for local download; or" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:641 +msgid "" +"**SEPAL workspace** – exports to the SEPAL workspace; use if running " +"further analysis inside SEPAL." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:644 +msgid "13.2 Monitor export tasks" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:646 +msgid "" +"After selecting **Retrieve**, a spinning icon appears on the purple task " +"button. A green check mark indicates completion. Monitor tasks in the GEE" +" Code Editor under the **Tasks** tab." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:649 +msgid "13.3 Upload data to GEE" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:651 +msgid "" +"To use local raster or vector data in SEPAL (e.g. field plots, " +"administrative boundaries, existing maps):" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:653 +msgid "In the GEE Code Editor, go to the **Assets** tab and select **New**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:654 +msgid "Select the file type:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:656 +msgid "**GeoTIFF** for raster data;" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:657 +msgid "" +"**Shapefile** – upload ``.shp``, ``.shx``, ``.dbf``, and ``.prj`` files " +"together; or" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:658 +msgid "**CSV** for tabular data with geographic coordinates." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:660 +msgid "GEE handles reprojection automatically." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:661 +msgid "" +"Copy the asset ID and use it in any SEPAL **EE Asset** recipe or training" +" data input." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:664 +msgid "Summary: recommended input data stack" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:670 +msgid "Layer" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:671 +msgid "Asset/source" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:672 +msgid "Purpose" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:673 +msgid "Optical mosaic (Medoid)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:674 +msgid "Sentinel-2 (B2–B12 + indices)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:675 +msgid "Spectral features (if not using embeddings)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:676 +msgid "Radar mosaic" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:677 +msgid "Sentinel-1 (VV mean, VH mean, VH STD)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:678 +msgid "Structural features (if not using embeddings)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:679 +msgid "Google Satellite Embeddings" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:681 +msgid "AI-derived multi-sensor features (64 bands)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:682 +msgid "Global Mangrove Watch v3" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:684 +msgid "Reference mangrove mask" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:685 +msgid "ESA WorldCover v2" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:687 +msgid "Reference land cover (mangrove class = 95)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:688 +msgid "MERIT DEM" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:690 +msgid "Elevation constraint (< 40 m)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:691 +msgid "High-confidence reference map" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:692 +msgid "Remapping recipe output" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:693 +msgid "Training data source" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:694 +msgid "GEDI L4A" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:695 +msgid "GEE catalog" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:696 +#: ../../source/workflows/mangrove_mapping.rst:699 +msgid "Biomass regression training (optional)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:697 +msgid "Field AGB plots" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:698 +msgid "User-uploaded GEE table" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:700 +msgid "CCDC asset" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:701 +msgid "SEPAL CCDC Asset recipe" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:702 +msgid "Change detection" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:705 +msgid "Additional resources" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:711 +msgid "Resource" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:712 +msgid "Link" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:713 +msgid "SEPAL platform" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:714 +msgid "`sepal.io `__" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:715 +msgid "SEPAL documentation" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:716 +msgid "`docs.sepal.io `__" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:717 +msgid "SEPAL certified online course" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:718 +msgid "" +"`FAO SEPAL course `__" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:719 +msgid "FAO SEPAL brochure" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:720 +msgid "`fao.org/in-action/sepal `__" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:721 +msgid "Global Mangrove Watch v3.0" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:722 +msgid "" +"`JAXA GMW " +"`__" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:723 +msgid "ESA WorldCover" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:724 +msgid "`ESA WorldCover `__" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:725 +msgid "GEDI L4A AGB dataset" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:726 +msgid "" +"`GEDI L4A on GEE `__" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:727 +msgid "GEE Satellite Embeddings catalog" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:728 +msgid "" +"`GEE Data Catalog `__" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:729 +msgid "AlphaEarth Foundations" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:730 +msgid "" +"`Google DeepMind blog `__" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:731 +msgid "Contact" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:732 +msgid "sepal@fao.org" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:735 +msgid "References" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:737 +msgid "" +"Brown, C.F., Kazmierski, M.R., Pasquarella, V.J., et al. 2025. AlphaEarth" +" Foundations: An embedding field model for accurate and efficient global " +"mapping from sparse label data. *arXiv preprint* arXiv:2507.22291." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:739 +msgid "" +"Simard, M., Fatoyinbo, L., Smetanka, C., Rivera-Monroy, V.H., Castañeda-" +"Moya, E., Thomas, N. and Van der Stocken, T. 2019. Mangrove canopy height" +" globally related to precipitation, temperature and cyclone frequency. " +"*Nature Geoscience*, 12: 40–45." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:741 +msgid "" +"Zhu, Z. and Woodcock, C.E. 2014. Continuous change detection and " +"classification of land cover using all available Landsat data. *Remote " +"Sensing of Environment*, 144: 152–171." +msgstr "" + diff --git a/docs/source/_locale/pt/LC_MESSAGES/workflows/proms.po b/docs/source/_locale/pt/LC_MESSAGES/workflows/proms.po new file mode 100644 index 0000000000..4bbf56d0f6 --- /dev/null +++ b/docs/source/_locale/pt/LC_MESSAGES/workflows/proms.po @@ -0,0 +1,456 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: pt\n" +"Language-Team: pt \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/workflows/proms.rst:2 +msgid "Probability Map Subtraction (PROMS)" +msgstr "" + +#: ../../source/workflows/proms.rst:5 +msgid "Overview" +msgstr "" + +#: ../../source/workflows/proms.rst:7 +msgid "" +"This tutorial provides a step-by-step guide to estimate forest change " +"areas between two dates using an improved area estimation technique. The " +"method leverages a statistically optimized stratification of forest and " +"forest change areas using continuous probability layers and sample " +"allocation." +msgstr "" + +#: ../../source/workflows/proms.rst:17 +msgid "In lighter green optional data and steps." +msgstr "" + +#: ../../source/workflows/proms.rst:21 +msgid "Workflow Steps" +msgstr "" + +#: ../../source/workflows/proms.rst:24 +msgid "Input Data Collection for Time 1 and Time 2" +msgstr "" + +#: ../../source/workflows/proms.rst:25 +msgid "" +"Training data on Stable Forest and Stable Non-Forest between Time 1 And " +"Time 2" +msgstr "" + +#: ../../source/workflows/proms.rst:26 +msgid "Forest Probability Classification at Time 1 and Time 2" +msgstr "" + +#: ../../source/workflows/proms.rst:27 +msgid "Forest Change Probability Calculation" +msgstr "" + +#: ../../source/workflows/proms.rst:28 +msgid "Inclusive Forest Mask Application (Optional)" +msgstr "" + +#: ../../source/workflows/proms.rst:29 +msgid "Stratification" +msgstr "" + +#: ../../source/workflows/proms.rst:30 +msgid "Sample Allocation" +msgstr "" + +#: ../../source/workflows/proms.rst:31 +msgid "Sample Interpretation and analysis" +msgstr "" + +#: ../../source/workflows/proms.rst:35 +msgid "Summary Approach" +msgstr "" + +#: ../../source/workflows/proms.rst:37 +msgid "" +"In this tutorial, we will demonstrate the methodology applied to the " +"region of Alto Paraguay, aiming to estimate the forest change area " +"between the years 2018 (Time 1) and 2020 (Time 2)." +msgstr "" + +#: ../../source/workflows/proms.rst:40 +msgid "Step 1: Input Data" +msgstr "" + +#: ../../source/workflows/proms.rst:42 +msgid "" +"The first step is to select the input imagery for classification. A " +"minimum of one type of data source is required; however, for optimal " +"classification results, a combination of sensors is recommended. The " +"selection depends on data availability and quality for your study area. " +"To capture changes occurring between Time 1 and Time 2, it is recommended" +" to create annual composites for one year before and one year after each " +"respective time point. This approach includes all possible changes that " +"occurred during Time 1 and Time 2." +msgstr "" + +#: ../../source/workflows/proms.rst:45 +msgid "SEPAL Tools for Image Combination:" +msgstr "" + +#: ../../source/workflows/proms.rst:47 +msgid "" +"SEPAL offers several tools to combine images from several sensors into " +"single raster:" +msgstr "" + +#: ../../source/workflows/proms.rst:49 +msgid "" +"**Optical Mosaics**: For creating optical mosaics, refer to the `Optical " +"Mosaics tool " +"`__." +msgstr "" + +#: ../../source/workflows/proms.rst:50 +msgid "" +"**Radar Mosaics**: For creating radar mosaics, use the `Radar Mosaics " +"tool `__." +msgstr "" + +#: ../../source/workflows/proms.rst:51 +msgid "" +"**Planet Mosaic**: For creating optical mosaics with high-resolution " +"imagery, see the `Planet Mosaic tool " +"`__." +msgstr "" + +#: ../../source/workflows/proms.rst:53 +msgid "" +"For areas with seasonal vegetation variations (e.g., dry forests), " +"consider using Continuous Change Detection and Classification (CCDC). " +"Refer to `CCDC Asset Creation " +"`__ for" +" more information." +msgstr "" + +#: ../../source/workflows/proms.rst:56 +msgid "Case Study Data Preparation:" +msgstr "" + +#: ../../source/workflows/proms.rst:58 +msgid "In our case study, we created:" +msgstr "" + +#: ../../source/workflows/proms.rst:60 +msgid "Planet Mosaics, Sentinel-1 Time Scans, Sentinel-2 Mosaics in SEPAL." +msgstr "" + +#: ../../source/workflows/proms.rst:61 +msgid "" +"ALOS-2 Time Scans in Google Earth Engine (`Link to Script " +"`__)" +msgstr "" + +#: ../../source/workflows/proms.rst:63 +msgid "" +"These datasets were prepared for both years 2017 and 2021 (one year " +"before and one year after Time 1 and Time 2, respectively)." +msgstr "" + +#: ../../source/workflows/proms.rst:71 +msgid "Step 2: Training Data" +msgstr "" + +#: ../../source/workflows/proms.rst:73 +msgid "" +"Create training data on the presence and absence of forest for your " +"period of interest. Depending on availability, training data can be " +"sourced from:" +msgstr "" + +#: ../../source/workflows/proms.rst:75 +msgid "**Existing Maps**: Extract samples from global or regional forest maps." +msgstr "" + +#: ../../source/workflows/proms.rst:76 +msgid "**Field Data**: Use ground-truth data collected from field surveys." +msgstr "" + +#: ../../source/workflows/proms.rst:77 +msgid "**Other Sources**: Extract samples from datasets like GEDI or GLANCE." +msgstr "" + +#: ../../source/workflows/proms.rst:80 +msgid "Step 3: Forest Probability Classification" +msgstr "" + +#: ../../source/workflows/proms.rst:82 +msgid "" +"Obtain forest probability maps for Time 1 and Time 2 through supervised " +"classification of your input data, using training data on forest and non-" +"forest classes. It is preferable to use stable samples from the period " +"between Time 1 and Time 2." +msgstr "" + +#: ../../source/workflows/proms.rst:85 +msgid "Using SEPAL's Classification Tool:" +msgstr "" + +#: ../../source/workflows/proms.rst:87 +msgid "" +"SEPAL offers a user-friendly `Classification tool " +"`__ for " +"building supervised classifications." +msgstr "" + +#: ../../source/workflows/proms.rst:90 ../../source/workflows/proms.rst:215 +#: ../../source/workflows/proms.rst:256 +msgid "Case Study Implementation:" +msgstr "" + +#: ../../source/workflows/proms.rst:92 +msgid "" +"Auxiliary Data: Added terrain data from the `MERIT Digital Elevation " +"Model `__ to the " +"mosaic stack for both years. Classifier: Used a Random Forest Classifier " +"in probability output mode. Output: Generated forest probability maps for" +" 2017 and 2021." +msgstr "" + +#: ../../source/workflows/proms.rst:96 +msgid "" +"If the number of samples that changed class between Time 1 and Time 2 is " +"small relative to the total number, it won’t significantly affect Random " +"Forest results due to its multiple decision trees and bootstrapping " +"method." +msgstr "" + +#: ../../source/workflows/proms.rst:103 +msgid "Step 4: Forest Change Probability Calculation" +msgstr "" + +#: ../../source/workflows/proms.rst:105 +msgid "" +"Calculate the forest change probability map by finding the difference " +"between the forest probability maps of Time 1 and Time 2." +msgstr "" + +#: ../../source/workflows/proms.rst:108 +msgid "Using SEPAL's Band Math Tool:" +msgstr "" + +#: ../../source/workflows/proms.rst:110 +msgid "" +"The `Band Math tool " +"`__ allows for " +"mathematical operations on images from SEPAL or Google Earth Engine." +msgstr "" + +#: ../../source/workflows/proms.rst:113 +msgid "Case Study Calculation:" +msgstr "" + +#: ../../source/workflows/proms.rst:115 +msgid "" +"Operation: Subtracted the forest probability band (probability_1) of the " +"2021 image from the 2017 image as an absolute value." +msgstr "" + +#: ../../source/workflows/proms.rst:116 +msgid "" +"Result: High values indicate a high probability of forest change, both " +"possible ‘forest losses’ and ‘forest gains’; low values indicate " +"stability." +msgstr "" + +#: ../../source/workflows/proms.rst:124 +msgid "For Multiple Monitoring Dates:" +msgstr "" + +#: ../../source/workflows/proms.rst:126 +msgid "" +"When intermediate dates are available, calculate the maximum forest " +"change probability:" +msgstr "" + +#: ../../source/workflows/proms.rst:140 +#, python-brace-format +msgid "" +"\\text{Max Change Probability} = \\max(\\text{probabilities over all " +"dates}) - \\min(\\text{probabilities over all dates})\n" +"\n" +msgstr "" + +#: ../../source/workflows/proms.rst:147 +msgid "With only two dates:" +msgstr "" + +#: ../../source/workflows/proms.rst:149 +#, python-brace-format +msgid "" +"\\text{Change Probability} = |\\text{Probability at Time 1} - " +"\\text{Probability at Time 2}|\n" +"\n" +msgstr "" + +#: ../../source/workflows/proms.rst:157 +msgid "Step 5: Inclusive Forest Mask Application (optional)" +msgstr "" + +#: ../../source/workflows/proms.rst:159 +msgid "" +"Apply a ‘forest mask’ to exclude areas with very low forest probability, " +"focusing the stratification on relevant areas." +msgstr "" + +#: ../../source/workflows/proms.rst:163 +msgid "" +"This mask should not be regarded as a commonly used forest mask but " +"rather as a highly conservative one, designed to include all areas where " +"forest could potentially exist at both Time 1 and Time 2, while excluding" +" areas where forest is definitively absent, such as deserts, croplands, " +"or built-up areas, especially when these categories constitute a " +"significant portion of the total area)." +msgstr "" + +#: ../../source/workflows/proms.rst:166 +msgid "Using SEPAL’s Band Math Tool:" +msgstr "" + +#: ../../source/workflows/proms.rst:168 +msgid "" +"Calculate Maximum Forest Probability: Use the Band Math tool to find the " +"maximum probability across all dates (Time 1 and Time 2 in the case " +"study)." +msgstr "" + +#: ../../source/workflows/proms.rst:172 +msgid "Using SEPAL’s Remapping Tool:" +msgstr "" + +#: ../../source/workflows/proms.rst:174 +msgid "" +"Remap Values: With the Remapping tool, classify areas as 'forest' where " +"the maximum forest probability exceeds a specified threshold, and mask " +"out areas that fall below this threshold." +msgstr "" + +#: ../../source/workflows/proms.rst:182 +msgid "Case study implementation:" +msgstr "" + +#: ../../source/workflows/proms.rst:184 +msgid "" +"In our case study we used a 10% maximum forest probability threshold that" +" masked out cropland areas." +msgstr "" + +#: ../../source/workflows/proms.rst:188 +msgid "Using SEPAL’s Masking Tool:" +msgstr "" + +#: ../../source/workflows/proms.rst:190 +msgid "" +"Apply Mask: Use the Masking tool to apply the ‘forest mask’ to the forest" +" change probability layer." +msgstr "" + +#: ../../source/workflows/proms.rst:200 +msgid "Step 6: Stratification" +msgstr "" + +#: ../../source/workflows/proms.rst:203 +msgid "" +"Convert the continuous forest change probability map into a categorical " +"map using the SEPAL's `Unsupervised Classification tool " +"`__" +" tool to create a stratification layer." +msgstr "" + +#: ../../source/workflows/proms.rst:207 +msgid "Using SEPAL’s Unsupervised Classification tool" +msgstr "" + +#: ../../source/workflows/proms.rst:210 +msgid "" +"**Sampling**: Number of Samples: Use a high number (e.g., 100,000) for " +"better representation, especially when areas with high forest change " +"probability are small. Sampling Scale: Consider the forest definition " +"(e.g., 70 meters aligning with a 0.5-hectare MMU)." +msgstr "" + +#: ../../source/workflows/proms.rst:211 +msgid "" +"**Clusterer**: Algorithm: Use the k-means algorithm. Number of Clusters: " +"Five classes are recommended (Kozak, 2011)." +msgstr "" + +#: ../../source/workflows/proms.rst:217 +msgid "" +"Samples: 100,000 samples to train the clusterer. Sampling Scale: 70 " +"meters." +msgstr "" + +#: ../../source/workflows/proms.rst:225 +msgid "Apply to Forest Areas Only:" +msgstr "" + +#: ../../source/workflows/proms.rst:227 +msgid "" +"The stratification could be applied exclusively to areas where forest " +"could potentially exist during the period of interest (both stable and " +"changing) using the masked forest change probability map as input image." +msgstr "" + +#: ../../source/workflows/proms.rst:235 +msgid "Step 7: Sample allocation" +msgstr "" + +#: ../../source/workflows/proms.rst:237 +msgid "" +"Select the sample points for interpretation on the stratification layer " +"using Neyman's method. The samples are optimally distributed according to" +" the variability and area of each stratum:" +msgstr "" + +#: ../../source/workflows/proms.rst:239 +msgid "" +":math:`n_h = \\left( \\frac{\\text{sd} \\cdot \\text{área del " +"estrato}}{\\sum (\\text{sd} \\cdot \\text{área})} \\right) \\cdot " +"\\text{targetSampleSize}`" +msgstr "" + +#: ../../source/workflows/proms.rst:242 +msgid "Using Google Earth Engine" +msgstr "" + +#: ../../source/workflows/proms.rst:244 +msgid "" +"The sample allocation can be applied either to the unmasked " +"stratification layer (as shown in the image above) or to the masked " +"stratification layer (as depicted in the image below)." +msgstr "" + +#: ../../source/workflows/proms.rst:258 +msgid "Total number of samples to select: 3000. Spatial resolution: 70m." +msgstr "" + +#: ../../source/workflows/proms.rst:261 +msgid "Step 8: Sample interpretation and analysis" +msgstr "" + +#: ../../source/workflows/proms.rst:263 +msgid "Estimate the forest change area." +msgstr "" + diff --git a/docs/source/_locale/ru/LC_MESSAGES/cli/env_management.po b/docs/source/_locale/ru/LC_MESSAGES/cli/env_management.po new file mode 100644 index 0000000000..d3fcc41812 --- /dev/null +++ b/docs/source/_locale/ru/LC_MESSAGES/cli/env_management.po @@ -0,0 +1,338 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: ru\n" +"Language-Team: ru \n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/cli/env_management.rst:4 +msgid "Python environment management" +msgstr "" + +#: ../../source/cli/env_management.rst:6 +msgid "" +"SEPAL provides two tools for managing Python environments: :guilabel:`uv`" +" and :guilabel:`micromamba`. Both are already installed and both are " +"better choices than the built-in :guilabel:`venv` for work on SEPAL." +msgstr "" + +#: ../../source/cli/env_management.rst:8 +msgid "" +"The core problem with :guilabel:`venv` on a shared platform is that it " +"creates environments tightly coupled to the system Python. When SEPAL " +"upgrades Python — as happened with the Ubuntu Noble upgrade from 3.10 to " +"3.12 — every venv breaks. The tools described on this page do not have " +"this problem." +msgstr "" + +#: ../../source/cli/env_management.rst:12 +msgid "" +"Do not use :guilabel:`venv` for new work on SEPAL. Use :guilabel:`uv` or " +":guilabel:`micromamba` instead." +msgstr "" + +#: ../../source/cli/env_management.rst:17 +msgid "Which tool should I use?" +msgstr "" + +#: ../../source/cli/env_management.rst:19 +msgid "The right choice depends on what your project needs." +msgstr "" + +#: ../../source/cli/env_management.rst:25 +msgid "Your stack includes..." +msgstr "" + +#: ../../source/cli/env_management.rst:26 +msgid "Use" +msgstr "" + +#: ../../source/cli/env_management.rst:27 +msgid "Why" +msgstr "" + +#: ../../source/cli/env_management.rst:28 +msgid "Web frameworks, APIs, pure Python tools" +msgstr "" + +#: ../../source/cli/env_management.rst:29 +#: ../../source/cli/env_management.rst:32 +msgid ":guilabel:`uv`" +msgstr "" + +#: ../../source/cli/env_management.rst:30 +msgid "Fast, lightweight, no overhead" +msgstr "" + +#: ../../source/cli/env_management.rst:31 +msgid "Data science: pandas, scikit-learn, statsmodels" +msgstr "" + +#: ../../source/cli/env_management.rst:33 +msgid "Good PyPI wheel coverage for Python 3.12" +msgstr "" + +#: ../../source/cli/env_management.rst:34 +msgid "Geospatial: GDAL, rasterio, fiona, GEOS" +msgstr "" + +#: ../../source/cli/env_management.rst:35 +#: ../../source/cli/env_management.rst:38 +msgid ":guilabel:`micromamba`" +msgstr "" + +#: ../../source/cli/env_management.rst:36 +msgid "Bundles native libraries inside the environment" +msgstr "" + +#: ../../source/cli/env_management.rst:37 +msgid "GPU / ML: CUDA, cuDNN, PyTorch with CUDA" +msgstr "" + +#: ../../source/cli/env_management.rst:39 +msgid "Pins CUDA runtime inside the environment" +msgstr "" + +#: ../../source/cli/env_management.rst:40 +msgid "Mixed: some native libraries, some pure Python" +msgstr "" + +#: ../../source/cli/env_management.rst:41 +msgid ":guilabel:`micromamba` + pip" +msgstr "" + +#: ../../source/cli/env_management.rst:42 +msgid "micromamba for native libraries, pip for the rest" +msgstr "" + +#: ../../source/cli/env_management.rst:46 +msgid "" +":guilabel:`uv` environments can still break if SEPAL upgrades a system-" +"level native library such as GDAL or CUDA. This is because :guilabel:`uv`" +" installs Python packages from PyPI but cannot bundle the underlying " +"``.so`` files they depend on. If your project uses geospatial or GPU " +"packages, use :guilabel:`micromamba`." +msgstr "" + +#: ../../source/cli/env_management.rst:51 +msgid "uv" +msgstr "" + +#: ../../source/cli/env_management.rst:53 +msgid "" +":guilabel:`uv` is a fast, modern Python and package manager. It manages " +"its own Python versions independently of the system, so a system Python " +"upgrade will not affect your environments." +msgstr "" + +#: ../../source/cli/env_management.rst:56 +msgid "Why use uv" +msgstr "" + +#: ../../source/cli/env_management.rst:58 +msgid "" +"**Survives system Python upgrades.** uv pins the Python version inside " +"the project. If you create an environment with Python 3.12.2, it stays on" +" 3.12.2 regardless of what the system does." +msgstr "" + +#: ../../source/cli/env_management.rst:59 +msgid "" +"**Much faster than pip and venv.** Dependency resolution and installation" +" are typically 10–100× faster due to parallel downloads and a compiled " +"resolver." +msgstr "" + +#: ../../source/cli/env_management.rst:60 +msgid "" +"**Lockfiles for reproducibility.** ``uv lock`` generates a precise, " +"cross-platform lockfile — more reliable than ``pip freeze`` for sharing " +"environments with colleagues." +msgstr "" + +#: ../../source/cli/env_management.rst:61 +msgid "" +"**Drop-in pip compatibility.** ``uv pip install`` works exactly like " +"``pip install``. Any package on PyPI works with uv. No new formats to " +"learn." +msgstr "" + +#: ../../source/cli/env_management.rst:62 +msgid "" +"**Works with standard project files.** Reads ``pyproject.toml`` and " +"``requirements.txt`` natively." +msgstr "" + +#: ../../source/cli/env_management.rst:63 +msgid "" +"**Manages multiple Python versions.** ``uv python install 3.10`` lets you" +" run any Python version without touching the system." +msgstr "" + +#: ../../source/cli/env_management.rst:64 +msgid "" +"**Single lightweight binary.** No base environment, no shell hooks, no " +"overhead." +msgstr "" + +#: ../../source/cli/env_management.rst:67 +msgid "Creating a uv project (recommended)" +msgstr "" + +#: ../../source/cli/env_management.rst:69 +msgid "" +"``uv init`` creates a project with a ``pyproject.toml`` and a lockfile, " +"giving you reproducible installs and clean dependency tracking:" +msgstr "" + +#: ../../source/cli/env_management.rst:83 +msgid "" +"uv automatically creates a ``.venv`` inside the project directory, " +"generates a ``uv.lock`` lockfile, and tracks all dependencies in " +"``pyproject.toml``. You do not need to activate anything — ``uv run`` " +"handles it." +msgstr "" + +#: ../../source/cli/env_management.rst:85 +msgid "To reproduce the environment elsewhere (or after a fresh clone):" +msgstr "" + +#: ../../source/cli/env_management.rst:92 +msgid "Creating a standalone uv environment" +msgstr "" + +#: ../../source/cli/env_management.rst:94 +msgid "" +"If you do not need a full project structure — for example, when working " +"with an existing ``requirements.txt`` — you can create a standalone " +"environment:" +msgstr "" + +#: ../../source/cli/env_management.rst:111 +#: ../../source/cli/env_management.rst:208 +msgid "Adding a Jupyter kernel" +msgstr "" + +#: ../../source/cli/env_management.rst:113 +msgid "Register your environment as a named kernel so it appears in JupyterLab:" +msgstr "" + +#: ../../source/cli/env_management.rst:115 +msgid "**For uv projects:**" +msgstr "" + +#: ../../source/cli/env_management.rst:123 +msgid "**For standalone uv environments:**" +msgstr "" + +#: ../../source/cli/env_management.rst:131 +msgid "Verify it appears:" +msgstr "" + +#: ../../source/cli/env_management.rst:137 +#: ../../source/cli/env_management.rst:224 +msgid "To remove a kernel:" +msgstr "" + +#: ../../source/cli/env_management.rst:146 +msgid "micromamba" +msgstr "" + +#: ../../source/cli/env_management.rst:148 +msgid "" +":guilabel:`micromamba` works like conda (if you have used conda before, " +"you already know how to use micromamba). Unlike :guilabel:`uv`, it " +"bundles native system libraries — GDAL, CUDA, HDF5, and others — inside " +"the environment itself, completely isolated from the system. This makes " +"it the right choice for geospatial and GPU workloads." +msgstr "" + +#: ../../source/cli/env_management.rst:151 +msgid "Why use micromamba" +msgstr "" + +#: ../../source/cli/env_management.rst:153 +msgid "" +"**Complete isolation including native libraries.** GDAL, CUDA, HDF5, " +"GEOS, and other system libraries are installed inside the environment. " +"Upgrading system libraries on SEPAL will not break your environment." +msgstr "" + +#: ../../source/cli/env_management.rst:154 +msgid "" +"**conda-forge provides excellent binary coverage.** conda-forge provides " +"pre-compiled, compatible builds of complex packages across all platforms " +"— often better than what is available on PyPI." +msgstr "" + +#: ../../source/cli/env_management.rst:155 +msgid "" +"**Environment files capture the full stack.** ``environment.yml`` files " +"describe both Python packages and native libraries in one place, making " +"environments fully reproducible by colleagues." +msgstr "" + +#: ../../source/cli/env_management.rst:156 +msgid "" +"**Pins native library versions.** You can pin ``cudatoolkit=11.8`` or " +"``gdal=3.6`` and those exact versions live inside the environment, " +"regardless of what is installed system-wide." +msgstr "" + +#: ../../source/cli/env_management.rst:157 +msgid "" +"**Faster than conda.** Written in C++, micromamba solves and installs " +"dependencies significantly faster than the original conda tool." +msgstr "" + +#: ../../source/cli/env_management.rst:158 +msgid "" +"**No base environment.** micromamba has no base environment that needs " +"updating — cleaner and lighter on disk." +msgstr "" + +#: ../../source/cli/env_management.rst:161 +msgid "Creating a micromamba environment" +msgstr "" + +#: ../../source/cli/env_management.rst:178 +msgid "Using an environment.yml file (recommended)" +msgstr "" + +#: ../../source/cli/env_management.rst:180 +msgid "" +"An ``environment.yml`` file captures the full environment — Python " +"version, native libraries, and Python packages — in one place:" +msgstr "" + +#: ../../source/cli/env_management.rst:197 +msgid "Create or update an environment from the file:" +msgstr "" + +#: ../../source/cli/env_management.rst:233 +msgid "Recovering a broken venv" +msgstr "" + +#: ../../source/cli/env_management.rst:235 +msgid "" +"If you have an existing venv that broke due to the Python upgrade, see " +":ref:`fix_venvs` for step-by-step recovery instructions, including a " +"script to extract your requirements without activating the broken " +"environment." +msgstr "" + diff --git a/docs/source/_locale/ru/LC_MESSAGES/cli/index.po b/docs/source/_locale/ru/LC_MESSAGES/cli/index.po index 5265391782..40bde7402d 100644 --- a/docs/source/_locale/ru/LC_MESSAGES/cli/index.po +++ b/docs/source/_locale/ru/LC_MESSAGES/cli/index.po @@ -1,22 +1,56 @@ + msgid "" msgstr "" -"Project-Id-Version: sepal-doc\n" +"Project-Id-Version: sepal-doc\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-03-07 09:39+0100\n" -"PO-Revision-Date: 2024-03-07 08:59\n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: 2024-03-07 08:59+0000\n" "Last-Translator: \n" +"Language: ru_RU\n" "Language-Team: Russian\n" +"Plural-Forms: nplurals=4; plural=((n%10==1 && n%100!=11) ? 0 : ((n%10 >= " +"2 && n%10 <=4 && (n%100 < 12 || n%100 > 14)) ? 1 : ((n%10 == 0 || (n%10 " +">= 5 && n%10 <=9)) || (n%100 >= 11 && n%100 <= 14)) ? 2 : 3));\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.14.0\n" -"Plural-Forms: nplurals=4; plural=((n%10==1 && n%100!=11) ? 0 : ((n%10 >= 2 && n%10 <=4 && (n%100 < 12 || n%100 > 14)) ? 1 : ((n%10 == 0 || (n%10 >= 5 && n%10 <=9)) || (n%100 >= 11 && n%100 <= 14)) ? 2 : 3));\n" -"X-Crowdin-Project: sepal-doc\n" -"X-Crowdin-Project-ID: 562097\n" -"X-Crowdin-Language: ru\n" -"X-Crowdin-File: /main/docs/source/_locale/en/LC_MESSAGES/cli/index.po\n" -"X-Crowdin-File-ID: 49\n" -"Language: ru_RU\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/cli/index.rst:10 +msgid "GDAL — Geospatial Data Abstraction Library" +msgstr "" + +#: ../../source/cli/index.rst:10 +msgid "Google Drive" +msgstr "" + +#: ../../source/cli/index.rst:10 +msgid "Google Earth Engine" +msgstr "" + +#: ../../source/cli/index.rst:10 +msgid "GuidosToolbox Workbench" +msgstr "" + +#: ../../source/cli/index.rst:10 +msgid "Open Foris Geospatial Toolkit" +msgstr "" + +#: ../../source/cli/index.rst:10 +msgid "Orfeo ToolBox" +msgstr "" + +#: ../../source/cli/index.rst:10 +msgid "Python" +msgstr "" + +#: ../../source/cli/index.rst:10 +msgid "R" +msgstr "" + +#: ../../source/cli/index.rst:10 +msgid "Python environment management" +msgstr "" #: ../../source/cli/index.rst:2 msgid "CLI" @@ -31,51 +65,72 @@ msgid "CLI tools" msgstr "" #: ../../source/cli/index.rst:8 -msgid "To help resolve specific problems, the SEPAL platform includes a variety of useful command-line interface (CLI) utilities, including:" +msgid "" +"To help resolve specific problems, the SEPAL platform includes a variety " +"of useful command-line interface (CLI) utilities, including:" msgstr "" -#: ../../source/cli/index.rst:22 -msgid "These tools can be called directly from the terminal or via any programming language sending commands to the kernel, including R and Python (installed by default on any SEPAL account)." +#: ../../source/cli/index.rst:23 +msgid "" +"These tools can be called directly from the terminal or via any " +"programming language sending commands to the kernel, including R and " +"Python (installed by default on any SEPAL account)." msgstr "" -#: ../../source/cli/index.rst:29 +#: ../../source/cli/index.rst:30 msgid "The code executed previously on an existing :code:`example.tif` file:" msgstr "" -#: ../../source/cli/index.rst:37 -msgid "If you're running actions from multiple directories or instances, you can open multiple **Terminal** tabs and name them as you see fit." +#: ../../source/cli/index.rst:38 +msgid "" +"If you're running actions from multiple directories or instances, you can" +" open multiple **Terminal** tabs and name them as you see fit." msgstr "" -#: ../../source/cli/index.rst:41 -msgid "If the code you want to execute is taking time, consider running it in the background using :code:`nohup`:" +#: ../../source/cli/index.rst:42 +msgid "" +"If the code you want to execute is taking time, consider running it in " +"the background using :code:`nohup`:" msgstr "" -#: ../../source/cli/index.rst:47 -msgid "All console outputs will be redirected to a :code:`nohup.out` in your home directory, but the execution will be running in the background. You will be able to safely close the terminal or even the browser window without interrupting the process (for more information about :code:`nohup`, see `this article `__)." +#: ../../source/cli/index.rst:48 +msgid "" +"All console outputs will be redirected to a :code:`nohup.out` in your " +"home directory, but the execution will be running in the background. You " +"will be able to safely close the terminal or even the browser window " +"without interrupting the process (for more information about " +":code:`nohup`, see `this article " +"`__)." msgstr "" -#: ../../source/cli/index.rst:50 +#: ../../source/cli/index.rst:51 msgid "Coding tools" msgstr "" -#: ../../source/cli/index.rst:52 -msgid "In the **Apps** section, there are three coding tools at the top of the list:" +#: ../../source/cli/index.rst:53 +msgid "" +"In the **Apps** section, there are three coding tools at the top of the " +"list:" msgstr "" -#: ../../source/cli/index.rst:54 +#: ../../source/cli/index.rst:55 msgid "JupyterLab" msgstr "" -#: ../../source/cli/index.rst:55 +#: ../../source/cli/index.rst:56 msgid "Jupyter Notebook" msgstr "" -#: ../../source/cli/index.rst:56 +#: ../../source/cli/index.rst:57 msgid "RStudio" msgstr "" -#: ../../source/cli/index.rst:61 -msgid "They will allow the user to code wokflows in any of the available languages using the corresponding environment in SEPAL. These environments are fully customizable (view the :code:`Python` or :code:`R` section to know more)." +#: ../../source/cli/index.rst:62 +msgid "" +"They will allow the user to code wokflows in any of the available " +"languages using the corresponding environment in SEPAL. These " +"environments are fully customizable (view the :code:`Python` or :code:`R`" +" section to know more)." msgstr "" #~ msgid "" diff --git a/docs/source/_locale/ru/LC_MESSAGES/cookbook/band_math.po b/docs/source/_locale/ru/LC_MESSAGES/cookbook/band_math.po new file mode 100644 index 0000000000..8cdc8c922c --- /dev/null +++ b/docs/source/_locale/ru/LC_MESSAGES/cookbook/band_math.po @@ -0,0 +1,234 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: ru\n" +"Language-Team: ru \n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/cookbook/band_math.rst:2 +msgid "Band Math" +msgstr "" + +#: ../../source/cookbook/band_math.rst:4 +msgid "" +"The **Band Math** recipe in SEPAL allows you to derive new raster layers " +"from existing ones by evaluating mathematical expressions. You can " +"combine, scale or subtract spectral bands, build indices or apply logical" +" masks. This guide walks through the Band Math workflow from start to " +"finish and uses a vegetation index as an example. The same steps apply " +"whether you are creating a simple ratio or a complex index." +msgstr "" + +#: ../../source/cookbook/band_math.rst:7 +msgid "Getting started" +msgstr "" + +#: ../../source/cookbook/band_math.rst:9 +msgid "Open `sepal.io `_ in your web browser and sign in." +msgstr "" + +#: ../../source/cookbook/band_math.rst:10 +msgid "" +"Go to the **Process** page where SEPAL lists your recipes. If you have " +"not created any recipes yet this list will be empty." +msgstr "" + +#: ../../source/cookbook/band_math.rst:13 +msgid "Creating a Band Math recipe" +msgstr "" + +#: ../../source/cookbook/band_math.rst:15 +msgid "" +"Click :btn:` Add recipe` in the recipe list and choose " +"**Band Math**. SEPAL opens a new tab for your recipe. On the right‑hand " +"side you will see three vertically stacked tabs labelled :guilabel:`IMG`," +" :guilabel:`CAL` and :guilabel:`OUT` corresponding to *Input imagery*, " +"*Calculations* and *Outputs*." +msgstr "" + +#: ../../source/cookbook/band_math.rst:27 +msgid "" +"Select the :guilabel:`IMG` button. Click :btn:` Add` " +"and then **Earth Engine Asset**. An entry form appears where you can " +"provide a Google Earth Engine image. Paste a valid asset ID into the " +"**Earth Engine asset ID** field (for example the Landsat 8 Level‑2 scene " +"``LANDSAT/LC08/C02/T1_L2/LC08_232064_20200119``). Leave the **Image " +"name** as the default (``i1``) unless you intend to add multiple images. " +"Use the tick icon to validate the ID; if the field turns red the asset is" +" not available. Once it loads successfully you will see a section " +"labelled **CONTINUOUS** listing the available bands." +msgstr "" + +#: ../../source/cookbook/band_math.rst:34 +msgid "" +"Specify which bands you need. Click the green :btn:` " +"Add` button to insert a row, select the band name from the drop‑down list" +" and leave the :guilabel:`TYPE` as **CONTINUOUS**. Repeat this step for " +"every band referenced in your expression. For a vegetation index select " +"the red band ``SR_B4`` and the near‑infrared band ``SR_B5``. When you " +"have added all your bands, click :btn:` Apply` to " +"confirm. The :guilabel:`IMG` tab now lists your Earth Engine asset and " +"the chosen name." +msgstr "" + +#: ../../source/cookbook/band_math.rst:42 +msgid "Defining a calculation" +msgstr "" + +#: ../../source/cookbook/band_math.rst:44 +msgid "" +"Switch to the :guilabel:`CAL` tab and click :btn:` " +"Add`. A dialog appears offering two paths: **Function** and " +"**Expression**. Choose **Function** when you want to compute built‑in " +"statistics (sum, mean, min, max, product) on your bands. Choose " +"**Expression** when you need to write a custom formula. For indices you " +"will almost always select **Expression**." +msgstr "" + +#: ../../source/cookbook/band_math.rst:51 +msgid "" +"In the expression editor type your formula. Refer to each band using its " +"image name and band name, for example ``i1.SR_B5`` for the near‑infrared " +"band of the first image. Parentheses control the order of operations. To " +"compute a vegetation index you can use:" +msgstr "" + +#: ../../source/cookbook/band_math.rst:57 +msgid "" +"You could just as easily substitute other bands or constants, for example" +" the Normalised Difference Water Index (NDWI) ``(i1.SR_B3 - i1.SR_B5) / " +"(i1.SR_B3 + i1.SR_B5)`` or a simple ratio like ``i1.SR_B5 / i1.SR_B4``." +msgstr "" + +#: ../../source/cookbook/band_math.rst:59 +msgid "" +"Enter a short Band name beneath the editor. This will be the label of the" +" resulting layer – for example ``ndvi`` for a vegetation index." +msgstr "" + +#: ../../source/cookbook/band_math.rst:66 +msgid "" +"Click :btn:` Apply`. Your calculation appears in the " +"list with an identifier such as ``c1``. You can add additional " +"calculations by repeating this process; each one becomes a separate " +"output band." +msgstr "" + +#: ../../source/cookbook/band_math.rst:74 +msgid "Managing outputs and naming" +msgstr "" + +#: ../../source/cookbook/band_math.rst:76 +msgid "" +"The :guilabel:`OUT` tab displays the bands produced by your expressions. " +"Check that the band names are correct. You can delete or add them using " +"the icons on the right of each row. Above the map the recipe tab uses a " +"default timestamp; rename it by double‑clicking the label, entering a " +"descriptive name (for example ``Amazon_BandMath``) and pressing " +"**Enter**. When everything looks correct close the :guilabel:`OUT` tab." +msgstr "" + +#: ../../source/cookbook/band_math.rst:84 +msgid "Visualising the results" +msgstr "" + +#: ../../source/cookbook/band_math.rst:86 +msgid "" +"By default your calculation is not drawn on the map. To create a " +"visualisation:" +msgstr "" + +#: ../../source/cookbook/band_math.rst:88 +msgid "" +"Locate the small :btn:`` icon near the bottom centre of" +" the map and click it. This opens the **This recipe** panel. If your " +"derived bands appear here they are ready for visualisation; if not, click" +" the :btn:`` button in that panel to create one." +msgstr "" + +#: ../../source/cookbook/band_math.rst:95 +msgid "" +"A **Visualisation** dialog opens. Choose the band you want to display " +"from the **Band** drop‑down (for example ``ndvi``). Set **Min** and " +"**Max** values to define the stretch – for indices spanning –1 to 1, " +"values such as –0.2 and 0.8 often provide good contrast." +msgstr "" + +#: ../../source/cookbook/band_math.rst:97 +msgid "" +"Select a colour palette. You can load a preset palette from the drop‑down" +" or define your own. To enter custom colours click the :guilabel:`HEX` " +"button; a text box appears containing a comma‑separated list of colour " +"codes. Replace it with your own codes (e.g. ``#ffffcc, #c2e699, #78c679, " +"#31a354, #006837`` for a light‑to‑dark green gradient). Multiple colours " +"create a smooth ramp." +msgstr "" + +#: ../../source/cookbook/band_math.rst:104 +msgid "" +"Click :btn:` Apply`. SEPAL renders the band using your" +" settings and adds a legend bar at the bottom of the map. If the map " +"stays blank for more than a few seconds, ensure you added the correct " +"bands and that the area of interest is not outside the footprint of your " +"image." +msgstr "" + +#: ../../source/cookbook/band_math.rst:113 +msgid "What else can you do with Band Math?" +msgstr "" + +#: ../../source/cookbook/band_math.rst:115 +msgid "" +"Band Math is a general‑purpose calculator for raster bands. Beyond " +"vegetation indices you can:" +msgstr "" + +#: ../../source/cookbook/band_math.rst:117 +msgid "" +"Highlight water bodies by computing the Normalised Difference Water Index" +" (NDWI): ``(i1.SR_B3 - i1.SR_B5) / (i1.SR_B3 + i1.SR_B5)``." +msgstr "" + +#: ../../source/cookbook/band_math.rst:118 +msgid "" +"Assess burn severity with the Normalised Burn Ratio (NBR) using " +"near‑infrared and short‑wave infrared bands: ``(i1.SR_B5 - i1.SR_B7) / " +"(i1.SR_B5 + i1.SR_B7)``." +msgstr "" + +#: ../../source/cookbook/band_math.rst:119 +msgid "" +"Perform arithmetic between bands (for example ``i1.SR_B5 - i1.SR_B4``), " +"multiply by constants to convert digital numbers to reflectance or add " +"bands to create composites." +msgstr "" + +#: ../../source/cookbook/band_math.rst:120 +msgid "" +"Create masks based on conditions – for instance ``i1.SR_B5 > 0.3`` to " +"select highly vegetated pixels – and combine them with logical operators " +"(`and`, `or`)." +msgstr "" + +#: ../../source/cookbook/band_math.rst:122 +msgid "" +"Every expression you add becomes a new band that can be visualised or " +"used in subsequent calculations. By chaining calculations together you " +"can build complex workflows in SEPAL without writing any external code." +msgstr "" + diff --git a/docs/source/_locale/ru/LC_MESSAGES/cookbook/classification.po b/docs/source/_locale/ru/LC_MESSAGES/cookbook/classification.po index 915d84d030..2ee104b0e4 100644 --- a/docs/source/_locale/ru/LC_MESSAGES/cookbook/classification.po +++ b/docs/source/_locale/ru/LC_MESSAGES/cookbook/classification.po @@ -1,29 +1,29 @@ + msgid "" msgstr "" -"Project-Id-Version: sepal-doc\n" +"Project-Id-Version: sepal-doc\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-03-07 09:39+0100\n" -"PO-Revision-Date: 2024-03-07 08:59\n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: 2024-03-07 08:59+0000\n" "Last-Translator: \n" +"Language: ru_RU\n" "Language-Team: Russian\n" +"Plural-Forms: nplurals=4; plural=((n%10==1 && n%100!=11) ? 0 : ((n%10 >= " +"2 && n%10 <=4 && (n%100 < 12 || n%100 > 14)) ? 1 : ((n%10 == 0 || (n%10 " +">= 5 && n%10 <=9)) || (n%100 >= 11 && n%100 <= 14)) ? 2 : 3));\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.14.0\n" -"Plural-Forms: nplurals=4; plural=((n%10==1 && n%100!=11) ? 0 : ((n%10 >= 2 && n%10 <=4 && (n%100 < 12 || n%100 > 14)) ? 1 : ((n%10 == 0 || (n%10 >= 5 && n%10 <=9)) || (n%100 >= 11 && n%100 <= 14)) ? 2 : 3));\n" -"X-Crowdin-Project: sepal-doc\n" -"X-Crowdin-Project-ID: 562097\n" -"X-Crowdin-Language: ru\n" -"X-Crowdin-File: /main/docs/source/_locale/en/LC_MESSAGES/cookbook/classification.po\n" -"X-Crowdin-File-ID: 65\n" -"Language: ru_RU\n" +"Generated-By: Babel 2.18.0\n" #: ../../source/cookbook/classification.rst:2 msgid "Classification" msgstr "" #: ../../source/cookbook/classification.rst:3 -msgid "*Build supervised classifications of mosaic images to create easy-to-use user interfaces with the Classification recipe*" +msgid "" +"*Build supervised classifications of mosaic images to create easy-to-use " +"user interfaces with the Classification recipe*" msgstr "" #: ../../source/cookbook/classification.rst:6 @@ -31,7 +31,12 @@ msgid "Overview" msgstr "" #: ../../source/cookbook/classification.rst:8 -msgid "With this recipe, SEPAL helps users build supervised classifications of any mosaic image. It is built on top of the most advanced tools available on Google Earth Engine (GEE) – including the classifiers CART, RandomForest, NaiveBayes and SVM – allowing users to create an easy-to-use user interface to:" +msgid "" +"With this recipe, SEPAL helps users build supervised classifications of " +"any mosaic image. It is built on top of the most advanced tools available" +" on Google Earth Engine (GEE) – including seven classifiers, such as " +"Random Forest, CART and SVM – allowing users to create an easy-to-use " +"user interface to:" msgstr "" #: ../../source/cookbook/classification.rst:10 @@ -39,7 +44,7 @@ msgid "select an image to classify;" msgstr "" #: ../../source/cookbook/classification.rst:11 -msgid "define the class table; and" +msgid "define the legend; and" msgstr "" #: ../../source/cookbook/classification.rst:12 @@ -47,7 +52,10 @@ msgid "add training data from external sources and on-the-fly selection." msgstr "" #: ../../source/cookbook/classification.rst:14 -msgid "In combination with other tools of SEPAL, the **Classification** recipe can help you provide accurate land-use maps, without writing a single line of code." +msgid "" +"In combination with other tools of SEPAL, the **Classification** recipe " +"can help you provide accurate land-use maps, without writing a single " +"line of code." msgstr "" #: ../../source/cookbook/classification.rst:17 @@ -55,15 +63,24 @@ msgid "Start" msgstr "" #: ../../source/cookbook/classification.rst:19 -msgid "Once the **Classification** recipe is selected, SEPAL will show the recipe process in a new tab (see **1** in figure below); the **Image selection** window will appear in the lower right (**2**)." +msgid "" +"Once the **Classification** recipe is selected, SEPAL will show the " +"recipe process in a new tab (see **1** in figure below); the **Image " +"selection** window will appear in the lower right (**2**)." msgstr "" #: ../../source/cookbook/classification.rst:25 -msgid "The first step is to change the name of the recipe. This name will be used to identify your files and recipes in SEPAL folders. Use the best-suited convention for your needs. Simply double-click the tab and enter a new name. It will default to :code:`Classification_`." +msgid "" +"The first step is to change the name of the recipe. This name will be " +"used to identify your files and recipes in SEPAL folders. Use the best-" +"suited convention for your needs. Simply double-click the tab and enter a" +" new name. It will default to :code:`Classification_`." msgstr "" #: ../../source/cookbook/classification.rst:37 -msgid "The SEPAL team recommends using the following naming convention: :code:`__`." +msgid "" +"The SEPAL team recommends using the following naming convention: " +":code:`__`." msgstr "" #: ../../source/cookbook/classification.rst:40 @@ -71,7 +88,9 @@ msgid "Parameters" msgstr "" #: ../../source/cookbook/classification.rst:42 -msgid "In the lower-right corner, the following five tabs are available, allowing you to customize the time series to your needs:" +msgid "" +"In the lower-right corner, the following five tabs are available, " +"allowing you to customize the classification to your needs:" msgstr "" #: ../../source/cookbook/classification.rst:44 @@ -99,19 +118,29 @@ msgid "Image selection" msgstr "" #: ../../source/cookbook/classification.rst:57 -msgid "The first step consists of selecting the image bands on which to apply the classifier. The number of selected bands (i.e. images) is not limited." +msgid "" +"The first step consists of selecting the image bands on which to apply " +"the classifier. The number of selected bands (i.e. images) is not " +"limited." msgstr "" #: ../../source/cookbook/classification.rst:61 -msgid "Keep in mind that increasing the number of bands to analyse will improve the model but slow down the rendering of the final image." +msgid "" +"Keep in mind that increasing the number of bands to analyse will improve " +"the model but slow down the rendering of the final image." msgstr "" #: ../../source/cookbook/classification.rst:65 -msgid "If multiple images are selected, all selected images should overlap. If masked pixels are found in one of the bands, the classifier will mask them." +msgid "" +"If multiple images are selected, all selected images should overlap. If " +"masked pixels are found in one of the bands, the classifier will mask " +"them." msgstr "" #: ../../source/cookbook/classification.rst:67 -msgid "Select :btn:` Add`. The following screen should be displayed:" +msgid "" +"Select :btn:` Add`. The following screen should be " +"displayed:" msgstr "" #: ../../source/cookbook/classification.rst:74 @@ -119,11 +148,15 @@ msgid "Image type" msgstr "" #: ../../source/cookbook/classification.rst:76 -msgid "Users can select images coming from an **Existing recipe** or an exported **GEE asset** (see advantages and disadvantages below). Both should be an :code:`ee.Image`, rather than a :code:`Time series` or :code:`ee.ImageCollection`." +msgid "" +"Users can select images coming from a **Saved SEPAL recipe** or an " +"exported **Earth Engine asset** (see advantages and disadvantages below)." +" Both should be an :code:`ee.Image`, rather than a :code:`Time series` or" +" :code:`ee.ImageCollection`." msgstr "" #: ../../source/cookbook/classification.rst:78 -msgid "**Existing recipe**:" +msgid "**Saved SEPAL recipe**:" msgstr "" #: ../../source/cookbook/classification.rst:80 @@ -136,7 +169,9 @@ msgid "all of the computed bands from SEPAL can be used; and" msgstr "" #: ../../source/cookbook/classification.rst:83 -msgid "any modification to the existing recipe will be propagated in the final classification." +msgid "" +"any modification to the existing recipe will be propagated in the final " +"classification." msgstr "" #: ../../source/cookbook/classification.rst:85 @@ -145,11 +180,14 @@ msgid "Disadvantages:" msgstr "" #: ../../source/cookbook/classification.rst:87 -msgid "the initial recipe will be computed at each rendering step, slowing down the classification process and potentially breaking on-the-fly rendering due to GEE timeout errors." +msgid "" +"the initial recipe will be computed at each rendering step, slowing down " +"the classification process and potentially breaking on-the-fly rendering " +"due to GEE timeout errors." msgstr "" #: ../../source/cookbook/classification.rst:89 -msgid "**GEE asset**:" +msgid "**Earth Engine asset**:" msgstr "" #: ../../source/cookbook/classification.rst:93 @@ -177,11 +215,18 @@ msgid "Select bands" msgstr "" #: ../../source/cookbook/classification.rst:108 -msgid "For this example, we will use a public asset created with the **Optical mosaic** tool from SEPAL. It's a Sentinel-2 mosaic of Eastern Province in Zambia during the dry season from 2012 to 2020. Multiple bands are available." +msgid "" +"For this example, we will use a public asset created with the **Optical " +"mosaic** tool from SEPAL. It's a Sentinel-2 mosaic of Eastern Province in" +" Zambia during the dry season from 2012 to 2021. Multiple bands are " +"available." msgstr "" #: ../../source/cookbook/classification.rst:110 -msgid "Use the following asset name if you want to reproduce our workflow: :code:`projects/sepal-cookbook/assets/classification/zmb-eastern_2012_2021`" +msgid "" +"Use the following asset name if you want to reproduce our workflow: " +":code:`projects/sepal-cookbook/assets/classification/zmb-" +"eastern_2012_2021`" msgstr "" #: ../../source/cookbook/classification.rst:113 @@ -189,7 +234,12 @@ msgid "Image bands" msgstr "" #: ../../source/cookbook/classification.rst:115 -msgid "Once an asset has been selected, SEPAL will load its bands in the interface. You can use any band that is native to the image as input for the classification process. Simply click on the band name to select them. The selected bands are summarized in the expansion panel title (**1**) and displayed in gold in the pane content (**2**)." +msgid "" +"Once an asset has been selected, SEPAL will load its bands in the " +"interface. You can use any band that is native to the image as input for " +"the classification. Open the :guilabel:`Select bands...` dropdown and " +"click a band name to add it (the highlighted option). Each selected band " +"then appears as a removable chip in the **Image bands** panel." msgstr "" #: ../../source/cookbook/classification.rst:117 @@ -205,7 +255,7 @@ msgid ":code:`nir`" msgstr "" #: ../../source/cookbook/classification.rst:121 -msgid ":code:`swir`" +msgid ":code:`swir1`" msgstr "" #: ../../source/cookbook/classification.rst:122 @@ -217,39 +267,54 @@ msgid "Derived bands" msgstr "" #: ../../source/cookbook/classification.rst:131 -msgid "The analysis is not limited to natively available bands. SEPAL can also build additional derived bands on-the-fly." +msgid "" +"The analysis is not limited to natively available bands. SEPAL can also " +"build additional derived bands on-the-fly." msgstr "" #: ../../source/cookbook/classification.rst:133 -msgid "Select :btn:` Derived bands` at the bottom of the pop-up window and select the deriving method. This will add a a new panel to the expansion panel with the selected method name (**1**). The selected method will be applied to the selected bands." +msgid "" +"Select :btn:` Derived bands` at the bottom of the pop-" +"up window and select the deriving method. This adds a new panel named " +"after the selected method (e.g. **Normalized difference**). The method " +"will be applied to the bands you add to that panel." msgstr "" #: ../../source/cookbook/classification.rst:137 -msgid "If more than two bands are selected, the operation will be applied to the Cartesian product of the bands. If you select bands :math:`A`, :math:`B` and :math:`C`, and apply the :code:`Difference` derived bands, you'll add three bands to your analysis:" +msgid "" +"If you select two bands, :math:`A` and :math:`B`, and apply the " +"**Normalized difference** derived band, you'll add one band to your " +"analysis:" msgstr "" #: ../../source/cookbook/classification.rst:139 -msgid ":math:`A - B`" -msgstr "" - -#: ../../source/cookbook/classification.rst:140 -msgid ":math:`A - C`" +msgid ":math:`(A - B) / (A + B)`" msgstr "" #: ../../source/cookbook/classification.rst:141 -msgid ":math:`B - C`" +msgid "Selecting more than two bands applies the operation to each pair of them." msgstr "" #: ../../source/cookbook/classification.rst:149 -msgid "You should notice that in the figure, we compute the normalized difference between :code:`nir` and :code:`red` (i.e. the NDVI). It is also pre-computed in the :code:`Indexes` derived bands." +msgid "" +"You should notice that in the figure, we compute the normalized " +"difference between :code:`nir` and :code:`red` (i.e. the NDVI). It is " +"also pre-computed in the :code:`Indexes` derived bands." msgstr "" #: ../../source/cookbook/classification.rst:151 -msgid "Once image selection is complete, select :btn:` Apply` and the pop-up window will close. The images and bands will be displayed in the :guilabel:`IMG` panel in the lower-right corner of the screen. By selecting the :btn:`` button, you will remove the image and its band from the analysis altogether." +msgid "" +"Once image selection is complete, select :btn:` Apply`" +" and the pop-up window will close. The images and bands will be displayed" +" in the :guilabel:`IMG` panel in the lower-right corner of the screen. By" +" selecting the :btn:`` button, you will remove the " +"image and its bands from the analysis altogether." msgstr "" #: ../../source/cookbook/classification.rst:157 -msgid "From there, select :btn:` Next` to continue to the next step." +msgid "" +"From there, select :btn:` Next` to continue to" +" the next step." msgstr "" #: ../../source/cookbook/classification.rst:160 @@ -257,11 +322,17 @@ msgid "Legend setup" msgstr "" #: ../../source/cookbook/classification.rst:162 -msgid "In this step, the user will specify the legend that should be used in the output classified image. Any categorical classification that associates integer value to a class name will work. SEPAL provides multiple ways to create and customize a legend." +msgid "" +"In this step, the user will specify the legend that should be used in the" +" output classified image. Any categorical classification that associates " +"integer value to a class name will work. SEPAL provides multiple ways to " +"create and customize a legend." msgstr "" #: ../../source/cookbook/classification.rst:170 -msgid "Legends created here are fully compatible with other functionalities of SEPAL, including applications." +msgid "" +"Legends created here are fully compatible with other functionalities of " +"SEPAL, including applications." msgstr "" #: ../../source/cookbook/classification.rst:173 @@ -269,7 +340,9 @@ msgid "Manual legend" msgstr "" #: ../../source/cookbook/classification.rst:175 -msgid "The first and most natural way of building a legend is to do it from scratch." +msgid "" +"The first and most natural way of building a legend is to do it from " +"scratch." msgstr "" #: ../../source/cookbook/classification.rst:177 @@ -281,7 +354,9 @@ msgid "A class is defined by three key elements:" msgstr "" #: ../../source/cookbook/classification.rst:181 -msgid "Color (1): Select the small color square to open the color selector and choose any color (color[s] must be unique)." +msgid "" +"Color (1): Select the small color square to open the color selector and " +"choose any color (color[s] must be unique)." msgstr "" #: ../../source/cookbook/classification.rst:182 @@ -293,15 +368,26 @@ msgid "Class (3): Insert a class description (cannot be empty)." msgstr "" #: ../../source/cookbook/classification.rst:185 -msgid "Select the :btn:` Add` button again to add an extra class line. The :btn:`` button can be used to remove a specific line." +msgid "" +"Select the :btn:` Add` button again to add an extra " +"class line. The :btn:`` button can be used to remove a" +" specific line." msgstr "" #: ../../source/cookbook/classification.rst:189 -msgid "Select :btn:`HEX` (4) to display the hexadecimal value of the selected color. It can also be used to insert a known color palette by utilizing its values." +msgid "" +"Select :btn:`HEX` (4) to display the hexadecimal value of the selected " +"color. It can also be used to insert a known color palette by utilizing " +"its values." msgstr "" #: ../../source/cookbook/classification.rst:191 -msgid "If multiple classes are created and you are not sure which one to use, you can apply colors to them by selecting a preselected color-map (5). They are provided by the `GEE community `__ and will be applied to every existing class in your panel." +msgid "" +"If multiple classes are created and you are not sure which one to use, " +"you can apply colors to them by selecting a preselected color-map (5). " +"They are provided by the `GEE community `__ and will be applied to every existing class in your " +"panel." msgstr "" #: ../../source/cookbook/classification.rst:198 @@ -309,11 +395,16 @@ msgid "Import legend" msgstr "" #: ../../source/cookbook/classification.rst:200 -msgid "If you already have a file describing your legend, you can use it, rather than identifying every legend item individually. Your legend needs to be saved in .csv format and contain the following information:" +msgid "" +"If you already have a file describing your legend, you can use it, rather" +" than identifying every legend item individually. Your legend needs to be" +" saved in .csv format and contain the following information:" msgstr "" #: ../../source/cookbook/classification.rst:202 -msgid "color (stored as a hexadecimal value [e.g. #FFFF00] or in three columns [red, blue, green]);" +msgid "" +"color (stored as a hexadecimal value [e.g. #FFFF00] or in three columns " +"[red, blue, green]);" msgstr "" #: ../../source/cookbook/classification.rst:203 @@ -325,27 +416,43 @@ msgid "class (stored as a string)." msgstr "" #: ../../source/cookbook/classification.rst:208 -msgid "The column names will help SEPAL predict information, but are not compulsory." +msgid "" +"The column names will help SEPAL predict information, but are not " +"compulsory." msgstr "" #: ../../source/cookbook/classification.rst:210 -msgid "For example, a .csv file containing the following information is fully qualified to be used in SEPAL:" +msgid "" +"For example, a .csv file containing the following information is fully " +"qualified to be used in SEPAL:" msgstr "" #: ../../source/cookbook/classification.rst:227 -msgid "Alternatively, a file containing the following information – including RGB-defined colors – is also acceptable:" +msgid "" +"Alternatively, a file containing the following information – including " +"RGB-defined colors – is also acceptable:" msgstr "" #: ../../source/cookbook/classification.rst:244 -msgid "Once the fully qualified legend file has been prepared on your computer, select :btn:`` and then :code:`Import from CSV`, which will open a pop-up window where you can drag and drop the file or select it manually from your computer files." +msgid "" +"Once the fully qualified legend file has been prepared on your computer, " +"select :btn:`` and then :code:`Import from " +"CSV...`, which will open a pop-up window where you can drag and drop the " +"file or select it manually from your computer files." msgstr "" #: ../../source/cookbook/classification.rst:246 -msgid "As shown in the following image, you can then select the columns that are defining your .csv file (select :btn:`Single column` for hexadecimal-defined colors and :btn:`Multiple columns` for RGB-defined colors)." +msgid "" +"As shown in the following image, you can then select the columns that are" +" defining your .csv file (select :btn:`Single column` for hexadecimal-" +"defined colors and :btn:`Multiple columns` for RGB-defined colors)." msgstr "" #: ../../source/cookbook/classification.rst:252 -msgid "Select :btn:` Apply` to validate your selection. The classes will be added to the legend panel and you'll be able to modify the legend using the parameters presented in the previous subsection." +msgid "" +"Select :btn:` Apply` to validate your selection. The " +"classes will be added to the legend panel and you'll be able to modify " +"the legend using the parameters presented in the previous subsection." msgstr "" #: ../../source/cookbook/classification.rst:258 @@ -353,7 +460,12 @@ msgid "Select :btn:` Done` to validate this step." msgstr "" #: ../../source/cookbook/classification.rst:260 -msgid "Every pane should be closed; the colors of the legend should now be displayed at the bottom of the map. No classification is performed, as we didn't provide any training data. Nevertheless, this step is the last mandatory step for setting parameters. Training data can be added using the on-the-fly training functionality." +msgid "" +"Every pane should be closed; the colors of the legend should now be " +"displayed at the bottom of the map. No classification is performed, as we" +" didn't provide any training data. Nevertheless, this step is the last " +"mandatory step for setting parameters. Training data can be added using " +"the on-the-fly training functionality." msgstr "" #: ../../source/cookbook/classification.rst:263 @@ -361,504 +473,956 @@ msgid "Export legend" msgstr "" #: ../../source/cookbook/classification.rst:265 -msgid "Once your legend is validated, select the :btn:`` and then :code:`Export as CSV`." +msgid "" +"Once your legend is validated, select the :btn:``" +" and then :code:`Export as CSV`." msgstr "" #: ../../source/cookbook/classification.rst:267 -msgid "A file will be downloaded to you computer named :code:`_legend.csv`, which will contain the legend information in the following format:" +msgid "" +"A file will be downloaded to your computer named " +":code:`_legend.csv`, which will contain the legend " +"information in the following format:" msgstr "" #: ../../source/cookbook/classification.rst:277 -msgid "Select training data" -msgstr "" - -#: ../../source/cookbook/classification.rst:281 -msgid "This step is not mandatory." +msgid "Training data setup" msgstr "" -#: ../../source/cookbook/classification.rst:283 +#: ../../source/cookbook/classification.rst:279 msgid "Two inputs are required to create the classification output:" msgstr "" -#: ../../source/cookbook/classification.rst:285 +#: ../../source/cookbook/classification.rst:281 msgid "pixel values (e.g. bands) to classify; and" msgstr "" -#: ../../source/cookbook/classification.rst:286 +#: ../../source/cookbook/classification.rst:282 msgid "training data to set up the classification model." msgstr "" -#: ../../source/cookbook/classification.rst:288 -msgid "This menu will help the user manage the training data of the model used. To open it, select :btn:`TRN` in the lower-right side of the window." +#: ../../source/cookbook/classification.rst:284 +msgid "" +"This menu will help the user manage the training data of the model used. " +"To open it, select :btn:`TRN` in the lower-right side of the window." msgstr "" -#: ../../source/cookbook/classification.rst:295 -msgid "Collected reference data" +#: ../../source/cookbook/classification.rst:291 +msgid "Import existing training data" msgstr "" -#: ../../source/cookbook/classification.rst:297 -msgid "Collected reference data are data selected on the fly by the user. The workflow will be explained later in the documentation." +#: ../../source/cookbook/classification.rst:293 +msgid "" +"Instead of collecting all data by hand, SEPAL provides numerous ways to " +"include already existing training data into your analysis. The data can " +"be from multiple formats and will be included in the model to improve the" +" quality of the final map." msgstr "" -#: ../../source/cookbook/classification.rst:299 -msgid "In this pane, this type of data can be managed by the user. The data appear as a pair, associating coordinates to a class value, which will be used to create training data in the classification model." +#: ../../source/cookbook/classification.rst:297 +msgid "" +"The imported files can use an extended version of the legend provided in " +"the previous step, but to avoid unexpected behaviour, at least one of the" +" classes of your legend and the provided training data need to match." msgstr "" #: ../../source/cookbook/classification.rst:301 -msgid "If you're satisfied with the current selection and you want to share the data with others, select :btn:`` and then :code:`Export reference data to csv`. A file will be created and sent to your computer, named :code:`_reference_data.csv`. It will embed all of the gathered point data using the following convention:" +msgid "" +"If the added training data are outside of the image to classify, they " +"will have no impact on the final result (with the exception of the SEPAL " +"recipe)." msgstr "" -#: ../../source/cookbook/classification.rst:309 -msgid "If you are not satisfied with the selected data, select :btn:`` and then :code:`Clear collected reference data` to remove all collected data from the analysis." +#: ../../source/cookbook/classification.rst:303 +msgid "" +"To add new data, select :btn:` Add` and choose the type" +" of data to import:" msgstr "" -#: ../../source/cookbook/classification.rst:313 -msgid "A confirmation pop-up window should prevent you from accidentally deleting everything." +#: ../../source/cookbook/classification.rst:310 +msgid "CSV" msgstr "" -#: ../../source/cookbook/classification.rst:316 -msgid "Existing training data" +#: ../../source/cookbook/classification.rst:312 +msgid "" +"By selecting :btn:`CSV file`, SEPAL will request a file from your " +"computer in :code:`.csv` format. The file needs to include two pieces of " +"information: geographic coordinates and class value." msgstr "" -#: ../../source/cookbook/classification.rst:318 -msgid "Instead of collecting all data by hand, SEPAL provides numerous ways to include already existing training data into your analysis. The data can be from multiple formats and will be included in the model to improve the quality of the final map." +#: ../../source/cookbook/classification.rst:314 +msgid "" +"This can be done using coordinates in :code:`EPSG:4326` latitude and " +"longitude, as well as a `GeoJSON `__ compatible " +"point object. The file can embed other multiple columns that will not be " +"considered during the analysis." +msgstr "" + +#: ../../source/cookbook/classification.rst:316 +msgid "The following table is compatible with SEPAL:" msgstr "" -#: ../../source/cookbook/classification.rst:322 -msgid "The imported files can use an extended version of the legend provided in the previous step, but to avoid unexpected behaviour, at least one of the classes of your legend and the provided training data need to match." +#: ../../source/cookbook/classification.rst:324 +msgid "" +"The columns used to define the X (longitude) and Y (latitude) coordinates" +" are manually set up in the pop-up window. Select :btn:` Next` once every column is filled." msgstr "" -#: ../../source/cookbook/classification.rst:326 -msgid "If the added training data are outside of the image to classify, they will have no impact on the final result (with the exception of the SEPAL recipe)." +#: ../../source/cookbook/classification.rst:332 +msgid "" +"If your file contains a GeoJSON column instead of coordinates, select " +":btn:`GeoJSON column` to switch the interface to one column selection." msgstr "" -#: ../../source/cookbook/classification.rst:328 -msgid "To add new data, select :btn:` Add` and choose the type of data to import:" +#: ../../source/cookbook/classification.rst:334 +msgid "" +"Now that you have set up the coordinates of your points, SEPAL will ask " +"how the class values (not the names) are stored, through the **Class " +"format** selector:" msgstr "" -#: ../../source/cookbook/classification.rst:335 -msgid "CSV" +#: ../../source/cookbook/classification.rst:336 +msgid "" +"**Single column**: all class values are held in a single column — select " +"that column from your file." msgstr "" #: ../../source/cookbook/classification.rst:337 -msgid "By selecting :btn:`csv file`, SEPAL will request a file from your computer in :code:`.csv` format. The file needs to include two pieces of information: geographic coordinates and class value." +msgid "**Column per class**: each class has its own column." msgstr "" -#: ../../source/cookbook/classification.rst:339 -msgid "This can be done using coordinates in :code:`EPSG:4326` latitude and longitude, as well as a `GeoJSON `__ compatible point object. The file can embed other multiple columns that will not be considered during the analysis." +#: ../../source/cookbook/classification.rst:338 +msgid "**Other format**: use this if your data has a different layout." msgstr "" -#: ../../source/cookbook/classification.rst:341 -msgid "The following table is compatible with SEPAL:" +#: ../../source/cookbook/classification.rst:342 +msgid "" +"Using the :code:`Row filter expression` field, you can keep only the rows" +" that meet a condition — a JavaScript-like expression, referencing your " +"columns by name, that evaluates to ``true`` for the rows to keep (leave " +"it empty to keep all). For example, :code:`class == 30` keeps only the " +"rows in class 30, and :code:`class == 10 || class == 20` keeps classes 10" +" and 20." msgstr "" -#: ../../source/cookbook/classification.rst:349 -msgid "The columns used to define the X (longitude) and Y (latitude) coordinates are manually set up in the pop-up window. Select :btn:` Next` once every column is filled." +#: ../../source/cookbook/classification.rst:348 +msgid "" +"Select :btn:` Next` to add the data to the " +"model. SEPAL will provide a summary of the classes in the legend of the " +"classification and the number of training points added by your file." +msgstr "" + +#: ../../source/cookbook/classification.rst:350 +msgid "" +"Selecting the :btn:` Done` button will complete the " +"uploading procedure." msgstr "" #: ../../source/cookbook/classification.rst:357 -msgid "If your file contains a GeoJSON column instead of coordinates, select :btn:`geojson column` to switch the interface to one column selection." +msgid "GEE table" msgstr "" #: ../../source/cookbook/classification.rst:359 -msgid "Now that you have set up the coordinates of your points, SEPAL will request the columns specifying the class value (not the name) in a second frame. Only the single column is supported so far. Select the column from your file that embeds the class values." +msgid "" +"By selecting :btn:`Earth Engine Table`, SEPAL will request a file from " +"your computer in :code:`.csv` format. The file needs to provide two " +"pieces of information: geographic coordinates and class value." msgstr "" -#: ../../source/cookbook/classification.rst:363 -msgid "Using the :code:`row filter expression` text field, one can filter out some lines of the table. Refer to the `features <#>`__ section to learn more." +#: ../../source/cookbook/classification.rst:361 +msgid "" +"The process is nearly the same as found in the documentation above " +"discussing .csv tables. The only difference should be the geometry " +"column, as GEE assets usually embed a :code:`.geojson` column by default." +" If this column exists, it will be autodetected by SEPAL." msgstr "" -#: ../../source/cookbook/classification.rst:369 -msgid "Select :btn:` next` to add the data to the model. SEPAL will provide a summary of the classes in the legend of the classification and the number of training points added by your file." +#: ../../source/cookbook/classification.rst:363 +msgid "" +"For the other steps, please reproduce what was presented in the .csv " +"section above." msgstr "" #: ../../source/cookbook/classification.rst:371 -msgid "Selecting the :btn:` Done` button will complete the uploading procedure." +msgid "" +"To build the documentation example, use this public asset: " +":code:`projects/sepal-" +"cookbook/assets/classification/zmb_eastern_esa_2012_2021_reference_data`." +msgstr "" + +#: ../../source/cookbook/classification.rst:374 +msgid "Sample classification" +msgstr "" + +#: ../../source/cookbook/classification.rst:376 +msgid "" +"Instead of providing dataset points, SEPAL can also extract reference " +"data from an already existing classification – which is a good way to " +"improve an already existing classification system using an image with a " +"better resolution." msgstr "" #: ../../source/cookbook/classification.rst:378 -msgid "GEE table" +msgid "" +"To sample data, SEPAL will randomly select a number of points in each " +"class and extract the class value using the provided resolution." msgstr "" #: ../../source/cookbook/classification.rst:380 -msgid "By selecting :btn:`Earth Engine Table`, SEPAL will request a file from your computer in :code:`.csv` format. The file needs to provide two pieces of information: geographic coordinates and class value." +msgid "" +"Start by selecting :btn:`Sample classification` in the opened pop-up " +"window, where all of the parameters can be set:" msgstr "" #: ../../source/cookbook/classification.rst:382 -msgid "The process is nearly the same as found in the documentation above discussing .csv tables. The only difference should be the geometry column, as GEE assets usually embed a :code:`.goejson` column by default. If this column exists, it will be autodetected by SEPAL." -msgstr "" - -#: ../../source/cookbook/classification.rst:384 -msgid "For the other steps, please reproduce what was presented in the .csv section above." +msgid "" +"**Samples per class**: the number of samples per class of the provided " +"image. The more samples you request, the more accurate the model will be " +"(if too many samples are selected, on-the-fly visualization will never " +"render). The default is :code:`100`, but you can pick other preset " +"values, such as the :code:`1000` used in this example." msgstr "" -#: ../../source/cookbook/classification.rst:392 -msgid "To build the documentation example, use this public asset: :code:`projects/sepal-cookbook/assets/classification/zmb_eastern_esa_2012_2021_reference_data`." +#: ../../source/cookbook/classification.rst:383 +msgid "" +"**Scale to sample in**: the scale used to create the sample in the " +"provided image (it should match the image to classify resolution; default" +" to: :code:`30 m`)." msgstr "" -#: ../../source/cookbook/classification.rst:395 -msgid "Sample classification" +#: ../../source/cookbook/classification.rst:384 +msgid "" +"**Image source**: choose whether to sample from an existing :guilabel:`EE" +" Asset` or a saved :guilabel:`Recipe`." msgstr "" -#: ../../source/cookbook/classification.rst:397 -msgid "Instead of providing dataset points, SEPAL can also extract reference data from an already existing classification – which is a good way to improve an already existing classification system using an image with a better resolution." +#: ../../source/cookbook/classification.rst:385 +msgid "" +"**EE asset ID of classification**: when :guilabel:`EE Asset` is selected," +" the ID of the classification to sample (it should be an :code:`ee.Image`" +" accessible to the user). When :guilabel:`Recipe` is selected instead, " +"choose one of your saved classification recipes to sample." msgstr "" -#: ../../source/cookbook/classification.rst:399 -msgid "To sample data, SEPAL will randomly select a number of points in each class and extract the class value using the provided resolution." +#: ../../source/cookbook/classification.rst:386 +msgid "" +"**Class band**: The class to use for classification value (the dropdown " +"menu will be filled with the bands found in the provided asset or " +"recipe)." msgstr "" -#: ../../source/cookbook/classification.rst:401 -msgid "Start by selecting btn:`Sample classification` in the opened pop-up window, where all of the the parameters can be set:" +#: ../../source/cookbook/classification.rst:394 +msgid "" +"When all of the parameters are selected, it can take time, as SEPAL " +"builds the sampling values on the fly. They will only be displayed once " +"the sampling is validated." msgstr "" -#: ../../source/cookbook/classification.rst:403 -msgid "**Sample per class**: the number of samples per class of the provided image. The more samples you request, the more accurate the model will be (if too many samples are selected, on-the-fly visualization will never render; default to: :code:`1000`)." +#: ../../source/cookbook/classification.rst:396 +msgid "" +"Select :btn:` Next` to display the sampling " +"summary. In this pane, SEPAL displays each class of the legend (as " +"defined in the previous subsection) and the number of samples created for" +" it." msgstr "" -#: ../../source/cookbook/classification.rst:404 -msgid "**Scale to sample in**: the scale used to create the sample in the provided image (it should match the image to classify resolution; default to: :code:`30 m`)." +#: ../../source/cookbook/classification.rst:398 +msgid "" +"Each class shows its sample count next to a green :btn:`` button — use it to change the number of samples for that class. By" +" default, SEPAL ignores the samples with a :code:`Null` value; select " +":btn:`Default` on any class so that these points end up in the default " +"class instead of being ignored." msgstr "" #: ../../source/cookbook/classification.rst:405 -msgid "**EE asset ID**: the ID of the classification to sample (it should be an :code:`ee.Image` accessible to the user)." +msgid "SEPAL recipe" msgstr "" -#: ../../source/cookbook/classification.rst:406 -msgid "**Class band**: The class to use for classification value (the dropdown menu will be filled with the bands found in the provided asset)." +#: ../../source/cookbook/classification.rst:407 +msgid "" +"SEPAL is also able to directly apply a model built in another recipe as " +"training data. In this case, we are not importing the points, but all of " +"the model from the external recipe. It will not add points to the map. " +"It's useful when the same classification needs to be applied on the same " +"area for multiple years. The classification work can be carried out only " +"in the first year and then applied recursively on all the others." msgstr "" -#: ../../source/cookbook/classification.rst:410 -msgid "To reproduce this example, use the following asset as an image to sample: :code:`projects/sepal-cookbook/assets/classification/zmb_copernicus_landcover`." +#: ../../source/cookbook/classification.rst:409 +msgid "" +"Select :btn:`Saved SEPAL recipe` to open the pop-up window. In the " +"dropdown menu, select one of the recipes saved in your SEPAL account." msgstr "" -#: ../../source/cookbook/classification.rst:418 -msgid "When all of the parameters are selected, it can take time, as SEPAL builds the sampling values on the fly. They will only be displayed once the sampling is validated." +#: ../../source/cookbook/classification.rst:413 +msgid "" +"The imported recipe needs to be a **Classification** recipe. If none are " +"found, the dropdown menu will be empty." msgstr "" -#: ../../source/cookbook/classification.rst:420 -msgid "Select :btn:` Next` to display the sampling summary. In this pane, SEPAL displays each class of the legend (as defined in the previous subsection) and the number of samples created for it." +#: ../../source/cookbook/classification.rst:415 +msgid "This recipe cannot come from another SEPAL account." msgstr "" #: ../../source/cookbook/classification.rst:422 -msgid "Select the :btn:`` buttons (**1**) to change the number of samples in a specific class. By default, SEPAL ignores the samples with a :code:`Null` value. One can select :btn:`Default` (**2**) for any of the classes so that these points end up in the default class instead of being ignored." +msgid "Collect Earth Online" +msgstr "" + +#: ../../source/cookbook/classification.rst:427 +msgid "" +"SEPAL can import training data you have collected in a `Collect Earth " +"Online `__ (CEO) project directly, without " +"exporting and re-uploading a file. Select :btn:`Collect Earth Online` to " +"open the panel." msgstr "" #: ../../source/cookbook/classification.rst:429 -msgid "SEPAL recipe" +msgid "**Connect to your CEO account**" msgstr "" #: ../../source/cookbook/classification.rst:431 -msgid "SEPAL is also able to directly apply a model built in another recipe as training data. In this case, we are not importing the points, but all of the model from the external recipe. It will not add points to the map. It's useful when the same classification needs to be applied on the same area for multiple years. The classification work can be carried out only in the first year and then applied recursively on all the others." +msgid "The panel starts as :ceo-disconnected:`Disconnected from CEO`." msgstr "" #: ../../source/cookbook/classification.rst:433 -msgid "Select :btn:`Saved SEPAL recipe` to open the pop-up window. In the dropdown menu, select one of the recipes saved in your SEPAL account." +msgid "" +"Select :btn:`Connect` to open the **Collect Earth Online Authentication**" +" window, enter your :code:`CEO Email` and :code:`CEO Password`, and " +"select :btn:`Connect` again." msgstr "" #: ../../source/cookbook/classification.rst:437 -msgid "The imported recipe needs to be a **Classification** recipe. If none are found, the dropdown menu will be empty." +msgid "" +"Your credentials are never stored on SEPAL servers. When your SEPAL " +"session ends, the CEO connection is terminated automatically. You can " +"also select :btn:`Disconnect` at any time to end it manually." msgstr "" #: ../../source/cookbook/classification.rst:439 -msgid "This recipe cannot come from another SEPAL account." +msgid "**Select the institution and project**" msgstr "" -#: ../../source/cookbook/classification.rst:446 -msgid "Use auxiliary datasets" +#: ../../source/cookbook/classification.rst:441 +msgid "Once connected (:ceo-connected:`You are connected to CEO`), fill in:" +msgstr "" + +#: ../../source/cookbook/classification.rst:443 +msgid "" +"**Institution**: the CEO institution to pull data from. Only institutions" +" where you are both a **member** and an **admin** are listed." msgstr "" -#: ../../source/cookbook/classification.rst:448 -msgid "Some information that could be useful to the classification model is not always included in your image bands. A common example is **Elevation**. In order to improve the quality of the classification, SEPAL can provide some extra datasets to add auxiliary bands to the classification model." +#: ../../source/cookbook/classification.rst:444 +msgid "" +"**Project**: the project within that institution whose collected data you" +" want to use." msgstr "" -#: ../../source/cookbook/classification.rst:450 -msgid "Select :btn:`AUX` to open the **Auxiliaries** tab. Three sources are currently implemented in the platform (any number of them can be selected):" +#: ../../source/cookbook/classification.rst:445 +msgid "" +"**Data type**: whether to import the project's :guilabel:`Plot` " +"(aggregated plot) data or its :guilabel:`Sample` data." msgstr "" -#: ../../source/cookbook/classification.rst:452 -msgid "**Latitude**: On-the-fly latitude dataset built from the coordinates of each pixel's center." +#: ../../source/cookbook/classification.rst:451 +msgid "" +"SEPAL then loads the collected data, ready to be mapped to your legend in" +" the next two steps." msgstr "" #: ../../source/cookbook/classification.rst:453 -msgid "**Terrain**: From the `NASA SRTM Digital Elevation 30 m `__ dataset, SEPAL will use the :code:`Elevation`, :code:`Slope` and :code:`Aspect` bands. It will also add an :code:`Eastness` and :code:`Northness` band derived from :code:`Aspect`." +msgid "**Set the location**" msgstr "" -#: ../../source/cookbook/classification.rst:454 -msgid "**Water**: From the `JRC Global Surface Water Mapping Layers, v1.3 `__ dataset, SEPAL will add the following bands: :code:`occurrence`, :code:`change_abs`, :code:`change_norm`, :code:`seasonality`, :code:`max_extent`, :code:`water_occurrence`, :code:`water_change_abs`, :code:`water_change_norm`, :code:`water_seasonality` and :code:`water_max_extent`." +#: ../../source/cookbook/classification.rst:455 +msgid "" +"SEPAL reads the point locations from the data and pre-fills the " +"**Location type** (:guilabel:`X/Y coordinate columns` or " +":guilabel:`GeoJSON column`) together with the matching coordinate " +"columns. These are detected automatically from the CEO data, so you can " +"usually confirm them as they are." msgstr "" -#: ../../source/cookbook/classification.rst:461 -msgid "Classifier configuration" +#: ../../source/cookbook/classification.rst:457 +msgid "**Set the class format**" msgstr "" -#: ../../source/cookbook/classification.rst:465 -msgid "Customizing the classifier is a section designed for advanced users. Make sure that you thoroughly understand how the classifier you're using works before changing its parameters." +#: ../../source/cookbook/classification.rst:459 +msgid "" +"Tell SEPAL how the class values are stored in the CEO data, through the " +"**Class format** selector:" msgstr "" -#: ../../source/cookbook/classification.rst:469 -msgid "The default value is a **Random Forest** classifier using 25 trees." +#: ../../source/cookbook/classification.rst:461 +msgid "**Single column**: all class values are held in a single column." msgstr "" -#: ../../source/cookbook/classification.rst:471 -msgid "The **Classification** tool used in SEPAL is based on the `Smile - Statistical Machine Intelligence and Learning Engine Javascript `__ library (refer to their documentation for specific descriptions of each model)." +#: ../../source/cookbook/classification.rst:462 +msgid "" +"**Column per class**: each class has its own column. CEO data is mostly " +"organized this way." msgstr "" -#: ../../source/cookbook/classification.rst:473 -msgid "Select :btn:`CLS` to open the **Classification parameter** menu. SEPAL supports seven classifiers:" +#: ../../source/cookbook/classification.rst:463 +msgid "**Other format**: use this if your reference data has a different layout." msgstr "" -#: ../../source/cookbook/classification.rst:475 -msgid "random forest" +#: ../../source/cookbook/classification.rst:465 +msgid "" +"SEPAL pre-selects the format based on the chosen data type, but you can " +"change it." msgstr "" -#: ../../source/cookbook/classification.rst:476 -msgid "gradient tree boost" +#: ../../source/cookbook/classification.rst:467 +msgid "" +"Select :btn:` Next` to reach the class " +"summary, which lists each legend class. For every class, select the :btn" +":`` button to choose the column that corresponds to it," +" then select :btn:` Done` to add the reference data to" +" the model." msgstr "" -#: ../../source/cookbook/classification.rst:477 -msgid "cart" +#: ../../source/cookbook/classification.rst:474 +msgid "Manage collected reference data" msgstr "" -#: ../../source/cookbook/classification.rst:478 -msgid "naive bayes" +#: ../../source/cookbook/classification.rst:476 +msgid "" +"Collected reference data are the points you add directly on the map with " +"the on-the-fly training tool, described in the `On-the-fly training`_ " +"section. Each point pairs a set of coordinates with a class value. Select" +" the :btn:`` button — to the right of the :btn" +":` Add` button in the :btn:`TRN` tab — to manage them:" msgstr "" -#: ../../source/cookbook/classification.rst:479 -msgid "SVM" +#: ../../source/cookbook/classification.rst:478 +msgid "" +"**Export reference data to CSV**: download a " +":code:`_reference_data.csv` file to share your points with " +"others. It will embed all of the gathered point data using the following " +"convention:" msgstr "" -#: ../../source/cookbook/classification.rst:480 -msgid "min distance" +#: ../../source/cookbook/classification.rst:486 +msgid "" +"**Clear collected reference data**: remove every collected point from the" +" analysis." msgstr "" -#: ../../source/cookbook/classification.rst:481 -msgid "decision tree" +#: ../../source/cookbook/classification.rst:490 +msgid "A confirmation pop-up prevents you from accidentally deleting everything." msgstr "" -#: ../../source/cookbook/classification.rst:483 -msgid "For each of them, the workflow is the same:" +#: ../../source/cookbook/classification.rst:493 +msgid "Use auxiliary datasets" msgstr "" -#: ../../source/cookbook/classification.rst:485 -msgid "Select the classifier by clicking on the corresponding name. SEPAL will display some of the parameters available." +#: ../../source/cookbook/classification.rst:495 +msgid "" +"Some information that could be useful to the classification model is not " +"always included in your image bands. A common example is **Elevation**. " +"In order to improve the quality of the classification, SEPAL can provide " +"some extra datasets to add auxiliary bands to the classification model." msgstr "" -#: ../../source/cookbook/classification.rst:486 -msgid "Select :btn:`More` on the lower-left side of the panel to fully customize your classifier. The classification results will be updated on the fly." +#: ../../source/cookbook/classification.rst:497 +msgid "" +"Select :btn:`AUX` to open the **Auxiliaries** tab. Three sources are " +"currently implemented in the platform (any number of them can be " +"selected):" msgstr "" #: ../../source/cookbook/classification.rst:499 -msgid "On-the-fly training" +msgid "" +"**Latitude**: On-the-fly latitude dataset built from the coordinates of " +"each pixel's center." msgstr "" -#: ../../source/cookbook/classification.rst:503 -msgid "This process requires a good understanding of the **Visualization** feature of SEPAL (refer to the `feature <#>`__ section for more information)." +#: ../../source/cookbook/classification.rst:500 +msgid "" +"**Terrain**: From the `NASA SRTM Digital Elevation 30 m " +"`__ dataset, SEPAL will use the " +":code:`Elevation`, :code:`Slope` and :code:`Aspect` bands. It will also " +"add an :code:`Eastness` and :code:`Northness` band derived from " +":code:`Aspect`." msgstr "" -#: ../../source/cookbook/classification.rst:505 -msgid "Once all of the parameters are set, the user is free to add extra training data in the web interface and the new points will be added to the final model, improving the quality of the classification." +#: ../../source/cookbook/classification.rst:501 +msgid "" +"**Water**: From the `JRC Global Surface Water Mapping Layers, v1.3 " +"`__ dataset, SEPAL " +"will add the following bands: :code:`occurrence`, :code:`change_abs`, " +":code:`change_norm`, :code:`seasonality`, :code:`max_extent`, " +":code:`water_occurrence`, :code:`water_change_abs`, " +":code:`water_change_norm`, :code:`water_seasonality` and " +":code:`water_max_extent`." msgstr "" #: ../../source/cookbook/classification.rst:508 -msgid "Set up the view" +msgid "Classifier configuration" msgstr "" -#: ../../source/cookbook/classification.rst:510 -msgid "In order to improve the classification, one must set up the view to display all of the information. While these guidelines could be modified and extended, they are still useful as an introductory resource." +#: ../../source/cookbook/classification.rst:512 +msgid "" +"Customizing the classifier is a section designed for advanced users. Make" +" sure that you thoroughly understand how the classifier you're using " +"works before changing its parameters." msgstr "" -#: ../../source/cookbook/classification.rst:512 -msgid "In the following image, we displayed:" +#: ../../source/cookbook/classification.rst:516 +msgid "The default value is a **Random Forest** classifier using 25 trees." msgstr "" -#: ../../source/cookbook/classification.rst:514 -msgid "The current recipe (**1**) using the class colors in categorical mode." +#: ../../source/cookbook/classification.rst:518 +msgid "" +"The **Classification** tool used in SEPAL is based on the `Smile - " +"Statistical Machine Intelligence and Learning Engine Javascript " +"`__ library (refer to " +"their documentation for specific descriptions of each model)." msgstr "" -#: ../../source/cookbook/classification.rst:515 -msgid "The current image (what you are classifying) (**2**) using the NIR,RED,SWIR band combination." +#: ../../source/cookbook/classification.rst:520 +msgid "" +"Select :btn:`CLS` to open the **Classification parameter** menu. SEPAL " +"supports seven classifiers:" msgstr "" -#: ../../source/cookbook/classification.rst:516 -msgid "The extra visual dataset NICFI Planet Lab data (**3**) from 2021." +#: ../../source/cookbook/classification.rst:522 +msgid "Random Forest" msgstr "" -#: ../../source/cookbook/classification.rst:518 -msgid "The number (4) indicates a cluster of existing training points. Zoom in and they will be displayed as markers using the color of the class they mark (**5**)." +#: ../../source/cookbook/classification.rst:523 +msgid "Gradient tree boost" msgstr "" -#: ../../source/cookbook/classification.rst:522 -msgid "This initial classification has been set using sampled data. Since they are sampled from a larger image, some are out of the image. They will have no impact on the classification as they are applied to masked pixels (**6**)." +#: ../../source/cookbook/classification.rst:524 +msgid "Cart" msgstr "" -#: ../../source/cookbook/classification.rst:530 -msgid "Select points" +#: ../../source/cookbook/classification.rst:525 +msgid "Naive bayes" msgstr "" -#: ../../source/cookbook/classification.rst:532 -msgid "To start adding points, open the training interface by selecting :btn:`` in the upper right of the screen (**1**). Once selected, the background color becomes darker and the pointer of the mouse becomes a :icon:`fa-solid fa-plus`." +#: ../../source/cookbook/classification.rst:526 +msgid "SVM" msgstr "" -#: ../../source/cookbook/classification.rst:534 -msgid "The process to add new training data is as follows:" +#: ../../source/cookbook/classification.rst:527 +msgid "Min distance" msgstr "" -#: ../../source/cookbook/classification.rst:536 -msgid "**Click on the map to select a point**: You can click in any of the panes (not restricted to the **Recipe** pane), but to be useful, the point needs to be within the border of the AOI. If it's not already the case, the **Class selection** panel will appear in the upper right of the window (**2**)." +#: ../../source/cookbook/classification.rst:528 +msgid "Decision tree" msgstr "" -#: ../../source/cookbook/classification.rst:537 -msgid "**Select the class value**: The previous class value is preselected, but you can change it to any other class value from the defined legend. The legend is displayed as :code:` ()`." +#: ../../source/cookbook/classification.rst:530 +msgid "For each of them, the workflow is the same:" msgstr "" -#: ../../source/cookbook/classification.rst:539 -msgid "You can now click elsewhere on the map to add another point. If you are satisfied with the classification, select :btn:` Close` (3) and select :btn:`` again to stop editing the points. Every time a new point is added, the **Classification** map is recomputed and rendered on the left side." +#: ../../source/cookbook/classification.rst:532 +msgid "" +"Select the classifier by clicking on the corresponding name. SEPAL will " +"display some of the parameters available." msgstr "" -#: ../../source/cookbook/classification.rst:546 -msgid "Modify existing points" +#: ../../source/cookbook/classification.rst:533 +msgid "" +"Select :btn:`More` on the lower-left side of the panel to fully customize" +" your classifier. The classification results will be updated on the fly." msgstr "" -#: ../../source/cookbook/classification.rst:548 -msgid "To modify existing points, select the :btn:`` to open the **Point editing** interface. Then:" +#: ../../source/cookbook/classification.rst:546 +msgid "Refine the classification" msgstr "" #: ../../source/cookbook/classification.rst:550 -msgid "**Select a point**: To select a point, click on an existing marker. It will appear bolder than the others. If it's not already the case, the **Class selection** pane will appear in the upper right." +msgid "" +"This process requires a good understanding of the **Visualization** " +"feature of SEPAL (see :doc:`../feature/visualization` for more " +"information)." msgstr "" -#: ../../source/cookbook/classification.rst:551 -msgid "**Change the class value**: The point class will be selected in the **Editing** menu with a :icon:`fa-solid fa-check`. Select any other class value to change it." +#: ../../source/cookbook/classification.rst:552 +msgid "" +"Once all of the parameters are set, you can refine the classification " +"directly on the map: set up the view, add or edit training points on the " +"fly, and check the model's confidence." msgstr "" -#: ../../source/cookbook/classification.rst:554 -msgid "Check the validity" +#: ../../source/cookbook/classification.rst:555 +msgid "Set up the view" msgstr "" -#: ../../source/cookbook/classification.rst:556 -msgid "SEPAL embeds information to help the user understand if the amount of training data is sufficient to produce an accurate classification model. In the **Recipe** window, change the **Band combination** to :code:`Class probability`." +#: ../../source/cookbook/classification.rst:557 +msgid "" +"In order to improve the classification, one must set up the view to " +"display all of the information; you choose what the map shows from the " +"**Layers** panel. Select the :btn:`` layers-to-" +"show icon in the top-right of the screen to open the panel, then:" msgstr "" -#: ../../source/cookbook/classification.rst:558 -msgid "The user now sees the probability of the model (i.e. the confidence level of the level with output class for each pixel)." +#: ../../source/cookbook/classification.rst:559 +msgid "" +"Pick a layout mode — :guilabel:`Grid` to split the map into several panes" +" side by side, or :guilabel:`Stack` to overlay the layers in a single " +"pane." msgstr "" #: ../../source/cookbook/classification.rst:560 -msgid "If the value is high (> 80 percent), then the pixel can be considered valid; if the value is low (< 80 percent), the model needs more training data or extra bands to improve the analysis." +msgid "" +"Drag and drop each layer onto a position (centre, a side, or a corner) to" +" choose where it appears; drag it between positions to rearrange it, or " +"off the areas to remove it." +msgstr "" + +#: ../../source/cookbook/classification.rst:561 +msgid "" +"If the layer you need is not already in the panel, select :btn:` Add` to add a source: **Add a SEPAL recipe**, **Add an Earth " +"Engine asset**, or **Add a Planet account**." msgstr "" -#: ../../source/cookbook/classification.rst:562 -msgid "In the example image, the lake is classified as a **permanent water body** with a confidence of 65 percent, which is higher than the rest of the vegetation around it." +#: ../../source/cookbook/classification.rst:567 +msgid "" +"With your layers arranged, the map displays them together so you can " +"compare them while adding training data." msgstr "" -#: ../../source/cookbook/classification.rst:568 -msgid "This analysis can also be conducted class-by-class using the built-in :code:` %` bands. Select the one corresponding to the class you want to assess (see the following image) and you'll get the percentage of confidence for each pixel to be in the sub-mentioned class." +#: ../../source/cookbook/classification.rst:569 +msgid "In the following image, we displayed:" msgstr "" -#: ../../source/cookbook/classification.rst:575 -msgid "Export" +#: ../../source/cookbook/classification.rst:571 +msgid "The current recipe (**1**) using the class colors in categorical mode." msgstr "" -#: ../../source/cookbook/classification.rst:579 -msgid "You cannot export a recipe as an asset or a :code:`.tiff` file without a small computation quota. If you are a new user, see :doc:`../setup/resource`." +#: ../../source/cookbook/classification.rst:572 +msgid "" +"The current image (what you are classifying) (**2**) using the " +"NIR,RED,SWIR1 band combination." msgstr "" -#: ../../source/cookbook/classification.rst:582 -msgid "Start download" +#: ../../source/cookbook/classification.rst:573 +msgid "The extra visual dataset NICFI Planet Lab data (**3**) from 2021." +msgstr "" + +#: ../../source/cookbook/classification.rst:575 +msgid "" +"The number (4) indicates a cluster of existing training points. Zoom in " +"and they will be displayed as markers using the color of the class they " +"mark (**5**)." msgstr "" -#: ../../source/cookbook/classification.rst:584 -msgid "Selecting the :icon:`fa-solid fa-cloud-arrow-down` tab will open the **Retrieve** pane, where you can select the exportation parameters (**1**)." +#: ../../source/cookbook/classification.rst:583 +msgid "" +"This initial classification has been set using sampled data. Since they " +"are sampled from a larger image, some are out of the image. They will " +"have no impact on the classification as they are applied to masked pixels" +" (**6**)." msgstr "" -#: ../../source/cookbook/classification.rst:586 -msgid "You need to select the band to export (**2**). There is no maximum number of bands; however, exporting useless bands will only increase the size and time of the output." +#: ../../source/cookbook/classification.rst:587 +msgid "On-the-fly training" msgstr "" -#: ../../source/cookbook/classification.rst:588 -msgid "You can set a custom scale for exportation (**3**) by changing the value of the slider in metres (m). (Note: Requesting a smaller resolution than images' native resolution will not improve the quality of the output – just its size; keep in mind that the native resolution of Sentinel data is 10 m, while Landsat is 30 m.)" +#: ../../source/cookbook/classification.rst:589 +msgid "" +"You are free to add extra training data in the web interface; each new " +"point is added to the final model, improving the quality of the " +"classification." msgstr "" -#: ../../source/cookbook/classification.rst:590 -msgid "You can export the image to the :btn:`SEPAL workspace` or to the :btn:`Google Earth Engine Asset` list. The same image will be exported, but for the former, you will find it in :code:`.tif` format in the :code:`Downloads` folder; for the latter, the image will be exported to your **GEE account asset list**." +#: ../../source/cookbook/classification.rst:592 +msgid "Select points" msgstr "" #: ../../source/cookbook/classification.rst:594 -msgid "If :btn:`Google Earth Engine Asset` is not displayed, your GEE account is not connected to SEPAL. Refer to `Connect SEPAL to GEE <../setup/gee.html>`__." +msgid "" +"To start adding points, open the training interface by selecting :btn" +":`` in the upper right of the screen (**1**). " +"Once selected, the background color becomes darker and the pointer of the" +" mouse becomes a :icon:`fa-solid fa-plus`." msgstr "" #: ../../source/cookbook/classification.rst:596 -msgid "Select :btn:` Apply` to start the download process." +msgid "The process to add new training data is as follows:" msgstr "" -#: ../../source/cookbook/classification.rst:603 -msgid "Exportation status" +#: ../../source/cookbook/classification.rst:598 +msgid "" +"**Click on the map to select a point**: You can click in any of the panes" +" (not restricted to the **Recipe** pane), but to be useful, the point " +"needs to be within the border of the AOI. If it's not already the case, " +"the **Class selection** panel will appear in the upper right of the " +"window (**2**)." msgstr "" -#: ../../source/cookbook/classification.rst:605 -msgid "By going to the **Tasks** tab (in the lower-left corner using the :btn:`` or :btn:`` buttons, depending on the loading status), you will see the list of different loading tasks." +#: ../../source/cookbook/classification.rst:599 +msgid "" +"**Select the class value**: The previous class value is preselected, but " +"you can change it to any other class value from the defined legend. The " +"legend is displayed as :code:` ()`." msgstr "" -#: ../../source/cookbook/classification.rst:607 -msgid "The interface will provide you with information about the task progress and display an error if the exportation has failed. If you are unsatisfied with the way we present information, the task can also be monitored using the `GEE task manager `__." +#: ../../source/cookbook/classification.rst:601 +msgid "" +"You can now click elsewhere on the map to add another point. If you are " +"satisfied with the classification, select :btn:` " +"Close` (3) and select :btn:`` again to stop " +"editing the points. Every time a new point is added, the " +"**Classification** map is recomputed and rendered on the left side." msgstr "" -#: ../../source/cookbook/classification.rst:611 -msgid "This operation is running between GEE and SEPAL servers in the background. You can close the SEPAL page without ending the process." +#: ../../source/cookbook/classification.rst:608 +msgid "Modify existing points" msgstr "" -#: ../../source/cookbook/classification.rst:613 -msgid "When the task is finished, the frame will be displayed in green, as shown in the second image below." +#: ../../source/cookbook/classification.rst:610 +msgid "" +"To modify existing points, select the :btn:`` " +"to open the **Point editing** interface. Then:" msgstr "" -#: ../../source/cookbook/classification.rst:626 -msgid "Access" +#: ../../source/cookbook/classification.rst:612 +msgid "" +"**Select a point**: To select a point, click on an existing marker. It " +"will appear bolder than the others. If it's not already the case, the " +"**Class selection** pane will appear in the upper right." msgstr "" -#: ../../source/cookbook/classification.rst:628 -msgid "Once the download process is done, you can access the data in your **SEPAL folders**. The data will be stored in the :code:`Downloads` folder using the following format:" +#: ../../source/cookbook/classification.rst:613 +msgid "" +"**Change the class value**: The point class will be selected in the " +"**Editing** menu with a :icon:`fa-solid fa-check`. Select any other class" +" value to change it." msgstr "" -#: ../../source/cookbook/classification.rst:643 -msgid "Understanding how images are stored in an optical mosaic is only required if you want to manually use them. The SEPAL applications are bound to this tiling system and can digest this information for you." +#: ../../source/cookbook/classification.rst:616 +msgid "Check the validity" msgstr "" -#: ../../source/cookbook/classification.rst:645 -msgid "The data are stored in a folder using the name of the optical mosaic as it was created in the first section of this article. As the data are spatially too big to be exported at once, they are divided into smaller pieces and brought back together in a :code:`_.vrt` file." +#: ../../source/cookbook/classification.rst:618 +msgid "" +"SEPAL embeds information to help the user understand if the amount of " +"training data is sufficient to produce an accurate classification model. " +"In the **Recipe** window, select the :btn:`` button at " +"the bottom centre of the map to open the layer's options, then change the" +" **Bands** selector to :code:`Class probability`." msgstr "" -#: ../../source/cookbook/classification.rst:649 -msgid "The full folder with a consistent tree folder is required to read the `.vrt`." +#: ../../source/cookbook/classification.rst:620 +msgid "" +"The user now sees the probability of the model (i.e. the confidence level" +" of the output class for each pixel)." msgstr "" -#~ msgid "" -#~ "With this recipe, SEPAL will help " -#~ "users build a supervised classification " -#~ "of any mosaic image. It is built" -#~ " on top of the most advanced " -#~ "tools available on Google Earth Engine" -#~ " (including the classifiers CART, " -#~ "RandomForest, NaiveBayes and SVM), allowing" -#~ " users to create an easy-to-use" -#~ " user interface to:" -#~ msgstr "" +#: ../../source/cookbook/classification.rst:622 +msgid "" +"If the value is high (> 80 percent), then the pixel can be considered " +"valid; if the value is low (< 80 percent), the model needs more training " +"data or extra bands to improve the analysis." +msgstr "" -#~ msgid "select the image to classify" -#~ msgstr "" +#: ../../source/cookbook/classification.rst:624 +msgid "" +"In the example image, the lake is classified as a **permanent water " +"body** with a confidence of 65 percent, which is higher than the rest of " +"the vegetation around it." +msgstr "" -#~ msgid "add training data from external sources and on the fly selection" -#~ msgstr "" +#: ../../source/cookbook/classification.rst:630 +msgid "" +"This analysis can also be conducted class-by-class using the built-in " +":code:` %` bands. Select the one corresponding to the class " +"you want to assess (see the following image) and you'll get the " +"percentage of confidence for each pixel to be in the sub-mentioned class." +msgstr "" -#~ msgid "" -#~ "Once the classification recipe is " -#~ "selected, SEPAL will show the recipe " -#~ "process in a new tab (1) and " -#~ "the image selection window will appear" -#~ " on the lower-right side (2)." -#~ msgstr "" +#: ../../source/cookbook/classification.rst:637 +msgid "Export" +msgstr "" -#~ msgid "" +#: ../../source/cookbook/classification.rst:641 +msgid "" +"You cannot export a recipe as an asset or a :code:`.tif` file without a " +"small computation quota. If you are a new user, see " +":doc:`../setup/resource`." +msgstr "" + +#: ../../source/cookbook/classification.rst:644 +msgid "Start download" +msgstr "" + +#: ../../source/cookbook/classification.rst:646 +msgid "" +"Selecting the :icon:`fa-solid fa-cloud-arrow-down` tab will open the " +"**Retrieve** pane where you can select the exportation parameters." +msgstr "" + +#: ../../source/cookbook/classification.rst:653 +msgid "Bands" +msgstr "" + +#: ../../source/cookbook/classification.rst:655 +msgid "" +"You need to select the band(s) to export. There is no maximum number of " +"bands, but exporting useless bands will only increase the size and time " +"of the output. The available bands include the classified Class band, the" +" Class probability band, and the per-class confidence " +"(:code:` %`) bands." +msgstr "" + +#: ../../source/cookbook/classification.rst:658 +msgid "Scale" +msgstr "" + +#: ../../source/cookbook/classification.rst:660 +msgid "" +"You can set a custom scale for exportation by selecting a value in metres" +" (m) (note that requesting a smaller resolution than the images' native " +"resolution will not improve the quality of the output – just its size – " +"keep in mind that the native resolution of Sentinel data is 10 m, while " +"Landsat is 30 m)." +msgstr "" + +#: ../../source/cookbook/classification.rst:663 +msgid "Destination" +msgstr "" + +#: ../../source/cookbook/classification.rst:665 +msgid "Choose a single destination for the export:" +msgstr "" + +#: ../../source/cookbook/classification.rst:667 +msgid "" +":guilabel:`SEPAL workspace`: the image is written to your SEPAL files in " +":code:`.tif` format (by default in the :code:`Downloads` folder)." +msgstr "" + +#: ../../source/cookbook/classification.rst:668 +msgid "" +":guilabel:`Google Earth Engine asset`: the image is exported to your GEE " +"account as an asset. You can export it either as a single " +":guilabel:`Image` or as an :guilabel:`Image collection` (tiled, which is " +"better suited to large exports), and set its sharing to " +":guilabel:`Private` or :guilabel:`Public`." +msgstr "" + +#: ../../source/cookbook/classification.rst:669 +msgid "" +":guilabel:`Google Drive`: the image is exported to the Google Drive of " +"the connected Google account." +msgstr "" + +#: ../../source/cookbook/classification.rst:673 +msgid "" +"The :guilabel:`Google Earth Engine asset` and :guilabel:`Google Drive` " +"destinations are only displayed when a Google account is connected to " +"SEPAL. If they are missing, please refer to `Connect SEPAL to GEE " +"<../setup/gee.html>`__." +msgstr "" + +#: ../../source/cookbook/classification.rst:675 +msgid "Select :guilabel:`Retrieve` to start the export process." +msgstr "" + +#: ../../source/cookbook/classification.rst:678 +msgid "Exportation status" +msgstr "" + +#: ../../source/cookbook/classification.rst:680 +msgid "" +"By going to the **Tasks** tab (in the lower-left corner using the :btn" +":`` or :btn:`` buttons, " +"depending on the loading status), you will see the list of different " +"loading tasks." +msgstr "" + +#: ../../source/cookbook/classification.rst:682 +msgid "" +"The interface will provide you with information about the task progress " +"and display an error if the exportation has failed. If you are " +"unsatisfied with the way we present information, the task can also be " +"monitored using the `GEE task manager " +"`__." +msgstr "" + +#: ../../source/cookbook/classification.rst:686 +msgid "" +"This operation is running between GEE and SEPAL servers in the " +"background. You can close the SEPAL page without ending the process." +msgstr "" + +#: ../../source/cookbook/classification.rst:688 +msgid "" +"When the task is finished, the frame will be displayed in green, as shown" +" in the second image below." +msgstr "" + +#: ../../source/cookbook/classification.rst:701 +msgid "Access" +msgstr "" + +#: ../../source/cookbook/classification.rst:703 +msgid "" +"Once the download process is done, you can access the data in your " +"**SEPAL folders**. The data will be stored in the :code:`Downloads` " +"folder using the following format:" +msgstr "" + +#: ../../source/cookbook/classification.rst:718 +msgid "" +"Understanding how images are stored in an optical mosaic is only required" +" if you want to manually use them. The SEPAL applications are bound to " +"this tiling system and can digest this information for you." +msgstr "" + +#: ../../source/cookbook/classification.rst:720 +msgid "" +"The data are stored in a folder using the name of the optical mosaic as " +"it was created in the first section of this article. As the data are " +"spatially too big to be exported at once, they are divided into smaller " +"pieces and brought back together in a :code:`_.vrt`" +" file." +msgstr "" + +#: ../../source/cookbook/classification.rst:724 +msgid "" +"The full folder with a consistent tree folder is required to read the " +"`.vrt`." +msgstr "" + +#~ msgid "" +#~ "With this recipe, SEPAL will help " +#~ "users build a supervised classification " +#~ "of any mosaic image. It is built" +#~ " on top of the most advanced " +#~ "tools available on Google Earth Engine" +#~ " (including the classifiers CART, " +#~ "RandomForest, NaiveBayes and SVM), allowing" +#~ " users to create an easy-to-use" +#~ " user interface to:" +#~ msgstr "" + +#~ msgid "select the image to classify" +#~ msgstr "" + +#~ msgid "add training data from external sources and on the fly selection" +#~ msgstr "" + +#~ msgid "" +#~ "Once the classification recipe is " +#~ "selected, SEPAL will show the recipe " +#~ "process in a new tab (1) and " +#~ "the image selection window will appear" +#~ " on the lower-right side (2)." +#~ msgstr "" + +#~ msgid "" #~ "The first step is to change the" #~ " name of the recipe. This name " #~ "will be used to identify your " @@ -2394,3 +2958,444 @@ msgstr "" #~ "file." #~ msgstr "" +#~ msgid "" +#~ "With this recipe, SEPAL helps users " +#~ "build supervised classifications of any " +#~ "mosaic image. It is built on top" +#~ " of the most advanced tools available" +#~ " on Google Earth Engine (GEE) – " +#~ "including the classifiers CART, RandomForest," +#~ " NaiveBayes and SVM – allowing users" +#~ " to create an easy-to-use user" +#~ " interface to:" +#~ msgstr "" + +#~ msgid "define the class table; and" +#~ msgstr "" + +#~ msgid "" +#~ "In the lower-right corner, the " +#~ "following five tabs are available, " +#~ "allowing you to customize the time " +#~ "series to your needs:" +#~ msgstr "" + +#~ msgid "" +#~ "Users can select images coming from " +#~ "an **Existing recipe** or an exported" +#~ " **GEE asset** (see advantages and " +#~ "disadvantages below). Both should be an" +#~ " :code:`ee.Image`, rather than a " +#~ ":code:`Time series` or :code:`ee.ImageCollection`." +#~ msgstr "" + +#~ msgid "**Existing recipe**:" +#~ msgstr "" + +#~ msgid "**GEE asset**:" +#~ msgstr "" + +#~ msgid "" +#~ "For this example, we will use a" +#~ " public asset created with the " +#~ "**Optical mosaic** tool from SEPAL. It's" +#~ " a Sentinel-2 mosaic of Eastern " +#~ "Province in Zambia during the dry " +#~ "season from 2012 to 2020. Multiple " +#~ "bands are available." +#~ msgstr "" + +#~ msgid "" +#~ "Once an asset has been selected, " +#~ "SEPAL will load its bands in the" +#~ " interface. You can use any band " +#~ "that is native to the image as " +#~ "input for the classification process. " +#~ "Simply click on the band name to" +#~ " select them. The selected bands are" +#~ " summarized in the expansion panel " +#~ "title (**1**) and displayed in gold " +#~ "in the pane content (**2**)." +#~ msgstr "" + +#~ msgid ":code:`swir`" +#~ msgstr "" + +#~ msgid "" +#~ "Select :btn:` Derived" +#~ " bands` at the bottom of the " +#~ "pop-up window and select the deriving" +#~ " method. This will add a a new" +#~ " panel to the expansion panel with" +#~ " the selected method name (**1**). " +#~ "The selected method will be applied " +#~ "to the selected bands." +#~ msgstr "" + +#~ msgid "" +#~ "If more than two bands are " +#~ "selected, the operation will be applied" +#~ " to the Cartesian product of the " +#~ "bands. If you select bands :math:`A`," +#~ " :math:`B` and :math:`C`, and apply " +#~ "the :code:`Difference` derived bands, you'll" +#~ " add three bands to your analysis:" +#~ msgstr "" + +#~ msgid ":math:`A - B`" +#~ msgstr "" + +#~ msgid ":math:`A - C`" +#~ msgstr "" + +#~ msgid ":math:`B - C`" +#~ msgstr "" + +#~ msgid "" +#~ "Once image selection is complete, select" +#~ " :btn:` Apply` and" +#~ " the pop-up window will close. " +#~ "The images and bands will be " +#~ "displayed in the :guilabel:`IMG` panel " +#~ "in the lower-right corner of the" +#~ " screen. By selecting the :btn:`` button, you will " +#~ "remove the image and its band from" +#~ " the analysis altogether." +#~ msgstr "" + +#~ msgid "" +#~ "Once the fully qualified legend file " +#~ "has been prepared on your computer, " +#~ "select :btn:``" +#~ " and then :code:`Import from CSV`, " +#~ "which will open a pop-up window" +#~ " where you can drag and drop " +#~ "the file or select it manually " +#~ "from your computer files." +#~ msgstr "" + +#~ msgid "" +#~ "A file will be downloaded to you" +#~ " computer named :code:`_legend.csv`, " +#~ "which will contain the legend " +#~ "information in the following format:" +#~ msgstr "" + +#~ msgid "Select training data" +#~ msgstr "" + +#~ msgid "This step is not mandatory." +#~ msgstr "" + +#~ msgid "Collected reference data" +#~ msgstr "" + +#~ msgid "" +#~ "Collected reference data are data " +#~ "selected on the fly by the user." +#~ " The workflow will be explained later" +#~ " in the documentation." +#~ msgstr "" + +#~ msgid "" +#~ "In this pane, this type of data" +#~ " can be managed by the user. " +#~ "The data appear as a pair, " +#~ "associating coordinates to a class " +#~ "value, which will be used to " +#~ "create training data in the " +#~ "classification model." +#~ msgstr "" + +#~ msgid "" +#~ "If you're satisfied with the current " +#~ "selection and you want to share " +#~ "the data with others, select :btn" +#~ ":`` and then" +#~ " :code:`Export reference data to csv`. " +#~ "A file will be created and sent" +#~ " to your computer, named " +#~ ":code:`_reference_data.csv`. It will " +#~ "embed all of the gathered point " +#~ "data using the following convention:" +#~ msgstr "" + +#~ msgid "" +#~ "If you are not satisfied with the" +#~ " selected data, select :btn:`` and then :code:`Clear" +#~ " collected reference data` to remove " +#~ "all collected data from the analysis." +#~ msgstr "" + +#~ msgid "" +#~ "A confirmation pop-up window should " +#~ "prevent you from accidentally deleting " +#~ "everything." +#~ msgstr "" + +#~ msgid "Existing training data" +#~ msgstr "" + +#~ msgid "" +#~ "By selecting :btn:`csv file`, SEPAL will" +#~ " request a file from your computer" +#~ " in :code:`.csv` format. The file " +#~ "needs to include two pieces of " +#~ "information: geographic coordinates and class" +#~ " value." +#~ msgstr "" + +#~ msgid "" +#~ "If your file contains a GeoJSON " +#~ "column instead of coordinates, select " +#~ ":btn:`geojson column` to switch the " +#~ "interface to one column selection." +#~ msgstr "" + +#~ msgid "" +#~ "Now that you have set up the " +#~ "coordinates of your points, SEPAL will" +#~ " request the columns specifying the " +#~ "class value (not the name) in a" +#~ " second frame. Only the single column" +#~ " is supported so far. Select the " +#~ "column from your file that embeds " +#~ "the class values." +#~ msgstr "" + +#~ msgid "" +#~ "Using the :code:`row filter expression` " +#~ "text field, one can filter out " +#~ "some lines of the table. Refer to" +#~ " the `features <#>`__ section to " +#~ "learn more." +#~ msgstr "" + +#~ msgid "" +#~ "Select :btn:`" +#~ " next` to add the data to the" +#~ " model. SEPAL will provide a summary" +#~ " of the classes in the legend " +#~ "of the classification and the number " +#~ "of training points added by your " +#~ "file." +#~ msgstr "" + +#~ msgid "" +#~ "The process is nearly the same as" +#~ " found in the documentation above " +#~ "discussing .csv tables. The only " +#~ "difference should be the geometry " +#~ "column, as GEE assets usually embed " +#~ "a :code:`.goejson` column by default. If" +#~ " this column exists, it will be " +#~ "autodetected by SEPAL." +#~ msgstr "" + +#~ msgid "" +#~ "Start by selecting btn:`Sample classification`" +#~ " in the opened pop-up window, " +#~ "where all of the the parameters " +#~ "can be set:" +#~ msgstr "" + +#~ msgid "" +#~ "**Sample per class**: the number of " +#~ "samples per class of the provided " +#~ "image. The more samples you request, " +#~ "the more accurate the model will " +#~ "be (if too many samples are " +#~ "selected, on-the-fly visualization will" +#~ " never render; default to: :code:`1000`)." +#~ msgstr "" + +#~ msgid "" +#~ "**EE asset ID**: the ID of the " +#~ "classification to sample (it should be" +#~ " an :code:`ee.Image` accessible to the " +#~ "user)." +#~ msgstr "" + +#~ msgid "" +#~ "**Class band**: The class to use " +#~ "for classification value (the dropdown " +#~ "menu will be filled with the bands" +#~ " found in the provided asset)." +#~ msgstr "" + +#~ msgid "" +#~ "To reproduce this example, use the " +#~ "following asset as an image to " +#~ "sample: :code:`projects/sepal-" +#~ "cookbook/assets/classification/zmb_copernicus_landcover`." +#~ msgstr "" + +#~ msgid "" +#~ "Select the :btn:`` " +#~ "buttons (**1**) to change the number " +#~ "of samples in a specific class. By" +#~ " default, SEPAL ignores the samples " +#~ "with a :code:`Null` value. One can " +#~ "select :btn:`Default` (**2**) for any of" +#~ " the classes so that these points " +#~ "end up in the default class " +#~ "instead of being ignored." +#~ msgstr "" + +#~ msgid "random forest" +#~ msgstr "" + +#~ msgid "gradient tree boost" +#~ msgstr "" + +#~ msgid "cart" +#~ msgstr "" + +#~ msgid "naive bayes" +#~ msgstr "" + +#~ msgid "min distance" +#~ msgstr "" + +#~ msgid "decision tree" +#~ msgstr "" + +#~ msgid "" +#~ "This process requires a good " +#~ "understanding of the **Visualization** feature" +#~ " of SEPAL (refer to the `feature " +#~ "<#>`__ section for more information)." +#~ msgstr "" + +#~ msgid "" +#~ "Once all of the parameters are " +#~ "set, the user is free to add " +#~ "extra training data in the web " +#~ "interface and the new points will " +#~ "be added to the final model, " +#~ "improving the quality of the " +#~ "classification." +#~ msgstr "" + +#~ msgid "" +#~ "In order to improve the classification," +#~ " one must set up the view to" +#~ " display all of the information. " +#~ "While these guidelines could be modified" +#~ " and extended, they are still useful" +#~ " as an introductory resource." +#~ msgstr "" + +#~ msgid "" +#~ "The current image (what you are " +#~ "classifying) (**2**) using the NIR,RED,SWIR" +#~ " band combination." +#~ msgstr "" + +#~ msgid "" +#~ "To start adding points, open the " +#~ "training interface by selecting :btn:`` in the " +#~ "upper right of the screen (**1**). " +#~ "Once selected, the background color " +#~ "becomes darker and the pointer of " +#~ "the mouse becomes a :icon:`fa-solid " +#~ "fa-plus`." +#~ msgstr "" + +#~ msgid "" +#~ "You can now click elsewhere on the" +#~ " map to add another point. If " +#~ "you are satisfied with the " +#~ "classification, select :btn:` Close` (3) and select :btn" +#~ ":`` again " +#~ "to stop editing the points. Every " +#~ "time a new point is added, the " +#~ "**Classification** map is recomputed and " +#~ "rendered on the left side." +#~ msgstr "" + +#~ msgid "" +#~ "To modify existing points, select the" +#~ " :btn:`` to" +#~ " open the **Point editing** interface. " +#~ "Then:" +#~ msgstr "" + +#~ msgid "" +#~ "SEPAL embeds information to help the " +#~ "user understand if the amount of " +#~ "training data is sufficient to produce" +#~ " an accurate classification model. In " +#~ "the **Recipe** window, change the **Band" +#~ " combination** to :code:`Class probability`." +#~ msgstr "" + +#~ msgid "" +#~ "The user now sees the probability " +#~ "of the model (i.e. the confidence " +#~ "level of the level with output " +#~ "class for each pixel)." +#~ msgstr "" + +#~ msgid "" +#~ "You cannot export a recipe as an" +#~ " asset or a :code:`.tiff` file " +#~ "without a small computation quota. If" +#~ " you are a new user, see " +#~ ":doc:`../setup/resource`." +#~ msgstr "" + +#~ msgid "" +#~ "Selecting the :icon:`fa-solid fa-" +#~ "cloud-arrow-down` tab will open the" +#~ " **Retrieve** pane, where you can " +#~ "select the exportation parameters (**1**)." +#~ msgstr "" + +#~ msgid "" +#~ "You need to select the band to " +#~ "export (**2**). There is no maximum " +#~ "number of bands; however, exporting " +#~ "useless bands will only increase the " +#~ "size and time of the output." +#~ msgstr "" + +#~ msgid "" +#~ "You can set a custom scale for " +#~ "exportation (**3**) by changing the " +#~ "value of the slider in metres (m)." +#~ " (Note: Requesting a smaller resolution " +#~ "than images' native resolution will not" +#~ " improve the quality of the output" +#~ " – just its size; keep in mind" +#~ " that the native resolution of " +#~ "Sentinel data is 10 m, while " +#~ "Landsat is 30 m.)" +#~ msgstr "" + +#~ msgid "" +#~ "You can export the image to the" +#~ " :btn:`SEPAL workspace` or to the " +#~ ":btn:`Google Earth Engine Asset` list. " +#~ "The same image will be exported, " +#~ "but for the former, you will find" +#~ " it in :code:`.tif` format in the " +#~ ":code:`Downloads` folder; for the latter, " +#~ "the image will be exported to your" +#~ " **GEE account asset list**." +#~ msgstr "" + +#~ msgid "" +#~ "If :btn:`Google Earth Engine Asset` is" +#~ " not displayed, your GEE account is" +#~ " not connected to SEPAL. Refer to " +#~ "`Connect SEPAL to GEE <../setup/gee.html>`__." +#~ msgstr "" + +#~ msgid "Select :btn:` Apply` to start the download process." +#~ msgstr "" + diff --git a/docs/source/_locale/ru/LC_MESSAGES/cookbook/optical_mosaic.po b/docs/source/_locale/ru/LC_MESSAGES/cookbook/optical_mosaic.po index b7fddc67d6..41d073466d 100644 --- a/docs/source/_locale/ru/LC_MESSAGES/cookbook/optical_mosaic.po +++ b/docs/source/_locale/ru/LC_MESSAGES/cookbook/optical_mosaic.po @@ -1,22 +1,20 @@ + msgid "" msgstr "" -"Project-Id-Version: sepal-doc\n" +"Project-Id-Version: sepal-doc\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-03-07 09:39+0100\n" -"PO-Revision-Date: 2024-03-07 08:59\n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: 2024-03-07 08:59+0000\n" "Last-Translator: \n" +"Language: ru_RU\n" "Language-Team: Russian\n" +"Plural-Forms: nplurals=4; plural=((n%10==1 && n%100!=11) ? 0 : ((n%10 >= " +"2 && n%10 <=4 && (n%100 < 12 || n%100 > 14)) ? 1 : ((n%10 == 0 || (n%10 " +">= 5 && n%10 <=9)) || (n%100 >= 11 && n%100 <= 14)) ? 2 : 3));\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.14.0\n" -"Plural-Forms: nplurals=4; plural=((n%10==1 && n%100!=11) ? 0 : ((n%10 >= 2 && n%10 <=4 && (n%100 < 12 || n%100 > 14)) ? 1 : ((n%10 == 0 || (n%10 >= 5 && n%10 <=9)) || (n%100 >= 11 && n%100 <= 14)) ? 2 : 3));\n" -"X-Crowdin-Project: sepal-doc\n" -"X-Crowdin-Project-ID: 562097\n" -"X-Crowdin-Language: ru\n" -"X-Crowdin-File: /main/docs/source/_locale/en/LC_MESSAGES/cookbook/optical_mosaic.po\n" -"X-Crowdin-File-ID: 69\n" -"Language: ru_RU\n" +"Generated-By: Babel 2.18.0\n" #: ../../source/cookbook/optical_mosaic.rst:2 msgid "Optical mosaics" @@ -31,11 +29,17 @@ msgid "Overview" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:8 -msgid "A mosaic is a combination or fusion of two or more images. In SEPAL, you can create a single raster dataset from several raster datasets by mosaicing them together. This can be achieved on both contiguous rasters (see first image below) and overlapping images (see second image below)." +msgid "" +"A mosaic is a combination or fusion of two or more images. In SEPAL, you " +"can create a single raster dataset from several raster datasets by " +"mosaicing them together. This can be achieved on both contiguous rasters " +"(see first image below) and overlapping images (see second image below)." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:21 -msgid "These overlay areas can be managed in various ways. For example, you can choose to:" +msgid "" +"These overlay areas can be managed in various ways. For example, you can " +"choose to:" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:23 @@ -55,15 +59,23 @@ msgid "take the maximum or minimum value." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:28 -msgid "In addition, certain corrections can be made to the image to account for clouds, snow and other factors; these operations are complex and repetitive." +msgid "" +"In addition, certain corrections can be made to the image to account for " +"clouds, snow and other factors; these operations are complex and " +"repetitive." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:30 -msgid "SEPAL offers you an interactive and intuitive way to create mosaics in any area of interest (AOI)." +msgid "" +"SEPAL offers you an interactive and intuitive way to create mosaics in " +"any area of interest (AOI)." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:34 -msgid "You won't be able to retrieve the images if your SEPAL and Google Earth Engine (GEE) accounts are not connected. For more information, go to :doc:`../setup/gee`." +msgid "" +"You won't be able to retrieve the images if your SEPAL and Google Earth " +"Engine (GEE) accounts are not connected. For more information, go to " +":doc:`../setup/gee`." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:37 @@ -71,15 +83,25 @@ msgid "Start" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:39 -msgid "Once the mosaic recipe is selected, SEPAL will display the recipe process in a new tab (see **1** in the image below) and the **AOI selection** window will appear in the lower right (**2**)." +msgid "" +"Once the mosaic recipe is selected, SEPAL will display the recipe process" +" in a new tab (see **1** in the image below) and the **AOI selection** " +"window will appear in the lower right (**2**)." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:45 -msgid "The first step is to change the name of the recipe. This name will be used to identify your files and recipes in SEPAL folders. Use the best-suited convention for your needs. Simply double-click the tab and write a new name. It will default to :code:`Optical_mosaic___`." +msgid "" +"The first step is to change the name of the recipe. This name will be " +"used to identify your files and recipes in SEPAL folders. Use the best-" +"suited convention for your needs. Simply double-click the tab and write a" +" new name. It defaults to " +":code:`Optical_mosaic___`." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:57 -msgid "The SEPAL team recommends using the following naming convention: :code:`__`." +msgid "" +"The SEPAL team recommends using the following naming convention: " +":code:`__`." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:60 @@ -87,7 +109,9 @@ msgid "Parameters" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:62 -msgid "In the lower-right corner, five tabs are available, which allow you to customize the mosaic creation to your needs:" +msgid "" +"In the lower-right corner, five tabs are available, which allow you to " +"customize the mosaic creation to your needs:" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:64 @@ -115,7 +139,9 @@ msgid "AOI selection" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:77 -msgid "The data exported by the recipe will be generated from within the bounds of the AOI. There are multiple ways to select the AOI in SEPAL:" +msgid "" +"The data exported by the recipe will be generated from within the bounds " +"of the AOI. There are multiple ways to select the AOI in SEPAL:" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:79 @@ -131,7 +157,9 @@ msgid "Drawn polygons" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:83 -msgid "They are extensively described in our documentation. For more information, read :doc:`../feature/aoi_selector`." +msgid "" +"They are extensively described in our documentation. For more " +"information, read :doc:`../feature/aoi_selector`." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:90 @@ -143,7 +171,10 @@ msgid "Yearly mosaic" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:95 -msgid "In the :guilabel:`DAT` tab, select a year which pixels in the mosaic should come from. Then select the :icon:`fa-solid fa-check` :guilabel:`Apply` button." +msgid "" +"In the :guilabel:`DAT` tab, select a year which pixels in the mosaic " +"should come from. Then select the :icon:`fa-solid fa-check` " +":guilabel:`Apply` button." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:102 @@ -151,23 +182,40 @@ msgid "Seasonal mosaic" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:104 -msgid "Select :guilabel:`More` in the :guilabel:`DAT` panel to expand the date selection tool. Rather than selecting a year, you can select a season of interest." +msgid "" +"Select :guilabel:`More` in the :guilabel:`DAT` panel to expand the date " +"selection tool. Rather than selecting a year, you can select a season of " +"interest." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:106 -msgid "Select the :icon:`fa-solid fa-calendar` (**1**) to open the **Date selection** pop-up window. The selected date will be the target of the mosaic (i.e. the date from which pixels in the mosaic should ideally come from)." +msgid "" +"Select the :icon:`fa-solid fa-calendar` (**1**) to open the **Date " +"selection** pop-up window. The selected date will be the target of the " +"mosaic (i.e. the date from which pixels in the mosaic should ideally come" +" from)." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:108 -msgid "Using the main slider (**2**), define a season around the target date by identifying a start date and end date. SEPAL will then retrieve the mosaic images between those dates." +msgid "" +"Using the main slider (**2**), define a season around the target date by " +"identifying a start date and end date. SEPAL will then retrieve the " +"mosaic images between those dates." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:110 -msgid "The number of images in a single season of one year may not be enough to produce a correct mosaic. SEPAL provides two secondary sliders to increase the pool of images to create the mosaic. Both count the number of seasons SEPAL can retrieve in the past (:code:`Past season` - [**3**]) and in the future (:code:`Future season` - [**4**])." +msgid "" +"The number of images in a single season of one year may not be enough to " +"produce a correct mosaic. SEPAL provides two secondary sliders to " +"increase the pool of images to create the mosaic. Both count the number " +"of seasons SEPAL can retrieve in the past (:code:`Past season` - [**3**])" +" and in the future (:code:`Future season` - [**4**])." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:112 -msgid "When the selection is done, select the :icon:`fa-solid fa-check` :guilabel:`Apply` button." +msgid "" +"When the selection is done, select the :icon:`fa-solid fa-check` " +":guilabel:`Apply` button." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:119 @@ -175,504 +223,865 @@ msgid "Sources" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:121 -msgid "As mentioned in the introduction, a mosaic uses different raster datasets that can be obtained from multiple sources. SEPAL allows you to select data from multiple entry points. Below, you can find a description of these sources (select a link to see the corresponding dataset information):" +msgid "" +"As mentioned in the introduction, a mosaic combines raster datasets that " +"can come from multiple satellite sources. In the :guilabel:`SRC` tab, " +"select one or more **optical** data sources to build the mosaic from." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:123 -msgid ":guilabel:`L8`: `Landsat 8 Tier 1 `__. Landsat scenes with the highest available data quality are placed into **Tier 1** and considered suitable for time-series processing analysis. **Tier 1** includes Level-1 Precision Terrain (L1TP) processed data that have well-characterized radiometry and are intercalibrated across different Landsat sensors. The geo-registration of **Tier 1** scenes will be consistent and within prescribed tolerances (< = 12 m root mean square error [RMSE]). All **Tier 1** Landsat data can be considered consistent and intercalibrated (regardless of the sensor used) across the full collection." +msgid "**Landsat** scenes are distributed in two quality tiers:" +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:125 +msgid "" +"**Tier 1** holds the scenes with the highest data quality. They are " +"processed to Level-1 Precision Terrain (L1TP), have well-characterized " +"radiometry, are intercalibrated across the different Landsat sensors and " +"are geo-registered within prescribed tolerances (12 m root mean square " +"error [RMSE] or less). Tier 1 scenes are consistent across the full " +"collection and suitable for time-series analysis." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:127 -msgid ":guilabel:`L8 T2`: `Landsat 8 Tier 2 `__. Scenes not meeting **Tier 1** criteria during processing are assigned to **Tier 2**. This includes Systematic terrain (L1GT) and Systematic (L1GS) processed scenes, as well as any L1TP scenes that do not meet the **Tier 1** specifications due to significant cloud cover, insufficient ground control and other factors. Users interested in **Tier 2** scenes can analyze the RMSE and other properties to determine the suitability for use in individual applications and studies." +#: ../../source/cookbook/optical_mosaic.rst:126 +msgid "" +"**Tier 2** (marked :guilabel:`T2`) holds scenes that do not meet the Tier" +" 1 criteria, for example because of significant cloud cover, insufficient" +" ground control or systematic-only terrain correction (L1GT/L1GS). They " +"can still be useful; analyze the RMSE and other properties to determine " +"their suitability for your study." +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:128 +msgid "" +"The following optical sources are available (select a link to open the " +"corresponding Google Earth Engine dataset):" +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:130 +msgid "" +":guilabel:`L9`: `Landsat 9 `__ (Tier 1; from 2021)." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:131 -msgid ":guilabel:`L7`: `Landsat 7 Tier 1 `__. Landsat scenes with the highest available data quality are placed into **Tier 1** and are considered suitable for time-series processing analysis. **Tier 1** includes Level-1 Precision Terrain (L1TP) processed data that have well-characterized radiometry and are intercalibrated across different Landsat sensors. The geo-registration of **Tier 1** scenes will be consistent and within prescribed tolerances (< = 12 m RMSE). All **Tier 1** Landsat data can be considered consistent and intercalibrated across the full collection (regardless of the sensor used)." +msgid "" +":guilabel:`L8`: `Landsat 8 `__ (Tier 1; from 2013)." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:135 -msgid ":guilabel:`L7 T2`: `Landsat 7 Tier 2 `__. Scenes not meeting **Tier 1** criteria during processing are assigned to **Tier 2**. This includes Systematic terrain (L1GT) and Systematic (L1GS) processed scenes, as well as any L1TP scenes that do not meet the **Tier 1** specifications due to significant cloud cover, insufficient ground control and other factors. Users interested in **Tier 2** scenes can analyze the RMSE and other properties to determine the suitability for use in individual applications and studies." +#: ../../source/cookbook/optical_mosaic.rst:132 +msgid "" +":guilabel:`L7`: `Landsat 7 `__ (Tier 1; from 1999)." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:139 -msgid ":guilabel:`L4-5`: `Landsat 4 Tier 1 `__ combined with `Landsat 5 Tier 1 `__. Landsat scenes with the highest available data quality are placed into **Tier 1** and are considered suitable for time-series processing analysis. **Tier 1** includes Level-1 Precision Terrain (L1TP) processed data that have well-characterized radiometry and are intercalibrated across different Landsat sensors. The geo-registration of **Tier 1** scenes will be consistent and within prescribed tolerances (< = 12 m RMSE). All **Tier 1** Landsat data can be considered consistent and intercalibrated across the full collection (regardless of the sensor used)." +#: ../../source/cookbook/optical_mosaic.rst:133 +msgid "" +":guilabel:`L4-5`: `Landsat 4 `__ combined with `Landsat" +" 5 `__ (Tier 1; 1982–2012)." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:143 -msgid ":guilabel:`L4-5 T2`: `Landsat 4 TM Tier 2 `__ combined with `Landsat 5 TM Tier 2 `__. Scenes not meeting **Tier 1** criteria during processing are assigned to **Tier 2**. This includes Systematic terrain (L1GT) and Systematic (L1GS) processed scenes, as well as any L1TP scenes that do not meet the **Tier 1** specifications due to significant cloud cover, insufficient ground control and other factors. Users interested in **Tier 2** scenes can analyze the RMSE and other properties to determine the suitability for use in individual applications and studies." +#: ../../source/cookbook/optical_mosaic.rst:134 +msgid "" +":guilabel:`L9 T2`, :guilabel:`L8 T2`, :guilabel:`L7 T2`, :guilabel:`L4-5 " +"T2`: the **Tier 2** equivalents of the datasets listed above." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:147 -msgid ":guilabel:`A+B`: `Sentinel-2 Multispectral instrument `__ is a wide-swath, high-resolution, multispectral imaging mission supporting Copernicus Land Monitoring studies, including the monitoring of vegetation, soil and water cover, as well as the observation of inland waterways and coastal areas." +#: ../../source/cookbook/optical_mosaic.rst:135 +msgid "" +":guilabel:`S2`: `Sentinel-2 `__ (Sentinel-2A and " +"Sentinel-2B; from 2015). A wide-swath, high-resolution, multispectral " +"imaging mission supporting Copernicus Land Monitoring studies, including " +"the monitoring of vegetation, soil and water cover, as well as the " +"observation of inland waterways and coastal areas." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:153 -#: ../../source/cookbook/optical_mosaic.rst:170 -msgid "To validate your selection, select the :icon:`fa-solid fa-check` :guilabel:`Apply` button." +#: ../../source/cookbook/optical_mosaic.rst:139 +msgid "" +"SEPAL uses the Landsat **Collection 2** archive and the **harmonized** " +"Sentinel-2 collection." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:156 -msgid "Scenes" +#: ../../source/cookbook/optical_mosaic.rst:145 +msgid "" +"You can also restrict the imagery with the :code:`Max cloud cover %` " +"slider: scenes whose cloud cover is higher than this threshold are " +"excluded before the mosaic is built." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:160 -msgid "If Sentinel and Landsat data have been selected, you will be forced to use all scenes. As the tiling system from Sentinel and Landsat data are different, it's impossible to select scenes using the tool presented in the following sections." +#: ../../source/cookbook/optical_mosaic.rst:147 +msgid "" +"To validate your selection, select the :icon:`fa-solid fa-check` " +":guilabel:`Apply` button (labelled :guilabel:`Done` when you first create" +" the recipe through the setup wizard)." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:162 -msgid "You can use multiple options to select the best scenes for your mosaic. The most simple is to use every image available based on the date parameters. Select :guilabel:`Use all scenes` and all images will be integrated into the mosaic." +#: ../../source/cookbook/optical_mosaic.rst:150 +msgid "Scenes" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:164 -msgid "Choose :guilabel:`Select scenes` and choose one of the three available :code:`Priority` options, based on the needs of your analysis (SEPAL sorts the images available for each tile):" +#: ../../source/cookbook/optical_mosaic.rst:154 +msgid "" +"If Sentinel and Landsat data have been selected, you will be forced to " +"use all scenes. As the tiling system from Sentinel and Landsat data are " +"different, it's impossible to select scenes using the tool presented in " +"the following sections." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:166 -msgid ":guilabel:`Cloud free`: Prioritizes images with zero or few clouds." +#: ../../source/cookbook/optical_mosaic.rst:156 +msgid "" +"You can use multiple options to select the best scenes for your mosaic. " +"The most simple is to use every image available based on the date " +"parameters. Select :guilabel:`Use all scenes` and all images will be " +"integrated into the mosaic." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:167 -msgid ":guilabel:`Target date`: Prioritizes images that match the target date." +#: ../../source/cookbook/optical_mosaic.rst:158 +msgid "" +"Choose :guilabel:`Select scenes` and pick one of the three available " +":code:`Priority` options, based on the needs of your analysis (SEPAL " +"sorts the images available for each tile):" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:168 -msgid ":guilabel:`Balanced`: Prioritizes images that maximize both cloud and target date." +#: ../../source/cookbook/optical_mosaic.rst:160 +msgid "" +":guilabel:`Cloud free`: Prioritizes imagery as cloud-free as possible, " +"ignoring the date." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:177 -msgid "Composite" +#: ../../source/cookbook/optical_mosaic.rst:161 +msgid "" +":guilabel:`Balanced`: Prioritizes imagery that is neither too cloudy nor " +"too far from the target date." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:181 -msgid "This step is optional. SEPAL provides the following options by default:" +#: ../../source/cookbook/optical_mosaic.rst:162 +msgid "" +":guilabel:`Target date`: Prioritizes imagery as close as possible to the " +"target date." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:183 -msgid "**Correction**: :guilabel:`SR`, :guilabel:`BRDF`" +#: ../../source/cookbook/optical_mosaic.rst:164 +msgid "" +"To validate your selection, select the :icon:`fa-solid fa-check` " +":guilabel:`Apply` button." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:184 -msgid "**Pixel filters**: No filters" +#: ../../source/cookbook/optical_mosaic.rst:171 +msgid "Composite" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:185 -msgid "**Cloud detection**: :guilabel:`QA bands`, :guilabel:`Cloud score`" +#: ../../source/cookbook/optical_mosaic.rst:173 +msgid "" +"The :guilabel:`CMP` tab controls how the selected scenes are corrected, " +"how clouds and snow are masked, and how the final pixel values are " +"computed. The panel opens in a **simple** view showing the most common " +"options; select :guilabel:`More` to reveal the **advanced** options (and " +":guilabel:`Less` to hide them again)." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:186 -msgid "**Cloud masking**: :guilabel:`Moderate`" +#: ../../source/cookbook/optical_mosaic.rst:177 +msgid "This step is optional. By default, SEPAL applies:" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:187 -msgid "**Cloud buffering**: :guilabel:`None`" +#: ../../source/cookbook/optical_mosaic.rst:179 +msgid "**Corrections**: :guilabel:`SR` and :guilabel:`BRDF`" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:188 -msgid "**Snow masking**: :guilabel:`On`" +#: ../../source/cookbook/optical_mosaic.rst:180 +msgid "**Cloud masking**: :guilabel:`Moderate`" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:189 +#: ../../source/cookbook/optical_mosaic.rst:181 msgid "**Composing method**: :guilabel:`Medoid`" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:191 -msgid "To create a mosaic, provide SEPAL with the compositing method to create the final image. See the following image for all possible compositing options available." +#: ../../source/cookbook/optical_mosaic.rst:183 +msgid "" +"The advanced view additionally defaults to no pixel filters, no cloud " +"buffering and snow/ice masking turned on." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:198 -msgid "Corrections" +#: ../../source/cookbook/optical_mosaic.rst +msgid "Show the advanced view (opened with **More**)" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:200 -msgid "This will apply corrections on the stacked pixels to improve the quality of the mosaic." +#: ../../source/cookbook/optical_mosaic.rst:199 +msgid "Corrections" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:202 -msgid ":guilabel:`SR`: Surface reflectance improves comparison between multiple images over the same region by accounting for atmospheric effects such as aerosol scattering and thin clouds, which can help in the detection and characterization of Earth surface change. Top-of-atmosphere images are used if not selected." +#: ../../source/cookbook/optical_mosaic.rst:201 +msgid "" +"Corrections are applied to the stacked pixels to improve the quality of " +"the mosaic." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:203 -msgid ":guilabel:`BRDF`: Uses a bidirectional reflectance distribution function (BRDF) model to characterize surface reflectance anisotropy. For a given land area, the BRDF is established based on selected multi-angular observations of surface reflectance." +msgid "" +":guilabel:`SR`: Surface reflectance improves comparison between multiple " +"images over the same region by accounting for atmospheric effects such as" +" aerosol scattering and thin clouds, which can help in the detection and " +"characterization of Earth surface change. Top-of-atmosphere (TOA) images " +"are used if not selected." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:204 -msgid ":guilabel:`Calibrate`: Calibrates Sentinel and Landsat data to make them compatible." +msgid "" +":guilabel:`BRDF`: Uses a bidirectional reflectance distribution function " +"(BRDF) model to characterize surface reflectance anisotropy. For a given " +"land area, the BRDF is established based on selected multi-angular " +"observations of surface reflectance. When BRDF is enabled, the advanced " +"view shows a :code:`BRDF Multiplier` field that controls how much " +"correction is applied (values of 3–4 usually work well; lower it if the " +"effect is overcompensated, raise it if it is not compensated enough)." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:208 -msgid "This option is only available if:" +#: ../../source/cookbook/optical_mosaic.rst:205 +msgid "" +":guilabel:`Calibrate`: Calibrates the bands to improve a cross-sensor " +"mosaic." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:210 -msgid "Landsat and Sentinel data are mixed; and" +#: ../../source/cookbook/optical_mosaic.rst:209 +msgid "This option is only available if:" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:211 -msgid "BRDF and surface reflectance (SR) corrections are disabled." +msgid "Landsat and Sentinel-2 data are mixed; and" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:214 -msgid "Pixel filters" +#: ../../source/cookbook/optical_mosaic.rst:212 +msgid "surface reflectance (:guilabel:`SR`) correction is disabled." +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:215 +msgid "Cloud masking" +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:217 +msgid "" +"Controls how clouds are detected and masked. In the simple view, choose a" +" preset:" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:216 -msgid "Activating any of the filters will remove some pixels from the stack. Removing pixels improves the quality of the mosaic, as they are not taken into account in the median value computation." +#: ../../source/cookbook/optical_mosaic.rst:219 +msgid "" +":guilabel:`Moderate`: Relies only on the image source QA bands for cloud " +"masking." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:220 -msgid "Each filter is applied iteratively (e.g. if the normalized difference vegetation index [NDVI] is already filtering all pixels but one, there will be nothing left in the stack to be filtered by day of year)." +msgid "" +":guilabel:`Aggressive`: Relies on the image source QA bands together with" +" a cloud-scoring algorithm. This will probably mask out some built-up " +"areas and other bright features." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:222 -msgid "Note as well that adding filters significantly increases the creation time of the mosaic." +#: ../../source/cookbook/optical_mosaic.rst:221 +msgid "" +":guilabel:`Custom`: Automatically selected (and otherwise disabled) when " +"you fine-tune the individual cloud-masking algorithms in the advanced " +"view." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:224 -msgid "**Shadow**: Filters the XX percent darkest pixels of the stack." +#: ../../source/cookbook/optical_mosaic.rst:223 +msgid "" +"In the advanced view you can add and configure the individual cloud-" +"masking algorithms with the :icon:`fa-solid fa-plus` button. The " +"available algorithms depend on the sources you selected:" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:225 -msgid "**Haze**: Computes a haze index and filters the XX percent highest values." +msgid "" +":guilabel:`SEPAL cloud score`: SEPAL's own cloud-scoring algorithm, with " +"a configurable *maximum cloud probability*. Always available." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:226 -msgid "**NDVI**: Computes the NDVI and only keeps the XX percent highest values." +msgid "" +":guilabel:`S2 Cloud Score+`: Sentinel-2 Cloud Score+, with a *maximum " +"cloud probability* and a choice of scoring band — :guilabel:`cs` " +"(instantaneous clear-sky similarity) or :guilabel:`cs_cdf` (likelihood of" +" being clear over time). Sentinel-2 sources only." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:227 -msgid "**Day of the year**: Computes the distance from target day in days and filters out the XX percent farthest." +msgid "" +":guilabel:`S2 Cloud Probability`: the Sentinel-2 cloud-probability " +"dataset, with a configurable *maximum cloud probability*. Sentinel-2 " +"sources only." +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:228 +msgid "" +":guilabel:`Landsat CFMask`: the Landsat CFMask QA bands. You can set " +":code:`Cloud Masking`, :code:`Cloud Shadow Masking` and :code:`Cirrus " +"Masking` each to :guilabel:`Off`, :guilabel:`Moderate` or " +":guilabel:`Aggressive`, and choose whether to :guilabel:`Keep` or " +":guilabel:`Remove` dilated clouds. Landsat sources only." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:230 -msgid "Cloud detection" +#: ../../source/cookbook/optical_mosaic.rst:229 +msgid "" +":guilabel:`Pino 26`: the Pan-Tropical Sentinel-2 cloud-detection " +"algorithm developed by Dario Simonetti (for more information, see `D. " +"Simonetti [2021] `__). Only " +"available for a Sentinel-2-exclusive source when :guilabel:`SR` " +"correction is disabled." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:232 -msgid "Refers to the algorithm used to detect clouds." +msgid "Cloud buffering" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:234 -msgid ":guilabel:`QA bands`: Uses quality assessment (QA) bands to identify clouds in Sentinel data." +msgid "" +"(Advanced view.) When pixels are identified as clouds, SEPAL can also " +"mask a small buffer around them to prevent hazy pixels at the borders of " +"clouds from being included in the mosaic." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:235 -msgid ":guilabel:`Cloud score`: Uses the computed cloud score to identify clouds in Landsat data." +#: ../../source/cookbook/optical_mosaic.rst:238 +msgid "" +"Buffering is done at the pixel level, so using this option significantly " +"increases the creation time of the mosaic." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:236 -msgid ":guilabel:`Pino 26`: Uses the Pino_26 algorithm to identify clouds (for more information, see `D. Simonetti [2021] `__)." +#: ../../source/cookbook/optical_mosaic.rst:240 +msgid ":guilabel:`None`: Doesn't use cloud buffering." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:240 -msgid "This filter is only available for Sentinel exclusive source when both :guilabel:`BRDF` and :guilabel:`SR` correction are disabled." +#: ../../source/cookbook/optical_mosaic.rst:241 +msgid "" +":guilabel:`Moderate`: Masks an additional **120 m** around each larger " +"cloud." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:243 -msgid "Cloud masking" +#: ../../source/cookbook/optical_mosaic.rst:242 +msgid "" +":guilabel:`Aggressive`: Masks an additional **600 m** around each larger " +"cloud." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:245 -msgid "Controls how clouds will be masked based on the cloud detection algorithm selected." +msgid "Snow/ice masking" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:247 -msgid ":guilabel:`off`: Uses cloud-free pixels if possible, but doesn't mask areas without cloud-free pixels." -msgstr "" - -#: ../../source/cookbook/optical_mosaic.rst:248 -msgid ":guilabel:`moderate`: Relies only on image source QA bands for cloud masking (a moderate threshold is used)." +msgid "(Advanced view.) Defines how snowy or icy pixels are masked." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:249 -msgid ":guilabel:`aggressive`: Relies on image source QA bands and a cloud scoring algorithm for cloud masking with an aggressive threshold (this will probably mask out some built-up areas and other bright features)." +msgid "" +":guilabel:`On`: Masks snow. This tends to leave some pixels with shadowy " +"snow." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:252 -msgid "Cloud buffering" +#: ../../source/cookbook/optical_mosaic.rst:250 +msgid "" +":guilabel:`Off`: Doesn't mask snow. Note that some clouds might get " +"misclassified as snow; therefore, disabling snow masking might lead to " +"cloud artifacts." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:254 -msgid "When pixels are identified as clouds, SEPAL can remove pixels in a small buffer around it to prevent hazy pixels at the borders of clouds to be included in the mosaic." +#: ../../source/cookbook/optical_mosaic.rst:253 +msgid "Masked out pixels" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:258 -msgid "Buffering is done on the pixel level, so using this option will significantly increase the creation time of the mosaic." +#: ../../source/cookbook/optical_mosaic.rst:255 +msgid "" +"(Advanced view.) Controls whether a pixel can end up completely masked " +"when every available acquisition is cloudy and/or snowy." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:260 -msgid ":guilabel:`none`: Doesn't use cloud buffering." +#: ../../source/cookbook/optical_mosaic.rst:257 +msgid "" +":guilabel:`Prevent`: Prevents pixels from being completely masked out, " +"keeping the best available (possibly cloudy/snowy) value." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:261 -msgid ":guilabel:`moderate`: Masks an additional **120 m** around each larger cloud." +#: ../../source/cookbook/optical_mosaic.rst:258 +msgid "" +":guilabel:`Allow`: Allows pixels to be completely masked out, leaving " +"holes in the mosaic where no clear observation exists." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:262 -msgid ":guilabel:`aggressive`: Masks an additional **600 m** around each larger cloud." +#: ../../source/cookbook/optical_mosaic.rst:261 +msgid "Pixel filters" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:265 -msgid "Snow masking" +#: ../../source/cookbook/optical_mosaic.rst:263 +msgid "" +"(Advanced view.) Add filters with the :icon:`fa-solid fa-plus` button to " +"remove pixels from the stack before compositing. Each filter excludes a " +"percentage of the stack (set with a slider, defaulting to 50%); removing " +"low-quality pixels improves the quality of the mosaic." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:267 -msgid "Defines how snowy pixels will be masked." +msgid "" +"Each filter is applied iteratively (e.g. if the normalized difference " +"vegetation index [NDVI] is already filtering all pixels but one, there " +"will be nothing left in the stack to be filtered by date)." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:269 -msgid ":guilabel:`on`: Masks snow. This tends to leave some pixels with shadowy snow." +msgid "" +"Note as well that adding filters significantly increases the creation " +"time of the mosaic." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:270 -msgid ":guilabel:`off`: Doesn't mask snow. Note that some clouds might get misclassified as snow; therefore, disabling snow masking might lead to cloud artifacts." +#: ../../source/cookbook/optical_mosaic.rst:271 +msgid "" +"**Shadow**: Excludes the selected percentage of pixels with the most " +"shadow." +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:272 +msgid "" +"**Haze**: Excludes the selected percentage of pixels with the most haze. " +"Only available when :guilabel:`SR` correction is disabled." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:273 -msgid "Composing method" +msgid "**NDVI**: Excludes the selected percentage of pixels with the lowest NDVI." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:275 -msgid "After filtering the stack of pixels, SEPAL will compute the median value on the different bands of the image. The composing method will define how the final pixel value is extracted." +#: ../../source/cookbook/optical_mosaic.rst:274 +msgid "" +"**Date**: Excludes the selected percentage of pixels farthest from the " +"target date." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:277 -msgid ":guilabel:`Medoid`: Uses the closest pixel from the median value. As a real pixel from the stack, the final value will embed metadata (e.g. the date of observation)." +msgid "Sentinel-2 overlap" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:278 -msgid ":guilabel:`Median`: Uses the computed value of the median. If no pixel is matching this value, the pixel will not embed any metadata. It tends to produce smoother mosaics." +#: ../../source/cookbook/optical_mosaic.rst:279 +msgid "" +"(Advanced view; shown only when Sentinel-2 is selected.) Sentinel-2 " +"acquisitions overlap both between orbits and between neighbouring tiles, " +"which can result in duplicated observations." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:281 -msgid "Analysis" +msgid "" +"**Orbit Overlap**: :guilabel:`Keep` the overlap between Sentinel-2 orbits" +" (more data, better models) or :guilabel:`Remove` it." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:283 -msgid "After selecting the parameters, you can start interacting with the scenes and begin the analysis." +#: ../../source/cookbook/optical_mosaic.rst:282 +msgid "" +"**Tile Overlap**: :guilabel:`Keep` the overlap between Sentinel-2 tiles, " +":guilabel:`Quick remove` most of it, or :guilabel:`Remove` all of it. " +"Removing overlap adds an extra preprocessing step." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:285 -msgid "In the upper-right corner, three tabs are available, which allow you to customize the mosaic scene selection and export the final result:" +msgid "Composing method" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:287 -msgid ":btn:``: auto-select scenes" +msgid "" +"After filtering the stack of pixels, the composing method defines how the" +" final pixel value is extracted." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:288 -msgid ":btn:``: clear selected scenes" +#: ../../source/cookbook/optical_mosaic.rst:289 +msgid "" +":guilabel:`Medoid`: Uses the pixel closest to the median value. As a real" +" pixel from the stack, the final value embeds metadata (e.g. the date of " +"observation)." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:289 -msgid ":btn:``: retrieve mosaic" +#: ../../source/cookbook/optical_mosaic.rst:290 +msgid "" +":guilabel:`Median`: Uses the computed median value. If no pixel matches " +"this value, the pixel will not embed any metadata. It tends to produce " +"smoother mosaics." +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:293 +msgid "Analysis" +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:295 +msgid "" +"After selecting the parameters, you can start interacting with the scenes" +" and begin the analysis." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:297 -msgid "If you have not selected the option :guilabel:`Select scenes` in the :guilabel:`SCN` tab, the :icon:`fa-solid fa-wand-magic` button will be disabled and the scene areas will be hidden as no scene selection needs to be performed (see those with a number in a circle on the previous screenshot)." +msgid "" +"In the upper-right corner, three tabs are available, which allow you to " +"customize the mosaic scene selection and export the final result:" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:299 -msgid "If you can't see the image scene area, you probably have selected a small AOI. Zoom out on the map and you will see the number of available images in the circles." +msgid ":btn:``: auto-select scenes" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:302 -msgid "Select scenes" +#: ../../source/cookbook/optical_mosaic.rst:300 +msgid ":btn:``: clear selected scenes" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:304 -msgid "To create a mosaic, select the scenes that will be used to compute each pixel value of the mosaic. SEPAL provides a user-friendly interface that will guide you through the selection process. You don't have to select the stack for every pixel; instead, SEPAL will clip the AOI in smaller pieces called **Tiles**. These tiles correspond to the native tiling system of your dataset and are displayed on the map with circled numbers in their centroid. Each number corresponds to the number of scenes available to build the mosaic tile. Hover over these circles to see the tile boundaries appear." +#: ../../source/cookbook/optical_mosaic.rst:301 +msgid ":btn:``: retrieve mosaic" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:308 -msgid "Landsat and Sentinel datasets have a different grid system, which is why the selection process cannot be used if you have selected both of these datasets. If you have an idea related to the user interface (UI) that could make them work together, let us know in our `issue tracker `__." +#: ../../source/cookbook/optical_mosaic.rst:309 +msgid "" +"If you have not selected the option :guilabel:`Select scenes` in the " +":guilabel:`SCN` tab, the :icon:`fa-solid fa-wand-sparkles` button will be" +" disabled and the scene areas will be hidden as no scene selection needs " +"to be performed (see those with a number in a circle on the previous " +"screenshot)." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:311 +msgid "" +"If you can't see the image scene area, you probably have selected a small" +" AOI. Zoom out on the map and you will see the number of available images" +" in the circles." +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:314 +msgid "Select scenes" +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:316 +msgid "" +"To create a mosaic, select the scenes that will be used to compute each " +"pixel value of the mosaic. SEPAL provides a user-friendly interface that " +"will guide you through the selection process. You don't have to select " +"the stack for every pixel; instead, SEPAL will clip the AOI in smaller " +"pieces called **Tiles**. These tiles correspond to the native tiling " +"system of your dataset and are displayed on the map with circled numbers " +"in their centroid. Each number corresponds to the number of scenes " +"available to build the mosaic tile. Hover over these circles to see the " +"tile boundaries appear." +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:320 +msgid "" +"Landsat and Sentinel datasets have a different grid system, which is why " +"the selection process cannot be used if you have selected both of these " +"datasets. If you have an idea related to the user interface (UI) that " +"could make them work together, let us know in our `issue tracker " +"`__." +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:323 msgid "Auto-select scene" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:313 -msgid "Selecting the :icon:`fa-solid fa-wand-magic` tab will open the **Auto-selection** pane." +#: ../../source/cookbook/optical_mosaic.rst:325 +msgid "" +"Selecting the :icon:`fa-solid fa-wand-sparkles` tab will open the **Auto-" +"selection** pane." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:315 -msgid "Move the sliders to select the minimum and the maximum number of scenes SEPAL should select in a tile. Then, select the :guilabel:`Validate` button to apply the auto-select method." +#: ../../source/cookbook/optical_mosaic.rst:327 +msgid "" +"Move the sliders to set the :code:`Minimum number of scenes` and the " +":code:`Maximum number of scenes` SEPAL should select in a tile. Then, " +"select the :guilabel:`Select scenes` button to apply the auto-select " +"method." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:317 -msgid "SEPAL will use the priority defined in the :guilabel:`SCN` tab to order the scene and collect the optimal number for your request." +#: ../../source/cookbook/optical_mosaic.rst:329 +msgid "" +"SEPAL will use the priority defined in the :guilabel:`SCN` tab to order " +"the scene and collect the optimal number for your request." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:321 -msgid "The result is never perfect but can be used as a starting point for the manual selection of scenes." +#: ../../source/cookbook/optical_mosaic.rst:333 +msgid "" +"The result is never perfect but can be used as a starting point for the " +"manual selection of scenes." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:328 +#: ../../source/cookbook/optical_mosaic.rst:340 msgid "Clear all scenes" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:330 -msgid "If at least one scene is selected, the :icon:`fa-solid fa-trash` tab will be available. Select it to open the **Clear** pane." +#: ../../source/cookbook/optical_mosaic.rst:342 +msgid "" +"If at least one scene is selected, the :icon:`fa-solid fa-trash` tab will" +" be available. Select it to open the **Clear** pane." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:332 -msgid "Select :guilabel:`Clear scenes` to remove all manually and automatically selected scenes." +#: ../../source/cookbook/optical_mosaic.rst:344 +msgid "" +"Select :guilabel:`Clear scenes` to remove all manually and automatically " +"selected scenes." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:339 +#: ../../source/cookbook/optical_mosaic.rst:351 msgid "Manual selection" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:341 -msgid "To open the **Scene selection** menu, hover over a tile circled-number and select it (**1**). The window will be divided into two sections:" +#: ../../source/cookbook/optical_mosaic.rst:353 +msgid "" +"To open the **Scene selection** menu, hover over a tile circled-number " +"and select it (**1**). The window will be divided into two sections:" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:343 -msgid "**Available scene** (**2**): All the available scenes according to the parameters you selected. These scenes are ordered using the :code:`priority` parameter you set in the :guilabel:`SCN` tab." +#: ../../source/cookbook/optical_mosaic.rst:355 +msgid "" +"**Available scene** (**2**): All the available scenes according to the " +"parameters you selected. These scenes are ordered using the " +":code:`priority` parameter you set in the :guilabel:`SCN` tab." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:344 +#: ../../source/cookbook/optical_mosaic.rst:356 msgid "**Selected scenes** (**3**): The scenes that are currently selected." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:350 -msgid "Each thumbnail represents a scene of the tile stack. You have the option to include them in the mosaic. The scenes located on the left side are the **Available scenes**; the **Selected scenes** are on the right side. In both cases, the following information can be found on the thumbnail:" +#: ../../source/cookbook/optical_mosaic.rst:362 +msgid "" +"Each thumbnail represents a scene of the tile stack. You have the option " +"to include them in the mosaic. The scenes located on the left side are " +"the **Available scenes**; the **Selected scenes** are on the right side. " +"In both cases, the following information can be found on the thumbnail:" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:352 -msgid "A small preview of the scene in the *red, blue, green* band combination." +#: ../../source/cookbook/optical_mosaic.rst:364 +msgid "" +"A small preview of the scene in the *red, green, blue* (true-colour) band" +" combination." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:353 +#: ../../source/cookbook/optical_mosaic.rst:365 msgid "The exact date in YYYY-MM-DD of the scene." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:354 +#: ../../source/cookbook/optical_mosaic.rst:366 msgid "The satellite name :icon:`fa-solid fa-satellite-dish`." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:355 -msgid "The cloud coverage of the scene in percent and its position in the stack values :icon:`fa-solid fa-cloud`." +#: ../../source/cookbook/optical_mosaic.rst:367 +msgid "" +"The cloud coverage of the scene in percent and its position in the stack " +"values :icon:`fa-solid fa-cloud`." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:356 -msgid "The distance from target day in days within the season and its position in the stack values :icon:`fa-solid fa-calendar-check`." +#: ../../source/cookbook/optical_mosaic.rst:368 +msgid "" +"The distance from target day in days within the season and its position " +"in the stack values :icon:`fa-solid fa-calendar-check`." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:368 -msgid "You can decide to move the scene to the **Selected scene** area by selecting :icon:`fa-solid fa-plus`:guilabel:`Add` or moving it back to **Available scene** pane by selecting :icon:`fa-solid fa-minus` :guilabel:`Remove`." +#: ../../source/cookbook/optical_mosaic.rst:380 +msgid "" +"You can decide to move the scene to the **Selected scene** area by " +"selecting :icon:`fa-solid fa-plus` :guilabel:`Add` or moving it back to " +"the **Available scene** pane by selecting :icon:`fa-solid fa-minus` " +":guilabel:`Remove`." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:382 -msgid "Scenes are moved from one side to the other so they are not duplicated and cannot be selected twice. Be careful if your connection is slow; wait for the thumbnail to move before clicking again (if you click too fast, you could select two different images instead of one)." +#: ../../source/cookbook/optical_mosaic.rst:394 +msgid "" +"Scenes are moved from one side to the other so they are not duplicated " +"and cannot be selected twice. Be careful if your connection is slow; wait" +" for the thumbnail to move before clicking again (if you click too fast, " +"you could select two different images instead of one)." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:384 -msgid "Once you are happy with your selection, select the :guilabel:`Apply` button to close the window and use the selected scenes to compute the mosaic on this tile. When the window is closed, SEPAL resets the rendering of all tiles." +#: ../../source/cookbook/optical_mosaic.rst:396 +msgid "" +"Once you are happy with your selection, select the :guilabel:`Apply` " +"button to close the window and use the selected scenes to compute the " +"mosaic on this tile. When the window is closed, SEPAL resets the " +"rendering of all tiles." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:387 +#: ../../source/cookbook/optical_mosaic.rst:399 msgid "Retrieve" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:391 -msgid "You cannot export a recipe as an asset or a :code:`.tiff` file without a small computation quota. If you are a new user, see :doc:`../setup/resource`." +#: ../../source/cookbook/optical_mosaic.rst:403 +msgid "" +"You cannot export a recipe as an asset or a :code:`.tif` file without a " +"small computation quota. If you are a new user, see " +":doc:`../setup/resource`." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:393 -msgid "Selecting the :icon:`fa-solid fa-cloud-arrow-down` tab will open the **Retrieve** pane where you can select the exportation parameters." +#: ../../source/cookbook/optical_mosaic.rst:405 +msgid "" +"Selecting the :icon:`fa-solid fa-cloud-arrow-down` tab will open the " +"**Retrieve** pane where you can select the exportation parameters." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:400 +#: ../../source/cookbook/optical_mosaic.rst:412 msgid "Bands" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:402 -msgid "You need to select the band(s) to export with the mosaic. There is no maximum number of bands, but exporting useless bands will only increase the size and time of the output. To discover the full list of available bands with SEPAL, see :doc:`../feature/bands`." +#: ../../source/cookbook/optical_mosaic.rst:414 +msgid "" +"You need to select the band(s) to export with the mosaic. There is no " +"maximum number of bands, but exporting useless bands will only increase " +"the size and time of the output. To discover the full list of available " +"bands with SEPAL, see :doc:`../feature/optical_bands`." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:406 -msgid "There is no fixed rule to the band selection. Each index is more adapted to a set of analyses in a defined biome. The knowledge of the study area, the evolution expected and the careful selection of an adapted band combination will improve the quality of downstream analysis." +#: ../../source/cookbook/optical_mosaic.rst:418 +msgid "" +"There is no fixed rule to the band selection. Each index is more adapted " +"to a set of analyses in a defined biome. The knowledge of the study area," +" the evolution expected and the careful selection of an adapted band " +"combination will improve the quality of downstream analysis." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:409 +#: ../../source/cookbook/optical_mosaic.rst:421 msgid "Dates" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:411 -msgid ":guilabel:`dayofyear`: the Julian calendar date (day of the year)" +#: ../../source/cookbook/optical_mosaic.rst:423 +msgid ":guilabel:`dayOfYear`: the Julian calendar date (day of the year)" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:412 -msgid ":guilabel:`dayfromtarget`: the distance to the target date within the season in days" +#: ../../source/cookbook/optical_mosaic.rst:424 +msgid "" +":guilabel:`daysFromTarget`: the distance to the target date within the " +"season in days" +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:428 +msgid "" +"These metadata bands are only available when the :guilabel:`Medoid` " +"composing method is used (the :guilabel:`Median` method produces " +"artificial pixels that carry no metadata)." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:415 +#: ../../source/cookbook/optical_mosaic.rst:431 msgid "Scale" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:417 -msgid "You can set a custom scale for exportation by changing the value of the slider in metres (m) (note that requesting a smaller resolution than images' native resolution will not improve the quality of the output – just its size – keep in mind that the native resolution of Sentinel data is 10 m, while Landsat is 30 m.)" +#: ../../source/cookbook/optical_mosaic.rst:433 +msgid "" +"You can set a custom scale for exportation by selecting a value in metres" +" (m) (note that requesting a smaller resolution than the images' native " +"resolution will not improve the quality of the output – just its size – " +"keep in mind that the native resolution of Sentinel data is 10 m, while " +"Landsat is 30 m)." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:420 +#: ../../source/cookbook/optical_mosaic.rst:436 msgid "Destination" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:422 -msgid "You can export the image to the :guilabel:`SEPAL workspace` or to the ;guilabel:`Google Earth Engine Asset` folder. The same image will be exported to both; however, for the former, you will find it in :code:`.tif` format in the :code:`Downloads` folder; for the latter, the image will be exported to your GEE account asset list." +#: ../../source/cookbook/optical_mosaic.rst:438 +msgid "Choose a single destination for the export:" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:426 -msgid "If :guilabel:`Google Earth Engine Asset` is not displayed, it means that your GEE account is not connected to SEPAL. Please refer to `Connect SEPAL to GEE <../setup/gee.html>`__." +#: ../../source/cookbook/optical_mosaic.rst:440 +msgid "" +":guilabel:`SEPAL workspace`: the image is written to your SEPAL files in " +":code:`.tif` format (by default in the :code:`Downloads` folder)." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:428 -msgid "Select :guilabel:`Apply` to start the download process." +#: ../../source/cookbook/optical_mosaic.rst:441 +msgid "" +":guilabel:`Google Earth Engine asset`: the image is exported to your GEE " +"account as an asset. You can export it either as a single " +":guilabel:`Image` or as an :guilabel:`Image collection` (tiled, which is " +"better suited to large exports), and set its sharing to " +":guilabel:`Private` or :guilabel:`Public`." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:431 +#: ../../source/cookbook/optical_mosaic.rst:442 +msgid "" +":guilabel:`Google Drive`: the image is exported to the Google Drive of " +"the connected Google account." +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:446 +msgid "" +"The :guilabel:`Google Earth Engine asset` and :guilabel:`Google Drive` " +"destinations are only displayed when a Google account is connected to " +"SEPAL. If they are missing, please refer to `Connect SEPAL to GEE " +"<../setup/gee.html>`__." +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:448 +msgid "Select :guilabel:`Retrieve` to start the export process." +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:451 msgid "Exportation status" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:433 -msgid "In the **Tasks** tab (lower-left corner using the :icon:`fa-solid fa-list-check` or :icon:`fa-solid fa-spinner` buttons, depending on the loading status), you will see the list of the different loading tasks. The interface will provide you with information about task progress and display an error if the exportation has failed." +#: ../../source/cookbook/optical_mosaic.rst:453 +msgid "" +"In the **Tasks** tab (lower-left corner using the :icon:`fa-solid fa-" +"list-check` or :icon:`fa-solid fa-spinner` buttons, depending on the " +"loading status), you will see the list of the different loading tasks. " +"The interface will provide you with information about task progress and " +"display an error if the exportation has failed." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:435 -msgid "If you are unsatisfied with the way we present information, the task can also be monitored using the `GEE task manager `__." +#: ../../source/cookbook/optical_mosaic.rst:455 +msgid "" +"If you are unsatisfied with the way we present information, the task can " +"also be monitored using the `GEE task manager " +"`__." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:439 -msgid "This operation is running between GEE and SEPAL servers in the background. You can close the SEPAL page without stopping the process." +#: ../../source/cookbook/optical_mosaic.rst:459 +msgid "" +"This operation is running between GEE and SEPAL servers in the " +"background. You can close the SEPAL page without stopping the process." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:441 -msgid "When the task is finished, the frame will be displayed in green, as shown on the second image below." +#: ../../source/cookbook/optical_mosaic.rst:461 +msgid "" +"When the task is finished, the frame will be displayed in green, as shown" +" on the second image below." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:454 +#: ../../source/cookbook/optical_mosaic.rst:474 msgid "Access" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:456 -msgid "Once the download process is complete, you can access the data in your SEPAL folders. The data will be stored in the :code:`Downloads` folder using the following format:" +#: ../../source/cookbook/optical_mosaic.rst:476 +msgid "" +"Once the download process is complete, you can access the data in your " +"SEPAL folders. The data will be stored in the :code:`Downloads` folder " +"using the following format:" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:471 -msgid "Understanding how images are stored in an optical mosaic is only required if you want to manually use them. The SEPAL applications are bound to this tiling system and can digest the information for you." +#: ../../source/cookbook/optical_mosaic.rst:491 +msgid "" +"Understanding how images are stored in an optical mosaic is only required" +" if you want to manually use them. The SEPAL applications are bound to " +"this tiling system and can digest the information for you." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:473 -msgid "The data are stored in a folder using the name of the optical mosaic as it was created in the first section of this article. As the number of data is spatially too big to be exported at once, the data are divided into smaller pieces and brought back together in a :code:`_.vrt` file." +#: ../../source/cookbook/optical_mosaic.rst:493 +msgid "" +"The data are stored in a folder using the name of the optical mosaic as " +"it was created in the first section of this article. As the number of " +"data is spatially too big to be exported at once, the data are divided " +"into smaller pieces and brought back together in a :code:`_.vrt` file." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:477 -msgid "The full folder with a consistent tree folder is required to read the `.vrt`" +#: ../../source/cookbook/optical_mosaic.rst:497 +msgid "" +"The full folder with a consistent tree folder is required to read the " +"`.vrt`" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:481 -msgid "Now that you have downloaded the optical mosaic to your SEPAL and/or GEE account, it can be downloaded to your computer using `FileZilla <../setup.filezilla.html>`__ or used in other SEPAL workflows." +#: ../../source/cookbook/optical_mosaic.rst:501 +msgid "" +"Now that you have exported the optical mosaic to your SEPAL workspace, it" +" can be downloaded to your computer using `file exchange options " +"<../setup/filezilla.html>`__ or used in other SEPAL workflows." msgstr "" #~ msgid "Optical mosaic" @@ -1794,3 +2203,539 @@ msgstr "" #~ " SEPAL workflows." #~ msgstr "" +#~ msgid "" +#~ "The first step is to change the" +#~ " name of the recipe. This name " +#~ "will be used to identify your " +#~ "files and recipes in SEPAL folders. " +#~ "Use the best-suited convention for " +#~ "your needs. Simply double-click the " +#~ "tab and write a new name. It " +#~ "will default to " +#~ ":code:`Optical_mosaic___`." +#~ msgstr "" + +#~ msgid "" +#~ "As mentioned in the introduction, a " +#~ "mosaic uses different raster datasets " +#~ "that can be obtained from multiple " +#~ "sources. SEPAL allows you to select " +#~ "data from multiple entry points. Below," +#~ " you can find a description of " +#~ "these sources (select a link to " +#~ "see the corresponding dataset information):" +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`L8`: `Landsat 8 Tier 1 " +#~ "`__. Landsat " +#~ "scenes with the highest available data" +#~ " quality are placed into **Tier 1**" +#~ " and considered suitable for time-" +#~ "series processing analysis. **Tier 1** " +#~ "includes Level-1 Precision Terrain (L1TP) " +#~ "processed data that have well-" +#~ "characterized radiometry and are " +#~ "intercalibrated across different Landsat " +#~ "sensors. The geo-registration of **Tier" +#~ " 1** scenes will be consistent and" +#~ " within prescribed tolerances (< = 12" +#~ " m root mean square error [RMSE])." +#~ " All **Tier 1** Landsat data can " +#~ "be considered consistent and intercalibrated" +#~ " (regardless of the sensor used) " +#~ "across the full collection." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`L8 T2`: `Landsat 8 Tier 2 " +#~ "`__. Scenes " +#~ "not meeting **Tier 1** criteria during" +#~ " processing are assigned to **Tier " +#~ "2**. This includes Systematic terrain " +#~ "(L1GT) and Systematic (L1GS) processed " +#~ "scenes, as well as any L1TP scenes" +#~ " that do not meet the **Tier " +#~ "1** specifications due to significant " +#~ "cloud cover, insufficient ground control " +#~ "and other factors. Users interested in" +#~ " **Tier 2** scenes can analyze the" +#~ " RMSE and other properties to " +#~ "determine the suitability for use in " +#~ "individual applications and studies." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`L7`: `Landsat 7 Tier 1 " +#~ "`__. Landsat " +#~ "scenes with the highest available data" +#~ " quality are placed into **Tier 1**" +#~ " and are considered suitable for " +#~ "time-series processing analysis. **Tier 1**" +#~ " includes Level-1 Precision Terrain (L1TP)" +#~ " processed data that have well-" +#~ "characterized radiometry and are " +#~ "intercalibrated across different Landsat " +#~ "sensors. The geo-registration of **Tier" +#~ " 1** scenes will be consistent and" +#~ " within prescribed tolerances (< = 12" +#~ " m RMSE). All **Tier 1** Landsat " +#~ "data can be considered consistent and" +#~ " intercalibrated across the full collection" +#~ " (regardless of the sensor used)." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`L7 T2`: `Landsat 7 Tier 2 " +#~ "`__. Scenes " +#~ "not meeting **Tier 1** criteria during" +#~ " processing are assigned to **Tier " +#~ "2**. This includes Systematic terrain " +#~ "(L1GT) and Systematic (L1GS) processed " +#~ "scenes, as well as any L1TP scenes" +#~ " that do not meet the **Tier " +#~ "1** specifications due to significant " +#~ "cloud cover, insufficient ground control " +#~ "and other factors. Users interested in" +#~ " **Tier 2** scenes can analyze the" +#~ " RMSE and other properties to " +#~ "determine the suitability for use in " +#~ "individual applications and studies." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`L4-5`: `Landsat 4 Tier 1 " +#~ "`__ combined " +#~ "with `Landsat 5 Tier 1 " +#~ "`__. Landsat " +#~ "scenes with the highest available data" +#~ " quality are placed into **Tier 1**" +#~ " and are considered suitable for " +#~ "time-series processing analysis. **Tier 1**" +#~ " includes Level-1 Precision Terrain (L1TP)" +#~ " processed data that have well-" +#~ "characterized radiometry and are " +#~ "intercalibrated across different Landsat " +#~ "sensors. The geo-registration of **Tier" +#~ " 1** scenes will be consistent and" +#~ " within prescribed tolerances (< = 12" +#~ " m RMSE). All **Tier 1** Landsat " +#~ "data can be considered consistent and" +#~ " intercalibrated across the full collection" +#~ " (regardless of the sensor used)." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`L4-5 T2`: `Landsat 4 TM Tier" +#~ " 2 `__ combined " +#~ "with `Landsat 5 TM Tier 2 " +#~ "`__. Scenes " +#~ "not meeting **Tier 1** criteria during" +#~ " processing are assigned to **Tier " +#~ "2**. This includes Systematic terrain " +#~ "(L1GT) and Systematic (L1GS) processed " +#~ "scenes, as well as any L1TP scenes" +#~ " that do not meet the **Tier " +#~ "1** specifications due to significant " +#~ "cloud cover, insufficient ground control " +#~ "and other factors. Users interested in" +#~ " **Tier 2** scenes can analyze the" +#~ " RMSE and other properties to " +#~ "determine the suitability for use in " +#~ "individual applications and studies." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`A+B`: `Sentinel-2 Multispectral " +#~ "instrument `__ is a " +#~ "wide-swath, high-resolution, multispectral " +#~ "imaging mission supporting Copernicus Land " +#~ "Monitoring studies, including the monitoring" +#~ " of vegetation, soil and water cover," +#~ " as well as the observation of " +#~ "inland waterways and coastal areas." +#~ msgstr "" + +#~ msgid "" +#~ "Choose :guilabel:`Select scenes` and choose" +#~ " one of the three available " +#~ ":code:`Priority` options, based on the " +#~ "needs of your analysis (SEPAL sorts " +#~ "the images available for each tile):" +#~ msgstr "" + +#~ msgid ":guilabel:`Cloud free`: Prioritizes images with zero or few clouds." +#~ msgstr "" + +#~ msgid ":guilabel:`Target date`: Prioritizes images that match the target date." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`Balanced`: Prioritizes images that " +#~ "maximize both cloud and target date." +#~ msgstr "" + +#~ msgid "This step is optional. SEPAL provides the following options by default:" +#~ msgstr "" + +#~ msgid "**Correction**: :guilabel:`SR`, :guilabel:`BRDF`" +#~ msgstr "" + +#~ msgid "**Pixel filters**: No filters" +#~ msgstr "" + +#~ msgid "**Cloud detection**: :guilabel:`QA bands`, :guilabel:`Cloud score`" +#~ msgstr "" + +#~ msgid "**Cloud buffering**: :guilabel:`None`" +#~ msgstr "" + +#~ msgid "**Snow masking**: :guilabel:`On`" +#~ msgstr "" + +#~ msgid "" +#~ "To create a mosaic, provide SEPAL " +#~ "with the compositing method to create" +#~ " the final image. See the following" +#~ " image for all possible compositing " +#~ "options available." +#~ msgstr "" + +#~ msgid "" +#~ "This will apply corrections on the " +#~ "stacked pixels to improve the quality" +#~ " of the mosaic." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`SR`: Surface reflectance improves " +#~ "comparison between multiple images over " +#~ "the same region by accounting for " +#~ "atmospheric effects such as aerosol " +#~ "scattering and thin clouds, which can" +#~ " help in the detection and " +#~ "characterization of Earth surface change. " +#~ "Top-of-atmosphere images are used " +#~ "if not selected." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`BRDF`: Uses a bidirectional " +#~ "reflectance distribution function (BRDF) model" +#~ " to characterize surface reflectance " +#~ "anisotropy. For a given land area, " +#~ "the BRDF is established based on " +#~ "selected multi-angular observations of " +#~ "surface reflectance." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`Calibrate`: Calibrates Sentinel and " +#~ "Landsat data to make them compatible." +#~ msgstr "" + +#~ msgid "Landsat and Sentinel data are mixed; and" +#~ msgstr "" + +#~ msgid "BRDF and surface reflectance (SR) corrections are disabled." +#~ msgstr "" + +#~ msgid "" +#~ "Activating any of the filters will " +#~ "remove some pixels from the stack. " +#~ "Removing pixels improves the quality of" +#~ " the mosaic, as they are not " +#~ "taken into account in the median " +#~ "value computation." +#~ msgstr "" + +#~ msgid "" +#~ "Each filter is applied iteratively (e.g." +#~ " if the normalized difference vegetation" +#~ " index [NDVI] is already filtering " +#~ "all pixels but one, there will be" +#~ " nothing left in the stack to " +#~ "be filtered by day of year)." +#~ msgstr "" + +#~ msgid "**Shadow**: Filters the XX percent darkest pixels of the stack." +#~ msgstr "" + +#~ msgid "" +#~ "**Haze**: Computes a haze index and " +#~ "filters the XX percent highest values." +#~ msgstr "" + +#~ msgid "" +#~ "**NDVI**: Computes the NDVI and only " +#~ "keeps the XX percent highest values." +#~ msgstr "" + +#~ msgid "" +#~ "**Day of the year**: Computes the " +#~ "distance from target day in days " +#~ "and filters out the XX percent " +#~ "farthest." +#~ msgstr "" + +#~ msgid "Cloud detection" +#~ msgstr "" + +#~ msgid "Refers to the algorithm used to detect clouds." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`QA bands`: Uses quality assessment" +#~ " (QA) bands to identify clouds in " +#~ "Sentinel data." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`Cloud score`: Uses the computed " +#~ "cloud score to identify clouds in " +#~ "Landsat data." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`Pino 26`: Uses the Pino_26 " +#~ "algorithm to identify clouds (for more" +#~ " information, see `D. Simonetti [2021] " +#~ "`__)." +#~ msgstr "" + +#~ msgid "" +#~ "This filter is only available for " +#~ "Sentinel exclusive source when both " +#~ ":guilabel:`BRDF` and :guilabel:`SR` correction " +#~ "are disabled." +#~ msgstr "" + +#~ msgid "" +#~ "Controls how clouds will be masked " +#~ "based on the cloud detection algorithm" +#~ " selected." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`off`: Uses cloud-free pixels " +#~ "if possible, but doesn't mask areas " +#~ "without cloud-free pixels." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`moderate`: Relies only on image " +#~ "source QA bands for cloud masking " +#~ "(a moderate threshold is used)." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`aggressive`: Relies on image source" +#~ " QA bands and a cloud scoring " +#~ "algorithm for cloud masking with an " +#~ "aggressive threshold (this will probably " +#~ "mask out some built-up areas and" +#~ " other bright features)." +#~ msgstr "" + +#~ msgid "" +#~ "When pixels are identified as clouds," +#~ " SEPAL can remove pixels in a " +#~ "small buffer around it to prevent " +#~ "hazy pixels at the borders of " +#~ "clouds to be included in the " +#~ "mosaic." +#~ msgstr "" + +#~ msgid "" +#~ "Buffering is done on the pixel " +#~ "level, so using this option will " +#~ "significantly increase the creation time " +#~ "of the mosaic." +#~ msgstr "" + +#~ msgid ":guilabel:`none`: Doesn't use cloud buffering." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`moderate`: Masks an additional " +#~ "**120 m** around each larger cloud." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`aggressive`: Masks an additional " +#~ "**600 m** around each larger cloud." +#~ msgstr "" + +#~ msgid "Snow masking" +#~ msgstr "" + +#~ msgid "Defines how snowy pixels will be masked." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`on`: Masks snow. This tends " +#~ "to leave some pixels with shadowy " +#~ "snow." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`off`: Doesn't mask snow. Note " +#~ "that some clouds might get misclassified" +#~ " as snow; therefore, disabling snow " +#~ "masking might lead to cloud artifacts." +#~ msgstr "" + +#~ msgid "" +#~ "After filtering the stack of pixels, " +#~ "SEPAL will compute the median value " +#~ "on the different bands of the " +#~ "image. The composing method will define" +#~ " how the final pixel value is " +#~ "extracted." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`Medoid`: Uses the closest pixel " +#~ "from the median value. As a real" +#~ " pixel from the stack, the final " +#~ "value will embed metadata (e.g. the " +#~ "date of observation)." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`Median`: Uses the computed value" +#~ " of the median. If no pixel is" +#~ " matching this value, the pixel will" +#~ " not embed any metadata. It tends " +#~ "to produce smoother mosaics." +#~ msgstr "" + +#~ msgid ":btn:``: auto-select scenes" +#~ msgstr "" + +#~ msgid "" +#~ "If you have not selected the " +#~ "option :guilabel:`Select scenes` in the " +#~ ":guilabel:`SCN` tab, the :icon:`fa-solid " +#~ "fa-wand-magic` button will be " +#~ "disabled and the scene areas will " +#~ "be hidden as no scene selection " +#~ "needs to be performed (see those " +#~ "with a number in a circle on " +#~ "the previous screenshot)." +#~ msgstr "" + +#~ msgid "" +#~ "Selecting the :icon:`fa-solid fa-" +#~ "wand-magic` tab will open the " +#~ "**Auto-selection** pane." +#~ msgstr "" + +#~ msgid "" +#~ "Move the sliders to select the " +#~ "minimum and the maximum number of " +#~ "scenes SEPAL should select in a " +#~ "tile. Then, select the :guilabel:`Validate`" +#~ " button to apply the auto-select " +#~ "method." +#~ msgstr "" + +#~ msgid "" +#~ "A small preview of the scene in" +#~ " the *red, blue, green* band " +#~ "combination." +#~ msgstr "" + +#~ msgid "" +#~ "You can decide to move the scene" +#~ " to the **Selected scene** area by" +#~ " selecting :icon:`fa-solid fa-" +#~ "plus`:guilabel:`Add` or moving it back " +#~ "to **Available scene** pane by selecting" +#~ " :icon:`fa-solid fa-minus` " +#~ ":guilabel:`Remove`." +#~ msgstr "" + +#~ msgid "" +#~ "You cannot export a recipe as an" +#~ " asset or a :code:`.tiff` file " +#~ "without a small computation quota. If" +#~ " you are a new user, see " +#~ ":doc:`../setup/resource`." +#~ msgstr "" + +#~ msgid "" +#~ "You need to select the band(s) to" +#~ " export with the mosaic. There is " +#~ "no maximum number of bands, but " +#~ "exporting useless bands will only " +#~ "increase the size and time of the" +#~ " output. To discover the full list" +#~ " of available bands with SEPAL, see" +#~ " :doc:`../feature/bands`." +#~ msgstr "" + +#~ msgid ":guilabel:`dayofyear`: the Julian calendar date (day of the year)" +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`dayfromtarget`: the distance to the" +#~ " target date within the season in " +#~ "days" +#~ msgstr "" + +#~ msgid "" +#~ "You can set a custom scale for " +#~ "exportation by changing the value of " +#~ "the slider in metres (m) (note " +#~ "that requesting a smaller resolution " +#~ "than images' native resolution will not" +#~ " improve the quality of the output" +#~ " – just its size – keep in " +#~ "mind that the native resolution of " +#~ "Sentinel data is 10 m, while " +#~ "Landsat is 30 m.)" +#~ msgstr "" + +#~ msgid "" +#~ "You can export the image to the" +#~ " :guilabel:`SEPAL workspace` or to the " +#~ ";guilabel:`Google Earth Engine Asset` folder." +#~ " The same image will be exported " +#~ "to both; however, for the former, " +#~ "you will find it in :code:`.tif` " +#~ "format in the :code:`Downloads` folder; " +#~ "for the latter, the image will be" +#~ " exported to your GEE account asset" +#~ " list." +#~ msgstr "" + +#~ msgid "" +#~ "If :guilabel:`Google Earth Engine Asset` " +#~ "is not displayed, it means that " +#~ "your GEE account is not connected " +#~ "to SEPAL. Please refer to `Connect " +#~ "SEPAL to GEE <../setup/gee.html>`__." +#~ msgstr "" + +#~ msgid "Select :guilabel:`Apply` to start the download process." +#~ msgstr "" + +#~ msgid "" +#~ "Now that you have downloaded the " +#~ "optical mosaic to your SEPAL and/or " +#~ "GEE account, it can be downloaded " +#~ "to your computer using `FileZilla " +#~ "<../setup.filezilla.html>`__ or used in other" +#~ " SEPAL workflows." +#~ msgstr "" + diff --git a/docs/source/_locale/ru/LC_MESSAGES/cookbook/time_series.po b/docs/source/_locale/ru/LC_MESSAGES/cookbook/time_series.po index 156af0426a..14a2b074ba 100644 --- a/docs/source/_locale/ru/LC_MESSAGES/cookbook/time_series.po +++ b/docs/source/_locale/ru/LC_MESSAGES/cookbook/time_series.po @@ -1,29 +1,29 @@ + msgid "" msgstr "" -"Project-Id-Version: sepal-doc\n" +"Project-Id-Version: sepal-doc\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-03-07 09:39+0100\n" -"PO-Revision-Date: 2024-03-07 08:59\n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: 2024-03-07 08:59+0000\n" "Last-Translator: \n" +"Language: ru_RU\n" "Language-Team: Russian\n" +"Plural-Forms: nplurals=4; plural=((n%10==1 && n%100!=11) ? 0 : ((n%10 >= " +"2 && n%10 <=4 && (n%100 < 12 || n%100 > 14)) ? 1 : ((n%10 == 0 || (n%10 " +">= 5 && n%10 <=9)) || (n%100 >= 11 && n%100 <= 14)) ? 2 : 3));\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.14.0\n" -"Plural-Forms: nplurals=4; plural=((n%10==1 && n%100!=11) ? 0 : ((n%10 >= 2 && n%10 <=4 && (n%100 < 12 || n%100 > 14)) ? 1 : ((n%10 == 0 || (n%10 >= 5 && n%10 <=9)) || (n%100 >= 11 && n%100 <= 14)) ? 2 : 3));\n" -"X-Crowdin-Project: sepal-doc\n" -"X-Crowdin-Project-ID: 562097\n" -"X-Crowdin-Language: ru\n" -"X-Crowdin-File: /main/docs/source/_locale/en/LC_MESSAGES/cookbook/time_series.po\n" -"X-Crowdin-File-ID: 75\n" -"Language: ru_RU\n" +"Generated-By: Babel 2.18.0\n" #: ../../source/cookbook/time_series.rst:2 msgid "Time series" msgstr "" #: ../../source/cookbook/time_series.rst:4 -msgid "*Create and retrieve SITS to study patterns and key changes in landscape evolution over time*" +msgid "" +"*Create and retrieve SITS to study patterns and key changes in landscape " +"evolution over time*" msgstr "" #: ../../source/cookbook/time_series.rst:7 @@ -31,23 +31,48 @@ msgid "Overview" msgstr "" #: ../../source/cookbook/time_series.rst:9 -msgid "A Satellite Image Time Series (SITS) is a set of satellite images taken of the same scene at different times. A SITS makes use of different satellite sources to obtain a larger data series with a short time interval between two images. In this case, it is fundamental to observe the spatial resolution and registration constraints." +msgid "" +"A Satellite Image Time Series (SITS) is a set of satellite images taken " +"of the same scene at different times. A SITS makes use of different " +"satellite sources to obtain a larger data series with a short time " +"interval between two images. In this case, it is fundamental to observe " +"the spatial resolution and registration constraints." msgstr "" #: ../../source/cookbook/time_series.rst:11 -msgid "Satellite observations offer opportunities for understanding how the Earth is changing, determining the causes of these changes and predicting future changes. Remotely sensed data, combined with information from ecosystem models, offer an opportunity for predicting and understanding the behaviour of Earth's ecosystems. Sensors with high spatial and temporal resolutions make the observation of precise spatio-temporal structures in dynamic scenes more accessible. Temporal components integrated with spectral and spatial dimensions allow the identification of complex patterns concerning applications connected with environmental monitoring and analysis of land cover dynamics." +msgid "" +"Satellite observations offer opportunities for understanding how the " +"Earth is changing, determining the causes of these changes and predicting" +" future changes. Remotely sensed data, combined with information from " +"ecosystem models, offer an opportunity for predicting and understanding " +"the behaviour of Earth's ecosystems. Sensors with high spatial and " +"temporal resolutions make the observation of precise spatio-temporal " +"structures in dynamic scenes more accessible. Temporal components " +"integrated with spectral and spatial dimensions allow the identification " +"of complex patterns concerning applications connected with environmental " +"monitoring and analysis of land cover dynamics." msgstr "" #: ../../source/cookbook/time_series.rst:13 -msgid "Change detection can only provide a \"before and after\" scenario; a time-series analysis provides an opportunity to study patterns and key changes in the landscape evolution over time." +msgid "" +"Change detection can only provide a \"before and after\" scenario; a " +"time-series analysis provides an opportunity to study patterns and key " +"changes in the landscape evolution over time." msgstr "" #: ../../source/cookbook/time_series.rst:15 -msgid "This SEPAL recipe allows users to create and retrieve SITS based on `Landsat `__ and `Copernicus `__ programmes' imagery using the Google Earth Engine (GEE) datacube." +msgid "" +"This SEPAL recipe allows users to create and retrieve SITS based on " +"`Landsat `__ and `Copernicus `__ programmes' " +"imagery using the Google Earth Engine (GEE) datacube." msgstr "" #: ../../source/cookbook/time_series.rst:19 -msgid "You won't be able to download images if your SEPAL and GEE account aren't connected. To learn more, go to `Connect SEPAL to GEE <../setup/gee.html>`__." +msgid "" +"You won't be able to download images if your SEPAL and GEE account aren't" +" connected. To learn more, go to `Connect SEPAL to GEE " +"<../setup/gee.html>`__." msgstr "" #: ../../source/cookbook/time_series.rst:22 @@ -55,15 +80,27 @@ msgid "Start" msgstr "" #: ../../source/cookbook/time_series.rst:24 -msgid "Once the **Time series** recipe is selected, SEPAL will open the recipe process in a new tab (see **1** in the following figure). The base map will change to Google high-resolution imagery and the **Area of interest (AOI)** selection window will appear in the lower right (**2**)." +msgid "" +"Once the **Time series** recipe is selected, SEPAL will open the recipe " +"process in a new tab (see **1** in the following figure). The base map " +"will change to Google high-resolution imagery and the **Area of interest " +"(AOI)** selection window will appear in the lower right (**2**)." msgstr "" #: ../../source/cookbook/time_series.rst:30 -msgid "The first step is to change the name of the recipe. This name will be used to identify your files and recipes in the SEPAL folders. Use the best-suited convention for your needs. Simply double-click the tab and enter a new name. It will default to :code:`Time_series___`." +msgid "" +"The first step is to change the name of the recipe. This name will be " +"used to identify your files and recipes in the SEPAL folders. Use the " +"best-suited convention for your needs. Simply double-click the tab and " +"enter a new name. It will default to " +":code:`Time_series___`." msgstr "" #: ../../source/cookbook/time_series.rst:42 -msgid "The SEPAL team recommends using the following naming convention: :code:`___` (e.g. :code:`sgp_2012-2018_ndfi_l78`)." +msgid "" +"The SEPAL team recommends using the following naming convention: " +":code:`___` (e.g. " +":code:`sgp_2012-2018_ndfi_l78`)." msgstr "" #: ../../source/cookbook/time_series.rst:45 @@ -72,7 +109,9 @@ msgid "Parameters" msgstr "" #: ../../source/cookbook/time_series.rst:47 -msgid "In the lower-right corner, four tabs are available, allowing you to customize the time series to your needs:" +msgid "" +"In the lower-right corner, four tabs are available, allowing you to " +"customize the time series to your needs:" msgstr "" #: ../../source/cookbook/time_series.rst:49 @@ -96,7 +135,9 @@ msgid "AOI selection" msgstr "" #: ../../source/cookbook/time_series.rst:61 -msgid "The data exported by the recipe will be confined to the bounds of the AOI. There are multiple ways to select the AOI in SEPAL:" +msgid "" +"The data exported by the recipe will be confined to the bounds of the " +"AOI. There are multiple ways to select the AOI in SEPAL:" msgstr "" #: ../../source/cookbook/time_series.rst:63 @@ -120,7 +161,12 @@ msgid "Dates" msgstr "" #: ../../source/cookbook/time_series.rst:76 -msgid "In the :guilabel:`DAT` tab, you will be asked to select the start date and end date of the time series. Select the **Date** text field to open a pop-up window. Choose the :btn:` Select` button to choose a date. When both dates have been chosen, select the :btn:` Apply` button." +msgid "" +"In the :guilabel:`DAT` tab, you will be asked to select the start date " +"and end date of the time series. Select the **Date** text field to open a" +" pop-up window. Choose the :btn:` Select` button to " +"choose a date. When both dates have been chosen, select the :btn:` Apply` button." msgstr "" #: ../../source/cookbook/time_series.rst:89 @@ -128,11 +174,18 @@ msgid "Sources" msgstr "" #: ../../source/cookbook/time_series.rst:91 -msgid "As mentioned in the introduction, a SITS makes use of different satellite sources to obtain a larger data series with a shorter time interval between the images. To meet this objective, SEPAL allows you to select data from multiple entry points. You can select multiple sources from :btn:`Radar`, :btn:`Optical` or :btn:`Planet` datasets." +msgid "" +"As mentioned in the introduction, a SITS makes use of different satellite" +" sources to obtain a larger data series with a shorter time interval " +"between the images. To meet this objective, SEPAL allows you to select " +"data from multiple entry points. You can select multiple sources from " +":btn:`Radar`, :btn:`Optical` or :btn:`Planet` datasets." msgstr "" #: ../../source/cookbook/time_series.rst:93 -msgid "When all of the data has been selected, select :btn:` Apply`." +msgid "" +"When all of the data has been selected, select :btn:` " +"Apply`." msgstr "" #: ../../source/cookbook/time_series.rst:100 @@ -160,7 +213,12 @@ msgid "Snow masking: :guilabel:`on`" msgstr "" #: ../../source/cookbook/time_series.rst:111 -msgid "Multiple pre-processing parameters can be set to improve the quality of the provided images. SEPAL has gathered four of them in the form of these interactive buttons. If you think others should be added, tell us in the `issue tracker `__." +msgid "" +"Multiple pre-processing parameters can be set to improve the quality of " +"the provided images. SEPAL has gathered four of them in the form of these" +" interactive buttons. If you think others should be added, tell us in the" +" `issue tracker " +"`__." msgstr "" #: ../../source/cookbook/time_series.rst:113 @@ -168,11 +226,15 @@ msgid "**Correction**" msgstr "" #: ../../source/cookbook/time_series.rst:115 -msgid ":guilabel:`Surface reflectance`: Use scenes' atmospherically corrected surface reflectance." +msgid "" +":guilabel:`Surface reflectance`: Use scenes' atmospherically corrected " +"surface reflectance." msgstr "" #: ../../source/cookbook/time_series.rst:116 -msgid ":guilabel:`BRDF correction`: Correct for bidirectional reflectance distribution function (BRDF) effects." +msgid "" +":guilabel:`BRDF correction`: Correct for bidirectional reflectance " +"distribution function (BRDF) effects." msgstr "" #: ../../source/cookbook/time_series.rst:118 @@ -180,7 +242,9 @@ msgid "**Cloud detection**" msgstr "" #: ../../source/cookbook/time_series.rst:120 -msgid ":guilabel:`QA bands`: Use previously created quality assessment (QA) bands from datasets." +msgid "" +":guilabel:`QA bands`: Use previously created quality assessment (QA) " +"bands from datasets." msgstr "" #: ../../source/cookbook/time_series.rst:121 @@ -192,11 +256,16 @@ msgid "**Cloud masking**" msgstr "" #: ../../source/cookbook/time_series.rst:125 -msgid ":guilabel:`Moderate`: Rely only on image source QA bands for cloud masking." +msgid "" +":guilabel:`Moderate`: Rely only on image source QA bands for cloud " +"masking." msgstr "" #: ../../source/cookbook/time_series.rst:126 -msgid ":guilabel:`Aggressive`: Rely on image source QA bands and a cloud-scoring algorithm for cloud masking (this will probably \"mask\" some built-up areas and other bright features)." +msgid "" +":guilabel:`Aggressive`: Rely on image source QA bands and a cloud-scoring" +" algorithm for cloud masking (this will probably \"mask\" some built-up " +"areas and other bright features)." msgstr "" #: ../../source/cookbook/time_series.rst:128 @@ -204,11 +273,16 @@ msgid "**Snow masking**" msgstr "" #: ../../source/cookbook/time_series.rst:130 -msgid ":guilabel:`On`: Mask snow (this tends to leave some pixels with shadowy snow)." +msgid "" +":guilabel:`On`: Mask snow (this tends to leave some pixels with shadowy " +"snow)." msgstr "" #: ../../source/cookbook/time_series.rst:131 -msgid ":guilabel:`Off`: Don't mask snow (some clouds might get misclassified as snow, and because of this, disabling snow masking might lead to cloud artefacts)." +msgid "" +":guilabel:`Off`: Don't mask snow (some clouds might get misclassified as " +"snow, and because of this, disabling snow masking might lead to cloud " +"artefacts)." msgstr "" #: ../../source/cookbook/time_series.rst:138 @@ -220,7 +294,11 @@ msgid "The wavelength of each band is dependent on the satellite used." msgstr "" #: ../../source/cookbook/time_series.rst:144 -msgid "The time series will use a single observation for each pixel. This observation can be one of the available bands in SEPAL. To discover the full list of available bands, see :doc:`../feature/bands`." +msgid "" +"The time series will use a single observation for each pixel. This " +"observation can be one of the available bands in SEPAL. To discover the " +"full list of available bands, see :doc:`../feature/optical_bands` and " +"`../feature/radar_bands`." msgstr "" #: ../../source/cookbook/time_series.rst:147 @@ -228,11 +306,16 @@ msgid "Analysis" msgstr "" #: ../../source/cookbook/time_series.rst:149 -msgid "Once all parameters are set, you can generate data from the recipe. Some can be directly generated on the fly from the interface; the rest require retrieving the data from SEPAL folders." +msgid "" +"Once all parameters are set, you can generate data from the recipe. Some " +"can be directly generated on the fly from the interface; the rest require" +" retrieving the data from SEPAL folders." msgstr "" #: ../../source/cookbook/time_series.rst:151 -msgid "The analysis icons can be found in the upper-right corner of the SEPAL interface:" +msgid "" +"The analysis icons can be found in the upper-right corner of the SEPAL " +"interface:" msgstr "" #: ../../source/cookbook/time_series.rst:153 @@ -244,7 +327,10 @@ msgid ":btn:``: Retrieve data." msgstr "" #: ../../source/cookbook/time_series.rst:162 -msgid "The **Download** icon is only enabled when the data parameters are complete. If the button is disabled, check your parameters, as some might be missing." +msgid "" +"The **Download** icon is only enabled when the data parameters are " +"complete. If the button is disabled, check your parameters, as some might" +" be missing." msgstr "" #: ../../source/cookbook/time_series.rst:165 @@ -252,7 +338,11 @@ msgid "Plot" msgstr "" #: ../../source/cookbook/time_series.rst:167 -msgid "Select :btn:`` to start the plotting tool. Move the pointer to the main map; the pointer will be transformed into a :icon:`fa-solid fa-plus`. Click anywhere in the AOI to plot data for this specific location in the following pop-up window." +msgid "" +"Select :btn:`` to start the plotting tool. Move " +"the pointer to the main map; the pointer will be transformed into a :icon" +":`fa-solid fa-plus`. Click anywhere in the AOI to plot data for this " +"specific location in the following pop-up window." msgstr "" #: ../../source/cookbook/time_series.rst:169 @@ -260,15 +350,23 @@ msgid "The plotting area is dynamic and can be customized by the user." msgstr "" #: ../../source/cookbook/time_series.rst:171 -msgid "Using the slider (1), the temporal width displayed can be changed. It cannot exceed the start and/or end date of the time series." +msgid "" +"Using the slider (1), the temporal width displayed can be changed. It " +"cannot exceed the start and/or end date of the time series." msgstr "" #: ../../source/cookbook/time_series.rst:173 -msgid "You can also select the observation feature by selecting one of the available measures in the dropdown selector in the upper-left corner (2). The available bands are the same as those described previously." +msgid "" +"You can also select the observation feature by selecting one of the " +"available measures in the dropdown selector in the upper-left corner (2)." +" The available bands are the same as those described previously." msgstr "" #: ../../source/cookbook/time_series.rst:175 -msgid "On the main graph, each point represents one valid observation (based on the pre-processing filters). Hover over the point to let the tooltip describe the value and date of the observation (3)." +msgid "" +"On the main graph, each point represents one valid observation (based on " +"the pre-processing filters). Hover over the point to let the tooltip " +"describe the value and date of the observation (3)." msgstr "" #: ../../source/cookbook/time_series.rst:179 @@ -276,7 +374,13 @@ msgid "The coordinates of the point are displayed at the top of the chart window msgstr "" #: ../../source/cookbook/time_series.rst:187 -msgid "Since the plot feature is retrieving information from GEE on the fly and presenting it in an interactive window, this operation can take time, depending on the number of available observations and the complexity of the selected pre-processing parameters. If a spinning wheel appears in the pop-up window, you may have to wait up to two minutes to see the data displayed." +msgid "" +"Since the plot feature is retrieving information from GEE on the fly and " +"presenting it in an interactive window, this operation can take time, " +"depending on the number of available observations and the complexity of " +"the selected pre-processing parameters. If a spinning wheel appears in " +"the pop-up window, you may have to wait up to two minutes to see the data" +" displayed." msgstr "" #: ../../source/cookbook/time_series.rst:194 @@ -284,27 +388,47 @@ msgid "Export" msgstr "" #: ../../source/cookbook/time_series.rst:196 -msgid "In order for the data generated by the recipe to be used in other workflows, it needs to be retrieved from GEE and uploaded to SEPAL." +msgid "" +"In order for the data generated by the recipe to be used in other " +"workflows, it needs to be retrieved from GEE and uploaded to SEPAL." msgstr "" #: ../../source/cookbook/time_series.rst:200 -msgid "You cannot export a recipe as an asset or a :code:`.tiff` file without a small computation quota. If you are a new user, see :doc:`../setup/resource`." +msgid "" +"You cannot export a recipe as an asset or a :code:`.tiff` file without a " +"small computation quota. If you are a new user, see " +":doc:`../setup/resource`." msgstr "" #: ../../source/cookbook/time_series.rst:204 -msgid "Select :btn:`` to open the **Download parameters** window. You will be able to select the measure to use on each observation of the time series. This measure can be selected in the list of available bands presented above in a previous section." +msgid "" +"Select :btn:`` to open the **Download " +"parameters** window. You will be able to select the measure to use on " +"each observation of the time series. This measure can be selected in the " +"list of available bands presented above in a previous section." msgstr "" #: ../../source/cookbook/time_series.rst:208 -msgid "There is no fixed rule to the measure selection. Each index is more adapted to a set of analyses in a defined biome. The knowledge of the study area, the evolution expected and the careful selection of an adapted measure will improve the quality of downstream analysis." +msgid "" +"There is no fixed rule to the measure selection. Each index is more " +"adapted to a set of analyses in a defined biome. The knowledge of the " +"study area, the evolution expected and the careful selection of an " +"adapted measure will improve the quality of downstream analysis." msgstr "" #: ../../source/cookbook/time_series.rst:210 -msgid "You can set a custom scale for exportation by changing the value of the slider in metres (m). Keep in mind that Sentinel data native resolution is 10 m and Landsat is 30 m." +msgid "" +"You can set a custom scale for exportation by changing the value of the " +"slider in metres (m). Keep in mind that Sentinel data native resolution " +"is 10 m and Landsat is 30 m." msgstr "" #: ../../source/cookbook/time_series.rst:212 -msgid "When all the data is selected, select the :btn:` apply` button. Notice that the task tab in the lower-left corner of the screen (1) will change from :btn:`` to :btn:``, meaning that the tasks are loading." +msgid "" +"When all the data is selected, select the :btn:` " +"apply` button. Notice that the task tab in the lower-left corner of the " +"screen (1) will change from :btn:`` to :btn:``, meaning that the tasks are loading." msgstr "" #: ../../source/cookbook/time_series.rst:220 @@ -312,15 +436,27 @@ msgid "Exportation status" msgstr "" #: ../../source/cookbook/time_series.rst:222 -msgid "By selecting the **Tasks** tab (lower-left corner using the :btn:`` or :btn:`` buttons, depending on the loading status), you will see the list of different tasks loading. The interface will provide you with information about the task progress and display an error if the exportation has failed. If you are unsatisfied with the way we present information, the task can also be monitored using the `GEE task manager `__." +msgid "" +"By selecting the **Tasks** tab (lower-left corner using the :btn:`` or :btn:`` buttons, depending " +"on the loading status), you will see the list of different tasks loading." +" The interface will provide you with information about the task progress " +"and display an error if the exportation has failed. If you are " +"unsatisfied with the way we present information, the task can also be " +"monitored using the `GEE task manager " +"`__." msgstr "" #: ../../source/cookbook/time_series.rst:226 -msgid "This operation is running between GEE and SEPAL servers in the background, so you can close the SEPAL page without ending the process." +msgid "" +"This operation is running between GEE and SEPAL servers in the " +"background, so you can close the SEPAL page without ending the process." msgstr "" #: ../../source/cookbook/time_series.rst:228 -msgid "When the task is finished, the frame will be displayed in green, as shown in the second image below." +msgid "" +"When the task is finished, the frame will be displayed in green, as shown" +" in the second image below." msgstr "" #: ../../source/cookbook/time_series.rst:241 @@ -328,43 +464,82 @@ msgid "Access" msgstr "" #: ../../source/cookbook/time_series.rst:243 -msgid "Once the download process is done, you can access the data in your **SEPAL folders** in :code:`Downloads`, using the following format:" +msgid "" +"Once the download process is done, you can access the data in your " +"**SEPAL folders** in :code:`Downloads`, using the following format:" msgstr "" #: ../../source/cookbook/time_series.rst:268 -msgid "Understanding how images are stored in a time series is only required if you want to manually use them. The SEPAL applications are bound to this tiling system and can digest this information for you." +msgid "" +"Understanding how images are stored in a time series is only required if " +"you want to manually use them. The SEPAL applications are bound to this " +"tiling system and can digest this information for you." msgstr "" #: ../../source/cookbook/time_series.rst:270 -msgid "The data are stored in a folder using the name of the time series as it was labeled in the first section of this document. The SEPAL team was forced to use this folder structure as GEE is unable to export an :code:`ee.ImageCollection`. As the data is spatially too big to be exported at once, they are divided into smaller pieces and reassembled in a :code:`stack.vrt` file." +msgid "" +"The data are stored in a folder using the name of the time series as it " +"was labeled in the first section of this document. The SEPAL team was " +"forced to use this folder structure as GEE is unable to export an " +":code:`ee.ImageCollection`. As the data is spatially too big to be " +"exported at once, they are divided into smaller pieces and reassembled in" +" a :code:`stack.vrt` file." msgstr "" #: ../../source/cookbook/time_series.rst:272 -msgid "The AOI provided by the user will be divided into multiple SEPAL tiles. The AOI is a :code:`ee.FeatureCollection`; each feature is downloaded in a different tile. If the tile is bigger than 2° x 2° (EPSG:4326), then the feature is divided again until all of the tiles are smaller than the maximum 2° size. The tiles are identified by their :code:``." +msgid "" +"The AOI provided by the user will be divided into multiple SEPAL tiles. " +"The AOI is a :code:`ee.FeatureCollection`; each feature is downloaded in " +"a different tile. If the tile is bigger than 2° x 2° (EPSG:4326), then " +"the feature is divided again until all of the tiles are smaller than the " +"maximum 2° size. The tiles are identified by their :code:``." msgstr "" #: ../../source/cookbook/time_series.rst:274 -msgid "To limit the size of the downloaded images, in each SEPAL tile, the time period is divided into **Chunks** of 3 months. They are identified by their :code:`_`. **Chunks** are image folders. As a SEPAL tile is still bigger than what GEE can download at once, the images are divided into GEE tiles. This tiling process uses its own identification system (000000xxxx-000000xxxx). Consequently, **Chunks** contain tile raster images. Each one of these images is composed of one band per observation date, with the value of the measure for each pixel. The bands are named with the date." +msgid "" +"To limit the size of the downloaded images, in each SEPAL tile, the time " +"period is divided into **Chunks** of 3 months. They are identified by " +"their :code:`_`. **Chunks** are image folders. As a " +"SEPAL tile is still bigger than what GEE can download at once, the images" +" are divided into GEE tiles. This tiling process uses its own " +"identification system (000000xxxx-000000xxxx). Consequently, **Chunks** " +"contain tile raster images. Each one of these images is composed of one " +"band per observation date, with the value of the measure for each pixel. " +"The bands are named with the date." msgstr "" #: ../../source/cookbook/time_series.rst:276 -msgid "To gather all these rasters together, a first aggregation on time is performed. One :code:`stack.vrt` is created per GEE tile, meaning that each :code:`stack.vrt` file contains all the :code:`*.tif` contained in each **Chunk**, reconstituting the full time period on the smallest spatial unit: the GEE tile. Each file is stored in a folder called :code:`tile-`." +msgid "" +"To gather all these rasters together, a first aggregation on time is " +"performed. One :code:`stack.vrt` is created per GEE tile, meaning that " +"each :code:`stack.vrt` file contains all the :code:`*.tif`" +" contained in each **Chunk**, reconstituting the full time period on the " +"smallest spatial unit: the GEE tile. Each file is stored in a folder " +"called :code:`tile-`." msgstr "" #: ../../source/cookbook/time_series.rst:278 -msgid "Finally, information is gathered spatially at the SEPAL tile level in the main :code:`stack.vrt` file." +msgid "" +"Finally, information is gathered spatially at the SEPAL tile level in the" +" main :code:`stack.vrt` file." msgstr "" #: ../../source/cookbook/time_series.rst:280 -msgid "The last file, :code:`date.csv`, gathers all the observation dates in chronological order." +msgid "" +"The last file, :code:`date.csv`, gathers all the observation dates in " +"chronological order." msgstr "" #: ../../source/cookbook/time_series.rst:284 -msgid "The dates contained in :code:`date.csv` can differ from one SEPAL tile to another, due to data availability and pre-processing filters." +msgid "" +"The dates contained in :code:`date.csv` can differ from one SEPAL tile to" +" another, due to data availability and pre-processing filters." msgstr "" #: ../../source/cookbook/time_series.rst:288 -msgid "The full folder with a consistent treefolder is required to read the `.vrt`" +msgid "" +"The full folder with a consistent treefolder is required to read the " +"`.vrt`" msgstr "" #: ../../source/cookbook/time_series.rst:290 @@ -372,7 +547,11 @@ msgid "Here is an example of a real TS folder:" msgstr "" #: ../../source/cookbook/time_series.rst:315 -msgid "Now that you have downloaded the TS to your SEPAL account, it can be downloaded to your computer using `FileZilla <../setup.filezilla.html>`__ or used in one of our `Time-series analysis modules <../modules/time-series.html>`__." +msgid "" +"Now that you have downloaded the TS to your SEPAL account, it can be " +"downloaded to your computer using `FileZilla <../setup.filezilla.html>`__" +" or used in one of our `Time-series analysis modules <../modules/time-" +"series.html>`__." msgstr "" #~ msgid "" @@ -961,3 +1140,12 @@ msgstr "" #~ "analysis modules <../modules/time-series.html>`__." #~ msgstr "" +#~ msgid "" +#~ "The time series will use a single" +#~ " observation for each pixel. This " +#~ "observation can be one of the " +#~ "available bands in SEPAL. To discover" +#~ " the full list of available bands," +#~ " see :doc:`../feature/bands`." +#~ msgstr "" + diff --git a/docs/source/_locale/ru/LC_MESSAGES/developers/apps/app_catalog.po b/docs/source/_locale/ru/LC_MESSAGES/developers/apps/app_catalog.po new file mode 100644 index 0000000000..a887db73e4 --- /dev/null +++ b/docs/source/_locale/ru/LC_MESSAGES/developers/apps/app_catalog.po @@ -0,0 +1,479 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: ru\n" +"Language-Team: ru \n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/developers/apps/app_catalog.rst:4 +msgid "Request a new app" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:5 +msgid "*Add your app to the SEPAL apps catalog so it appears on the platform*" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:8 +msgid "The catalog" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:10 +msgid "" +"The list of apps SEPAL runs lives in a dedicated repository, `dfguerrerom" +"/sepal-apps-catalog `__. For docker apps the catalog pins the exact commit SEPAL will" +" run; for jupyter apps it records the ``branch`` and SEPAL runs its tip. " +"Either way, adding or updating an app means opening a pull request " +"against this catalog, where a maintainer reviews the change before it " +"goes live." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:17 +msgid "The catalog ships two files:" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:19 +msgid "" +"``apps.test.json`` — apps available on test.sepal.io (the staging " +"environment used to validate changes before they reach end users)" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:21 +msgid "" +"``apps.prod.json`` — apps available on sepal.io (the production " +"environment)" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:23 +msgid "" +"New apps always land in ``apps.test.json`` first and are promoted to " +"``apps.prod.json`` only once they behave correctly on test.sepal.io." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:27 +msgid "Anatomy of a catalog entry" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:29 +msgid "" +"An app is a JSON object in the ``apps`` array. The schema only enforces " +"``id`` and ``label`` as universally required, plus a docker-specific " +"block — but the catalog convention is to **fill every field** so each " +"entry carries a complete dashboard listing. The only practical " +"exceptions:" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:34 +msgid "``port`` applies only to docker apps (and is required there)." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:35 +msgid "" +"For hidden kernel-only apps (see :ref:`developers_apps_kernels`) the " +"user-facing presentation fields (``description``, ``tagline``, " +"``logoRef``, ``projectLink``, ``author``, ``tags``) can be omitted, since" +" they are never shown." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:41 +msgid "Identification and routing" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:47 +#: ../../source/developers/apps/app_catalog.rst:84 +#: ../../source/developers/apps/app_catalog.rst:110 +#: ../../source/developers/apps/app_catalog.rst:144 +msgid "Field" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:48 +#: ../../source/developers/apps/app_catalog.rst:85 +#: ../../source/developers/apps/app_catalog.rst:111 +#: ../../source/developers/apps/app_catalog.rst:145 +msgid "When" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:49 +#: ../../source/developers/apps/app_catalog.rst:86 +#: ../../source/developers/apps/app_catalog.rst:112 +#: ../../source/developers/apps/app_catalog.rst:146 +msgid "Meaning" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:50 +msgid "``id``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:51 +#: ../../source/developers/apps/app_catalog.rst:54 +msgid "always (schema)" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:52 +msgid "Unique identifier across the catalog (``[A-Za-z0-9_.-]+``)." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:53 +msgid "``label``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:55 +msgid "Display name shown on the apps dashboard." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:56 +msgid "``endpoint``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:57 +#: ../../source/developers/apps/app_catalog.rst:62 +#: ../../source/developers/apps/app_catalog.rst:66 +#: ../../source/developers/apps/app_catalog.rst:69 +msgid "always" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:58 +msgid "" +"How SEPAL runs the app: ``jupyter`` or ``docker`` for new apps — " +"``shiny`` is legacy and ``rstudio`` is reserved for the built-in tool. " +"See :ref:`developers_apps_types`." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:61 +msgid "``repository``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:63 +msgid "" +"``https://github.com//`` of the app source. SEPAL clones it " +"to run the app." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:65 +msgid "``branch``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:67 +msgid "Branch the app tracks (commonly ``release``)." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:68 +msgid "``path``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:70 +msgid "" +"Entry point the app-launcher routes to. For jupyter, the Voila URL of the" +" notebook (e.g. " +"``/sandbox/jupyter/voila/render/shared/apps//ui.ipynb``); for " +"docker, **must equal** ``/api/app-launcher/`` exactly — the schema " +"enforces the prefix and ``check-docker-rules.js`` enforces that ```` " +"matches the entry's ``id``." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:78 +msgid "Docker-only fields" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:87 +msgid "``commit``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:88 +#: ../../source/developers/apps/app_catalog.rst:93 +msgid "docker only (schema)" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:89 +msgid "" +"Full 40-character lowercase commit SHA. Required for ``endpoint: " +"docker``; not allowed for other endpoints, which track the branch tip." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:92 +msgid "``port``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:94 +msgid "" +"Container port the docker app listens on. Integer 1–65535. Must be unique" +" across ``apps.test.json`` and ``apps.prod.json``; ``check-docker-" +"rules.js`` enforces this and prints ``Next free port: N`` on a violation." +" New apps take the next free port — ``max(existing_ports) + 1``." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:101 +msgid "Presentation" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:103 +msgid "" +"These fields populate the dashboard tile and the app's detail page. Skip " +"them *only* on hidden kernel-only entries." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:113 +msgid "``author``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:114 +#: ../../source/developers/apps/app_catalog.rst:117 +#: ../../source/developers/apps/app_catalog.rst:120 +#: ../../source/developers/apps/app_catalog.rst:123 +#: ../../source/developers/apps/app_catalog.rst:127 +#: ../../source/developers/apps/app_catalog.rst:130 +msgid "visible apps" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:115 +msgid "Who maintains the app (free-form string)." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:116 +msgid "``description``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:118 +msgid "Long-form description shown on the app's detail page." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:119 +msgid "``tagline``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:121 +msgid "One-line summary shown on the dashboard tile." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:122 +msgid "``logoRef``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:124 +msgid "Filename of the logo asset bundled with the catalog (e.g. ``my-app.svg``)." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:126 +msgid "``projectLink``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:128 +msgid "URL to the project's home page, docs, or upstream repository." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:129 +msgid "``tags``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:131 +msgid "" +"Array of tag values defined in the catalog's top-level ``tags`` block " +"(e.g. ``[\"TOOLS\", \"TIME_SERIES\"]``)." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:135 +msgid "Behaviour flags" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:137 +msgid "" +"Optional booleans that alter how the app is listed or launched. Defaults " +"are all ``false``." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:147 +msgid "``hidden``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:148 +#: ../../source/developers/apps/app_catalog.rst:152 +#: ../../source/developers/apps/app_catalog.rst:155 +#: ../../source/developers/apps/app_catalog.rst:158 +#: ../../source/developers/apps/app_catalog.rst:162 +msgid "optional" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:149 +msgid "" +"If ``true``, the app builds but does not show a dashboard tile. Used for " +"packaged kernels — see :ref:`developers_apps_kernels`." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:151 +msgid "``pinned``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:153 +msgid "Pin the app to the top of the dashboard." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:154 +msgid "``googleAccountRequired``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:156 +msgid "The app needs a connected Google account (e.g. for GEE)." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:157 +msgid "``single``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:159 +msgid "" +"Only one instance of this app can run at a time per user (used by the " +"built-in ``jupyter-notebook``, ``jupyter-lab`` and ``rstudio`` tools)." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:161 +msgid "``skip``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:163 +msgid "Temporarily skip building/serving this app without removing the entry." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:165 +msgid "" +"A typical jupyter entry — every field a user sees on the dashboard is " +"filled in:" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:187 +msgid "" +"A docker entry adds the docker-only ``commit``, ``port`` and the schema-" +"enforced ``/api/app-launcher/`` path; the presentation fields are the" +" same:" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:213 +msgid "Adding the app" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:215 +msgid "" +"Open a pull request adding your entry to ``apps.test.json``. The fastest " +"way is to edit the file directly on GitHub: `edit apps.test.json " +"`__. For a docker app, ``commit`` must " +"be a full 40-character SHA that exists on the declared ``branch``." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:220 +msgid "" +"The ``Validate catalog`` and ``Review helper`` workflows run " +"automatically. Validation is a blocking gate (schema, canonical " +"formatting, and — for docker apps — a check that the commit is reachable " +"from its branch). The review helper posts a single PR comment with a per-" +"app diff and *risk flags* (new dependencies, network calls, shell-outs) " +"to help maintainers review safely." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:226 +msgid "" +"A SEPAL maintainer reviews and merges. Once merged, the app appears on " +"test.sepal.io within minutes." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:228 +msgid "" +"When you are happy with its behaviour on test.sepal.io, promote it to " +"production — see `Promoting to production`_." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:232 +msgid "Promoting to production" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:234 +msgid "" +"Promotion copies the *exact same pinned reference* (commit for docker, " +"branch for the others) from ``apps.test.json`` into ``apps.prod.json``. " +"Two paths, either of which produces the same promotion PR for a " +"maintainer to merge:" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:239 +msgid "Self-service ``/promote`` comment (recommended)" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:241 +msgid "" +"The catalog has a single pinned issue titled *\"Promotion requests — " +"comment ``/promote `` here\"*, labeled ``promote-request``. Find " +"it in the catalog's `issues tab `__ " +"(there is only ever one) and comment:" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:251 +msgid "" +"The ``Promote app on /promote comment`` workflow then verifies the " +"commenter is authorized for the app's source repository and, if so, opens" +" the promotion PR. Authorization uses public GitHub data only:" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:255 +msgid "If the source repo is owned by a User, the commenter must equal that user." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:256 +msgid "" +"If it is owned by an Organization, the commenter must be a **public** " +"member of that org. If your membership is private, make it public at " +"``https://github.com/orgs//people`` or use the manual-PR path below." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:260 +msgid "A maintainer still merges the PR." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:263 +msgid "Manual PR" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:265 +msgid "" +"Open a pull request copying the entry's ``commit`` (or whole object) from" +" ``apps.test.json`` into ``apps.prod.json``. The same validation and " +"review checks run; a maintainer merges." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:270 +msgid "Working on the catalog locally" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:272 +msgid "" +"The catalog files use canonical ``JSON.stringify(parsed, null, 2)`` " +"formatting (2-space indent, one-element arrays expanded, trailing " +"newline). A ``.prettierignore`` keeps editor formatters off them, and CI " +"rejects PRs that don't match. Install the pre-commit hooks once so " +"problems are caught before they fail CI:" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:284 +msgid "To re-canonicalize a file before pushing:" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:292 +msgid "" +"The catalog's own ``docs/contributing.md`` and ``docs/ci.md`` document " +"every workflow, check, and script in detail." +msgstr "" + diff --git a/docs/source/_locale/ru/LC_MESSAGES/developers/apps/app_types.po b/docs/source/_locale/ru/LC_MESSAGES/developers/apps/app_types.po new file mode 100644 index 0000000000..d6f997f136 --- /dev/null +++ b/docs/source/_locale/ru/LC_MESSAGES/developers/apps/app_types.po @@ -0,0 +1,291 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: ru\n" +"Language-Team: ru \n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/developers/apps/app_types.rst:4 +msgid "Docker vs. Jupyter apps" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:5 +msgid "*The two endpoints you'll choose between, and where each one fits*" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:7 +msgid "" +"Every catalog entry declares an ``endpoint`` that tells SEPAL how to run " +"the app. For new apps the practical choice is between ``docker`` and " +"``jupyter``." +msgstr "" + +#: ../../source/developers/apps/app_types.rst:12 +msgid "" +"``shiny`` is a legacy endpoint and is no longer recommended for new apps " +"— package the same UX as a Jupyter/Voila app instead. ``rstudio`` is " +"reserved for the built-in RStudio tool. Both still work, but neither " +"should be picked for anything new." +msgstr "" + +#: ../../source/developers/apps/app_types.rst:18 +msgid "At a glance" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:25 +msgid "Docker app" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:26 +msgid "Jupyter app" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:27 +msgid "``endpoint``" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:28 +msgid "``docker``" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:29 +msgid "``jupyter``" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:30 +msgid "Where it runs" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:31 +msgid "Its own container, on its own port, on the shared SEPAL server" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:32 +msgid "Inside the user's own SEPAL instance (sandbox), served through Voila" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:33 +msgid "Where compute happens" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:34 +msgid "On the shared SEPAL server — all users hit the same instance" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:35 +msgid "On the user's own SEPAL instance, at the size they have provisioned" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:36 +msgid "Versioning" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:37 +msgid "Pinned to a commit SHA (required)" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:38 +msgid "Tracks the catalog's ``branch``; no commit pin" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:39 +msgid "Code location" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:40 +msgid "Cloned from ``repository`` into the container" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:41 +msgid "" +"Cloned from ``repository`` into the shared sandbox at ``/home/sepal-" +"user/shared/apps//``" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:43 +msgid "Isolation" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:44 +msgid "Strong — separate container and dependencies" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:45 +msgid "" +"Own micromamba kernel built from ``sepal_environment.yml`` (see " +":ref:`developers_apps_kernels`)" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:47 +msgid "Update trigger" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:48 +msgid "" +"Catalog PR bumps ``commit`` → app-launcher checks out that commit on the " +"next launch" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:50 +msgid "" +"app-manager refreshes the clone to the branch tip and rebuilds the kernel" +" if the env file changed" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:54 +msgid "Docker apps" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:56 +msgid "" +"A docker app lives in its own repository and runs in its own container " +"with a dedicated ``port`` on the shared SEPAL server. Because it is fully" +" isolated, the catalog schema requires ``repository``, ``branch``, " +"``commit``, ``port`` and ``path`` for every ``endpoint: docker`` entry." +msgstr "" + +#: ../../source/developers/apps/app_types.rst:61 +msgid "When SEPAL launches the app it runs the equivalent of:" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:68 +msgid "" +"That is why the pinned ``commit`` must be reachable from ``branch`` (see " +":ref:`developers_apps_releases`). The app's dependencies are baked into " +"its container, so its update cycle is independent of the rest of the " +"platform — it changes only when you bump its commit in the catalog." +msgstr "" + +#: ../../source/developers/apps/app_types.rst:73 +msgid "" +"Because the docker app runs on the shared SEPAL server, every user hits " +"the same instance. That makes docker a good fit for **lightweight, low-" +"compute apps that act as a single service for many users** — interfaces " +"over a small API, lookups, light visualizations, dashboards. It is *not* " +"a good fit for heavy per-user compute: there is only one container " +"backing all users." +msgstr "" + +#: ../../source/developers/apps/app_types.rst:80 +msgid "Jupyter apps" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:82 +msgid "" +"A jupyter app does not get its own container. Its code is cloned from the" +" ``repository`` into the shared sandbox under ``/home/sepal-" +"user/shared/apps//``, and its ``ui.ipynb`` notebook is rendered with" +" `Voila `__ (hence catalog paths such as " +"``/sandbox/jupyter/voila/render/shared/apps//ui.ipynb``). Crucially," +" it runs **inside each user's own SEPAL instance** — so the compute " +"budget is whatever the user has provisioned for themselves." +msgstr "" + +#: ../../source/developers/apps/app_types.rst:90 +msgid "" +"Versioning is by branch, not by commit: the app-manager keeps the cloned " +"``shared/apps//`` working tree on the tip of the catalog's " +"``branch`` and rebuilds the app's kernel whenever " +"``sepal_environment.yml`` (or ``requirements.txt``) changes — see " +":ref:`developers_apps_kernels`. Pushing to that branch is enough to ship " +"a new version; no catalog PR is required (the catalog PR is only needed " +"to *list* the app in the first place)." +msgstr "" + +#: ../../source/developers/apps/app_types.rst:97 +msgid "" +"Because compute lives on the user's instance, a jupyter app is the right " +"choice for **heavy, scalable, per-user workloads**: anything where the " +"user needs to be able to size their machine to the job — training " +"pipelines, large geospatial analyses, model inference, parallel " +"processing." +msgstr "" + +#: ../../source/developers/apps/app_types.rst:103 +msgid "When to use which" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:105 +msgid "A simple rule of thumb:" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:112 +msgid "Use ``docker``" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:113 +msgid "Use ``jupyter``" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:114 +msgid "Compute profile" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:115 +msgid "Light; same load no matter who is using it" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:116 +msgid "Heavy or variable; each user should be able to scale their own instance" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:118 +msgid "Usage pattern" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:119 +msgid "Single backend service serving many users" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:120 +msgid "Per-user notebook session, isolated per user" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:121 +msgid "Versioning needs" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:122 +msgid "You want strict, audited control of *exactly* which commit is live" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:123 +msgid "Push-to-branch is a fine release model" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:124 +msgid "Runtime needs" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:125 +msgid "Custom system stack, services, ports, or a non-Python runtime" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:126 +msgid "" +"Standard SEPAL geospatial / scientific Python stack (extended via " +"``sepal_environment.yml``)" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:129 +msgid "" +"If the answer to most of these points the same way, that's your endpoint." +" If the app is genuinely a notebook UI doing heavy compute, jupyter is " +"almost always the right pick — that is the most common pattern on SEPAL." +msgstr "" + diff --git a/docs/source/_locale/ru/LC_MESSAGES/developers/apps/index.po b/docs/source/_locale/ru/LC_MESSAGES/developers/apps/index.po new file mode 100644 index 0000000000..16fd66a26c --- /dev/null +++ b/docs/source/_locale/ru/LC_MESSAGES/developers/apps/index.po @@ -0,0 +1,73 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: ru\n" +"Language-Team: ru \n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/developers/apps/index.rst:48 +msgid "Docker vs. Jupyter apps" +msgstr "" + +#: ../../source/developers/apps/index.rst:48 +msgid "Request a new app" +msgstr "" + +#: ../../source/developers/apps/index.rst:48 +msgid "Request a new kernel" +msgstr "" + +#: ../../source/developers/apps/index.rst:48 +msgid "Create a release" +msgstr "" + +#: ../../source/developers/apps/index.rst:4 +msgid "Develop apps" +msgstr "" + +#: ../../source/developers/apps/index.rst:5 +msgid "*Build, release and publish your own apps on the SEPAL platform*" +msgstr "" + +#: ../../source/developers/apps/index.rst:7 +msgid "" +"These pages explain how SEPAL decides which app code to run and how that " +"code reaches the platform — useful when you want to add an app, ship a " +"new version of an existing one, or package a reusable environment for a " +"notebook or workflow." +msgstr "" + +#: ../../source/developers/apps/index.rst:14 +msgid "" +"The set of apps SEPAL runs is curated in the `dfguerrerom/sepal-apps-" +"catalog `__ " +"repository. Getting an app onto SEPAL — or updating one — means opening a" +" pull request there. For docker apps, the catalog also pins the *exact " +"commit* SEPAL will run; for jupyter apps, the catalog records the " +"``branch`` and SEPAL still runs the tip of that branch. The pages below " +"walk through both flows." +msgstr "" + +#: ../../source/developers/apps/index.rst:23 +msgid "How an app reaches SEPAL" +msgstr "" + +#: ../../source/developers/apps/index.rst:46 +msgid "Contents" +msgstr "" + diff --git a/docs/source/_locale/ru/LC_MESSAGES/developers/apps/kernels.po b/docs/source/_locale/ru/LC_MESSAGES/developers/apps/kernels.po new file mode 100644 index 0000000000..980b4b3c6b --- /dev/null +++ b/docs/source/_locale/ru/LC_MESSAGES/developers/apps/kernels.po @@ -0,0 +1,261 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: ru\n" +"Language-Team: ru \n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/developers/apps/kernels.rst:4 +msgid "Request a new kernel" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:5 +msgid "" +"*Package an environment once and share it with every SEPAL user as a " +"named Jupyter kernel*" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:7 +#, python-format +msgid "" +"A \"kernel\" in the SEPAL catalog is really just a special-purpose " +"jupyter app: the same catalog entry, the same :ref:`PR flow " +"`, the same :ref:`release lifecycle " +"`. The only difference is *intent* — " +"the deliverable is the environment (and, often, training notebooks and " +"data alongside it), not an app UI. If you have read " +":ref:`developers_apps_catalog`, you already know 90% of how to ship one." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:15 +msgid "Why request a kernel" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:17 +msgid "" +"Some notebooks need a large or unusual environment: a deep-learning " +"stack, a pinned GDAL build, a model with awkward native dependencies. " +"Asking every user — or every training participant — to build that " +"environment by hand is slow, fragile, and easy to get subtly wrong." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:22 +msgid "" +"A shared kernel solves that. You package the environment once, in a " +"repository; SEPAL builds it centrally and exposes it as a named Jupyter " +"kernel that lives in the shared sandbox. Every user then simply *selects*" +" that kernel for the relevant notebook — no per-user installation, and " +"everyone runs the same, reproducible environment." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:28 +msgid "This is the right approach when:" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:30 +msgid "" +"You are preparing a notebook or workflow for a training and want every " +"participant on an identical environment." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:32 +msgid "" +"A notebook needs heavy dependencies (GPU/ML, large geospatial stacks) " +"that are wasteful to rebuild per user." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:34 +msgid "You want a stable, named environment that several notebooks can share." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:36 +msgid "" +"It is *not* the right approach for quick, personal experiments. For an " +"environment only you need, build it yourself with :guilabel:`uv` or " +":guilabel:`micromamba` — see :ref:`env_management`." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:41 +msgid "It's the same flow as a jupyter app" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:43 +msgid "A kernel-only entry in the catalog is just a jupyter app that:" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:45 +msgid "has ``\"hidden\": true`` (no dashboard tile — see below), and" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:46 +msgid "ships a ``sepal_environment.yml`` at the root of its repository." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:48 +msgid "" +"Everything else — the PR against ``apps.test.json``, the validation and " +"review-helper workflows, the promotion to ``apps.prod.json`` — works " +"exactly as described in :ref:`developers_apps_catalog`." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:52 +msgid "" +"The one extra behaviour, which fires automatically whenever the app-" +"manager updates a jupyter app, is the kernel build itself: if the cloned " +"repository contains a ``sepal_environment.yml`` (or a legacy " +"``requirements.txt``), SEPAL builds an isolated environment from it and " +"registers it as a named Jupyter kernel. For a ``sepal_environment.yml`` " +"the build is, in essence:" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:63 +msgid "" +"The script then writes a ``kernel.json`` so the environment shows up in " +"JupyterLab as ``(venv) ``, and wires the geospatial " +"environment variables (``PROJ_LIB``, ``PROJ_DATA``, ``GDAL_DATA``) to the" +" environment's own data directories. The kernel is rebuilt only when the " +"environment file changes (the script compares timestamps against an " +"``.installed`` marker), so unchanged apps don't pay a rebuild cost on " +"every update." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:71 +msgid "Hiding the app" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:73 +msgid "" +"A packaged kernel usually has no dashboard UI of its own — it exists to " +"back *other* notebooks. Set ``\"hidden\": true`` on its catalog entry so " +"SEPAL builds the environment and registers the kernel without showing a " +"tile in the apps dashboard." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:81 +msgid "Ship notebooks and data alongside the kernel" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:83 +msgid "" +"The same clone the app-manager uses to build the kernel lands at ``/home" +"/sepal-user/shared/apps//`` **inside every user's sandbox**. " +"Anything you put in the repository is therefore reachable from every " +"user's JupyterLab — not just the ``sepal_environment.yml``." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:88 +msgid "" +"This makes the same mechanism useful for a second job: shipping " +"**training notebooks and supporting data** to a cohort of users. For a " +"workshop or a training, you can put the curriculum in the repo alongside " +"the environment file. Each participant gets the notebooks already on " +"their instance under ``shared/apps//``, with the matching " +"``(venv) `` kernel pre-built and ready to select — no per-" +"user clone, no per-user pip install, no \"it works on my machine\"." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:96 +msgid "Practical conventions for that case:" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:98 +msgid "" +"Keep notebook files at the top level (or in a clearly named subdirectory)" +" so participants can find them via ``shared/apps//``." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:100 +msgid "" +"Keep sample inputs in the repo only if they are small. For larger " +"datasets, point notebooks at a shared SEPAL location or an external URL " +"so the clone stays light." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:103 +msgid "" +"Tag a ``release`` branch for each cohort you run, so an in-flight push to" +" ``main`` does not surprise a session that is already underway. See " +":ref:`developers_apps_releases_branch`." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:107 +msgid "" +"The catalog entry itself stays the same — ``\"hidden\": true``, " +"``\"endpoint\": \"jupyter\"``, ``sepal_environment.yml`` in the repo. The" +" notebooks just ride along in the same clone." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:112 +msgid "Worked example: ``sepal-sam``" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:114 +msgid "" +"The catalog entry below is a real, hidden kernel app. Its description is " +"simply *\"SAM environment\"* — it ships the environment for SAM-based " +"notebooks and never appears in the dashboard:" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:130 +msgid "" +"Because the ``sepal-sam`` repository contains a " +"``sepal_environment.yml``, SEPAL builds its micromamba environment and " +"registers a ``(venv) Sepal SAM`` kernel. Any notebook a user opens can " +"then select that kernel and run against the SAM stack immediately." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:138 +msgid "Recommended: ``sepal_environment.yml``" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:140 +msgid "" +"Declare your kernel with a ``sepal_environment.yml`` at the root of the " +"app repository. It is a standard conda/micromamba environment file, and " +"it is the preferred way to define a SEPAL kernel because micromamba " +"bundles native libraries (GDAL, GEOS, CUDA, HDF5, …) inside the " +"environment — so it keeps working when SEPAL upgrades system-level " +"libraries. A plain ``requirements.txt`` is still supported for backward " +"compatibility, but it installs into a system-Python venv and can break on" +" platform upgrades." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:148 +msgid "A minimal example:" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:164 +msgid "" +"You do not need to add ``ipykernel`` yourself — SEPAL installs it into " +"the environment when it builds the kernel." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:167 +msgid "" +"Once the file is in your repository and the app is in the catalog (see " +":ref:`developers_apps_catalog`), every release that changes " +"``sepal_environment.yml`` triggers a rebuild of the shared kernel on the " +"next update." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:174 +msgid "" +":ref:`env_management` — managing your *own* environments and kernels " +"interactively, when you don't need a shared, centrally built one." +msgstr "" + diff --git a/docs/source/_locale/ru/LC_MESSAGES/developers/apps/releases.po b/docs/source/_locale/ru/LC_MESSAGES/developers/apps/releases.po new file mode 100644 index 0000000000..654cc6b5c7 --- /dev/null +++ b/docs/source/_locale/ru/LC_MESSAGES/developers/apps/releases.po @@ -0,0 +1,215 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: ru\n" +"Language-Team: ru \n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/developers/apps/releases.rst:4 +msgid "Create a release" +msgstr "" + +#: ../../source/developers/apps/releases.rst:5 +msgid "*Ship a new version of an app already in the SEPAL catalog*" +msgstr "" + +#: ../../source/developers/apps/releases.rst:7 +msgid "" +"Once your app is in the catalog (see :ref:`developers_apps_catalog`), the" +" way you ship a new version depends on the app's ``endpoint`` (see " +":ref:`developers_apps_types`):" +msgstr "" + +#: ../../source/developers/apps/releases.rst:11 +msgid "" +"**Jupyter apps** (and :ref:`kernels `, which are" +" just hidden jupyter apps) are not pinned to a commit. The app-manager " +"checks out the tip of the catalog's ``branch`` (defaulting to ``HEAD``) " +"every time the sandbox refreshes the app, so a release is just a push to " +"that branch in your source repository — no catalog change is needed." +msgstr "" + +#: ../../source/developers/apps/releases.rst:16 +msgid "" +"**Docker apps** are pinned in the catalog to an exact commit SHA. SEPAL " +"keeps running the old commit until that ``commit`` field is advanced, so " +"a release is, in practice, a pull request against the catalog." +msgstr "" + +#: ../../source/developers/apps/releases.rst:20 +msgid "The rest of this page describes each flow in turn." +msgstr "" + +#: ../../source/developers/apps/releases.rst:25 +msgid "Jupyter and kernel apps" +msgstr "" + +#: ../../source/developers/apps/releases.rst:27 +msgid "" +"These endpoints don't take a ``commit`` field in the catalog — only " +"``branch`` (which defaults to ``HEAD``). On every sandbox refresh the " +"app-manager runs the equivalent of ``git fetch`` + checkout of that " +"branch's tip, so whatever is at the head of the tracked branch is what " +"users get." +msgstr "" + +#: ../../source/developers/apps/releases.rst:33 +msgid "Releasing a new version" +msgstr "" + +#: ../../source/developers/apps/releases.rst:35 +msgid "" +"Push the change to the branch the catalog tracks for your app. The next " +"time the user's sandbox refreshes the app, the new tip is picked up " +"automatically. No catalog PR is required." +msgstr "" + +#: ../../source/developers/apps/releases.rst:42 +#: ../../source/developers/apps/releases.rst:68 +msgid "The release branch convention" +msgstr "" + +#: ../../source/developers/apps/releases.rst:44 +msgid "" +"Because every push to the tracked branch is effectively a release, most " +"contributors keep a dedicated ``release`` branch and pin ``\"branch\": " +"\"release\"`` in the catalog rather than ``main``. You develop on " +"``main`` and merge into ``release`` only when you intend to publish — " +"that way unreviewed work on ``main`` doesn't go live the moment it is " +"pushed." +msgstr "" + +#: ../../source/developers/apps/releases.rst:50 +msgid "" +"This is a convention, not a requirement. Any branch works; if you pin " +"``main``, every push to ``main`` is a release." +msgstr "" + +#: ../../source/developers/apps/releases.rst:56 +msgid "Docker apps" +msgstr "" + +#: ../../source/developers/apps/releases.rst:58 +msgid "" +"Docker apps carry a required ``commit`` SHA in the catalog. The app-" +"launcher runs ``git fetch origin `` followed by ``git checkout " +"--detach ``, so SEPAL only ever runs that exact commit — " +"regardless of what is at the tip of ``branch``. Shipping a new version " +"therefore means advancing the ``commit`` field in the catalog." +msgstr "" + +#: ../../source/developers/apps/releases.rst:64 +msgid "" +"There are two ways to do that: a manual pull request, or an automated " +"bump triggered when your source repository publishes a release." +msgstr "" + +#: ../../source/developers/apps/releases.rst:70 +msgid "" +"Many docker apps pin ``\"branch\": \"release\"`` rather than ``main``. " +"Since the catalog validation requires the pinned ``commit`` to be " +"reachable from ``branch``, keeping a dedicated ``release`` branch lets " +"you continue developing on ``main`` while controlling exactly which " +"commits are eligible to be pinned: you merge into ``release`` only when " +"you intend to publish, and that merge commit is the one you pin." +msgstr "" + +#: ../../source/developers/apps/releases.rst:77 +msgid "" +"This is a convention, not a requirement — any branch works as long as the" +" pinned commit is reachable from it." +msgstr "" + +#: ../../source/developers/apps/releases.rst:81 +msgid "Manual release" +msgstr "" + +#: ../../source/developers/apps/releases.rst:83 +msgid "" +"Push the code you want to ship and note the commit SHA on your release " +"branch." +msgstr "" + +#: ../../source/developers/apps/releases.rst:85 +msgid "" +"Open a PR against ``apps.test.json`` changing the ``commit`` field of " +"your app's entry (and ``branch`` if it moved)." +msgstr "" + +#: ../../source/developers/apps/releases.rst:87 +msgid "" +"The ``Review helper`` bot posts a compare link showing exactly what " +"changed upstream between the old and new commit, with risk flags. A " +"maintainer reviews and merges; the change goes live on test.sepal.io." +msgstr "" + +#: ../../source/developers/apps/releases.rst:90 +msgid "" +"Promote to sepal.io with a second PR against ``apps.prod.json`` (or the " +"``Promote app to production`` workflow)." +msgstr "" + +#: ../../source/developers/apps/releases.rst:95 +msgid "" +"Validation requires the new commit to be an *ancestor of* (or equal to) " +"the branch tip — exactly what the app-launcher needs, since it runs ``git" +" fetch origin `` then ``git checkout --detach ``. You can" +" spot-check this before opening the PR:" +msgstr "" + +#: ../../source/developers/apps/releases.rst:106 +msgid "Automated release from your source repo" +msgstr "" + +#: ../../source/developers/apps/releases.rst:108 +msgid "" +"The catalog can bump a docker app automatically when your repository " +"publishes a GitHub release. The catalog's ``update-from-release.yml`` " +"workflow listens for a ``repository_dispatch`` event of type ``bump-" +"app``; on receipt it updates the app's ``commit`` in ``apps.test.json`` " +"and opens a pull request for a maintainer to review." +msgstr "" + +#: ../../source/developers/apps/releases.rst:114 +msgid "" +"To wire this up, add a workflow to your app's repository that sends the " +"dispatch on release. The snippet below is a starting point — adjust the " +"app ``id`` and the catalog repository to match your setup:" +msgstr "" + +#: ../../source/developers/apps/releases.rst:139 +msgid "" +"The token must have permission to dispatch to the catalog repository. The" +" bump only updates ``commit`` — never ``branch`` — and still goes through" +" the normal validation, risk-flag review, and maintainer merge before " +"reaching test." +msgstr "" + +#: ../../source/developers/apps/releases.rst:145 +msgid "" +"The exact ``client_payload`` fields the catalog expects may evolve. " +"Confirm against the catalog's ``update-from-release.yml`` and " +"``docs/ci.md`` before relying on this in production." +msgstr "" + +#: ../../source/developers/apps/releases.rst:151 +msgid "" +"The end-to-end lifecycle diagram lives on the section landing page — " +":ref:`developers_apps`." +msgstr "" + diff --git a/docs/source/_locale/ru/LC_MESSAGES/developers/index.po b/docs/source/_locale/ru/LC_MESSAGES/developers/index.po new file mode 100644 index 0000000000..2fd3a7d992 --- /dev/null +++ b/docs/source/_locale/ru/LC_MESSAGES/developers/index.po @@ -0,0 +1,46 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: ru\n" +"Language-Team: ru \n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/developers/index.rst:11 +msgid "Command-line tools" +msgstr "" + +#: ../../source/developers/index.rst:11 +msgid "Develop apps" +msgstr "" + +#: ../../source/developers/index.rst:4 +msgid "For developers" +msgstr "" + +#: ../../source/developers/index.rst:5 +msgid "*Tools, conventions and workflows for building on the SEPAL platform*" +msgstr "" + +#: ../../source/developers/index.rst:7 +msgid "" +"This section is for developers and trainers working on SEPAL rather than " +"just using it: scripting against the sandbox from the command line, " +"packaging environments for shared use, and publishing apps that other " +"users can run." +msgstr "" + diff --git a/docs/source/_locale/ru/LC_MESSAGES/feature/index.po b/docs/source/_locale/ru/LC_MESSAGES/feature/index.po index e4b15ebfaa..9b3c70bb15 100644 --- a/docs/source/_locale/ru/LC_MESSAGES/feature/index.po +++ b/docs/source/_locale/ru/LC_MESSAGES/feature/index.po @@ -1,33 +1,55 @@ + msgid "" msgstr "" -"Project-Id-Version: sepal-doc\n" +"Project-Id-Version: sepal-doc\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-03-07 09:39+0100\n" -"PO-Revision-Date: 2024-03-07 08:59\n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: 2024-03-07 08:59+0000\n" "Last-Translator: \n" +"Language: ru_RU\n" "Language-Team: Russian\n" +"Plural-Forms: nplurals=4; plural=((n%10==1 && n%100!=11) ? 0 : ((n%10 >= " +"2 && n%10 <=4 && (n%100 < 12 || n%100 > 14)) ? 1 : ((n%10 == 0 || (n%10 " +">= 5 && n%10 <=9)) || (n%100 >= 11 && n%100 <= 14)) ? 2 : 3));\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.14.0\n" -"Plural-Forms: nplurals=4; plural=((n%10==1 && n%100!=11) ? 0 : ((n%10 >= 2 && n%10 <=4 && (n%100 < 12 || n%100 > 14)) ? 1 : ((n%10 == 0 || (n%10 >= 5 && n%10 <=9)) || (n%100 >= 11 && n%100 <= 14)) ? 2 : 3));\n" -"X-Crowdin-Project: sepal-doc\n" -"X-Crowdin-Project-ID: 562097\n" -"X-Crowdin-Language: ru\n" -"X-Crowdin-File: /main/docs/source/_locale/en/LC_MESSAGES/feature/index.po\n" -"X-Crowdin-File-ID: 81\n" -"Language: ru_RU\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/feature/index.rst:9 +msgid "Organize recipes" +msgstr "" + +#: ../../source/feature/index.rst:9 +msgid "AOI selection" +msgstr "" + +#: ../../source/feature/index.rst:9 +msgid "Optical bands" +msgstr "" + +#: ../../source/feature/index.rst:9 +msgid "Radar bands" +msgstr "" + +#: ../../source/feature/index.rst:9 +msgid "Visualization" +msgstr "" #: ../../source/feature/index.rst:2 msgid "Features" msgstr "" #: ../../source/feature/index.rst:3 -msgid "*Analyse, combine and visualize different types of data with SEPAL features*" +msgid "" +"*Analyse, combine and visualize different types of data with SEPAL " +"features*" msgstr "" #: ../../source/feature/index.rst:5 -msgid "Since these features can be accessed across various recipes and modules, they are described extensively in this section of the documentation." +msgid "" +"Since these features can be accessed across various recipes and modules, " +"they are described extensively in this section of the documentation." msgstr "" #: ../../source/feature/index.rst:7 diff --git a/docs/source/_locale/ru/LC_MESSAGES/feature/optical_bands.po b/docs/source/_locale/ru/LC_MESSAGES/feature/optical_bands.po new file mode 100644 index 0000000000..e71bc3a019 --- /dev/null +++ b/docs/source/_locale/ru/LC_MESSAGES/feature/optical_bands.po @@ -0,0 +1,954 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: ru\n" +"Language-Team: ru \n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/feature/optical_bands.rst:2 +msgid "Optical Satellite bands, transformations, and indices" +msgstr "" + +#: ../../source/feature/optical_bands.rst:4 +msgid "" +"When exporting an optical satellite image in SEPAL, you can choose from a" +" variety of bands, transformations, and indices to enhance your analysis " +"and visualization. Understanding the characteristics and applications of " +"different bands can help you optimize your image processing workflow and " +"extract valuable insights from satellite data." +msgstr "" + +#: ../../source/feature/optical_bands.rst:13 +msgid "Bands" +msgstr "" + +#: ../../source/feature/optical_bands.rst:15 +msgid "" +"Satellite imagery is composed of multiple bands, each capturing light in " +"specific wavelengths. Depending on the satellite sensor and mission, " +"SEPAL offers a range of bands that can be used for export and analysis." +msgstr "" + +#: ../../source/feature/optical_bands.rst:18 +msgid "Band" +msgstr "" + +#: ../../source/feature/optical_bands.rst:18 +msgid "Sentinel 2" +msgstr "" + +#: ../../source/feature/optical_bands.rst:18 +msgid "Landsat 9" +msgstr "" + +#: ../../source/feature/optical_bands.rst:18 +msgid "Landsat 8" +msgstr "" + +#: ../../source/feature/optical_bands.rst:18 +msgid "Landsat 7" +msgstr "" + +#: ../../source/feature/optical_bands.rst:18 +msgid "Landsat TM" +msgstr "" + +#: ../../source/feature/optical_bands.rst:20 +msgid "pan" +msgstr "" + +#: ../../source/feature/optical_bands.rst:20 +#: ../../source/feature/optical_bands.rst:22 +#: ../../source/feature/optical_bands.rst:32 +#: ../../source/feature/optical_bands.rst:34 +#: ../../source/feature/optical_bands.rst:36 +#: ../../source/feature/optical_bands.rst:38 +#: ../../source/feature/optical_bands.rst:44 +#: ../../source/feature/optical_bands.rst:46 +#: ../../source/feature/optical_bands.rst:48 +#: ../../source/feature/optical_bands.rst:50 +msgid "❌" +msgstr "" + +#: ../../source/feature/optical_bands.rst:20 +#: ../../source/feature/optical_bands.rst:22 +#: ../../source/feature/optical_bands.rst:24 +#: ../../source/feature/optical_bands.rst:26 +#: ../../source/feature/optical_bands.rst:28 +#: ../../source/feature/optical_bands.rst:30 +#: ../../source/feature/optical_bands.rst:32 +#: ../../source/feature/optical_bands.rst:34 +#: ../../source/feature/optical_bands.rst:36 +#: ../../source/feature/optical_bands.rst:38 +#: ../../source/feature/optical_bands.rst:40 +#: ../../source/feature/optical_bands.rst:42 +#: ../../source/feature/optical_bands.rst:44 +#: ../../source/feature/optical_bands.rst:46 +#: ../../source/feature/optical_bands.rst:48 +#: ../../source/feature/optical_bands.rst:50 +#: ../../source/feature/optical_bands.rst:52 +#: ../../source/feature/optical_bands.rst:54 +#: ../../source/feature/optical_bands.rst:56 +#: ../../source/feature/optical_bands.rst:58 +#: ../../source/feature/optical_bands.rst:60 +#: ../../source/feature/optical_bands.rst:62 +msgid "✅" +msgstr "" + +#: ../../source/feature/optical_bands.rst:22 +msgid "aerosol" +msgstr "" + +#: ../../source/feature/optical_bands.rst:24 +msgid "blue" +msgstr "" + +#: ../../source/feature/optical_bands.rst:26 +msgid "green" +msgstr "" + +#: ../../source/feature/optical_bands.rst:28 +msgid "red" +msgstr "" + +#: ../../source/feature/optical_bands.rst:30 +msgid "nir" +msgstr "" + +#: ../../source/feature/optical_bands.rst:32 +msgid "redEdge1" +msgstr "" + +#: ../../source/feature/optical_bands.rst:34 +msgid "redEdge2" +msgstr "" + +#: ../../source/feature/optical_bands.rst:36 +msgid "redEdge3" +msgstr "" + +#: ../../source/feature/optical_bands.rst:38 +msgid "redEdge4" +msgstr "" + +#: ../../source/feature/optical_bands.rst:40 +msgid "swir1" +msgstr "" + +#: ../../source/feature/optical_bands.rst:42 +msgid "swir2" +msgstr "" + +#: ../../source/feature/optical_bands.rst:44 +msgid "cirrus" +msgstr "" + +#: ../../source/feature/optical_bands.rst:46 +msgid "thermal" +msgstr "" + +#: ../../source/feature/optical_bands.rst:48 +msgid "thermal2" +msgstr "" + +#: ../../source/feature/optical_bands.rst:50 +msgid "waterVapor" +msgstr "" + +#: ../../source/feature/optical_bands.rst:52 +msgid "brightness" +msgstr "" + +#: ../../source/feature/optical_bands.rst:54 +msgid "greenness" +msgstr "" + +#: ../../source/feature/optical_bands.rst:56 +msgid "wetness" +msgstr "" + +#: ../../source/feature/optical_bands.rst:58 +msgid "fourth" +msgstr "" + +#: ../../source/feature/optical_bands.rst:60 +msgid "fifth" +msgstr "" + +#: ../../source/feature/optical_bands.rst:62 +msgid "sixth" +msgstr "" + +#: ../../source/feature/optical_bands.rst:66 +msgid "Description" +msgstr "" + +#: ../../source/feature/optical_bands.rst:68 +msgid "**Pan (Panchromatic)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:69 +msgid "" +"**Description**: Captures data in a single broad wavelength band, " +"offering higher spatial resolution." +msgstr "" + +#: ../../source/feature/optical_bands.rst:70 +#: ../../source/feature/optical_bands.rst:76 +#: ../../source/feature/optical_bands.rst:83 +#: ../../source/feature/optical_bands.rst:90 +#: ../../source/feature/optical_bands.rst:97 +#: ../../source/feature/optical_bands.rst:104 +#: ../../source/feature/optical_bands.rst:111 +#: ../../source/feature/optical_bands.rst:117 +#: ../../source/feature/optical_bands.rst:124 +#: ../../source/feature/optical_bands.rst:131 +#: ../../source/feature/optical_bands.rst:138 +#: ../../source/feature/optical_bands.rst:144 +msgid "**Wavelengths**:" +msgstr "" + +#: ../../source/feature/optical_bands.rst:71 +msgid "0.500-0.680 µm, only for Landsat." +msgstr "" + +#: ../../source/feature/optical_bands.rst:72 +msgid "**Usage**: High-resolution imaging for mapping and urban planning." +msgstr "" + +#: ../../source/feature/optical_bands.rst:74 +msgid "**Aerosol**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:75 +msgid "" +"**Description**: Used for detecting aerosols (tiny particles) in the " +"atmosphere, which can be crucial for air quality monitoring and climate " +"studies." +msgstr "" + +#: ../../source/feature/optical_bands.rst:77 +msgid "0.433-0.453 µm for Landsat 8 and 9." +msgstr "" + +#: ../../source/feature/optical_bands.rst:78 +msgid "0.443-0.463 µm for Sentinel-2." +msgstr "" + +#: ../../source/feature/optical_bands.rst:79 +msgid "**Usage**: Air pollution assessment, wildfire smoke tracking." +msgstr "" + +#: ../../source/feature/optical_bands.rst:81 +msgid "**Blue**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:82 +msgid "**Description**: Captures light in the blue wavelength." +msgstr "" + +#: ../../source/feature/optical_bands.rst:84 +msgid "0.450-0.510 µm for Landsat 8 and 9." +msgstr "" + +#: ../../source/feature/optical_bands.rst:85 +msgid "0.490-0.555 µm for Sentinel-2." +msgstr "" + +#: ../../source/feature/optical_bands.rst:86 +msgid "" +"**Usage**: Coastal water mapping, vegetation health monitoring, and " +"identification of shallow water bodies." +msgstr "" + +#: ../../source/feature/optical_bands.rst:88 +msgid "**Green**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:89 +msgid "**Description**: Captures light in the green wavelength." +msgstr "" + +#: ../../source/feature/optical_bands.rst:91 +msgid "0.530-0.590 µm for Landsat 8 and 9." +msgstr "" + +#: ../../source/feature/optical_bands.rst:92 +msgid "0.560-0.595 µm for Sentinel-2." +msgstr "" + +#: ../../source/feature/optical_bands.rst:93 +msgid "**Usage**: Mapping vegetation, water bodies, and urban areas." +msgstr "" + +#: ../../source/feature/optical_bands.rst:95 +msgid "**Red**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:96 +msgid "**Description**: Captures light in the red wavelength." +msgstr "" + +#: ../../source/feature/optical_bands.rst:98 +msgid "0.640-0.670 µm for Landsat 8 and 9." +msgstr "" + +#: ../../source/feature/optical_bands.rst:99 +msgid "0.665-0.695 µm for Sentinel-2." +msgstr "" + +#: ../../source/feature/optical_bands.rst:100 +msgid "" +"**Usage**: Vegetation analysis, especially in calculating vegetation " +"indices like NDVI." +msgstr "" + +#: ../../source/feature/optical_bands.rst:102 +msgid "**NIR (Near-Infrared)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:103 +msgid "**Description**: Captures light in the near-infrared spectrum." +msgstr "" + +#: ../../source/feature/optical_bands.rst:105 +msgid "0.850-0.880 µm for Landsat 8 and 9." +msgstr "" + +#: ../../source/feature/optical_bands.rst:106 +msgid "0.780-0.900 µm for Sentinel-2." +msgstr "" + +#: ../../source/feature/optical_bands.rst:107 +msgid "" +"**Usage**: Differentiating between vegetation and water, and monitoring " +"vegetation health." +msgstr "" + +#: ../../source/feature/optical_bands.rst:109 +msgid "**Red Edge (4)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:110 +msgid "" +"**Description**: 4 narrow Bands in the VNIR vegetation red edge spectral " +"domain: Red edge 1, Red edge 2, Red edge 3, Red edge 4, is a region of " +"the electromagnetic spectrum where the spectral reflectance of green " +"vegetation changes rapidly" +msgstr "" + +#: ../../source/feature/optical_bands.rst:112 +msgid "~704nm,~740nm, ~783nm and ~865nm, only for Sentinel-2." +msgstr "" + +#: ../../source/feature/optical_bands.rst:113 +msgid "" +"**Usage**: Detailed vegetation health monitoring, particularly for " +"precision agriculture." +msgstr "" + +#: ../../source/feature/optical_bands.rst:115 +msgid "**SWIR 1 (Shortwave Infrared 1)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:116 +#: ../../source/feature/optical_bands.rst:123 +msgid "**Description**: Captures light in the shortwave infrared spectrum." +msgstr "" + +#: ../../source/feature/optical_bands.rst:118 +msgid "1.570-1.650 µm for Landsat 8 and 9." +msgstr "" + +#: ../../source/feature/optical_bands.rst:119 +msgid "1.560-1.660 µm for Sentinel-2." +msgstr "" + +#: ../../source/feature/optical_bands.rst:120 +msgid "" +"**Usage**: Detecting moisture content in soil and vegetation, mapping " +"burned areas." +msgstr "" + +#: ../../source/feature/optical_bands.rst:122 +msgid "**SWIR 2 (Shortwave Infrared 2)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:125 +msgid "2.110-2.290 µm for Landsat 8 and 9." +msgstr "" + +#: ../../source/feature/optical_bands.rst:126 +msgid "2.100-2.280 µm for Sentinel-2." +msgstr "" + +#: ../../source/feature/optical_bands.rst:127 +msgid "" +"**Usage**: Distinguishing snow from clouds, mapping geological features, " +"and burn scars." +msgstr "" + +#: ../../source/feature/optical_bands.rst:129 +msgid "**Cirrus**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:130 +msgid "**Description**: A band designed to detect high-altitude cirrus clouds." +msgstr "" + +#: ../../source/feature/optical_bands.rst:132 +msgid "1.360-1.380 µm for Landsat 8 and 9." +msgstr "" + +#: ../../source/feature/optical_bands.rst:133 +msgid "1.360-1.390 µm for Sentinel-2." +msgstr "" + +#: ../../source/feature/optical_bands.rst:134 +msgid "" +"**Usage**: Cloud screening in high-altitude regions to improve " +"atmospheric correction." +msgstr "" + +#: ../../source/feature/optical_bands.rst:136 +msgid "**Thermal 1**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:137 +#: ../../source/feature/optical_bands.rst:143 +msgid "" +"**Description**: Measures thermal radiation emitted by the Earth's " +"surface." +msgstr "" + +#: ../../source/feature/optical_bands.rst:139 +msgid "10.60-11.19 µm for Landsat 8 and 9." +msgstr "" + +#: ../../source/feature/optical_bands.rst:140 +#: ../../source/feature/optical_bands.rst:146 +msgid "" +"**Usage**: Monitoring land surface temperature, detecting fires, and " +"assessing volcanic activity." +msgstr "" + +#: ../../source/feature/optical_bands.rst:142 +msgid "**Thermal 2**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:145 +msgid "11.50-12.51 µm for Landsat 8 and 9." +msgstr "" + +#: ../../source/feature/optical_bands.rst:148 +msgid "**Water Vapor**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:149 +msgid "" +"**Description**: Sensitive to atmospheric water vapor absorption, " +"commonly used for weather and climate studies." +msgstr "" + +#: ../../source/feature/optical_bands.rst:150 +msgid "**Usage**: Studying cloud formation, precipitation, and humidity levels." +msgstr "" + +#: ../../source/feature/optical_bands.rst:154 +msgid "Tasseled Cap Transformation" +msgstr "" + +#: ../../source/feature/optical_bands.rst:156 +msgid "" +"The Tasseled Cap Transformation is a method to transform satellite " +"imagery into three brightness components (Brightness, Greenness, and " +"Wetness) and three color components (Red, Green, and Blue). This " +"transformation is particularly useful for analyzing land cover changes, " +"vegetation health, and urban development over time." +msgstr "" + +#: ../../source/feature/optical_bands.rst:158 +msgid "**Brightness**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:159 +msgid "" +"**Description**: Measures the brightness band measures the overall " +"brightness of the image, specifically the soil." +msgstr "" + +#: ../../source/feature/optical_bands.rst:160 +msgid "" +"**Usage**: this band is often used to identify bare or partially covered " +"soil, man-made features, and natural features like asphalt, concrete, " +"gravel, and rock outcrops." +msgstr "" + +#: ../../source/feature/optical_bands.rst:162 +msgid "**Greenness**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:163 +msgid "" +"**Description**: Measures the density and health of vegetation by " +"capitalizing on the chlorophyll absorption in the red band and the high " +"reflectance in the near-infrared band. It enhances the contrast between " +"vegetated areas and non-vegetated areas." +msgstr "" + +#: ../../source/feature/optical_bands.rst:164 +msgid "" +"**Usage**: Widely used in assessing plant health, monitoring crop " +"conditions, tracking forest cover changes, and managing natural " +"resources." +msgstr "" + +#: ../../source/feature/optical_bands.rst:166 +msgid "**Wetness**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:167 +msgid "" +"**Description**: Captures moisture content in both soil and vegetation. " +"This band is sensitive to the moisture continuum from dry to wet " +"surfaces, helping to differentiate moist soils and saturated vegetation " +"from dry areas." +msgstr "" + +#: ../../source/feature/optical_bands.rst:168 +msgid "" +"**Usage**: Important for identifying wetlands, managing irrigation in " +"agriculture, detecting flood-prone areas, and conducting soil moisture " +"studies." +msgstr "" + +#: ../../source/feature/optical_bands.rst:170 +msgid "**Fourth Component**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:171 +msgid "" +"**Description**: Often calibrated to highlight additional properties of " +"vegetation or soil, such as senescence or specific soil types. The exact " +"nature of this band can vary depending on the coefficients and sensor " +"used." +msgstr "" + +#: ../../source/feature/optical_bands.rst:172 +msgid "" +"**Usage**: Can be used to differentiate between types of vegetation or " +"stages of crop maturity, and to detect stressed vegetation in forestry " +"and agriculture." +msgstr "" + +#: ../../source/feature/optical_bands.rst:174 +msgid "**Fifth Component**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:175 +msgid "" +"**Description**: Typically emphasizes land disturbance or variability in " +"land cover types, providing a finer distinction between different types " +"of ground cover and land use." +msgstr "" + +#: ../../source/feature/optical_bands.rst:176 +msgid "" +"**Usage**: Useful in monitoring land cover changes over time, detecting " +"disturbances like deforestation or urban expansion, and enhancing land " +"cover classification schemes." +msgstr "" + +#: ../../source/feature/optical_bands.rst:178 +msgid "**Sixth Component**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:179 +msgid "" +"**Description**: This band often captures more subtle or residual " +"information that the other bands do not emphasize. It can be less " +"directly interpretable and might be seen as highlighting noise or " +"anomalies in the data." +msgstr "" + +#: ../../source/feature/optical_bands.rst:180 +msgid "" +"**Usage**: Potentially useful for detecting subtle ecological changes, " +"analyzing noise in the data for improved image processing, and refining " +"classifications by providing additional context." +msgstr "" + +#: ../../source/feature/optical_bands.rst:184 +msgid "Vegetation Indices" +msgstr "" + +#: ../../source/feature/optical_bands.rst:186 +msgid "" +"Vegetation indices are mathematical transformations of satellite data " +"that highlight specific vegetation properties, such as chlorophyll " +"content, leaf area, or vegetation health. These indices are widely used " +"in agriculture, forestry, and environmental monitoring to assess plant " +"growth, detect stress, and monitor land cover changes." +msgstr "" + +#: ../../source/feature/optical_bands.rst:188 +msgid "**NDVI (Normalized Difference Vegetation Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:189 +msgid "" +"**Description**: Measures the density and health of vegetation by " +"calculating the difference between the near-infrared (NIR) and red light " +"reflected by vegetation. Healthy vegetation absorbs most of the visible " +"light and reflects a large portion of the NIR." +msgstr "" + +#: ../../source/feature/optical_bands.rst:190 +msgid "" +"**Usage**: Used to assess vegetation health, monitor drought, and manage " +"agricultural operations." +msgstr "" + +#: ../../source/feature/optical_bands.rst:191 +msgid "**Formula**: (NIR - Red) / (NIR + Red)" +msgstr "" + +#: ../../source/feature/optical_bands.rst:193 +msgid "**NDMI (Normalized Difference Moisture Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:194 +msgid "" +"**Description**: Highlights moisture content in vegetation by utilizing " +"the NIR and short-wave infrared (SWIR1) bands. It is sensitive to " +"moisture content in vegetation." +msgstr "" + +#: ../../source/feature/optical_bands.rst:195 +msgid "" +"**Usage**: Useful in monitoring vegetation hydration and managing " +"irrigation in agricultural contexts." +msgstr "" + +#: ../../source/feature/optical_bands.rst:196 +msgid "**Formula**: (NIR - SWIR1) / (NIR + SWIR1)" +msgstr "" + +#: ../../source/feature/optical_bands.rst:198 +msgid "**NDWI (Normalized Difference Water Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:199 +msgid "" +"**Description**: Designed to identify and monitor changes in water " +"content in vegetation, leveraging the green and NIR bands to maximize the" +" reflection differences." +msgstr "" + +#: ../../source/feature/optical_bands.rst:200 +msgid "" +"**Usage**: Employed in monitoring water stress in crops, detecting water " +"bodies, and managing wetland areas." +msgstr "" + +#: ../../source/feature/optical_bands.rst:201 +msgid "**Formula**: (Green - NIR) / (Green + NIR)" +msgstr "" + +#: ../../source/feature/optical_bands.rst:203 +msgid "**MNDWI (Modified Normalized Difference Water Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:204 +msgid "" +"**Description**: Enhances the detection of surface water by using the " +"green and SWIR1 bands, reducing the influence of built-up land that can " +"be confused with water in traditional NDWI." +msgstr "" + +#: ../../source/feature/optical_bands.rst:205 +msgid "" +"**Usage**: Used to map and monitor surface water bodies, crucial for " +"flood mapping and water resource management." +msgstr "" + +#: ../../source/feature/optical_bands.rst:206 +msgid "**Formula**: (Green - SWIR1) / (Green + SWIR1)" +msgstr "" + +#: ../../source/feature/optical_bands.rst:208 +msgid "**NDFI (Normalized Difference Fraction Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:209 +msgid "" +"**Description**: Typically used to distinguish between different types of" +" vegetation and non-vegetation elements, providing a measure of " +"vegetation cover fraction." +msgstr "" + +#: ../../source/feature/optical_bands.rst:210 +msgid "" +"**Usage**: Utilized in forest management and land cover classification " +"tasks." +msgstr "" + +#: ../../source/feature/optical_bands.rst:211 +msgid "**Formula**: Index-specific, varies based on application." +msgstr "" + +#: ../../source/feature/optical_bands.rst:213 +msgid "**EVI (Enhanced Vegetation Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:214 +msgid "" +"**Description**: Improves the NDVI by optimizing the vegetation signal " +"with improved sensitivity in high biomass regions and reducing background" +" and atmospheric noise." +msgstr "" + +#: ../../source/feature/optical_bands.rst:215 +msgid "" +"**Usage**: Frequently used in areas where vegetation monitoring requires " +"greater sensitivity to biomass." +msgstr "" + +#: ../../source/feature/optical_bands.rst:216 +msgid "**Formula**: 2.5 * (NIR - Red) / (NIR + 6 * Red - 7.5 * Blue + 1)" +msgstr "" + +#: ../../source/feature/optical_bands.rst:218 +msgid "**EVI2 (Enhanced Vegetation Index 2)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:219 +msgid "" +"**Description**: A refinement of EVI that uses only red and NIR bands, " +"designed for areas where blue band data may not be reliable." +msgstr "" + +#: ../../source/feature/optical_bands.rst:220 +msgid "" +"**Usage**: Ideal for vegetation monitoring through dense atmosphere or " +"where the blue band is unavailable." +msgstr "" + +#: ../../source/feature/optical_bands.rst:221 +msgid "**Formula**: 2.5 * (NIR - Red) / (NIR + 2.4 * Red + 1)" +msgstr "" + +#: ../../source/feature/optical_bands.rst:223 +msgid "**SAVI (Soil-Adjusted Vegetation Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:224 +msgid "" +"**Description**: Adjusts the NDVI for the influence of soil brightness, " +"particularly useful in areas with sparse vegetation where soil is " +"visible." +msgstr "" + +#: ../../source/feature/optical_bands.rst:225 +msgid "" +"**Usage**: Applied in semi-arid regions to improve the accuracy of " +"vegetation assessments." +msgstr "" + +#: ../../source/feature/optical_bands.rst:226 +msgid "**Formula**: (1.5 * (NIR - Red) / (NIR + Red + 0.5))" +msgstr "" + +#: ../../source/feature/optical_bands.rst:228 +msgid "**NBR (Normalized Burn Ratio)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:229 +msgid "" +"**Description**: Utilizes NIR and SWIR2 bands to assess the severity of " +"burn damage and the delineation of burned areas." +msgstr "" + +#: ../../source/feature/optical_bands.rst:230 +msgid "" +"**Usage**: Key for assessing post-fire recovery in forested areas and " +"mapping burn severity." +msgstr "" + +#: ../../source/feature/optical_bands.rst:231 +msgid "**Formula**: (NIR - SWIR2) / (NIR + SWIR2)" +msgstr "" + +#: ../../source/feature/optical_bands.rst:233 +msgid "**MVI (Mangrove Vegetation Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:234 +msgid "" +"**Description**: Specifically designed to enhance the detection and " +"monitoring of mangrove forests by using NIR and green bands." +msgstr "" + +#: ../../source/feature/optical_bands.rst:235 +msgid "" +"**Usage**: Used in coastal management and conservation of mangrove " +"ecosystems." +msgstr "" + +#: ../../source/feature/optical_bands.rst:236 +msgid "**Formula**: 0.1 * (NIR - Green) / abs(SWIR1 - Green)" +msgstr "" + +#: ../../source/feature/optical_bands.rst:238 +msgid "**UI (Urban Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:239 +msgid "" +"**Description**: Highlights urban areas by exploiting the differences in " +"reflection between SWIR2 and NIR bands." +msgstr "" + +#: ../../source/feature/optical_bands.rst:240 +msgid "" +"**Usage**: Useful for urban mapping and monitoring changes in urban land " +"use." +msgstr "" + +#: ../../source/feature/optical_bands.rst:241 +msgid "**Formula**: (SWIR2 - NIR) / (SWIR2 + NIR)" +msgstr "" + +#: ../../source/feature/optical_bands.rst:243 +msgid "**NDBI (Normalized Difference Built-up Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:244 +msgid "" +"**Description**: Differentiates urban and built-up areas from natural " +"land cover by using NIR and SWIR1 bands." +msgstr "" + +#: ../../source/feature/optical_bands.rst:245 +msgid "**Usage**: Employed in urban planning and studying urban heat islands." +msgstr "" + +#: ../../source/feature/optical_bands.rst:246 +msgid "**Formula**: (SWIR1 - NIR) / (SWIR1 + NIR)" +msgstr "" + +#: ../../source/feature/optical_bands.rst:248 +msgid "**IBI (Index-based Built-up Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:249 +msgid "" +"**Description**: Combines NDBI with SAVI and MNDWI to provide a more " +"comprehensive measure of built-up areas." +msgstr "" + +#: ../../source/feature/optical_bands.rst:250 +msgid "**Usage**: Useful in detailed urban analysis and land use classification." +msgstr "" + +#: ../../source/feature/optical_bands.rst:251 +msgid "**Formula**: (NDBI - (SAVI + MNDWI) / 2) / (NDBI + (SAVI + MNDWI) / 2)" +msgstr "" + +#: ../../source/feature/optical_bands.rst:253 +msgid "**NBI (New Built-up Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:254 +msgid "" +"**Description**: Employs red, NIR, and SWIR1 bands to enhance the " +"detection of built-up areas." +msgstr "" + +#: ../../source/feature/optical_bands.rst:255 +msgid "**Usage**: Applied in urban growth monitoring and land use planning." +msgstr "" + +#: ../../source/feature/optical_bands.rst:256 +msgid "**Formula**: Red * SWIR1 / NIR" +msgstr "" + +#: ../../source/feature/optical_bands.rst:258 +msgid "**EBBI (Enhanced Built-Up and Bareness Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:259 +msgid "" +"**Description**: Focuses on urban areas and bare land by incorporating " +"thermal and SWIR1 bands to detect built-up regions." +msgstr "" + +#: ../../source/feature/optical_bands.rst:260 +msgid "" +"**Usage**: Crucial for urban mapping and identifying heat-stressed areas " +"in cities." +msgstr "" + +#: ../../source/feature/optical_bands.rst:261 +msgid "**Formula**: (SWIR1 - NIR) / (10 * sqrt(SWIR1 + Thermal))" +msgstr "" + +#: ../../source/feature/optical_bands.rst:263 +msgid "**BUI (Built-Up Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:264 +msgid "" +"**Description**: Combines multiple SWIR bands to enhance the detection " +"and differentiation of built-up areas." +msgstr "" + +#: ../../source/feature/optical_bands.rst:265 +msgid "" +"**Usage**: Employed in urban and regional planning to delineate built-up " +"from natural areas." +msgstr "" + +#: ../../source/feature/optical_bands.rst:266 +msgid "" +"**Formula**: (Red - SWIR1) / (Red + SWIR1) + (SWIR2 - SWIR1) / (SWIR2 + " +"SWIR1)" +msgstr "" + +#: ../../source/feature/optical_bands.rst:268 +msgid "**KNDVI (Kernel Normalized Difference Vegetation Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:269 +msgid "" +"**Description**: Applies a kernel function to traditional NDVI to improve" +" sensitivity and accuracy in vegetation monitoring." +msgstr "" + +#: ../../source/feature/optical_bands.rst:270 +msgid "" +"**Usage**: Used in precision agriculture and detailed vegetation studies " +"where standard NDVI is not sufficient." +msgstr "" + +#: ../../source/feature/optical_bands.rst:271 +msgid "" +"**Formula**: Kernel-function applied to NDVI, specific implementation " +"details vary." +msgstr "" + diff --git a/docs/source/_locale/ru/LC_MESSAGES/feature/project.po b/docs/source/_locale/ru/LC_MESSAGES/feature/project.po index 75227ad46a..f6924a3c15 100644 --- a/docs/source/_locale/ru/LC_MESSAGES/feature/project.po +++ b/docs/source/_locale/ru/LC_MESSAGES/feature/project.po @@ -1,33 +1,36 @@ + msgid "" msgstr "" -"Project-Id-Version: sepal-doc\n" +"Project-Id-Version: sepal-doc\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-03-07 09:39+0100\n" -"PO-Revision-Date: 2024-03-07 08:59\n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: 2024-03-07 08:59+0000\n" "Last-Translator: \n" +"Language: ru_RU\n" "Language-Team: Russian\n" +"Plural-Forms: nplurals=4; plural=((n%10==1 && n%100!=11) ? 0 : ((n%10 >= " +"2 && n%10 <=4 && (n%100 < 12 || n%100 > 14)) ? 1 : ((n%10 == 0 || (n%10 " +">= 5 && n%10 <=9)) || (n%100 >= 11 && n%100 <= 14)) ? 2 : 3));\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.14.0\n" -"Plural-Forms: nplurals=4; plural=((n%10==1 && n%100!=11) ? 0 : ((n%10 >= 2 && n%10 <=4 && (n%100 < 12 || n%100 > 14)) ? 1 : ((n%10 == 0 || (n%10 >= 5 && n%10 <=9)) || (n%100 >= 11 && n%100 <= 14)) ? 2 : 3));\n" -"X-Crowdin-Project: sepal-doc\n" -"X-Crowdin-Project-ID: 562097\n" -"X-Crowdin-Language: ru\n" -"X-Crowdin-File: /main/docs/source/_locale/en/LC_MESSAGES/feature/project.po\n" -"X-Crowdin-File-ID: 83\n" -"Language: ru_RU\n" +"Generated-By: Babel 2.18.0\n" #: ../../source/feature/project.rst:2 -msgid "Recipe projects" +msgid "Organize Recipes by projects" msgstr "" #: ../../source/feature/project.rst:4 -msgid "When interacting with SEPAL processes, a user creates **Recipes**, which can work together and be interconnected inside a single project (e.g. :code:`Mosaics` used in a :code:`Classification`)." +msgid "" +"When interacting with SEPAL processes, a user creates **Recipes**, which " +"can work together and be interconnected inside a single project (e.g. " +":code:`Mosaics` used in a :code:`Classification`)." msgstr "" #: ../../source/feature/project.rst:6 -msgid "To help with these interconnections, the SEPAL platform provides a :code:`Project` system to organize users' work." +msgid "" +"To help with these interconnections, the SEPAL platform provides a " +":code:`Project` system to organize users' work." msgstr "" #: ../../source/feature/project.rst:9 @@ -39,7 +42,9 @@ msgid "Go to the **Processes** interface of SEPAL (:btn:``)." msgstr "" #: ../../source/feature/project.rst:13 -msgid "(You should see the following. If you've already created recipes in previous releases, you will see a list of existing recipes)." +msgid "" +"(You should see the following. If you've already created recipes in " +"previous releases, you will see a list of existing recipes)." msgstr "" #: ../../source/feature/project.rst:20 @@ -67,7 +72,9 @@ msgid "Edit recipes" msgstr "" #: ../../source/feature/project.rst:28 -msgid "Read the following section to understand how users can create a new project and manage existing projects in the SEPAL platform." +msgid "" +"Read the following section to understand how users can create a new " +"project and manage existing projects in the SEPAL platform." msgstr "" #: ../../source/feature/project.rst:31 @@ -75,19 +82,29 @@ msgid "Project" msgstr "" #: ../../source/feature/project.rst:35 -msgid "Projects are personal. They cannot be shared and they are not visible to other users." +msgid "" +"Projects are personal. They cannot be shared and they are not visible to " +"other users." msgstr "" #: ../../source/feature/project.rst:39 -msgid "For every user, a :code:`[no project]` project is created during registration. This project will be the fallback for every recipe that was created before the publication of the feature. It cannot be deleted or renamed." +msgid "" +"For every user, a :code:`[no project]` project is created during " +"registration. This project will be the fallback for every recipe that was" +" created before the publication of the feature. It cannot be deleted or " +"renamed." msgstr "" #: ../../source/feature/project.rst:41 -msgid "To create a project, select :btn:` Projects`, which opens the interface (see figure below)." +msgid "" +"To create a project, select :btn:` Projects`, " +"which opens the interface (see figure below)." msgstr "" #: ../../source/feature/project.rst:43 -msgid "Then, select :btn:` Add` to create a new project. Enter the name and select :btn:` Apply`." +msgid "" +"Then, select :btn:` Add` to create a new project. " +"Enter the name and select :btn:` Apply`." msgstr "" #: ../../source/feature/project.rst:45 @@ -95,7 +112,10 @@ msgid "The newly created project will now appear in the list." msgstr "" #: ../../source/feature/project.rst:57 -msgid "To remove a project, select the :btn:`` icon (located beside its name), which will destroy all recipes included in the process as well." +msgid "" +"To remove a project, select the :btn:`` icon (located " +"beside its name), which will destroy all recipes included in the process " +"as well." msgstr "" #: ../../source/feature/project.rst:65 @@ -103,7 +123,11 @@ msgid "Recipes" msgstr "" #: ../../source/feature/project.rst:67 -msgid "When entering the **Process** interface, no projects are selected by default, meaning that users will see all recipes available in their SEPAL accounts. All recipes are displayed using the following prototype: :code:` / `." +msgid "" +"When entering the **Process** interface, no projects are selected by " +"default, meaning that users will see all recipes available in their SEPAL" +" accounts. All recipes are displayed using the following prototype: " +":code:` / `." msgstr "" #: ../../source/feature/project.rst:74 @@ -115,23 +139,36 @@ msgid "Filter recipes" msgstr "" #: ../../source/feature/project.rst:79 -msgid "Select (3) to filter recipes according to your project. Once selected, only the recipes included in the project will be displayed. The field is clearable (i.e. you can go back to the unfiltered state and select another project). Also, :code:`[no project]` can be selected." +msgid "" +"Select (3) to filter recipes according to your project. Once selected, " +"only the recipes included in the project will be displayed. The field is " +"clearable (i.e. you can go back to the unfiltered state and select " +"another project). Also, :code:`[no project]` can be selected." msgstr "" #: ../../source/feature/project.rst:86 -msgid "Once a project is selected, it will appear as **Current project** in the project list (see figure below)." +msgid "" +"Once a project is selected, it will appear as **Current project** in the " +"project list (see figure below)." msgstr "" #: ../../source/feature/project.rst:93 -msgid "Once a project is selected and a recipe is created, it will belong to the selected project." +msgid "" +"Once a project is selected and a recipe is created, it will belong to the" +" selected project." msgstr "" #: ../../source/feature/project.rst:97 -msgid "If you don't want your recipe to be associated with any project, unfilter the list before selecting :btn:` Add recipe`." +msgid "" +"If you don't want your recipe to be associated with any project, unfilter" +" the list before selecting :btn:` Add recipe`." msgstr "" #: ../../source/feature/project.rst:102 -msgid "Recipe behaviour can be edited directly from this view. Select the :btn:` Edit` button to open the **Editing** interface." +msgid "" +"Recipe behaviour can be edited directly from this view. Select the :btn" +":` Edit` button to open the **Editing** " +"interface." msgstr "" #: ../../source/feature/project.rst:109 @@ -139,11 +176,16 @@ msgid "From this interface, you can:" msgstr "" #: ../../source/feature/project.rst:111 -msgid ":btn:` Select`: Select/unselect all recipes shown on the screen. Any other editing operation will only be applied to the selected recipe(s)." +msgid "" +":btn:` Select`: Select/unselect all recipes shown on " +"the screen. Any other editing operation will only be applied to the " +"selected recipe(s)." msgstr "" #: ../../source/feature/project.rst:112 -msgid ":btn:` Move`: Move the selected recipe(s) to another project." +msgid "" +":btn:` Move`: Move the selected recipe(s) to another" +" project." msgstr "" #: ../../source/feature/project.rst:113 @@ -151,7 +193,9 @@ msgid ":btn:` Remove`: Delete the recipe(s) permanently." msgstr "" #: ../../source/feature/project.rst:117 -msgid "Before deleting individual recipes, make sure that they are not used as inputs in others." +msgid "" +"Before deleting individual recipes, make sure that they are not used as " +"inputs in others." msgstr "" #: ../../source/feature/project.rst:120 @@ -159,11 +203,18 @@ msgid "Connect recipes" msgstr "" #: ../../source/feature/project.rst:122 -msgid "When creating recipes such as :code:`Classification`, users can use other recipes as inputs for the process. To avoid flooding the dropdown list with too many values, only the recipes from the same project will be displayed (see following figure on the left)." +msgid "" +"When creating recipes such as :code:`Classification`, users can use other" +" recipes as inputs for the process. To avoid flooding the dropdown list " +"with too many values, only the recipes from the same project will be " +"displayed (see following figure on the left)." msgstr "" #: ../../source/feature/project.rst:124 -msgid "If one still wants to see all of the recipes in the dropdown list, select :btn:`All` and all recipes will be displayed using project names as headers (see following figure on right)." +msgid "" +"If one still wants to see all of the recipes in the dropdown list, select" +" :btn:`All` and all recipes will be displayed using project names as " +"headers (see following figure on right)." msgstr "" #~ msgid "" @@ -490,3 +541,6 @@ msgstr "" #~ " (see following figure on right)." #~ msgstr "" +#~ msgid "Recipe projects" +#~ msgstr "" + diff --git a/docs/source/_locale/ru/LC_MESSAGES/feature/radar_bands.po b/docs/source/_locale/ru/LC_MESSAGES/feature/radar_bands.po new file mode 100644 index 0000000000..895a838c3b --- /dev/null +++ b/docs/source/_locale/ru/LC_MESSAGES/feature/radar_bands.po @@ -0,0 +1,122 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: ru\n" +"Language-Team: ru \n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/feature/radar_bands.rst:2 +msgid "Sentinel-1 Radar Bands" +msgstr "" + +#: ../../source/feature/radar_bands.rst:4 +msgid "" +"When exporting a radar mosaic from the SEPAL platform, the following " +"radar band metrics are available for analysis:" +msgstr "" + +#: ../../source/feature/radar_bands.rst:13 +msgid "Basic Radar Metrics (VV and VH Polarizations)" +msgstr "" + +#: ../../source/feature/radar_bands.rst:15 +msgid "**Metrics Included**:" +msgstr "" + +#: ../../source/feature/radar_bands.rst:16 +msgid "" +"*VV_min, VV_max, VV_mean, VV_std, VV_med*: Statistics of the VV " +"polarization signal, covering minimum, maximum, mean, standard deviation," +" and median." +msgstr "" + +#: ../../source/feature/radar_bands.rst:17 +msgid "" +"*VH_min, VH_max, VH_mean, VH_std, VH_med*: Similar statistics for the VH " +"polarization." +msgstr "" + +#: ../../source/feature/radar_bands.rst:18 +msgid "" +"*ratio_VV_med_VH_med*: The ratio of the median values of VV to VH " +"polarizations, indicating surface roughness and moisture." +msgstr "" + +#: ../../source/feature/radar_bands.rst:19 +msgid "" +"*VV_cv, VH_cv*: Coefficient of variation for VV and VH, showing the " +"variability relative to the mean." +msgstr "" + +#: ../../source/feature/radar_bands.rst:20 +msgid "" +"*NDCV (Normalized Difference Coefficient of Variation)*: A normalized " +"measure that highlights differences in texture or moisture content " +"between VV and VH returns." +msgstr "" + +#: ../../source/feature/radar_bands.rst:21 +msgid "" +"*orbit*: The orbit direction (ascending or descending), which can affect " +"the radar's observation angle and thus the backscatter properties." +msgstr "" + +#: ../../source/feature/radar_bands.rst:23 +msgid "" +"**Description**: These metrics are essential for analyzing surface " +"features, moisture content, vegetation, and other land cover " +"characteristics using radar backscatter properties." +msgstr "" + +#: ../../source/feature/radar_bands.rst:24 +msgid "" +"**Usage**: Widely used in agricultural monitoring, flood mapping, forest " +"monitoring, and urban expansion studies." +msgstr "" + +#: ../../source/feature/radar_bands.rst:27 +msgid "Harmonic Analysis Metrics (Conditional on Data Availability)" +msgstr "" + +#: ../../source/feature/radar_bands.rst:29 +msgid "**Metrics Included** (Only if harmonic dependents are available):" +msgstr "" + +#: ../../source/feature/radar_bands.rst:30 +msgid "" +"*VV_phase, VV_amp, VV_res*: Phase, amplitude, and residuals of the VV " +"signal following harmonic analysis." +msgstr "" + +#: ../../source/feature/radar_bands.rst:31 +msgid "*VH_phase, VH_amp, VH_res*: Similar metrics for the VH signal." +msgstr "" + +#: ../../source/feature/radar_bands.rst:32 +msgid "" +"**Description**: Harmonic analysis metrics help in understanding seasonal" +" variations and temporal patterns in the radar signal, useful for long-" +"term monitoring." +msgstr "" + +#: ../../source/feature/radar_bands.rst:33 +msgid "" +"**Usage**: Ideal for studying seasonal changes in vegetation, detecting " +"changes in water bodies over time, and monitoring environmental changes." +msgstr "" + diff --git a/docs/source/_locale/ru/LC_MESSAGES/feature/visualization.po b/docs/source/_locale/ru/LC_MESSAGES/feature/visualization.po new file mode 100644 index 0000000000..e4953c71dc --- /dev/null +++ b/docs/source/_locale/ru/LC_MESSAGES/feature/visualization.po @@ -0,0 +1,162 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: ru\n" +"Language-Team: ru \n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/feature/visualization.rst:2 +msgid "Visualization in SEPAL" +msgstr "" + +#: ../../source/feature/visualization.rst:4 +msgid "**Natural color: red, green, blue**" +msgstr "" + +#: ../../source/feature/visualization.rst:5 +msgid "" +"**Description**: Represents the true color of the terrain as human eyes " +"would see it, using the red, green, and blue bands." +msgstr "" + +#: ../../source/feature/visualization.rst:6 +msgid "" +"**Usage**: Used for general mapping and visual inspections where true " +"color representation is necessary." +msgstr "" + +#: ../../source/feature/visualization.rst:8 +msgid "**False color: nir, red, green**" +msgstr "" + +#: ../../source/feature/visualization.rst:9 +msgid "" +"**Description**: Uses near-infrared, red, and green bands. Vegetation " +"appears red due to the high reflection of NIR by healthy vegetation, " +"helpful for distinguishing vegetative areas." +msgstr "" + +#: ../../source/feature/visualization.rst:10 +msgid "" +"**Usage**: Commonly used in vegetation studies to easily distinguish live" +" green vegetation, which reflects NIR strongly." +msgstr "" + +#: ../../source/feature/visualization.rst:12 +msgid "**False color: nir, swir1, red**" +msgstr "" + +#: ../../source/feature/visualization.rst:13 +msgid "" +"**Description**: Combines near-infrared, short-wave infrared, and red " +"bands. This combination is effective in highlighting vegetation and " +"differentiating moisture levels and geological features." +msgstr "" + +#: ../../source/feature/visualization.rst:14 +msgid "" +"**Usage**: Useful in geological mapping, vegetation health assessment, " +"and moisture content analysis." +msgstr "" + +#: ../../source/feature/visualization.rst:16 +msgid "**False color: swir2, nir, red**" +msgstr "" + +#: ../../source/feature/visualization.rst:17 +msgid "" +"**Description**: Utilizes short-wave infrared, near-infrared, and red " +"bands. It enhances the differentiation between mineral types and can " +"indicate burn severity in post-fire assessments." +msgstr "" + +#: ../../source/feature/visualization.rst:18 +msgid "" +"**Usage**: Often used in mineralogical mapping, soil and rock " +"differentiation, and detecting burned areas." +msgstr "" + +#: ../../source/feature/visualization.rst:20 +msgid "**False color: swir2, swir1, red**" +msgstr "" + +#: ../../source/feature/visualization.rst:21 +msgid "" +"**Description**: Involves short-wave infrared bands and red band. This " +"setup enhances geological features and is sensitive to water content and " +"urban areas." +msgstr "" + +#: ../../source/feature/visualization.rst:22 +msgid "" +"**Usage**: Ideal for enhanced geological mapping, urban sprawl studies, " +"and discriminating between different water bodies." +msgstr "" + +#: ../../source/feature/visualization.rst:24 +msgid "**False color: swir2, nir, green**" +msgstr "" + +#: ../../source/feature/visualization.rst:25 +msgid "" +"**Description**: Features short-wave infrared, near-infrared, and green " +"bands. This visualization aids in the analysis of vegetation health and " +"soil/water interactions." +msgstr "" + +#: ../../source/feature/visualization.rst:26 +msgid "" +"**Usage**: Useful for detailed vegetation health monitoring and " +"differentiating water stress in plants." +msgstr "" + +#: ../../source/feature/visualization.rst:28 +msgid "**Tasseled cap: brightness, greenness, wetness**" +msgstr "" + +#: ../../source/feature/visualization.rst:29 +msgid "" +"**Description**: Applies the Tasseled Cap transformation to highlight " +"physical properties of the land surface such as brightness " +"(reflectivity), greenness (vegetation), and wetness (moisture content)." +msgstr "" + +#: ../../source/feature/visualization.rst:30 +msgid "" +"**Usage**: Extensively used in environmental monitoring, land cover " +"classification, and assessing vegetation and water content dynamics." +msgstr "" + +#: ../../source/feature/visualization.rst:32 +msgid "**Tasseled cap: fifth, sixth, fourth**" +msgstr "" + +#: ../../source/feature/visualization.rst:33 +msgid "" +"**Description**: Another Tasseled Cap visualization focusing on the " +"additional components that might reflect other surface properties not " +"captured by the primary three bands." +msgstr "" + +#: ../../source/feature/visualization.rst:34 +msgid "" +"**Usage**: Useful for specialized studies in vegetation dynamics, soil " +"properties, and other environmental monitoring where standard Tasseled " +"Cap indices might need supplementation." +msgstr "" + diff --git a/docs/source/_locale/ru/LC_MESSAGES/index.po b/docs/source/_locale/ru/LC_MESSAGES/index.po index dee335ee1c..13f19d18ed 100644 --- a/docs/source/_locale/ru/LC_MESSAGES/index.po +++ b/docs/source/_locale/ru/LC_MESSAGES/index.po @@ -1,24 +1,22 @@ + msgid "" msgstr "" -"Project-Id-Version: sepal-doc\n" +"Project-Id-Version: sepal-doc\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-03-07 09:39+0100\n" -"PO-Revision-Date: 2024-03-07 08:59\n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: 2024-03-07 08:59+0000\n" "Last-Translator: \n" +"Language: ru_RU\n" "Language-Team: Russian\n" +"Plural-Forms: nplurals=4; plural=((n%10==1 && n%100!=11) ? 0 : ((n%10 >= " +"2 && n%10 <=4 && (n%100 < 12 || n%100 > 14)) ? 1 : ((n%10 == 0 || (n%10 " +">= 5 && n%10 <=9)) || (n%100 >= 11 && n%100 <= 14)) ? 2 : 3));\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.14.0\n" -"Plural-Forms: nplurals=4; plural=((n%10==1 && n%100!=11) ? 0 : ((n%10 >= 2 && n%10 <=4 && (n%100 < 12 || n%100 > 14)) ? 1 : ((n%10 == 0 || (n%10 >= 5 && n%10 <=9)) || (n%100 >= 11 && n%100 <= 14)) ? 2 : 3));\n" -"X-Crowdin-Project: sepal-doc\n" -"X-Crowdin-Project-ID: 562097\n" -"X-Crowdin-Language: ru\n" -"X-Crowdin-File: /main/docs/source/_locale/en/LC_MESSAGES/index.po\n" -"X-Crowdin-File-ID: 87\n" -"Language: ru_RU\n" +"Generated-By: Babel 2.18.0\n" -#: ../../source/index.rst:20 ../../source/index.rst:54 +#: ../../source/index.rst:20 ../../source/index.rst:55 msgid "Getting started" msgstr "" @@ -31,15 +29,19 @@ msgid "Modules" msgstr "" #: ../../source/index.rst:20 -msgid "CLI" +msgid "Workflows" msgstr "" #: ../../source/index.rst:20 -msgid "Workflows" +msgid "Features" msgstr "" #: ../../source/index.rst:20 -msgid "Features" +msgid "Troubleshooting" +msgstr "" + +#: ../../source/index.rst:20 +msgid "Developers" msgstr "" #: ../../source/index.rst:20 @@ -50,140 +52,176 @@ msgstr "" msgid "Documentation" msgstr "" -#: ../../source/index.rst:36 -msgid "The System for Earth Observation Data Access, Processing and Analysis for Land Monitoring (**SEPAL**) is an open-source project and platform empowering people around the world to gain a better understanding of land cover dynamics by facilitating the efficient access and use of Earth observation data – without the need of coding knowledge." +#: ../../source/index.rst:37 +msgid "" +"The System for Earth Observation Data Access, Processing and Analysis for" +" Land Monitoring (**SEPAL**) is an open-source project and platform " +"empowering people around the world to gain a better understanding of land" +" cover dynamics by facilitating the efficient access and use of Earth " +"observation data – without the need of coding knowledge." msgstr "" -#: ../../source/index.rst:47 +#: ../../source/index.rst:48 msgid "Learn how to use the platform with SEPAL documentation" msgstr "" -#: ../../source/index.rst:49 -msgid "The SEPAL team developed this GitHub page to help users get the most out of the interface." +#: ../../source/index.rst:50 +msgid "" +"The SEPAL team developed this GitHub page to help users get the most out " +"of the interface." msgstr "" -#: ../../source/index.rst:59 +#: ../../source/index.rst:60 msgid "Register to SEPAL" msgstr "" -#: ../../source/index.rst:62 +#: ../../source/index.rst:63 msgid "Set up your SEPAL account and request additional resources." msgstr "" -#: ../../source/index.rst:64 +#: ../../source/index.rst:65 msgid "Connect to GEE" msgstr "" -#: ../../source/index.rst:67 +#: ../../source/index.rst:68 msgid "Register with Google Earth Engine (GEE) and connect your account to SEPAL." msgstr "" -#: ../../source/index.rst:69 +#: ../../source/index.rst:70 msgid "Connect to NICFI–PlanetLab imagery" msgstr "" -#: ../../source/index.rst:72 -msgid "Sign up to use Norway’s International Climate and Forests Initiative (NICFI) – PlanetLab data and connect your account to GEE." +#: ../../source/index.rst:73 +msgid "" +"Sign up to use Norway’s International Climate and Forests Initiative " +"(NICFI) – PlanetLab data and connect your account to GEE." msgstr "" -#: ../../source/index.rst:77 +#: ../../source/index.rst:78 msgid "Recipes and modules" msgstr "" -#: ../../source/index.rst:82 +#: ../../source/index.rst:83 msgid "Start a recipe" msgstr "" -#: ../../source/index.rst:85 +#: ../../source/index.rst:86 msgid "Run analysis with recipes – the foundation of SEPAL processes." msgstr "" -#: ../../source/index.rst:87 +#: ../../source/index.rst:88 msgid "Start a module" msgstr "" -#: ../../source/index.rst:90 -msgid "Run integrated workflows with modules – no need of coding experience required." +#: ../../source/index.rst:91 +msgid "" +"Run integrated workflows with modules – no need of coding experience " +"required." msgstr "" -#: ../../source/index.rst:92 +#: ../../source/index.rst:93 msgid "Use the se.plan module" msgstr "" -#: ../../source/index.rst:95 -msgid "Compute your restoration index with se.plan, a spatially explicit online tool designed to support forest restoration planning decisions by restoration stakeholders." +#: ../../source/index.rst:96 +msgid "" +"Compute your restoration index with se.plan, a spatially explicit online " +"tool designed to support forest restoration planning decisions by " +"restoration stakeholders." msgstr "" -#: ../../source/index.rst:100 +#: ../../source/index.rst:101 msgid "Other resources" msgstr "" -#: ../../source/index.rst:105 +#: ../../source/index.rst:106 msgid "SEPAL website" msgstr "" -#: ../../source/index.rst:108 +#: ../../source/index.rst:109 msgid "Discover the impact of the project." msgstr "" -#: ../../source/index.rst:110 +#: ../../source/index.rst:111 msgid "SEPAL platform" msgstr "" -#: ../../source/index.rst:113 +#: ../../source/index.rst:114 msgid "Learn more about the interface." msgstr "" -#: ../../source/index.rst:115 +#: ../../source/index.rst:116 msgid "Open Foris" msgstr "" -#: ../../source/index.rst:118 +#: ../../source/index.rst:119 msgid "Browse the Suite of Tools." msgstr "" -#: ../../source/index.rst:123 +#: ../../source/index.rst:124 msgid "SEPAL is always improving" msgstr "" -#: ../../source/index.rst:125 -msgid "Encounter a problem? See an issue? Need help? Help our team members enhance user experience by improving the platform and its documentation." +#: ../../source/index.rst:126 +msgid "" +"Encounter a problem? See an issue? Need help? Help our team members " +"enhance user experience by improving the platform and its documentation." msgstr "" -#: ../../source/index.rst:132 +#: ../../source/index.rst:133 msgid "For general support, ask the Google Group community" msgstr "" -#: ../../source/index.rst:135 +#: ../../source/index.rst:136 msgid "For documentation improvement, use the GitHub Issue Tracker" msgstr "" -#: ../../source/index.rst:138 +#: ../../source/index.rst:139 msgid "For usage questions, ask the GIS StackExchange community" msgstr "" -#: ../../source/index.rst:141 -msgid "For training, register for the SEPAL Forest and Land Monitoring for Climate Action e-learning course" +#: ../../source/index.rst:142 +msgid "" +"For training, register for the SEPAL Forest and Land Monitoring for " +"Climate Action e-learning course" msgstr "" -#: ../../source/index.rst:147 +#: ../../source/index.rst:148 msgid "About the platform" msgstr "" -#: ../../source/index.rst:149 -msgid "SEPAL is part of the `Open Foris `__ Suite of Tools. The platform allows users to query and process satellite data quickly and efficiently, tailor their products for local needs, and produce sophisticated and relevant geospatial analyses. Harnessing cloud-based supercomputers and modern geospatial data infrastructures (e.g. GEE), the interface enables users to access and process historical satellite data as well as newer data from Landsat and higher-resolution data from Europe’s Copernicus programme." +#: ../../source/index.rst:150 +msgid "" +"SEPAL is part of the `Open Foris `__ Suite of " +"Tools. The platform allows users to query and process satellite data " +"quickly and efficiently, tailor their products for local needs, and " +"produce sophisticated and relevant geospatial analyses. Harnessing cloud-" +"based supercomputers and modern geospatial data infrastructures (e.g. " +"GEE), the interface enables users to access and process historical " +"satellite data as well as newer data from Landsat and higher-resolution " +"data from Europe’s Copernicus programme." msgstr "" -#: ../../source/index.rst:151 -msgid "SEPAL is a cloud computing-based platform for autonomous land monitoring using remotely sensed data. It is a combination of GEE and open-source software such as GDAL, Jupyter, the Open Foris Geospatial Toolkit, ORFEO Toolbox, Python, R, R Shiny Server, R Studio Server, and the SNAP Toolkit. The platform allows users to access powerful cloud-computing resources to query, access and process satellite data quickly and efficiently for conducting advanced analyses." +#: ../../source/index.rst:152 +msgid "" +"SEPAL is a cloud computing-based platform for autonomous land monitoring " +"using remotely sensed data. It is a combination of GEE and open-source " +"software such as GDAL, Jupyter, the Open Foris Geospatial Toolkit, ORFEO " +"Toolbox, Python, R, R Shiny Server, R Studio Server, and the SNAP " +"Toolkit. The platform allows users to access powerful cloud-computing " +"resources to query, access and process satellite data quickly and " +"efficiently for conducting advanced analyses." msgstr "" -#: ../../source/index.rst:156 +#: ../../source/index.rst:157 msgid "Supporting institutions" msgstr "" -#: ../../source/index.rst:158 -msgid "SEPAL is a project funded by the Government of Norway from the Forestry Department of the Food and Agriculture Organization of the United Nations (FAO)." +#: ../../source/index.rst:159 +msgid "" +"SEPAL is a project funded by the Government of Norway from the Forestry " +"Department of the Food and Agriculture Organization of the United Nations" +" (FAO)." msgstr "" #~ msgid "Modules" @@ -478,3 +516,6 @@ msgstr "" #~ "for creating advanced analyses." #~ msgstr "" +#~ msgid "CLI" +#~ msgstr "" + diff --git a/docs/source/_locale/ru/LC_MESSAGES/troubleshooting/fix_venvs.po b/docs/source/_locale/ru/LC_MESSAGES/troubleshooting/fix_venvs.po new file mode 100644 index 0000000000..bf7921d25c --- /dev/null +++ b/docs/source/_locale/ru/LC_MESSAGES/troubleshooting/fix_venvs.po @@ -0,0 +1,382 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: ru\n" +"Language-Team: ru \n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/troubleshooting/fix_venvs.rst:4 +msgid "Recovering broken Python environments" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:6 +msgid "" +"On 5 March 2026, SEPAL sandboxes upgraded from Ubuntu Jammy to Ubuntu " +"Noble. As part of this upgrade, the system Python changed from version " +"3.10 to 3.12. This was a deliberate and necessary change: Python 3.10 " +"reaches end of life in October 2026, meaning it will no longer receive " +"security patches, and an increasing number of libraries are dropping " +"support for it and requiring Python 3.11 or newer. Staying on 3.10 would " +"eventually mean being locked out of updated packages and exposed to " +"unpatched security issues." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:8 +msgid "" +"If you created Python virtual environments using ``python -m venv`` on " +"SEPAL before this upgrade, those environments are now broken. This page " +"explains why, and how to recover." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:12 +msgid "" +"This only affects environments created with ``python -m venv``. " +"Environments created with :guilabel:`uv` or :guilabel:`micromamba` are " +"not affected." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:14 +msgid "" +"See :ref:`env_management` for full guidance on using :guilabel:`uv` and " +":guilabel:`micromamba` — better alternatives that will not break when " +"SEPAL upgrades Python in the future." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:18 +msgid "" +"Python 3.10 reaches end of life on 4 October 2026. Rather than putting " +"effort into restoring environments on the old version, consider migrating" +" to Python 3.12 at the same time." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:23 +msgid "Why venvs break after a Python upgrade" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:25 +msgid "" +"A venv is not a fully self-contained copy of Python. It is a lightweight " +"directory structure that relies on the system Python being present at a " +"specific path. When you run ``python -m venv myenv``, it records the " +"exact path to the Python binary (e.g. ``/usr/bin/python3.10``) and " +"creates symbolic links inside the environment's ``bin/`` directory " +"pointing back to it. Installed packages land in a versioned subdirectory," +" for example ``lib/python3.10/site-packages/``." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:27 +msgid "" +"When the system Python changes from 3.10 to 3.12, two things go wrong " +"simultaneously:" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:29 +msgid "" +"The symlinks inside ``bin/`` now point to a Python binary that no longer " +"exists at the recorded path, so the environment cannot start correctly." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:30 +msgid "" +"Any packages with compiled C extensions (numpy, scipy, cryptography, " +"etc.) were built against the Python 3.10 ABI. Python 3.12 has a different" +" ABI, so those compiled ``.so`` files are no longer valid and will crash " +"or fail to load." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:32 +msgid "" +"The package files themselves — the pure Python code and the package " +"metadata — are still intact on disk. Only the wiring is broken, which is " +"why it is possible to extract a list of what was installed without " +"activating the environment." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:37 +msgid "Why Jupyter kernels disappear" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:39 +msgid "" +"When you register a venv as a Jupyter kernel using ``ipykernel``, Jupyter" +" saves a small ``kernel.json`` file under " +"``~/.local/share/jupyter/kernels//``. This file contains the " +"absolute path to the Python binary inside the environment." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:41 +msgid "" +"After the upgrade, Jupyter still finds the ``kernel.json`` file and may " +"still show the kernel in the launcher — but when you try to start it, it " +"attempts to launch the Python binary at the recorded path. Because that " +"binary no longer works, the kernel either fails to start or starts and " +"immediately crashes, which JupyterLab reports as the kernel repeatedly " +"dying." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:43 +msgid "" +"In some cases the kernel disappears from the launcher entirely. In others" +" it appears but cannot be used. Either way, notebooks that relied on it " +"cannot run." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:48 +msgid "Symptoms of a broken environment" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:50 +msgid "You may see any of the following:" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:52 +msgid "" +"A Jupyter kernel that was previously available has disappeared from the " +"launcher, or starts and immediately dies" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:53 +msgid "``ModuleNotFoundError: No module named 'pip'`` when running pip commands" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:54 +msgid "Packages that were previously installed fail to import" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:55 +msgid "Compiled packages (numpy, scipy, etc.) segfault or raise ``ImportError``" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:56 +msgid "" +"``python --version`` inside the activated environment shows 3.12 even " +"though it was created with 3.10" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:58 +msgid "" +"All of these have the same root cause: the environment's internal " +"symlinks and compiled extensions were built against Python 3.10 and are " +"no longer valid." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:63 +msgid "Recovery" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:68 +msgid "Extract your requirements" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:70 +msgid "" +"You cannot activate the broken environment, but the package metadata is " +"still readable on disk. SEPAL provides a script that extracts the list of" +" installed packages from a broken environment. Run it from the terminal:" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:76 +msgid "" +"This scans the package metadata inside the broken environment and writes " +"a ``requirements.txt`` with pinned versions. Verify the output:" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:85 +msgid "Recreate the environment with uv" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:87 +msgid "" +":guilabel:`uv` is a fast, modern Python package manager already installed" +" on SEPAL. Unlike venv, it manages its own Python versions independently " +"of the system, so future upgrades will not break your environments." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:91 +msgid "" +"See :ref:`env_management` for full guidance on :guilabel:`uv` and other " +"environment tools available on SEPAL." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:93 +msgid "You have two options:" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:98 +msgid "Option A — Recreate on Python 3.10" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:100 +msgid "" +"*Fewer compatibility issues — use this if you need to get back up and " +"running quickly and cannot yet deal with package compatibility on 3.12.*" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:110 +msgid "" +"The ``requirements.txt`` referenced here is the file you extracted in the" +" previous step." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:115 +msgid "Option B — Migrate to Python 3.12" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:117 +msgid "" +"*Better long-term choice — most pure-Python packages work on 3.12 without" +" any changes.*" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:127 +msgid "" +"The ``requirements.txt`` referenced here is the file you extracted in the" +" first step." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:132 +msgid "Handling package version conflicts (Option B)" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:134 +msgid "" +"When migrating to Python 3.12, the ``requirements.txt`` from the first " +"step contains fully pinned versions (e.g. ``numpy==1.23.4``). Some of " +"these may not have wheels available for Python 3.12. If installation " +"fails, try removing the version pins:" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:142 +msgid "" +"The following packages are known to cause issues when moving from 3.10 to" +" 3.12:" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:148 +msgid "Package" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:149 +msgid "Issue" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:150 +msgid "Fix" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:151 +msgid "``numpy < 1.24``" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:152 +#: ../../source/troubleshooting/fix_venvs.rst:155 +msgid "No Python 3.12 wheels available" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:153 +msgid "Unpin: ``numpy``" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:154 +msgid "``scipy < 1.11``" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:156 +msgid "Unpin: ``scipy``" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:157 +msgid "Packages using ``distutils``" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:158 +msgid "``distutils`` was removed in Python 3.12" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:159 +msgid "Upgrade or replace the package" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:160 +msgid "Old Cython extensions" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:161 +msgid "ABI mismatch, segfaults at import" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:162 +msgid "``uv pip install --force-reinstall ``" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:163 +msgid "``cryptography`` (old versions)" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:164 +msgid "Needs a recent version for the 3.12 ABI" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:165 +msgid "Unpin: ``cryptography``" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:170 +msgid "Re-register your Jupyter kernel" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:172 +msgid "" +"JupyterLab discovers environments through kernel specifications — small " +"JSON files that point to a specific Python binary. When you recreate an " +"environment, the old kernel specification still points to the broken " +"binary, so JupyterLab cannot find or use the new environment. You need to" +" remove the old specification and register a new one." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:174 +msgid "First, list existing kernels and remove the broken one:" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:184 +msgid "Then register the new environment as a kernel:" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:192 +msgid "" +"After restarting JupyterLab, the new kernel will appear in the launcher " +"and notebooks that reference it by name will work again." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:197 +msgid "Going forward" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:199 +msgid "" +"To avoid this problem in the future, stop using venv. :guilabel:`uv` " +"manages Python versions independently of the system and will not break " +"when SEPAL upgrades Python." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:201 +msgid "" +"See :ref:`env_management` for full guidance on creating and managing " +"environments, including how to add Jupyter kernels." +msgstr "" + diff --git a/docs/source/_locale/ru/LC_MESSAGES/troubleshooting/index.po b/docs/source/_locale/ru/LC_MESSAGES/troubleshooting/index.po new file mode 100644 index 0000000000..9722e62eaf --- /dev/null +++ b/docs/source/_locale/ru/LC_MESSAGES/troubleshooting/index.po @@ -0,0 +1,43 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: ru\n" +"Language-Team: ru \n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/troubleshooting/index.rst:7 +msgid "Recovering broken Python environments" +msgstr "" + +#: ../../source/troubleshooting/index.rst:2 +msgid "Troubleshooting" +msgstr "" + +#: ../../source/troubleshooting/index.rst:3 +msgid "*Solve common issues on the SEPAL platform*" +msgstr "" + +#: ../../source/troubleshooting/index.rst:5 +msgid "" +"This section covers known issues and step-by-step solutions for problems " +"you may encounter while using SEPAL. If your issue is not listed here, " +"ask the `Google Group community `__ or report it on the `GitHub Issue Tracker " +"`__." +msgstr "" + diff --git a/docs/source/_locale/ru/LC_MESSAGES/workflows/mangrove_mapping.po b/docs/source/_locale/ru/LC_MESSAGES/workflows/mangrove_mapping.po new file mode 100644 index 0000000000..7510ca19b9 --- /dev/null +++ b/docs/source/_locale/ru/LC_MESSAGES/workflows/mangrove_mapping.po @@ -0,0 +1,1851 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: ru\n" +"Language-Team: ru \n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/workflows/mangrove_mapping.rst:4 +msgid "Mangrove mapping with SEPAL" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:6 +msgid "" +"This article describes a complete workflow for mapping mangroves using " +"SEPAL — FAO's free, open-source, web-based cloud platform for satellite " +"data analysis. The approach combines multi-sensor satellite data, global " +"mangrove reference datasets, and machine learning classification to " +"produce locally relevant mangrove maps and detect change over time. An " +"optional extension covers above-ground biomass (AGB) mapping." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:10 +msgid "" +"**Author:** Erik Lindquist, Forestry Officer, Food and Agriculture " +"Organization of the United Nations (FAO)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:13 +msgid "Overview" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:15 +msgid "The workflow consists of the following stages:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:17 +msgid ":ref:`Registration and setup `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:18 +msgid ":ref:`Request SEPAL resources `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:19 +msgid ":ref:`Define the area of interest `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:20 +msgid ":ref:`Build an optical mosaic (optional) `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:21 +msgid ":ref:`Build a radar mosaic (optional) `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:22 +msgid ":ref:`Load global mangrove reference datasets `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:23 +msgid "" +":ref:`Create the high-confidence mangrove reference map `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:24 +msgid ":ref:`Generate training data `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:25 +msgid ":ref:`Incorporate Google Satellite Embeddings `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:26 +msgid ":ref:`Classify mangroves `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:27 +msgid ":ref:`Map above-ground biomass (optional) `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:28 +msgid ":ref:`Detect change using CCDC `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:29 +msgid ":ref:`Download and export results `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:32 +msgid "Why use SEPAL for mangrove mapping?" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:34 +msgid "" +"SEPAL democratises access to satellite data and analysis tools, enabling " +"autonomous land monitoring without the need for local compute " +"infrastructure. For mangrove mapping specifically, SEPAL provides:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:36 +msgid "" +"**Multi-sensor data access** – seamless integration of optical " +"(Sentinel-2, Landsat, NICFI/Planet) and synthetic aperture radar (SAR) " +"(Sentinel-1 C-band, ALOS L-band) imagery" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:37 +msgid "" +"**Multi-temporal analysis** – time-series processing and change detection" +" using the Continuous Change Detection and Classification (CCDC) " +"algorithm" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:38 +msgid "" +"**Cloud-based classification** – machine learning classification recipes " +"powered by Google Earth Engine (GEE)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:39 +msgid "" +"**Global reference data** – integration with existing global mangrove " +"products to generate locally relevant training data automatically" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:40 +msgid "" +"**Team collaboration** – data saved as GEE assets can be shared across a " +"team, allowing one person to build a composite that all team members can " +"access and classify" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:45 +msgid "1. Registration and setup" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:47 +msgid "Before starting, create accounts on two platforms." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:50 +msgid "1.1 Google Earth Engine" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:52 +msgid "SEPAL's processing recipes run on GEE. A free GEE account is required." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:54 +msgid "Go to `earthengine.google.com `__." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:55 +msgid "Sign up using a Gmail account." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:56 +msgid "Wait for approval (usually within a few hours to a few days)." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:59 +msgid "1.2 SEPAL" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:61 +msgid "Go to `sepal.io `__ and register for a free account." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:62 +msgid "Connect the GEE account within SEPAL settings." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:66 +msgid "" +"For a step-by-step walkthrough of SEPAL setup, see " +":doc:`../setup/register`." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:71 +msgid "2. Request SEPAL resources" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:73 +msgid "" +"SEPAL is always free to use; however, downloading data and running high-" +"performance computing in the cloud requires resources to be allocated to " +"an account. Resources are requested via the **User report** button " +"(displayed as **$ 0/h**) in the lower-right corner of the **SEPAL " +"interface**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:75 +msgid "To request resources:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:77 +msgid "" +"Select the **User report** button in the lower-right corner of the " +"**SEPAL interface**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:78 +msgid "Select **Request additional resources**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:79 +msgid "" +"Enter the requested amounts. For most mapping work, the following is a " +"reasonable starting point:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:81 +msgid "**Processing:** $10 USD/month of cloud compute time" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:82 +msgid "**Storage:** $10 USD/month" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:83 +msgid "**Workspace:** 10 gigabytes (GB) of personal SEPAL workspace storage" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:85 +msgid "Enter a short message describing the work (e.g. \"Mangrove mapping\")." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:86 +msgid "Select **Apply**. The SEPAL team will review and approve the request." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:88 +msgid "" +"Once resources are approved, the **Download** button (displayed as a " +"cloud with an arrow icon) will become active in all recipes. Even $1 of " +"resources is sufficient to activate downloading to GEE or Google Drive." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:92 +msgid "" +"SEPAL supports requests for larger amounts of resources for intensive " +"work, such as training machine learning models. Describe the use case in " +"the request message if needed." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:97 +msgid "3. Define the area of interest" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:99 +msgid "" +"Use the same area of interest (AOI) for all downstream recipes to ensure " +"composites, reference layers, and classification outputs are spatially " +"aligned." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:101 +msgid "Open **Process** in the **SEPAL interface**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:102 +msgid "" +"Set the AOI using an administrative boundary, an uploaded geometry, or a " +"drawn polygon." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:107 +msgid "4. Build an optical mosaic (optional)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:111 +msgid "" +"This step is only required if Google Satellite Embeddings are **not** " +"used as the classification input (see :ref:`Section 9 `). If using embeddings, proceed directly to :ref:`Section 6 " +"`." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:113 +msgid "" +"A cloud-free optical mosaic provides the spectral bands used for " +"classification. In SEPAL, all processing starts with a *recipe*. Open a " +"new recipe from the recipe book by selecting the **+** button, then the " +"green **Add recipe** button." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:116 +msgid "Recommended data sources" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:122 +msgid "Source" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:123 +msgid "Spatial resolution" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:124 +msgid "Temporal resolution" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:125 +msgid "Bands" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:126 +#: ../../source/workflows/mangrove_mapping.rst:361 +msgid "Sentinel-2" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:127 +msgid "10 m" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:128 +msgid "5 days" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:129 +msgid "12" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:130 +msgid "Landsat (8/9)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:131 +msgid "30 m" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:132 +msgid "16 days" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:133 +msgid "8" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:134 +msgid "NICFI/Planet" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:135 +msgid "4.5 m" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:136 +msgid "Monthly" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:137 +msgid "4" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:140 +msgid "Recommended bands and indices" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:142 +msgid "" +"For Sentinel-2, include bands: **B2, B3, B4, B5, B6, B7, B8, B8A, B11, " +"B12**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:144 +msgid "Suggested derived indices:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:146 +msgid "normalized difference vegetation index (NDVI)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:147 +msgid "normalized difference moisture index (NDMI)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:148 +msgid "normalized difference water index (NDWI)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:149 +msgid "modified normalized difference water index (MNDWI)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:150 +msgid "red-edge NDVI variants" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:151 +msgid "Tasseled Cap Brightness, Greenness and Wetness" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:152 +msgid "short-wave infrared (SWIR) ratios (B11/B8, B12/B11)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:153 +msgid "enhanced vegetation index (EVI)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:157 +msgid "" +"Avoid the **Aerosol** band for vegetation mapping — it captures " +"atmospheric rather than surface conditions. The near-infrared (NIR) and " +"SWIR bands are particularly important for mangroves: NIR is sensitive to " +"chlorophyll and vegetation health; SWIR helps distinguish inundated " +"vegetation from upland forest and open water." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:160 +msgid "Composite method" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:162 +msgid "" +"Use the **Medoid** composite method, which selects actual observed pixel " +"values rather than statistical summaries, preserving spectral integrity. " +"Save the recipe with a meaningful name (e.g. ``Optical_Medoid_2023``) so " +"it can be referenced in the classification recipe." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:166 +msgid "" +"See :doc:`../cookbook/optical_mosaic` for full instructions on the SEPAL " +"optical mosaic recipe." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:171 +msgid "5. Build a radar mosaic (optional)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:175 +msgid "" +"This step is only required if Google Satellite Embeddings are **not** " +"used as the classification input." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:177 +msgid "" +"SAR data penetrates cloud cover and is sensitive to canopy structure and " +"soil moisture — making it a valuable complement to optical data in " +"tropical coastal environments where persistent cloud cover limits optical" +" data availability." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:180 +msgid "Recommended data source" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:182 +msgid "" +"The primary radar source used in this workflow is **Sentinel-1 C-band " +"SAR**:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:184 +msgid "spatial resolution: 10 m" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:185 +msgid "temporal resolution: 12 days" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:186 +msgid "bands: VV and VH polarisations" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:188 +msgid "" +"ALOS PALSAR L-band mosaics (25 m, yearly) can be added where available " +"for additional structural information." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:191 +msgid "Recommended statistics to include" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:197 +msgid "Band" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:198 +#: ../../source/workflows/mangrove_mapping.rst:448 +msgid "Description" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:199 +msgid "VV mean" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:200 +msgid "Average VV backscatter across the year" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:201 +msgid "VH mean" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:202 +msgid "Average VH backscatter across the year" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:203 +msgid "VV/VH ratio" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:204 +msgid "Structural differentiation" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:205 +msgid "VH standard deviation" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:206 +msgid "Seasonal variability; helps distinguish vegetation types" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:208 +msgid "Save the recipe as ``Radar_Mosaic_YYYY``." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:212 +msgid "" +"See :doc:`../cookbook/radar_mosaic` for full instructions on the SEPAL " +"radar mosaic recipe." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:217 +msgid "6. Load global mangrove reference datasets" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:219 +msgid "" +"Load three global datasets as **EE Asset** recipes in SEPAL to build the " +"high-confidence reference map in :ref:`Section 7 `. " +"Each dataset is available in the GEE catalog or the Awesome GEE Community" +" Catalog." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:221 +msgid "To add an **EE Asset** recipe:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:223 +#: ../../source/workflows/mangrove_mapping.rst:391 +msgid "Add a new recipe and select **EE Asset**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:224 +#: ../../source/workflows/mangrove_mapping.rst:392 +msgid "Set the AOI." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:225 +msgid "Search for the asset by name or paste the asset path." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:226 +#: ../../source/workflows/mangrove_mapping.rst:394 +msgid "Select **Done**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:227 +msgid "" +"To visualise, open the **Menu** (☰) → select **+** → select the band → " +"set min/max values → select **Apply**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:228 +msgid "Save the recipe with the name indicated below." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:231 +msgid "6.1 Global Mangrove Watch (GMW) v3 — 2020 extent" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:236 +#: ../../source/workflows/mangrove_mapping.rst:251 +#: ../../source/workflows/mangrove_mapping.rst:266 +#: ../../source/workflows/mangrove_mapping.rst:382 +msgid "**Asset path**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:237 +#: ../../source/workflows/mangrove_mapping.rst:683 +msgid "``projects/sat-io/open-datasets/GMW/extent/GMW_V3``" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:238 +#: ../../source/workflows/mangrove_mapping.rst:253 +#: ../../source/workflows/mangrove_mapping.rst:268 +#: ../../source/workflows/mangrove_mapping.rst:530 +msgid "**Band**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:239 +msgid "``b1`` (1 = mangrove, 0 = non-mangrove)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:240 +msgid "**Date filter**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:241 +msgid "2020-01-01 to 2020-12-31; select first image" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:242 +#: ../../source/workflows/mangrove_mapping.rst:257 +#: ../../source/workflows/mangrove_mapping.rst:270 +#: ../../source/workflows/mangrove_mapping.rst:388 +#: ../../source/workflows/mangrove_mapping.rst:534 +msgid "**Save as**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:243 +msgid "``GMW_2020_EEAsset``" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:246 +msgid "6.2 ESA WorldCover land cover — 2021" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:252 +#: ../../source/workflows/mangrove_mapping.rst:686 +msgid "``ESA/WorldCover/v200``" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:254 +msgid "``Map``" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:255 +msgid "**Mangrove class value**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:256 +msgid "95" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:258 +msgid "``WorldCover_2021_EEAsset``" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:261 +msgid "6.3 Digital elevation model (MERIT DEM)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:267 +#: ../../source/workflows/mangrove_mapping.rst:689 +msgid "``MERIT/DEM/v1_0_3``" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:269 +msgid "``dem``" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:271 +msgid "``MERIT_DEM_EEAsset``" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:273 +msgid "" +"The digital elevation model (DEM) provides an elevation constraint — " +"mangroves occupy low-lying intertidal zones, so pixels above 40 m " +"elevation are excluded from the high-confidence product in :ref:`Section " +"7 `." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:278 +msgid "7. Create the high-confidence mangrove reference map" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:280 +msgid "" +"This step converts the three global datasets into a single high-" +"confidence binary map of mangrove and non-mangrove, which is then used to" +" automatically generate training data for the local classification." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:282 +msgid "" +"If multiple independent global datasets agree that a pixel is mangrove " +"(or non-mangrove), confidence in that label is much higher than if only " +"one dataset indicates this. The elevation constraint further removes " +"unlikely mangrove locations." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:285 +msgid "Remapping rules" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:287 +msgid "In SEPAL, use the **Remapping** recipe with the following logic:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:293 +msgid "Output class" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:294 +msgid "Condition" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:295 +msgid "**Class 1 – Mangrove**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:296 +msgid "GMW ``b1`` = 1 **AND** WorldCover ``Map`` = 95 **AND** DEM ``dem`` < 40 m" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:297 +msgid "**Class 2 – Non-mangrove**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:298 +msgid "GMW ``b1`` = 0 **AND** WorldCover ``Map`` ≠ 95 **AND** DEM ``dem`` < 40 m" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:299 +msgid "*(No data)*" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:300 +msgid "Pixels that do not meet either condition are excluded" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:302 +msgid "**Output band:** ``class`` (1 = mangrove, 2 = non-mangrove)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:304 +msgid "**Save as:** ``Mangrove_HighConfidence_Remapping``" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:308 +msgid "" +"The DEM < 40 m filter restricts both mangrove and non-mangrove samples to" +" the intertidal zone, improving the relevance of the non-mangrove class " +"and avoiding confusion with upland forest." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:312 +msgid "" +"Use the divided interface (multi-view panel) to inspect the high-" +"confidence product against the optical and radar mosaics before " +"proceeding. Confirm that the mangrove extent looks reasonable for the " +"area." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:317 +msgid "8. Generate training data" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:319 +msgid "" +"With the high-confidence reference map produced, generate training data " +"automatically by stratified sampling — more efficiently and at greater " +"scale than manual digitising." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:321 +msgid "" +"In SEPAL, training data is generated within the **Classification** recipe" +" using the **Sample classification** option:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:323 +msgid "Open a new **Classification** recipe." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:324 +msgid "In the training data tab, select **Add** > **Sample classification**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:325 +msgid "" +"Set the sampling source to ``Mangrove_HighConfidence_Remapping`` (recipe " +"reference) or an exported GEE asset of the same (band: ``class``)." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:326 +msgid "Use balanced (stratified) sampling — equal numbers of samples per class." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:327 +msgid "Set a random seed for reproducibility." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:330 +msgid "Recommended sample sizes" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:336 +msgid "Area of interest" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:337 +msgid "Samples per class" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:338 +msgid "Small AOI" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:339 +msgid "300–800" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:340 +msgid "Subnational/national AOI" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:341 +msgid "1000–2000" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:342 +msgid "Very large or heterogeneous AOI" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:343 +msgid "5000–10000" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:345 +msgid "" +"After sampling, inspect the training points visually against the imagery " +"in the multi-view panel. If contaminated points are observed (e.g. " +"mangrove samples landing on water), resample or remove them before " +"running the classification." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:350 +msgid "9. Incorporate Google Satellite Embeddings (AlphaEarth Foundations)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:354 +msgid "" +"These are referred to as \"Alpha Earth Embeddings\" in some training " +"materials. They are now publicly available as the **Google Satellite " +"Embedding dataset**, powered by `AlphaEarth Foundations " +"`__ — a geospatial artificial " +"intelligence (AI) model developed by Google and Google DeepMind." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:357 +msgid "What are satellite embeddings?" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:359 +msgid "" +"Satellite embeddings are pre-computed, AI-generated feature vectors that " +"summarise multi-sensor, multi-temporal Earth observation data into a " +"compact representation. Each 10 m pixel is described by a 64-dimensional " +"embedding vector encoding a full year of observations from:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:362 +msgid "Landsat" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:363 +msgid "Sentinel-1 SAR" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:364 +msgid "Copernicus DEM (elevation)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:365 +msgid "ERA5 (climate)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:366 +msgid "GEDI LiDAR (vegetation structure)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:368 +msgid "Key advantages for mangrove mapping:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:370 +msgid "" +"**Fewer training samples needed** – embeddings encode rich spatial and " +"temporal context, reducing the labelled points required for accurate " +"classification;" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:371 +msgid "" +"**Cloud-robust** – embeddings summarise an entire year of acquisitions, " +"making them more robust to cloud contamination than single-date " +"composites;" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:372 +msgid "" +"**No deep learning infrastructure required** – pre-computed and analysis-" +"ready; compatible with SEPAL's built-in classifiers;" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:373 +msgid "" +"**Faster classification** – typically faster than classifying equivalent " +"optical and radar inputs separately; and" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:374 +msgid "**Temporal coverage** – annual embeddings available from 2017 onwards." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:377 +msgid "Loading embeddings as an EE Asset recipe" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:383 +#: ../../source/workflows/mangrove_mapping.rst:680 +msgid "``GOOGLE/SATELLITE_EMBEDDING/V1/ANNUAL``" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:384 +msgid "**Asset type**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:385 +msgid "ImageCollection — mosaic or select target year" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:386 +msgid "**Bands**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:387 +msgid "All 64 embedding bands" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:389 +msgid "``AlphaEarth_Embeddings_EEAsset``" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:393 +msgid "" +"Search for ``embeddings`` and select **Satellite Embeddings V1**, or " +"paste the asset path above." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:395 +msgid "" +"To confirm data is loading: open the **Menu** (☰) → select **+** → select" +" any band (e.g. ``Z00``) → select **Apply**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:396 +msgid "Save the recipe as ``AlphaEarth_Embeddings_EEAsset``." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:399 +msgid "When to use embeddings vs. optical/radar mosaics" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:401 +msgid "" +"Use **embeddings** when an annual classification is needed and good " +"results are required with limited training data or compute time. When " +"embeddings are used, optical and radar mosaics are **not** needed as " +"classifier inputs." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:402 +msgid "" +"Use **optical and radar mosaics** when classification at a specific sub-" +"annual time point is needed, or when within-year temporal detail is " +"important." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:403 +msgid "Both approaches can be combined if desired." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:407 +msgid "" +"`GEE Data Catalog: Satellite Embedding V1 `__" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:408 +msgid "" +"`GEE tutorial series: Introduction to Satellite Embeddings " +"`__" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:409 +msgid "Brown et al. (2025)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:414 +msgid "10. Classify mangroves" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:416 +msgid "" +"With training data and image inputs prepared, run the SEPAL " +"**Classification** recipe to produce a mangrove/non-mangrove map." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:419 +msgid "10.1 Set up the classification recipe" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:421 +msgid "Add a new recipe and select **Classification**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:422 +msgid "When asked which image to classify, choose one of the following:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:424 +msgid "" +"**Embeddings approach:** ``AlphaEarth_Embeddings_EEAsset`` only (do " +"**not** add optical or radar mosaics)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:425 +msgid "" +"**Optical/radar approach:** the optical mosaic recipe plus the radar " +"mosaic recipe" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:426 +msgid "**Combined approach:** embeddings plus optical and/or radar mosaics" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:429 +msgid "10.2 Select input bands" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:431 +msgid "For the **embeddings approach**, add all 64 embedding bands." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:433 +msgid "For the **optical/radar approach**, recommended bands are:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:435 +msgid "" +"Sentinel-2: B2, B3, B4, B5, B6, B7, B8, B8A, B11, B12, plus derived " +"indices (NDVI, NDMI, NDWI, Tasseled Cap)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:436 +msgid "Sentinel-1: VV mean, VH mean, VH standard deviation" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:439 +msgid "10.3 Define classification classes" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:441 +msgid "For mangrove mapping, a three-class legend is recommended:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:447 +msgid "Class" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:449 +msgid "Mangrove" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:450 +msgid "Mangrove forest" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:451 +msgid "Non-mangrove" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:452 +msgid "All other land cover" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:453 +msgid "Water" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:454 +msgid "Open water" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:456 +msgid "" +"Keep classes distinct — overlapping or ambiguous classes reduce " +"classification accuracy. Assign recognisable colours (e.g. green for " +"mangrove, blue for water)." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:459 +msgid "10.4 Add training data" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:461 +msgid "" +"Reference the ``Mangrove_HighConfidence_Remapping`` recipe (or exported " +"asset) generated in :ref:`Section 7 ` and sampled in " +":ref:`Section 8 `. In the training data tab, select " +"**Add** > **Sample classification**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:463 +msgid "" +"Add manual training points using the **Marker** icon if local knowledge " +"suggests corrections are needed." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:467 +msgid "" +"The classification updates in real time as training points are added or " +"modified, allowing the impact of each change to be seen immediately." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:470 +msgid "10.5 Configure the classifier" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:472 +msgid "SEPAL uses **Random Forest** by default. Recommended settings:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:478 +msgid "Parameter" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:479 +msgid "Recommended value" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:480 +msgid "Number of trees" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:481 +msgid "~300 (use 25 for exploration; increase for production)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:482 +msgid "Variables per split (mTry)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:483 +msgid "Default/auto" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:484 +msgid "Probability outputs" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:485 +msgid "Enable if available" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:488 +msgid "10.6 Interpret and refine results" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:490 +msgid "Use the **Menu** (☰) to switch between display bands:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:492 +msgid "**Class** – the final classified map (one class per pixel)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:493 +msgid "" +"**Mangrove percent** – the probability that each pixel belongs to the " +"mangrove class; more informative than the binary class map for " +"understanding model uncertainty" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:495 +msgid "To improve results, iterate by:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:497 +msgid "" +"tightening the high-confidence mask criteria in the **Remapping** recipe " +"(:ref:`Section 7 `) and resampling (:ref:`Section 8 " +"`);" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:498 +msgid "adding more training samples;" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:499 +msgid "increasing the number of Random Forest trees; or" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:500 +msgid "adjusting the input data stack." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:504 +msgid "" +"See :doc:`../cookbook/classification` for full instructions on the SEPAL " +"classification recipe." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:509 +msgid "11. Map above-ground biomass (optional)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:511 +msgid "" +"In addition to mangrove extent, SEPAL can produce wall-to-wall maps of " +"above-ground biomass (AGB) by combining point-based biomass measurements " +"with satellite embeddings using a **Regression** recipe." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:514 +msgid "11.1 Approach" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:516 +msgid "" +"Where biomass measurements are available (from field plots or GEDI " +"LiDAR), and where the 64 embedding bands are available, the known biomass" +" values can be statistically related to the embedding values and applied " +"to every pixel across the AOI — producing a continuous biomass estimate " +"map." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:519 +msgid "11.2 Option A – Using GEDI LiDAR data" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:521 +msgid "" +"The Global Ecosystem Dynamics Investigation (GEDI) is a full-waveform " +"LiDAR instrument on the International Space Station, capturing vegetation" +" height, canopy structure, and above-ground biomass density. GEDI data " +"are point samples rather than wall-to-wall, but can be used as training " +"data to produce a continuous biomass map." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:523 +msgid "To load GEDI L4A as an EE Asset recipe:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:528 +msgid "**Asset**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:529 +msgid "GEDI L4A Above Ground Biomass Density v2.1" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:531 +msgid "``AGBD`` (above-ground biomass density, Mg/ha)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:532 +msgid "**Visualisation**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:533 +msgid "Thermal colour palette, min = 0, max = ~194" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:535 +msgid "``GEDI_L4A_EEAsset``" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:537 +msgid "To run the biomass regression:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:539 +#: ../../source/workflows/mangrove_mapping.rst:564 +msgid "Add a new recipe and select **Regression**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:540 +#: ../../source/workflows/mangrove_mapping.rst:565 +msgid "Select ``AlphaEarth_Embeddings_EEAsset`` as the image (all 64 bands)." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:541 +msgid "In the training data tab, select **Add** > **Sample image**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:542 +msgid "" +"Select ``GEDI_L4A_EEAsset`` as the source, with ``AGBD`` as the target " +"band." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:543 +msgid "Set the number of samples (increase for production results)." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:544 +#: ../../source/workflows/mangrove_mapping.rst:569 +msgid "Select **Apply** and run." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:548 +msgid "" +"If the study area is changing rapidly, match the GEDI acquisition year to" +" the target image year. For more stable mangrove areas, using all " +"available GEDI data is acceptable." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:551 +msgid "11.3 Option B – Using field-collected AGB data" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:553 +msgid "" +"Field-collected plot data with geographic coordinates can be uploaded to " +"GEE as an asset table and used as training data in the **Regression** " +"recipe." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:555 +msgid "To upload field data to GEE:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:557 +msgid "In the GEE Code Editor, go to the **Assets** tab." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:558 +msgid "Select **New** > **CSV file**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:559 +msgid "Upload the data file — GEE handles reprojection automatically." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:560 +msgid "Note the asset ID from the asset details panel." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:562 +msgid "To run the regression using field data:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:566 +msgid "In the training data tab, select **Add** > **Earth Engine table**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:567 +msgid "Paste the field data table asset ID." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:568 +msgid "Select the AGB column as the target value band." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:572 +msgid "11.4 Interpreting biomass results" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:574 +#, python-format +msgid "" +"The regression produces a continuous map of estimated above-ground " +"biomass (Mg/ha). Results improve significantly with more training samples" +" and more trees in the Random Forest model. Consider reserving 20–30% of " +"samples for independent validation." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:579 +msgid "12. Detect change using CCDC" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:581 +msgid "" +"To map mangrove loss or gain over time, this workflow uses the Continuous" +" Change Detection and Classification (CCDC) algorithm (Zhu and Woodcock, " +"2014). CCDC fits a time-series model to each pixel using all available " +"satellite observations and detects structural breaks — making it well " +"suited to detecting mangrove conversion events." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:584 +msgid "12.1 Create a CCDC asset" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:586 +msgid "Add a new recipe and select **CCDC Asset**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:587 +msgid "Define the AOI and date range." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:588 +msgid "Select input imagery (Sentinel-2 and/or Landsat recommended)." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:589 +msgid "Run the recipe and save the result as a GEE asset." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:593 +msgid "" +"Pre-built CCDC assets for specific study areas may be shared by the SEPAL" +" team or colleagues as GEE asset links, avoiding the need to run this " +"computationally intensive step independently." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:597 +msgid "" +"See :doc:`../cookbook/ccdc_slice` for full instructions on creating a " +"CCDC asset." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:600 +msgid "12.2 Extract CCDC slices" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:602 +msgid "" +"A *CCDC slice* is a snapshot of the fitted time-series model at a " +"specific date — providing harmonised, cloud-free spectral values " +"consistent across dates. CCDC slices can be used:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:604 +msgid "" +"as additional input bands in the **Classification** recipe (:ref:`Section" +" 10 `) for improved accuracy using spatio-" +"temporal descriptors; or" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:605 +msgid "from two different dates to detect change between them." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:609 +msgid "" +"See :doc:`../cookbook/ccdc_slice` for full instructions on using CCDC " +"slices." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:612 +msgid "12.3 Run change detection" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:614 +msgid "**Option A – Index Change recipe (two-date comparison):**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:616 +msgid "Add a new recipe and select **Index Change**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:617 +msgid "Load CCDC slices from two target dates (e.g. 2015 and 2023)." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:618 +msgid "Run the recipe to produce a map of positive and negative spectral change." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:619 +msgid "Interpret positive and negative values as mangrove gain or loss." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:621 +msgid "**Option B – Near-real-time alert recipe:**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:623 +msgid "" +"SEPAL includes an alert recipe based on CCDC that compares the time-" +"series model to very recent observations (last few days to weeks), " +"enabling near-real-time detection of mangrove disturbance events for " +"operational monitoring." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:628 +msgid "13. Download and export results" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:631 +msgid "13.1 Export destinations" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:633 +msgid "" +"Select the **Download** button (cloud with arrow icon) in any recipe to " +"open the export dialog. Choose:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:635 +msgid "" +"**Bands to export** – e.g. ``class`` for a classified map, or " +"``mangrove_percent`` for a probability map;" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:636 +msgid "" +"**Scale** – spatial resolution in metres (e.g. 10 m for Sentinel-2 or " +"embeddings-based results); and" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:637 +msgid "**Destination:**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:639 +msgid "" +"**Google Earth Engine asset** – exports to the GEE asset folder; " +"recommended for further analysis or sharing;" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:640 +msgid "**Google Drive** – exports to Google Drive for local download; or" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:641 +msgid "" +"**SEPAL workspace** – exports to the SEPAL workspace; use if running " +"further analysis inside SEPAL." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:644 +msgid "13.2 Monitor export tasks" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:646 +msgid "" +"After selecting **Retrieve**, a spinning icon appears on the purple task " +"button. A green check mark indicates completion. Monitor tasks in the GEE" +" Code Editor under the **Tasks** tab." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:649 +msgid "13.3 Upload data to GEE" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:651 +msgid "" +"To use local raster or vector data in SEPAL (e.g. field plots, " +"administrative boundaries, existing maps):" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:653 +msgid "In the GEE Code Editor, go to the **Assets** tab and select **New**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:654 +msgid "Select the file type:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:656 +msgid "**GeoTIFF** for raster data;" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:657 +msgid "" +"**Shapefile** – upload ``.shp``, ``.shx``, ``.dbf``, and ``.prj`` files " +"together; or" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:658 +msgid "**CSV** for tabular data with geographic coordinates." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:660 +msgid "GEE handles reprojection automatically." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:661 +msgid "" +"Copy the asset ID and use it in any SEPAL **EE Asset** recipe or training" +" data input." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:664 +msgid "Summary: recommended input data stack" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:670 +msgid "Layer" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:671 +msgid "Asset/source" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:672 +msgid "Purpose" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:673 +msgid "Optical mosaic (Medoid)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:674 +msgid "Sentinel-2 (B2–B12 + indices)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:675 +msgid "Spectral features (if not using embeddings)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:676 +msgid "Radar mosaic" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:677 +msgid "Sentinel-1 (VV mean, VH mean, VH STD)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:678 +msgid "Structural features (if not using embeddings)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:679 +msgid "Google Satellite Embeddings" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:681 +msgid "AI-derived multi-sensor features (64 bands)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:682 +msgid "Global Mangrove Watch v3" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:684 +msgid "Reference mangrove mask" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:685 +msgid "ESA WorldCover v2" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:687 +msgid "Reference land cover (mangrove class = 95)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:688 +msgid "MERIT DEM" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:690 +msgid "Elevation constraint (< 40 m)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:691 +msgid "High-confidence reference map" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:692 +msgid "Remapping recipe output" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:693 +msgid "Training data source" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:694 +msgid "GEDI L4A" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:695 +msgid "GEE catalog" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:696 +#: ../../source/workflows/mangrove_mapping.rst:699 +msgid "Biomass regression training (optional)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:697 +msgid "Field AGB plots" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:698 +msgid "User-uploaded GEE table" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:700 +msgid "CCDC asset" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:701 +msgid "SEPAL CCDC Asset recipe" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:702 +msgid "Change detection" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:705 +msgid "Additional resources" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:711 +msgid "Resource" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:712 +msgid "Link" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:713 +msgid "SEPAL platform" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:714 +msgid "`sepal.io `__" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:715 +msgid "SEPAL documentation" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:716 +msgid "`docs.sepal.io `__" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:717 +msgid "SEPAL certified online course" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:718 +msgid "" +"`FAO SEPAL course `__" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:719 +msgid "FAO SEPAL brochure" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:720 +msgid "`fao.org/in-action/sepal `__" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:721 +msgid "Global Mangrove Watch v3.0" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:722 +msgid "" +"`JAXA GMW " +"`__" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:723 +msgid "ESA WorldCover" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:724 +msgid "`ESA WorldCover `__" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:725 +msgid "GEDI L4A AGB dataset" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:726 +msgid "" +"`GEDI L4A on GEE `__" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:727 +msgid "GEE Satellite Embeddings catalog" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:728 +msgid "" +"`GEE Data Catalog `__" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:729 +msgid "AlphaEarth Foundations" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:730 +msgid "" +"`Google DeepMind blog `__" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:731 +msgid "Contact" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:732 +msgid "sepal@fao.org" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:735 +msgid "References" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:737 +msgid "" +"Brown, C.F., Kazmierski, M.R., Pasquarella, V.J., et al. 2025. AlphaEarth" +" Foundations: An embedding field model for accurate and efficient global " +"mapping from sparse label data. *arXiv preprint* arXiv:2507.22291." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:739 +msgid "" +"Simard, M., Fatoyinbo, L., Smetanka, C., Rivera-Monroy, V.H., Castañeda-" +"Moya, E., Thomas, N. and Van der Stocken, T. 2019. Mangrove canopy height" +" globally related to precipitation, temperature and cyclone frequency. " +"*Nature Geoscience*, 12: 40–45." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:741 +msgid "" +"Zhu, Z. and Woodcock, C.E. 2014. Continuous change detection and " +"classification of land cover using all available Landsat data. *Remote " +"Sensing of Environment*, 144: 152–171." +msgstr "" + diff --git a/docs/source/_locale/ru/LC_MESSAGES/workflows/proms.po b/docs/source/_locale/ru/LC_MESSAGES/workflows/proms.po new file mode 100644 index 0000000000..eb3bb2ead7 --- /dev/null +++ b/docs/source/_locale/ru/LC_MESSAGES/workflows/proms.po @@ -0,0 +1,457 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: ru\n" +"Language-Team: ru \n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/workflows/proms.rst:2 +msgid "Probability Map Subtraction (PROMS)" +msgstr "" + +#: ../../source/workflows/proms.rst:5 +msgid "Overview" +msgstr "" + +#: ../../source/workflows/proms.rst:7 +msgid "" +"This tutorial provides a step-by-step guide to estimate forest change " +"areas between two dates using an improved area estimation technique. The " +"method leverages a statistically optimized stratification of forest and " +"forest change areas using continuous probability layers and sample " +"allocation." +msgstr "" + +#: ../../source/workflows/proms.rst:17 +msgid "In lighter green optional data and steps." +msgstr "" + +#: ../../source/workflows/proms.rst:21 +msgid "Workflow Steps" +msgstr "" + +#: ../../source/workflows/proms.rst:24 +msgid "Input Data Collection for Time 1 and Time 2" +msgstr "" + +#: ../../source/workflows/proms.rst:25 +msgid "" +"Training data on Stable Forest and Stable Non-Forest between Time 1 And " +"Time 2" +msgstr "" + +#: ../../source/workflows/proms.rst:26 +msgid "Forest Probability Classification at Time 1 and Time 2" +msgstr "" + +#: ../../source/workflows/proms.rst:27 +msgid "Forest Change Probability Calculation" +msgstr "" + +#: ../../source/workflows/proms.rst:28 +msgid "Inclusive Forest Mask Application (Optional)" +msgstr "" + +#: ../../source/workflows/proms.rst:29 +msgid "Stratification" +msgstr "" + +#: ../../source/workflows/proms.rst:30 +msgid "Sample Allocation" +msgstr "" + +#: ../../source/workflows/proms.rst:31 +msgid "Sample Interpretation and analysis" +msgstr "" + +#: ../../source/workflows/proms.rst:35 +msgid "Summary Approach" +msgstr "" + +#: ../../source/workflows/proms.rst:37 +msgid "" +"In this tutorial, we will demonstrate the methodology applied to the " +"region of Alto Paraguay, aiming to estimate the forest change area " +"between the years 2018 (Time 1) and 2020 (Time 2)." +msgstr "" + +#: ../../source/workflows/proms.rst:40 +msgid "Step 1: Input Data" +msgstr "" + +#: ../../source/workflows/proms.rst:42 +msgid "" +"The first step is to select the input imagery for classification. A " +"minimum of one type of data source is required; however, for optimal " +"classification results, a combination of sensors is recommended. The " +"selection depends on data availability and quality for your study area. " +"To capture changes occurring between Time 1 and Time 2, it is recommended" +" to create annual composites for one year before and one year after each " +"respective time point. This approach includes all possible changes that " +"occurred during Time 1 and Time 2." +msgstr "" + +#: ../../source/workflows/proms.rst:45 +msgid "SEPAL Tools for Image Combination:" +msgstr "" + +#: ../../source/workflows/proms.rst:47 +msgid "" +"SEPAL offers several tools to combine images from several sensors into " +"single raster:" +msgstr "" + +#: ../../source/workflows/proms.rst:49 +msgid "" +"**Optical Mosaics**: For creating optical mosaics, refer to the `Optical " +"Mosaics tool " +"`__." +msgstr "" + +#: ../../source/workflows/proms.rst:50 +msgid "" +"**Radar Mosaics**: For creating radar mosaics, use the `Radar Mosaics " +"tool `__." +msgstr "" + +#: ../../source/workflows/proms.rst:51 +msgid "" +"**Planet Mosaic**: For creating optical mosaics with high-resolution " +"imagery, see the `Planet Mosaic tool " +"`__." +msgstr "" + +#: ../../source/workflows/proms.rst:53 +msgid "" +"For areas with seasonal vegetation variations (e.g., dry forests), " +"consider using Continuous Change Detection and Classification (CCDC). " +"Refer to `CCDC Asset Creation " +"`__ for" +" more information." +msgstr "" + +#: ../../source/workflows/proms.rst:56 +msgid "Case Study Data Preparation:" +msgstr "" + +#: ../../source/workflows/proms.rst:58 +msgid "In our case study, we created:" +msgstr "" + +#: ../../source/workflows/proms.rst:60 +msgid "Planet Mosaics, Sentinel-1 Time Scans, Sentinel-2 Mosaics in SEPAL." +msgstr "" + +#: ../../source/workflows/proms.rst:61 +msgid "" +"ALOS-2 Time Scans in Google Earth Engine (`Link to Script " +"`__)" +msgstr "" + +#: ../../source/workflows/proms.rst:63 +msgid "" +"These datasets were prepared for both years 2017 and 2021 (one year " +"before and one year after Time 1 and Time 2, respectively)." +msgstr "" + +#: ../../source/workflows/proms.rst:71 +msgid "Step 2: Training Data" +msgstr "" + +#: ../../source/workflows/proms.rst:73 +msgid "" +"Create training data on the presence and absence of forest for your " +"period of interest. Depending on availability, training data can be " +"sourced from:" +msgstr "" + +#: ../../source/workflows/proms.rst:75 +msgid "**Existing Maps**: Extract samples from global or regional forest maps." +msgstr "" + +#: ../../source/workflows/proms.rst:76 +msgid "**Field Data**: Use ground-truth data collected from field surveys." +msgstr "" + +#: ../../source/workflows/proms.rst:77 +msgid "**Other Sources**: Extract samples from datasets like GEDI or GLANCE." +msgstr "" + +#: ../../source/workflows/proms.rst:80 +msgid "Step 3: Forest Probability Classification" +msgstr "" + +#: ../../source/workflows/proms.rst:82 +msgid "" +"Obtain forest probability maps for Time 1 and Time 2 through supervised " +"classification of your input data, using training data on forest and non-" +"forest classes. It is preferable to use stable samples from the period " +"between Time 1 and Time 2." +msgstr "" + +#: ../../source/workflows/proms.rst:85 +msgid "Using SEPAL's Classification Tool:" +msgstr "" + +#: ../../source/workflows/proms.rst:87 +msgid "" +"SEPAL offers a user-friendly `Classification tool " +"`__ for " +"building supervised classifications." +msgstr "" + +#: ../../source/workflows/proms.rst:90 ../../source/workflows/proms.rst:215 +#: ../../source/workflows/proms.rst:256 +msgid "Case Study Implementation:" +msgstr "" + +#: ../../source/workflows/proms.rst:92 +msgid "" +"Auxiliary Data: Added terrain data from the `MERIT Digital Elevation " +"Model `__ to the " +"mosaic stack for both years. Classifier: Used a Random Forest Classifier " +"in probability output mode. Output: Generated forest probability maps for" +" 2017 and 2021." +msgstr "" + +#: ../../source/workflows/proms.rst:96 +msgid "" +"If the number of samples that changed class between Time 1 and Time 2 is " +"small relative to the total number, it won’t significantly affect Random " +"Forest results due to its multiple decision trees and bootstrapping " +"method." +msgstr "" + +#: ../../source/workflows/proms.rst:103 +msgid "Step 4: Forest Change Probability Calculation" +msgstr "" + +#: ../../source/workflows/proms.rst:105 +msgid "" +"Calculate the forest change probability map by finding the difference " +"between the forest probability maps of Time 1 and Time 2." +msgstr "" + +#: ../../source/workflows/proms.rst:108 +msgid "Using SEPAL's Band Math Tool:" +msgstr "" + +#: ../../source/workflows/proms.rst:110 +msgid "" +"The `Band Math tool " +"`__ allows for " +"mathematical operations on images from SEPAL or Google Earth Engine." +msgstr "" + +#: ../../source/workflows/proms.rst:113 +msgid "Case Study Calculation:" +msgstr "" + +#: ../../source/workflows/proms.rst:115 +msgid "" +"Operation: Subtracted the forest probability band (probability_1) of the " +"2021 image from the 2017 image as an absolute value." +msgstr "" + +#: ../../source/workflows/proms.rst:116 +msgid "" +"Result: High values indicate a high probability of forest change, both " +"possible ‘forest losses’ and ‘forest gains’; low values indicate " +"stability." +msgstr "" + +#: ../../source/workflows/proms.rst:124 +msgid "For Multiple Monitoring Dates:" +msgstr "" + +#: ../../source/workflows/proms.rst:126 +msgid "" +"When intermediate dates are available, calculate the maximum forest " +"change probability:" +msgstr "" + +#: ../../source/workflows/proms.rst:140 +#, python-brace-format +msgid "" +"\\text{Max Change Probability} = \\max(\\text{probabilities over all " +"dates}) - \\min(\\text{probabilities over all dates})\n" +"\n" +msgstr "" + +#: ../../source/workflows/proms.rst:147 +msgid "With only two dates:" +msgstr "" + +#: ../../source/workflows/proms.rst:149 +#, python-brace-format +msgid "" +"\\text{Change Probability} = |\\text{Probability at Time 1} - " +"\\text{Probability at Time 2}|\n" +"\n" +msgstr "" + +#: ../../source/workflows/proms.rst:157 +msgid "Step 5: Inclusive Forest Mask Application (optional)" +msgstr "" + +#: ../../source/workflows/proms.rst:159 +msgid "" +"Apply a ‘forest mask’ to exclude areas with very low forest probability, " +"focusing the stratification on relevant areas." +msgstr "" + +#: ../../source/workflows/proms.rst:163 +msgid "" +"This mask should not be regarded as a commonly used forest mask but " +"rather as a highly conservative one, designed to include all areas where " +"forest could potentially exist at both Time 1 and Time 2, while excluding" +" areas where forest is definitively absent, such as deserts, croplands, " +"or built-up areas, especially when these categories constitute a " +"significant portion of the total area)." +msgstr "" + +#: ../../source/workflows/proms.rst:166 +msgid "Using SEPAL’s Band Math Tool:" +msgstr "" + +#: ../../source/workflows/proms.rst:168 +msgid "" +"Calculate Maximum Forest Probability: Use the Band Math tool to find the " +"maximum probability across all dates (Time 1 and Time 2 in the case " +"study)." +msgstr "" + +#: ../../source/workflows/proms.rst:172 +msgid "Using SEPAL’s Remapping Tool:" +msgstr "" + +#: ../../source/workflows/proms.rst:174 +msgid "" +"Remap Values: With the Remapping tool, classify areas as 'forest' where " +"the maximum forest probability exceeds a specified threshold, and mask " +"out areas that fall below this threshold." +msgstr "" + +#: ../../source/workflows/proms.rst:182 +msgid "Case study implementation:" +msgstr "" + +#: ../../source/workflows/proms.rst:184 +msgid "" +"In our case study we used a 10% maximum forest probability threshold that" +" masked out cropland areas." +msgstr "" + +#: ../../source/workflows/proms.rst:188 +msgid "Using SEPAL’s Masking Tool:" +msgstr "" + +#: ../../source/workflows/proms.rst:190 +msgid "" +"Apply Mask: Use the Masking tool to apply the ‘forest mask’ to the forest" +" change probability layer." +msgstr "" + +#: ../../source/workflows/proms.rst:200 +msgid "Step 6: Stratification" +msgstr "" + +#: ../../source/workflows/proms.rst:203 +msgid "" +"Convert the continuous forest change probability map into a categorical " +"map using the SEPAL's `Unsupervised Classification tool " +"`__" +" tool to create a stratification layer." +msgstr "" + +#: ../../source/workflows/proms.rst:207 +msgid "Using SEPAL’s Unsupervised Classification tool" +msgstr "" + +#: ../../source/workflows/proms.rst:210 +msgid "" +"**Sampling**: Number of Samples: Use a high number (e.g., 100,000) for " +"better representation, especially when areas with high forest change " +"probability are small. Sampling Scale: Consider the forest definition " +"(e.g., 70 meters aligning with a 0.5-hectare MMU)." +msgstr "" + +#: ../../source/workflows/proms.rst:211 +msgid "" +"**Clusterer**: Algorithm: Use the k-means algorithm. Number of Clusters: " +"Five classes are recommended (Kozak, 2011)." +msgstr "" + +#: ../../source/workflows/proms.rst:217 +msgid "" +"Samples: 100,000 samples to train the clusterer. Sampling Scale: 70 " +"meters." +msgstr "" + +#: ../../source/workflows/proms.rst:225 +msgid "Apply to Forest Areas Only:" +msgstr "" + +#: ../../source/workflows/proms.rst:227 +msgid "" +"The stratification could be applied exclusively to areas where forest " +"could potentially exist during the period of interest (both stable and " +"changing) using the masked forest change probability map as input image." +msgstr "" + +#: ../../source/workflows/proms.rst:235 +msgid "Step 7: Sample allocation" +msgstr "" + +#: ../../source/workflows/proms.rst:237 +msgid "" +"Select the sample points for interpretation on the stratification layer " +"using Neyman's method. The samples are optimally distributed according to" +" the variability and area of each stratum:" +msgstr "" + +#: ../../source/workflows/proms.rst:239 +msgid "" +":math:`n_h = \\left( \\frac{\\text{sd} \\cdot \\text{área del " +"estrato}}{\\sum (\\text{sd} \\cdot \\text{área})} \\right) \\cdot " +"\\text{targetSampleSize}`" +msgstr "" + +#: ../../source/workflows/proms.rst:242 +msgid "Using Google Earth Engine" +msgstr "" + +#: ../../source/workflows/proms.rst:244 +msgid "" +"The sample allocation can be applied either to the unmasked " +"stratification layer (as shown in the image above) or to the masked " +"stratification layer (as depicted in the image below)." +msgstr "" + +#: ../../source/workflows/proms.rst:258 +msgid "Total number of samples to select: 3000. Spatial resolution: 70m." +msgstr "" + +#: ../../source/workflows/proms.rst:261 +msgid "Step 8: Sample interpretation and analysis" +msgstr "" + +#: ../../source/workflows/proms.rst:263 +msgid "Estimate the forest change area." +msgstr "" + diff --git a/docs/source/_locale/sv/LC_MESSAGES/cli/env_management.po b/docs/source/_locale/sv/LC_MESSAGES/cli/env_management.po new file mode 100644 index 0000000000..ea4be2a739 --- /dev/null +++ b/docs/source/_locale/sv/LC_MESSAGES/cli/env_management.po @@ -0,0 +1,337 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: sv\n" +"Language-Team: sv \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/cli/env_management.rst:4 +msgid "Python environment management" +msgstr "" + +#: ../../source/cli/env_management.rst:6 +msgid "" +"SEPAL provides two tools for managing Python environments: :guilabel:`uv`" +" and :guilabel:`micromamba`. Both are already installed and both are " +"better choices than the built-in :guilabel:`venv` for work on SEPAL." +msgstr "" + +#: ../../source/cli/env_management.rst:8 +msgid "" +"The core problem with :guilabel:`venv` on a shared platform is that it " +"creates environments tightly coupled to the system Python. When SEPAL " +"upgrades Python — as happened with the Ubuntu Noble upgrade from 3.10 to " +"3.12 — every venv breaks. The tools described on this page do not have " +"this problem." +msgstr "" + +#: ../../source/cli/env_management.rst:12 +msgid "" +"Do not use :guilabel:`venv` for new work on SEPAL. Use :guilabel:`uv` or " +":guilabel:`micromamba` instead." +msgstr "" + +#: ../../source/cli/env_management.rst:17 +msgid "Which tool should I use?" +msgstr "" + +#: ../../source/cli/env_management.rst:19 +msgid "The right choice depends on what your project needs." +msgstr "" + +#: ../../source/cli/env_management.rst:25 +msgid "Your stack includes..." +msgstr "" + +#: ../../source/cli/env_management.rst:26 +msgid "Use" +msgstr "" + +#: ../../source/cli/env_management.rst:27 +msgid "Why" +msgstr "" + +#: ../../source/cli/env_management.rst:28 +msgid "Web frameworks, APIs, pure Python tools" +msgstr "" + +#: ../../source/cli/env_management.rst:29 +#: ../../source/cli/env_management.rst:32 +msgid ":guilabel:`uv`" +msgstr "" + +#: ../../source/cli/env_management.rst:30 +msgid "Fast, lightweight, no overhead" +msgstr "" + +#: ../../source/cli/env_management.rst:31 +msgid "Data science: pandas, scikit-learn, statsmodels" +msgstr "" + +#: ../../source/cli/env_management.rst:33 +msgid "Good PyPI wheel coverage for Python 3.12" +msgstr "" + +#: ../../source/cli/env_management.rst:34 +msgid "Geospatial: GDAL, rasterio, fiona, GEOS" +msgstr "" + +#: ../../source/cli/env_management.rst:35 +#: ../../source/cli/env_management.rst:38 +msgid ":guilabel:`micromamba`" +msgstr "" + +#: ../../source/cli/env_management.rst:36 +msgid "Bundles native libraries inside the environment" +msgstr "" + +#: ../../source/cli/env_management.rst:37 +msgid "GPU / ML: CUDA, cuDNN, PyTorch with CUDA" +msgstr "" + +#: ../../source/cli/env_management.rst:39 +msgid "Pins CUDA runtime inside the environment" +msgstr "" + +#: ../../source/cli/env_management.rst:40 +msgid "Mixed: some native libraries, some pure Python" +msgstr "" + +#: ../../source/cli/env_management.rst:41 +msgid ":guilabel:`micromamba` + pip" +msgstr "" + +#: ../../source/cli/env_management.rst:42 +msgid "micromamba for native libraries, pip for the rest" +msgstr "" + +#: ../../source/cli/env_management.rst:46 +msgid "" +":guilabel:`uv` environments can still break if SEPAL upgrades a system-" +"level native library such as GDAL or CUDA. This is because :guilabel:`uv`" +" installs Python packages from PyPI but cannot bundle the underlying " +"``.so`` files they depend on. If your project uses geospatial or GPU " +"packages, use :guilabel:`micromamba`." +msgstr "" + +#: ../../source/cli/env_management.rst:51 +msgid "uv" +msgstr "" + +#: ../../source/cli/env_management.rst:53 +msgid "" +":guilabel:`uv` is a fast, modern Python and package manager. It manages " +"its own Python versions independently of the system, so a system Python " +"upgrade will not affect your environments." +msgstr "" + +#: ../../source/cli/env_management.rst:56 +msgid "Why use uv" +msgstr "" + +#: ../../source/cli/env_management.rst:58 +msgid "" +"**Survives system Python upgrades.** uv pins the Python version inside " +"the project. If you create an environment with Python 3.12.2, it stays on" +" 3.12.2 regardless of what the system does." +msgstr "" + +#: ../../source/cli/env_management.rst:59 +msgid "" +"**Much faster than pip and venv.** Dependency resolution and installation" +" are typically 10–100× faster due to parallel downloads and a compiled " +"resolver." +msgstr "" + +#: ../../source/cli/env_management.rst:60 +msgid "" +"**Lockfiles for reproducibility.** ``uv lock`` generates a precise, " +"cross-platform lockfile — more reliable than ``pip freeze`` for sharing " +"environments with colleagues." +msgstr "" + +#: ../../source/cli/env_management.rst:61 +msgid "" +"**Drop-in pip compatibility.** ``uv pip install`` works exactly like " +"``pip install``. Any package on PyPI works with uv. No new formats to " +"learn." +msgstr "" + +#: ../../source/cli/env_management.rst:62 +msgid "" +"**Works with standard project files.** Reads ``pyproject.toml`` and " +"``requirements.txt`` natively." +msgstr "" + +#: ../../source/cli/env_management.rst:63 +msgid "" +"**Manages multiple Python versions.** ``uv python install 3.10`` lets you" +" run any Python version without touching the system." +msgstr "" + +#: ../../source/cli/env_management.rst:64 +msgid "" +"**Single lightweight binary.** No base environment, no shell hooks, no " +"overhead." +msgstr "" + +#: ../../source/cli/env_management.rst:67 +msgid "Creating a uv project (recommended)" +msgstr "" + +#: ../../source/cli/env_management.rst:69 +msgid "" +"``uv init`` creates a project with a ``pyproject.toml`` and a lockfile, " +"giving you reproducible installs and clean dependency tracking:" +msgstr "" + +#: ../../source/cli/env_management.rst:83 +msgid "" +"uv automatically creates a ``.venv`` inside the project directory, " +"generates a ``uv.lock`` lockfile, and tracks all dependencies in " +"``pyproject.toml``. You do not need to activate anything — ``uv run`` " +"handles it." +msgstr "" + +#: ../../source/cli/env_management.rst:85 +msgid "To reproduce the environment elsewhere (or after a fresh clone):" +msgstr "" + +#: ../../source/cli/env_management.rst:92 +msgid "Creating a standalone uv environment" +msgstr "" + +#: ../../source/cli/env_management.rst:94 +msgid "" +"If you do not need a full project structure — for example, when working " +"with an existing ``requirements.txt`` — you can create a standalone " +"environment:" +msgstr "" + +#: ../../source/cli/env_management.rst:111 +#: ../../source/cli/env_management.rst:208 +msgid "Adding a Jupyter kernel" +msgstr "" + +#: ../../source/cli/env_management.rst:113 +msgid "Register your environment as a named kernel so it appears in JupyterLab:" +msgstr "" + +#: ../../source/cli/env_management.rst:115 +msgid "**For uv projects:**" +msgstr "" + +#: ../../source/cli/env_management.rst:123 +msgid "**For standalone uv environments:**" +msgstr "" + +#: ../../source/cli/env_management.rst:131 +msgid "Verify it appears:" +msgstr "" + +#: ../../source/cli/env_management.rst:137 +#: ../../source/cli/env_management.rst:224 +msgid "To remove a kernel:" +msgstr "" + +#: ../../source/cli/env_management.rst:146 +msgid "micromamba" +msgstr "" + +#: ../../source/cli/env_management.rst:148 +msgid "" +":guilabel:`micromamba` works like conda (if you have used conda before, " +"you already know how to use micromamba). Unlike :guilabel:`uv`, it " +"bundles native system libraries — GDAL, CUDA, HDF5, and others — inside " +"the environment itself, completely isolated from the system. This makes " +"it the right choice for geospatial and GPU workloads." +msgstr "" + +#: ../../source/cli/env_management.rst:151 +msgid "Why use micromamba" +msgstr "" + +#: ../../source/cli/env_management.rst:153 +msgid "" +"**Complete isolation including native libraries.** GDAL, CUDA, HDF5, " +"GEOS, and other system libraries are installed inside the environment. " +"Upgrading system libraries on SEPAL will not break your environment." +msgstr "" + +#: ../../source/cli/env_management.rst:154 +msgid "" +"**conda-forge provides excellent binary coverage.** conda-forge provides " +"pre-compiled, compatible builds of complex packages across all platforms " +"— often better than what is available on PyPI." +msgstr "" + +#: ../../source/cli/env_management.rst:155 +msgid "" +"**Environment files capture the full stack.** ``environment.yml`` files " +"describe both Python packages and native libraries in one place, making " +"environments fully reproducible by colleagues." +msgstr "" + +#: ../../source/cli/env_management.rst:156 +msgid "" +"**Pins native library versions.** You can pin ``cudatoolkit=11.8`` or " +"``gdal=3.6`` and those exact versions live inside the environment, " +"regardless of what is installed system-wide." +msgstr "" + +#: ../../source/cli/env_management.rst:157 +msgid "" +"**Faster than conda.** Written in C++, micromamba solves and installs " +"dependencies significantly faster than the original conda tool." +msgstr "" + +#: ../../source/cli/env_management.rst:158 +msgid "" +"**No base environment.** micromamba has no base environment that needs " +"updating — cleaner and lighter on disk." +msgstr "" + +#: ../../source/cli/env_management.rst:161 +msgid "Creating a micromamba environment" +msgstr "" + +#: ../../source/cli/env_management.rst:178 +msgid "Using an environment.yml file (recommended)" +msgstr "" + +#: ../../source/cli/env_management.rst:180 +msgid "" +"An ``environment.yml`` file captures the full environment — Python " +"version, native libraries, and Python packages — in one place:" +msgstr "" + +#: ../../source/cli/env_management.rst:197 +msgid "Create or update an environment from the file:" +msgstr "" + +#: ../../source/cli/env_management.rst:233 +msgid "Recovering a broken venv" +msgstr "" + +#: ../../source/cli/env_management.rst:235 +msgid "" +"If you have an existing venv that broke due to the Python upgrade, see " +":ref:`fix_venvs` for step-by-step recovery instructions, including a " +"script to extract your requirements without activating the broken " +"environment." +msgstr "" + diff --git a/docs/source/_locale/sv/LC_MESSAGES/cli/index.po b/docs/source/_locale/sv/LC_MESSAGES/cli/index.po index b7d14475f2..f77d045e6f 100644 --- a/docs/source/_locale/sv/LC_MESSAGES/cli/index.po +++ b/docs/source/_locale/sv/LC_MESSAGES/cli/index.po @@ -1,22 +1,54 @@ + msgid "" msgstr "" -"Project-Id-Version: sepal-doc\n" +"Project-Id-Version: sepal-doc\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-03-07 09:39+0100\n" -"PO-Revision-Date: 2024-03-07 09:03\n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: 2024-03-07 09:03+0000\n" "Last-Translator: \n" +"Language: sv_SE\n" "Language-Team: Swedish\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.14.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Crowdin-Project: sepal-doc\n" -"X-Crowdin-Project-ID: 562097\n" -"X-Crowdin-Language: sv-SE\n" -"X-Crowdin-File: /main/docs/source/_locale/en/LC_MESSAGES/cli/index.po\n" -"X-Crowdin-File-ID: 49\n" -"Language: sv_SE\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/cli/index.rst:10 +msgid "GDAL — Geospatial Data Abstraction Library" +msgstr "" + +#: ../../source/cli/index.rst:10 +msgid "Google Drive" +msgstr "" + +#: ../../source/cli/index.rst:10 +msgid "Google Earth Engine" +msgstr "" + +#: ../../source/cli/index.rst:10 +msgid "GuidosToolbox Workbench" +msgstr "" + +#: ../../source/cli/index.rst:10 +msgid "Open Foris Geospatial Toolkit" +msgstr "" + +#: ../../source/cli/index.rst:10 +msgid "Orfeo ToolBox" +msgstr "" + +#: ../../source/cli/index.rst:10 +msgid "Python" +msgstr "" + +#: ../../source/cli/index.rst:10 +msgid "R" +msgstr "" + +#: ../../source/cli/index.rst:10 +msgid "Python environment management" +msgstr "" #: ../../source/cli/index.rst:2 msgid "CLI" @@ -31,51 +63,72 @@ msgid "CLI tools" msgstr "" #: ../../source/cli/index.rst:8 -msgid "To help resolve specific problems, the SEPAL platform includes a variety of useful command-line interface (CLI) utilities, including:" +msgid "" +"To help resolve specific problems, the SEPAL platform includes a variety " +"of useful command-line interface (CLI) utilities, including:" msgstr "" -#: ../../source/cli/index.rst:22 -msgid "These tools can be called directly from the terminal or via any programming language sending commands to the kernel, including R and Python (installed by default on any SEPAL account)." +#: ../../source/cli/index.rst:23 +msgid "" +"These tools can be called directly from the terminal or via any " +"programming language sending commands to the kernel, including R and " +"Python (installed by default on any SEPAL account)." msgstr "" -#: ../../source/cli/index.rst:29 +#: ../../source/cli/index.rst:30 msgid "The code executed previously on an existing :code:`example.tif` file:" msgstr "" -#: ../../source/cli/index.rst:37 -msgid "If you're running actions from multiple directories or instances, you can open multiple **Terminal** tabs and name them as you see fit." +#: ../../source/cli/index.rst:38 +msgid "" +"If you're running actions from multiple directories or instances, you can" +" open multiple **Terminal** tabs and name them as you see fit." msgstr "" -#: ../../source/cli/index.rst:41 -msgid "If the code you want to execute is taking time, consider running it in the background using :code:`nohup`:" +#: ../../source/cli/index.rst:42 +msgid "" +"If the code you want to execute is taking time, consider running it in " +"the background using :code:`nohup`:" msgstr "" -#: ../../source/cli/index.rst:47 -msgid "All console outputs will be redirected to a :code:`nohup.out` in your home directory, but the execution will be running in the background. You will be able to safely close the terminal or even the browser window without interrupting the process (for more information about :code:`nohup`, see `this article `__)." +#: ../../source/cli/index.rst:48 +msgid "" +"All console outputs will be redirected to a :code:`nohup.out` in your " +"home directory, but the execution will be running in the background. You " +"will be able to safely close the terminal or even the browser window " +"without interrupting the process (for more information about " +":code:`nohup`, see `this article " +"`__)." msgstr "" -#: ../../source/cli/index.rst:50 +#: ../../source/cli/index.rst:51 msgid "Coding tools" msgstr "" -#: ../../source/cli/index.rst:52 -msgid "In the **Apps** section, there are three coding tools at the top of the list:" +#: ../../source/cli/index.rst:53 +msgid "" +"In the **Apps** section, there are three coding tools at the top of the " +"list:" msgstr "" -#: ../../source/cli/index.rst:54 +#: ../../source/cli/index.rst:55 msgid "JupyterLab" msgstr "" -#: ../../source/cli/index.rst:55 +#: ../../source/cli/index.rst:56 msgid "Jupyter Notebook" msgstr "" -#: ../../source/cli/index.rst:56 +#: ../../source/cli/index.rst:57 msgid "RStudio" msgstr "" -#: ../../source/cli/index.rst:61 -msgid "They will allow the user to code wokflows in any of the available languages using the corresponding environment in SEPAL. These environments are fully customizable (view the :code:`Python` or :code:`R` section to know more)." +#: ../../source/cli/index.rst:62 +msgid "" +"They will allow the user to code wokflows in any of the available " +"languages using the corresponding environment in SEPAL. These " +"environments are fully customizable (view the :code:`Python` or :code:`R`" +" section to know more)." msgstr "" #~ msgid "" diff --git a/docs/source/_locale/sv/LC_MESSAGES/cookbook/band_math.po b/docs/source/_locale/sv/LC_MESSAGES/cookbook/band_math.po new file mode 100644 index 0000000000..edaed6b0cd --- /dev/null +++ b/docs/source/_locale/sv/LC_MESSAGES/cookbook/band_math.po @@ -0,0 +1,233 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: sv\n" +"Language-Team: sv \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/cookbook/band_math.rst:2 +msgid "Band Math" +msgstr "" + +#: ../../source/cookbook/band_math.rst:4 +msgid "" +"The **Band Math** recipe in SEPAL allows you to derive new raster layers " +"from existing ones by evaluating mathematical expressions. You can " +"combine, scale or subtract spectral bands, build indices or apply logical" +" masks. This guide walks through the Band Math workflow from start to " +"finish and uses a vegetation index as an example. The same steps apply " +"whether you are creating a simple ratio or a complex index." +msgstr "" + +#: ../../source/cookbook/band_math.rst:7 +msgid "Getting started" +msgstr "" + +#: ../../source/cookbook/band_math.rst:9 +msgid "Open `sepal.io `_ in your web browser and sign in." +msgstr "" + +#: ../../source/cookbook/band_math.rst:10 +msgid "" +"Go to the **Process** page where SEPAL lists your recipes. If you have " +"not created any recipes yet this list will be empty." +msgstr "" + +#: ../../source/cookbook/band_math.rst:13 +msgid "Creating a Band Math recipe" +msgstr "" + +#: ../../source/cookbook/band_math.rst:15 +msgid "" +"Click :btn:` Add recipe` in the recipe list and choose " +"**Band Math**. SEPAL opens a new tab for your recipe. On the right‑hand " +"side you will see three vertically stacked tabs labelled :guilabel:`IMG`," +" :guilabel:`CAL` and :guilabel:`OUT` corresponding to *Input imagery*, " +"*Calculations* and *Outputs*." +msgstr "" + +#: ../../source/cookbook/band_math.rst:27 +msgid "" +"Select the :guilabel:`IMG` button. Click :btn:` Add` " +"and then **Earth Engine Asset**. An entry form appears where you can " +"provide a Google Earth Engine image. Paste a valid asset ID into the " +"**Earth Engine asset ID** field (for example the Landsat 8 Level‑2 scene " +"``LANDSAT/LC08/C02/T1_L2/LC08_232064_20200119``). Leave the **Image " +"name** as the default (``i1``) unless you intend to add multiple images. " +"Use the tick icon to validate the ID; if the field turns red the asset is" +" not available. Once it loads successfully you will see a section " +"labelled **CONTINUOUS** listing the available bands." +msgstr "" + +#: ../../source/cookbook/band_math.rst:34 +msgid "" +"Specify which bands you need. Click the green :btn:` " +"Add` button to insert a row, select the band name from the drop‑down list" +" and leave the :guilabel:`TYPE` as **CONTINUOUS**. Repeat this step for " +"every band referenced in your expression. For a vegetation index select " +"the red band ``SR_B4`` and the near‑infrared band ``SR_B5``. When you " +"have added all your bands, click :btn:` Apply` to " +"confirm. The :guilabel:`IMG` tab now lists your Earth Engine asset and " +"the chosen name." +msgstr "" + +#: ../../source/cookbook/band_math.rst:42 +msgid "Defining a calculation" +msgstr "" + +#: ../../source/cookbook/band_math.rst:44 +msgid "" +"Switch to the :guilabel:`CAL` tab and click :btn:` " +"Add`. A dialog appears offering two paths: **Function** and " +"**Expression**. Choose **Function** when you want to compute built‑in " +"statistics (sum, mean, min, max, product) on your bands. Choose " +"**Expression** when you need to write a custom formula. For indices you " +"will almost always select **Expression**." +msgstr "" + +#: ../../source/cookbook/band_math.rst:51 +msgid "" +"In the expression editor type your formula. Refer to each band using its " +"image name and band name, for example ``i1.SR_B5`` for the near‑infrared " +"band of the first image. Parentheses control the order of operations. To " +"compute a vegetation index you can use:" +msgstr "" + +#: ../../source/cookbook/band_math.rst:57 +msgid "" +"You could just as easily substitute other bands or constants, for example" +" the Normalised Difference Water Index (NDWI) ``(i1.SR_B3 - i1.SR_B5) / " +"(i1.SR_B3 + i1.SR_B5)`` or a simple ratio like ``i1.SR_B5 / i1.SR_B4``." +msgstr "" + +#: ../../source/cookbook/band_math.rst:59 +msgid "" +"Enter a short Band name beneath the editor. This will be the label of the" +" resulting layer – for example ``ndvi`` for a vegetation index." +msgstr "" + +#: ../../source/cookbook/band_math.rst:66 +msgid "" +"Click :btn:` Apply`. Your calculation appears in the " +"list with an identifier such as ``c1``. You can add additional " +"calculations by repeating this process; each one becomes a separate " +"output band." +msgstr "" + +#: ../../source/cookbook/band_math.rst:74 +msgid "Managing outputs and naming" +msgstr "" + +#: ../../source/cookbook/band_math.rst:76 +msgid "" +"The :guilabel:`OUT` tab displays the bands produced by your expressions. " +"Check that the band names are correct. You can delete or add them using " +"the icons on the right of each row. Above the map the recipe tab uses a " +"default timestamp; rename it by double‑clicking the label, entering a " +"descriptive name (for example ``Amazon_BandMath``) and pressing " +"**Enter**. When everything looks correct close the :guilabel:`OUT` tab." +msgstr "" + +#: ../../source/cookbook/band_math.rst:84 +msgid "Visualising the results" +msgstr "" + +#: ../../source/cookbook/band_math.rst:86 +msgid "" +"By default your calculation is not drawn on the map. To create a " +"visualisation:" +msgstr "" + +#: ../../source/cookbook/band_math.rst:88 +msgid "" +"Locate the small :btn:`` icon near the bottom centre of" +" the map and click it. This opens the **This recipe** panel. If your " +"derived bands appear here they are ready for visualisation; if not, click" +" the :btn:`` button in that panel to create one." +msgstr "" + +#: ../../source/cookbook/band_math.rst:95 +msgid "" +"A **Visualisation** dialog opens. Choose the band you want to display " +"from the **Band** drop‑down (for example ``ndvi``). Set **Min** and " +"**Max** values to define the stretch – for indices spanning –1 to 1, " +"values such as –0.2 and 0.8 often provide good contrast." +msgstr "" + +#: ../../source/cookbook/band_math.rst:97 +msgid "" +"Select a colour palette. You can load a preset palette from the drop‑down" +" or define your own. To enter custom colours click the :guilabel:`HEX` " +"button; a text box appears containing a comma‑separated list of colour " +"codes. Replace it with your own codes (e.g. ``#ffffcc, #c2e699, #78c679, " +"#31a354, #006837`` for a light‑to‑dark green gradient). Multiple colours " +"create a smooth ramp." +msgstr "" + +#: ../../source/cookbook/band_math.rst:104 +msgid "" +"Click :btn:` Apply`. SEPAL renders the band using your" +" settings and adds a legend bar at the bottom of the map. If the map " +"stays blank for more than a few seconds, ensure you added the correct " +"bands and that the area of interest is not outside the footprint of your " +"image." +msgstr "" + +#: ../../source/cookbook/band_math.rst:113 +msgid "What else can you do with Band Math?" +msgstr "" + +#: ../../source/cookbook/band_math.rst:115 +msgid "" +"Band Math is a general‑purpose calculator for raster bands. Beyond " +"vegetation indices you can:" +msgstr "" + +#: ../../source/cookbook/band_math.rst:117 +msgid "" +"Highlight water bodies by computing the Normalised Difference Water Index" +" (NDWI): ``(i1.SR_B3 - i1.SR_B5) / (i1.SR_B3 + i1.SR_B5)``." +msgstr "" + +#: ../../source/cookbook/band_math.rst:118 +msgid "" +"Assess burn severity with the Normalised Burn Ratio (NBR) using " +"near‑infrared and short‑wave infrared bands: ``(i1.SR_B5 - i1.SR_B7) / " +"(i1.SR_B5 + i1.SR_B7)``." +msgstr "" + +#: ../../source/cookbook/band_math.rst:119 +msgid "" +"Perform arithmetic between bands (for example ``i1.SR_B5 - i1.SR_B4``), " +"multiply by constants to convert digital numbers to reflectance or add " +"bands to create composites." +msgstr "" + +#: ../../source/cookbook/band_math.rst:120 +msgid "" +"Create masks based on conditions – for instance ``i1.SR_B5 > 0.3`` to " +"select highly vegetated pixels – and combine them with logical operators " +"(`and`, `or`)." +msgstr "" + +#: ../../source/cookbook/band_math.rst:122 +msgid "" +"Every expression you add becomes a new band that can be visualised or " +"used in subsequent calculations. By chaining calculations together you " +"can build complex workflows in SEPAL without writing any external code." +msgstr "" + diff --git a/docs/source/_locale/sv/LC_MESSAGES/cookbook/classification.po b/docs/source/_locale/sv/LC_MESSAGES/cookbook/classification.po index ab1b33e71a..e390c89b81 100644 --- a/docs/source/_locale/sv/LC_MESSAGES/cookbook/classification.po +++ b/docs/source/_locale/sv/LC_MESSAGES/cookbook/classification.po @@ -1,29 +1,27 @@ + msgid "" msgstr "" -"Project-Id-Version: sepal-doc\n" +"Project-Id-Version: sepal-doc\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-03-07 09:39+0100\n" -"PO-Revision-Date: 2024-03-07 09:04\n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: 2024-03-07 09:04+0000\n" "Last-Translator: \n" +"Language: sv_SE\n" "Language-Team: Swedish\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.14.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Crowdin-Project: sepal-doc\n" -"X-Crowdin-Project-ID: 562097\n" -"X-Crowdin-Language: sv-SE\n" -"X-Crowdin-File: /main/docs/source/_locale/en/LC_MESSAGES/cookbook/classification.po\n" -"X-Crowdin-File-ID: 65\n" -"Language: sv_SE\n" +"Generated-By: Babel 2.18.0\n" #: ../../source/cookbook/classification.rst:2 msgid "Classification" msgstr "" #: ../../source/cookbook/classification.rst:3 -msgid "*Build supervised classifications of mosaic images to create easy-to-use user interfaces with the Classification recipe*" +msgid "" +"*Build supervised classifications of mosaic images to create easy-to-use " +"user interfaces with the Classification recipe*" msgstr "" #: ../../source/cookbook/classification.rst:6 @@ -31,7 +29,12 @@ msgid "Overview" msgstr "" #: ../../source/cookbook/classification.rst:8 -msgid "With this recipe, SEPAL helps users build supervised classifications of any mosaic image. It is built on top of the most advanced tools available on Google Earth Engine (GEE) – including the classifiers CART, RandomForest, NaiveBayes and SVM – allowing users to create an easy-to-use user interface to:" +msgid "" +"With this recipe, SEPAL helps users build supervised classifications of " +"any mosaic image. It is built on top of the most advanced tools available" +" on Google Earth Engine (GEE) – including seven classifiers, such as " +"Random Forest, CART and SVM – allowing users to create an easy-to-use " +"user interface to:" msgstr "" #: ../../source/cookbook/classification.rst:10 @@ -39,7 +42,7 @@ msgid "select an image to classify;" msgstr "" #: ../../source/cookbook/classification.rst:11 -msgid "define the class table; and" +msgid "define the legend; and" msgstr "" #: ../../source/cookbook/classification.rst:12 @@ -47,7 +50,10 @@ msgid "add training data from external sources and on-the-fly selection." msgstr "" #: ../../source/cookbook/classification.rst:14 -msgid "In combination with other tools of SEPAL, the **Classification** recipe can help you provide accurate land-use maps, without writing a single line of code." +msgid "" +"In combination with other tools of SEPAL, the **Classification** recipe " +"can help you provide accurate land-use maps, without writing a single " +"line of code." msgstr "" #: ../../source/cookbook/classification.rst:17 @@ -55,15 +61,24 @@ msgid "Start" msgstr "" #: ../../source/cookbook/classification.rst:19 -msgid "Once the **Classification** recipe is selected, SEPAL will show the recipe process in a new tab (see **1** in figure below); the **Image selection** window will appear in the lower right (**2**)." +msgid "" +"Once the **Classification** recipe is selected, SEPAL will show the " +"recipe process in a new tab (see **1** in figure below); the **Image " +"selection** window will appear in the lower right (**2**)." msgstr "" #: ../../source/cookbook/classification.rst:25 -msgid "The first step is to change the name of the recipe. This name will be used to identify your files and recipes in SEPAL folders. Use the best-suited convention for your needs. Simply double-click the tab and enter a new name. It will default to :code:`Classification_`." +msgid "" +"The first step is to change the name of the recipe. This name will be " +"used to identify your files and recipes in SEPAL folders. Use the best-" +"suited convention for your needs. Simply double-click the tab and enter a" +" new name. It will default to :code:`Classification_`." msgstr "" #: ../../source/cookbook/classification.rst:37 -msgid "The SEPAL team recommends using the following naming convention: :code:`__`." +msgid "" +"The SEPAL team recommends using the following naming convention: " +":code:`__`." msgstr "" #: ../../source/cookbook/classification.rst:40 @@ -71,7 +86,9 @@ msgid "Parameters" msgstr "" #: ../../source/cookbook/classification.rst:42 -msgid "In the lower-right corner, the following five tabs are available, allowing you to customize the time series to your needs:" +msgid "" +"In the lower-right corner, the following five tabs are available, " +"allowing you to customize the classification to your needs:" msgstr "" #: ../../source/cookbook/classification.rst:44 @@ -99,19 +116,29 @@ msgid "Image selection" msgstr "" #: ../../source/cookbook/classification.rst:57 -msgid "The first step consists of selecting the image bands on which to apply the classifier. The number of selected bands (i.e. images) is not limited." +msgid "" +"The first step consists of selecting the image bands on which to apply " +"the classifier. The number of selected bands (i.e. images) is not " +"limited." msgstr "" #: ../../source/cookbook/classification.rst:61 -msgid "Keep in mind that increasing the number of bands to analyse will improve the model but slow down the rendering of the final image." +msgid "" +"Keep in mind that increasing the number of bands to analyse will improve " +"the model but slow down the rendering of the final image." msgstr "" #: ../../source/cookbook/classification.rst:65 -msgid "If multiple images are selected, all selected images should overlap. If masked pixels are found in one of the bands, the classifier will mask them." +msgid "" +"If multiple images are selected, all selected images should overlap. If " +"masked pixels are found in one of the bands, the classifier will mask " +"them." msgstr "" #: ../../source/cookbook/classification.rst:67 -msgid "Select :btn:` Add`. The following screen should be displayed:" +msgid "" +"Select :btn:` Add`. The following screen should be " +"displayed:" msgstr "" #: ../../source/cookbook/classification.rst:74 @@ -119,11 +146,15 @@ msgid "Image type" msgstr "" #: ../../source/cookbook/classification.rst:76 -msgid "Users can select images coming from an **Existing recipe** or an exported **GEE asset** (see advantages and disadvantages below). Both should be an :code:`ee.Image`, rather than a :code:`Time series` or :code:`ee.ImageCollection`." +msgid "" +"Users can select images coming from a **Saved SEPAL recipe** or an " +"exported **Earth Engine asset** (see advantages and disadvantages below)." +" Both should be an :code:`ee.Image`, rather than a :code:`Time series` or" +" :code:`ee.ImageCollection`." msgstr "" #: ../../source/cookbook/classification.rst:78 -msgid "**Existing recipe**:" +msgid "**Saved SEPAL recipe**:" msgstr "" #: ../../source/cookbook/classification.rst:80 @@ -136,7 +167,9 @@ msgid "all of the computed bands from SEPAL can be used; and" msgstr "" #: ../../source/cookbook/classification.rst:83 -msgid "any modification to the existing recipe will be propagated in the final classification." +msgid "" +"any modification to the existing recipe will be propagated in the final " +"classification." msgstr "" #: ../../source/cookbook/classification.rst:85 @@ -145,11 +178,14 @@ msgid "Disadvantages:" msgstr "" #: ../../source/cookbook/classification.rst:87 -msgid "the initial recipe will be computed at each rendering step, slowing down the classification process and potentially breaking on-the-fly rendering due to GEE timeout errors." +msgid "" +"the initial recipe will be computed at each rendering step, slowing down " +"the classification process and potentially breaking on-the-fly rendering " +"due to GEE timeout errors." msgstr "" #: ../../source/cookbook/classification.rst:89 -msgid "**GEE asset**:" +msgid "**Earth Engine asset**:" msgstr "" #: ../../source/cookbook/classification.rst:93 @@ -177,11 +213,18 @@ msgid "Select bands" msgstr "" #: ../../source/cookbook/classification.rst:108 -msgid "For this example, we will use a public asset created with the **Optical mosaic** tool from SEPAL. It's a Sentinel-2 mosaic of Eastern Province in Zambia during the dry season from 2012 to 2020. Multiple bands are available." +msgid "" +"For this example, we will use a public asset created with the **Optical " +"mosaic** tool from SEPAL. It's a Sentinel-2 mosaic of Eastern Province in" +" Zambia during the dry season from 2012 to 2021. Multiple bands are " +"available." msgstr "" #: ../../source/cookbook/classification.rst:110 -msgid "Use the following asset name if you want to reproduce our workflow: :code:`projects/sepal-cookbook/assets/classification/zmb-eastern_2012_2021`" +msgid "" +"Use the following asset name if you want to reproduce our workflow: " +":code:`projects/sepal-cookbook/assets/classification/zmb-" +"eastern_2012_2021`" msgstr "" #: ../../source/cookbook/classification.rst:113 @@ -189,7 +232,12 @@ msgid "Image bands" msgstr "" #: ../../source/cookbook/classification.rst:115 -msgid "Once an asset has been selected, SEPAL will load its bands in the interface. You can use any band that is native to the image as input for the classification process. Simply click on the band name to select them. The selected bands are summarized in the expansion panel title (**1**) and displayed in gold in the pane content (**2**)." +msgid "" +"Once an asset has been selected, SEPAL will load its bands in the " +"interface. You can use any band that is native to the image as input for " +"the classification. Open the :guilabel:`Select bands...` dropdown and " +"click a band name to add it (the highlighted option). Each selected band " +"then appears as a removable chip in the **Image bands** panel." msgstr "" #: ../../source/cookbook/classification.rst:117 @@ -205,7 +253,7 @@ msgid ":code:`nir`" msgstr "" #: ../../source/cookbook/classification.rst:121 -msgid ":code:`swir`" +msgid ":code:`swir1`" msgstr "" #: ../../source/cookbook/classification.rst:122 @@ -217,39 +265,54 @@ msgid "Derived bands" msgstr "" #: ../../source/cookbook/classification.rst:131 -msgid "The analysis is not limited to natively available bands. SEPAL can also build additional derived bands on-the-fly." +msgid "" +"The analysis is not limited to natively available bands. SEPAL can also " +"build additional derived bands on-the-fly." msgstr "" #: ../../source/cookbook/classification.rst:133 -msgid "Select :btn:` Derived bands` at the bottom of the pop-up window and select the deriving method. This will add a a new panel to the expansion panel with the selected method name (**1**). The selected method will be applied to the selected bands." +msgid "" +"Select :btn:` Derived bands` at the bottom of the pop-" +"up window and select the deriving method. This adds a new panel named " +"after the selected method (e.g. **Normalized difference**). The method " +"will be applied to the bands you add to that panel." msgstr "" #: ../../source/cookbook/classification.rst:137 -msgid "If more than two bands are selected, the operation will be applied to the Cartesian product of the bands. If you select bands :math:`A`, :math:`B` and :math:`C`, and apply the :code:`Difference` derived bands, you'll add three bands to your analysis:" +msgid "" +"If you select two bands, :math:`A` and :math:`B`, and apply the " +"**Normalized difference** derived band, you'll add one band to your " +"analysis:" msgstr "" #: ../../source/cookbook/classification.rst:139 -msgid ":math:`A - B`" -msgstr "" - -#: ../../source/cookbook/classification.rst:140 -msgid ":math:`A - C`" +msgid ":math:`(A - B) / (A + B)`" msgstr "" #: ../../source/cookbook/classification.rst:141 -msgid ":math:`B - C`" +msgid "Selecting more than two bands applies the operation to each pair of them." msgstr "" #: ../../source/cookbook/classification.rst:149 -msgid "You should notice that in the figure, we compute the normalized difference between :code:`nir` and :code:`red` (i.e. the NDVI). It is also pre-computed in the :code:`Indexes` derived bands." +msgid "" +"You should notice that in the figure, we compute the normalized " +"difference between :code:`nir` and :code:`red` (i.e. the NDVI). It is " +"also pre-computed in the :code:`Indexes` derived bands." msgstr "" #: ../../source/cookbook/classification.rst:151 -msgid "Once image selection is complete, select :btn:` Apply` and the pop-up window will close. The images and bands will be displayed in the :guilabel:`IMG` panel in the lower-right corner of the screen. By selecting the :btn:`` button, you will remove the image and its band from the analysis altogether." +msgid "" +"Once image selection is complete, select :btn:` Apply`" +" and the pop-up window will close. The images and bands will be displayed" +" in the :guilabel:`IMG` panel in the lower-right corner of the screen. By" +" selecting the :btn:`` button, you will remove the " +"image and its bands from the analysis altogether." msgstr "" #: ../../source/cookbook/classification.rst:157 -msgid "From there, select :btn:` Next` to continue to the next step." +msgid "" +"From there, select :btn:` Next` to continue to" +" the next step." msgstr "" #: ../../source/cookbook/classification.rst:160 @@ -257,11 +320,17 @@ msgid "Legend setup" msgstr "" #: ../../source/cookbook/classification.rst:162 -msgid "In this step, the user will specify the legend that should be used in the output classified image. Any categorical classification that associates integer value to a class name will work. SEPAL provides multiple ways to create and customize a legend." +msgid "" +"In this step, the user will specify the legend that should be used in the" +" output classified image. Any categorical classification that associates " +"integer value to a class name will work. SEPAL provides multiple ways to " +"create and customize a legend." msgstr "" #: ../../source/cookbook/classification.rst:170 -msgid "Legends created here are fully compatible with other functionalities of SEPAL, including applications." +msgid "" +"Legends created here are fully compatible with other functionalities of " +"SEPAL, including applications." msgstr "" #: ../../source/cookbook/classification.rst:173 @@ -269,7 +338,9 @@ msgid "Manual legend" msgstr "" #: ../../source/cookbook/classification.rst:175 -msgid "The first and most natural way of building a legend is to do it from scratch." +msgid "" +"The first and most natural way of building a legend is to do it from " +"scratch." msgstr "" #: ../../source/cookbook/classification.rst:177 @@ -281,7 +352,9 @@ msgid "A class is defined by three key elements:" msgstr "" #: ../../source/cookbook/classification.rst:181 -msgid "Color (1): Select the small color square to open the color selector and choose any color (color[s] must be unique)." +msgid "" +"Color (1): Select the small color square to open the color selector and " +"choose any color (color[s] must be unique)." msgstr "" #: ../../source/cookbook/classification.rst:182 @@ -293,15 +366,26 @@ msgid "Class (3): Insert a class description (cannot be empty)." msgstr "" #: ../../source/cookbook/classification.rst:185 -msgid "Select the :btn:` Add` button again to add an extra class line. The :btn:`` button can be used to remove a specific line." +msgid "" +"Select the :btn:` Add` button again to add an extra " +"class line. The :btn:`` button can be used to remove a" +" specific line." msgstr "" #: ../../source/cookbook/classification.rst:189 -msgid "Select :btn:`HEX` (4) to display the hexadecimal value of the selected color. It can also be used to insert a known color palette by utilizing its values." +msgid "" +"Select :btn:`HEX` (4) to display the hexadecimal value of the selected " +"color. It can also be used to insert a known color palette by utilizing " +"its values." msgstr "" #: ../../source/cookbook/classification.rst:191 -msgid "If multiple classes are created and you are not sure which one to use, you can apply colors to them by selecting a preselected color-map (5). They are provided by the `GEE community `__ and will be applied to every existing class in your panel." +msgid "" +"If multiple classes are created and you are not sure which one to use, " +"you can apply colors to them by selecting a preselected color-map (5). " +"They are provided by the `GEE community `__ and will be applied to every existing class in your " +"panel." msgstr "" #: ../../source/cookbook/classification.rst:198 @@ -309,11 +393,16 @@ msgid "Import legend" msgstr "" #: ../../source/cookbook/classification.rst:200 -msgid "If you already have a file describing your legend, you can use it, rather than identifying every legend item individually. Your legend needs to be saved in .csv format and contain the following information:" +msgid "" +"If you already have a file describing your legend, you can use it, rather" +" than identifying every legend item individually. Your legend needs to be" +" saved in .csv format and contain the following information:" msgstr "" #: ../../source/cookbook/classification.rst:202 -msgid "color (stored as a hexadecimal value [e.g. #FFFF00] or in three columns [red, blue, green]);" +msgid "" +"color (stored as a hexadecimal value [e.g. #FFFF00] or in three columns " +"[red, blue, green]);" msgstr "" #: ../../source/cookbook/classification.rst:203 @@ -325,27 +414,43 @@ msgid "class (stored as a string)." msgstr "" #: ../../source/cookbook/classification.rst:208 -msgid "The column names will help SEPAL predict information, but are not compulsory." +msgid "" +"The column names will help SEPAL predict information, but are not " +"compulsory." msgstr "" #: ../../source/cookbook/classification.rst:210 -msgid "For example, a .csv file containing the following information is fully qualified to be used in SEPAL:" +msgid "" +"For example, a .csv file containing the following information is fully " +"qualified to be used in SEPAL:" msgstr "" #: ../../source/cookbook/classification.rst:227 -msgid "Alternatively, a file containing the following information – including RGB-defined colors – is also acceptable:" +msgid "" +"Alternatively, a file containing the following information – including " +"RGB-defined colors – is also acceptable:" msgstr "" #: ../../source/cookbook/classification.rst:244 -msgid "Once the fully qualified legend file has been prepared on your computer, select :btn:`` and then :code:`Import from CSV`, which will open a pop-up window where you can drag and drop the file or select it manually from your computer files." +msgid "" +"Once the fully qualified legend file has been prepared on your computer, " +"select :btn:`` and then :code:`Import from " +"CSV...`, which will open a pop-up window where you can drag and drop the " +"file or select it manually from your computer files." msgstr "" #: ../../source/cookbook/classification.rst:246 -msgid "As shown in the following image, you can then select the columns that are defining your .csv file (select :btn:`Single column` for hexadecimal-defined colors and :btn:`Multiple columns` for RGB-defined colors)." +msgid "" +"As shown in the following image, you can then select the columns that are" +" defining your .csv file (select :btn:`Single column` for hexadecimal-" +"defined colors and :btn:`Multiple columns` for RGB-defined colors)." msgstr "" #: ../../source/cookbook/classification.rst:252 -msgid "Select :btn:` Apply` to validate your selection. The classes will be added to the legend panel and you'll be able to modify the legend using the parameters presented in the previous subsection." +msgid "" +"Select :btn:` Apply` to validate your selection. The " +"classes will be added to the legend panel and you'll be able to modify " +"the legend using the parameters presented in the previous subsection." msgstr "" #: ../../source/cookbook/classification.rst:258 @@ -353,7 +458,12 @@ msgid "Select :btn:` Done` to validate this step." msgstr "" #: ../../source/cookbook/classification.rst:260 -msgid "Every pane should be closed; the colors of the legend should now be displayed at the bottom of the map. No classification is performed, as we didn't provide any training data. Nevertheless, this step is the last mandatory step for setting parameters. Training data can be added using the on-the-fly training functionality." +msgid "" +"Every pane should be closed; the colors of the legend should now be " +"displayed at the bottom of the map. No classification is performed, as we" +" didn't provide any training data. Nevertheless, this step is the last " +"mandatory step for setting parameters. Training data can be added using " +"the on-the-fly training functionality." msgstr "" #: ../../source/cookbook/classification.rst:263 @@ -361,499 +471,951 @@ msgid "Export legend" msgstr "" #: ../../source/cookbook/classification.rst:265 -msgid "Once your legend is validated, select the :btn:`` and then :code:`Export as CSV`." +msgid "" +"Once your legend is validated, select the :btn:``" +" and then :code:`Export as CSV`." msgstr "" #: ../../source/cookbook/classification.rst:267 -msgid "A file will be downloaded to you computer named :code:`_legend.csv`, which will contain the legend information in the following format:" +msgid "" +"A file will be downloaded to your computer named " +":code:`_legend.csv`, which will contain the legend " +"information in the following format:" msgstr "" #: ../../source/cookbook/classification.rst:277 -msgid "Select training data" +msgid "Training data setup" msgstr "" -#: ../../source/cookbook/classification.rst:281 -msgid "This step is not mandatory." -msgstr "" - -#: ../../source/cookbook/classification.rst:283 +#: ../../source/cookbook/classification.rst:279 msgid "Two inputs are required to create the classification output:" msgstr "" -#: ../../source/cookbook/classification.rst:285 +#: ../../source/cookbook/classification.rst:281 msgid "pixel values (e.g. bands) to classify; and" msgstr "" -#: ../../source/cookbook/classification.rst:286 +#: ../../source/cookbook/classification.rst:282 msgid "training data to set up the classification model." msgstr "" -#: ../../source/cookbook/classification.rst:288 -msgid "This menu will help the user manage the training data of the model used. To open it, select :btn:`TRN` in the lower-right side of the window." +#: ../../source/cookbook/classification.rst:284 +msgid "" +"This menu will help the user manage the training data of the model used. " +"To open it, select :btn:`TRN` in the lower-right side of the window." msgstr "" -#: ../../source/cookbook/classification.rst:295 -msgid "Collected reference data" +#: ../../source/cookbook/classification.rst:291 +msgid "Import existing training data" msgstr "" -#: ../../source/cookbook/classification.rst:297 -msgid "Collected reference data are data selected on the fly by the user. The workflow will be explained later in the documentation." +#: ../../source/cookbook/classification.rst:293 +msgid "" +"Instead of collecting all data by hand, SEPAL provides numerous ways to " +"include already existing training data into your analysis. The data can " +"be from multiple formats and will be included in the model to improve the" +" quality of the final map." msgstr "" -#: ../../source/cookbook/classification.rst:299 -msgid "In this pane, this type of data can be managed by the user. The data appear as a pair, associating coordinates to a class value, which will be used to create training data in the classification model." +#: ../../source/cookbook/classification.rst:297 +msgid "" +"The imported files can use an extended version of the legend provided in " +"the previous step, but to avoid unexpected behaviour, at least one of the" +" classes of your legend and the provided training data need to match." msgstr "" #: ../../source/cookbook/classification.rst:301 -msgid "If you're satisfied with the current selection and you want to share the data with others, select :btn:`` and then :code:`Export reference data to csv`. A file will be created and sent to your computer, named :code:`_reference_data.csv`. It will embed all of the gathered point data using the following convention:" +msgid "" +"If the added training data are outside of the image to classify, they " +"will have no impact on the final result (with the exception of the SEPAL " +"recipe)." +msgstr "" + +#: ../../source/cookbook/classification.rst:303 +msgid "" +"To add new data, select :btn:` Add` and choose the type" +" of data to import:" msgstr "" -#: ../../source/cookbook/classification.rst:309 -msgid "If you are not satisfied with the selected data, select :btn:`` and then :code:`Clear collected reference data` to remove all collected data from the analysis." +#: ../../source/cookbook/classification.rst:310 +msgid "CSV" msgstr "" -#: ../../source/cookbook/classification.rst:313 -msgid "A confirmation pop-up window should prevent you from accidentally deleting everything." +#: ../../source/cookbook/classification.rst:312 +msgid "" +"By selecting :btn:`CSV file`, SEPAL will request a file from your " +"computer in :code:`.csv` format. The file needs to include two pieces of " +"information: geographic coordinates and class value." msgstr "" -#: ../../source/cookbook/classification.rst:316 -msgid "Existing training data" +#: ../../source/cookbook/classification.rst:314 +msgid "" +"This can be done using coordinates in :code:`EPSG:4326` latitude and " +"longitude, as well as a `GeoJSON `__ compatible " +"point object. The file can embed other multiple columns that will not be " +"considered during the analysis." msgstr "" -#: ../../source/cookbook/classification.rst:318 -msgid "Instead of collecting all data by hand, SEPAL provides numerous ways to include already existing training data into your analysis. The data can be from multiple formats and will be included in the model to improve the quality of the final map." +#: ../../source/cookbook/classification.rst:316 +msgid "The following table is compatible with SEPAL:" msgstr "" -#: ../../source/cookbook/classification.rst:322 -msgid "The imported files can use an extended version of the legend provided in the previous step, but to avoid unexpected behaviour, at least one of the classes of your legend and the provided training data need to match." +#: ../../source/cookbook/classification.rst:324 +msgid "" +"The columns used to define the X (longitude) and Y (latitude) coordinates" +" are manually set up in the pop-up window. Select :btn:` Next` once every column is filled." msgstr "" -#: ../../source/cookbook/classification.rst:326 -msgid "If the added training data are outside of the image to classify, they will have no impact on the final result (with the exception of the SEPAL recipe)." +#: ../../source/cookbook/classification.rst:332 +msgid "" +"If your file contains a GeoJSON column instead of coordinates, select " +":btn:`GeoJSON column` to switch the interface to one column selection." msgstr "" -#: ../../source/cookbook/classification.rst:328 -msgid "To add new data, select :btn:` Add` and choose the type of data to import:" +#: ../../source/cookbook/classification.rst:334 +msgid "" +"Now that you have set up the coordinates of your points, SEPAL will ask " +"how the class values (not the names) are stored, through the **Class " +"format** selector:" msgstr "" -#: ../../source/cookbook/classification.rst:335 -msgid "CSV" +#: ../../source/cookbook/classification.rst:336 +msgid "" +"**Single column**: all class values are held in a single column — select " +"that column from your file." msgstr "" #: ../../source/cookbook/classification.rst:337 -msgid "By selecting :btn:`csv file`, SEPAL will request a file from your computer in :code:`.csv` format. The file needs to include two pieces of information: geographic coordinates and class value." +msgid "**Column per class**: each class has its own column." msgstr "" -#: ../../source/cookbook/classification.rst:339 -msgid "This can be done using coordinates in :code:`EPSG:4326` latitude and longitude, as well as a `GeoJSON `__ compatible point object. The file can embed other multiple columns that will not be considered during the analysis." +#: ../../source/cookbook/classification.rst:338 +msgid "**Other format**: use this if your data has a different layout." msgstr "" -#: ../../source/cookbook/classification.rst:341 -msgid "The following table is compatible with SEPAL:" +#: ../../source/cookbook/classification.rst:342 +msgid "" +"Using the :code:`Row filter expression` field, you can keep only the rows" +" that meet a condition — a JavaScript-like expression, referencing your " +"columns by name, that evaluates to ``true`` for the rows to keep (leave " +"it empty to keep all). For example, :code:`class == 30` keeps only the " +"rows in class 30, and :code:`class == 10 || class == 20` keeps classes 10" +" and 20." +msgstr "" + +#: ../../source/cookbook/classification.rst:348 +msgid "" +"Select :btn:` Next` to add the data to the " +"model. SEPAL will provide a summary of the classes in the legend of the " +"classification and the number of training points added by your file." msgstr "" -#: ../../source/cookbook/classification.rst:349 -msgid "The columns used to define the X (longitude) and Y (latitude) coordinates are manually set up in the pop-up window. Select :btn:` Next` once every column is filled." +#: ../../source/cookbook/classification.rst:350 +msgid "" +"Selecting the :btn:` Done` button will complete the " +"uploading procedure." msgstr "" #: ../../source/cookbook/classification.rst:357 -msgid "If your file contains a GeoJSON column instead of coordinates, select :btn:`geojson column` to switch the interface to one column selection." +msgid "GEE table" msgstr "" #: ../../source/cookbook/classification.rst:359 -msgid "Now that you have set up the coordinates of your points, SEPAL will request the columns specifying the class value (not the name) in a second frame. Only the single column is supported so far. Select the column from your file that embeds the class values." +msgid "" +"By selecting :btn:`Earth Engine Table`, SEPAL will request a file from " +"your computer in :code:`.csv` format. The file needs to provide two " +"pieces of information: geographic coordinates and class value." msgstr "" -#: ../../source/cookbook/classification.rst:363 -msgid "Using the :code:`row filter expression` text field, one can filter out some lines of the table. Refer to the `features <#>`__ section to learn more." +#: ../../source/cookbook/classification.rst:361 +msgid "" +"The process is nearly the same as found in the documentation above " +"discussing .csv tables. The only difference should be the geometry " +"column, as GEE assets usually embed a :code:`.geojson` column by default." +" If this column exists, it will be autodetected by SEPAL." msgstr "" -#: ../../source/cookbook/classification.rst:369 -msgid "Select :btn:` next` to add the data to the model. SEPAL will provide a summary of the classes in the legend of the classification and the number of training points added by your file." +#: ../../source/cookbook/classification.rst:363 +msgid "" +"For the other steps, please reproduce what was presented in the .csv " +"section above." msgstr "" #: ../../source/cookbook/classification.rst:371 -msgid "Selecting the :btn:` Done` button will complete the uploading procedure." +msgid "" +"To build the documentation example, use this public asset: " +":code:`projects/sepal-" +"cookbook/assets/classification/zmb_eastern_esa_2012_2021_reference_data`." +msgstr "" + +#: ../../source/cookbook/classification.rst:374 +msgid "Sample classification" +msgstr "" + +#: ../../source/cookbook/classification.rst:376 +msgid "" +"Instead of providing dataset points, SEPAL can also extract reference " +"data from an already existing classification – which is a good way to " +"improve an already existing classification system using an image with a " +"better resolution." msgstr "" #: ../../source/cookbook/classification.rst:378 -msgid "GEE table" +msgid "" +"To sample data, SEPAL will randomly select a number of points in each " +"class and extract the class value using the provided resolution." msgstr "" #: ../../source/cookbook/classification.rst:380 -msgid "By selecting :btn:`Earth Engine Table`, SEPAL will request a file from your computer in :code:`.csv` format. The file needs to provide two pieces of information: geographic coordinates and class value." +msgid "" +"Start by selecting :btn:`Sample classification` in the opened pop-up " +"window, where all of the parameters can be set:" msgstr "" #: ../../source/cookbook/classification.rst:382 -msgid "The process is nearly the same as found in the documentation above discussing .csv tables. The only difference should be the geometry column, as GEE assets usually embed a :code:`.goejson` column by default. If this column exists, it will be autodetected by SEPAL." -msgstr "" - -#: ../../source/cookbook/classification.rst:384 -msgid "For the other steps, please reproduce what was presented in the .csv section above." +msgid "" +"**Samples per class**: the number of samples per class of the provided " +"image. The more samples you request, the more accurate the model will be " +"(if too many samples are selected, on-the-fly visualization will never " +"render). The default is :code:`100`, but you can pick other preset " +"values, such as the :code:`1000` used in this example." msgstr "" -#: ../../source/cookbook/classification.rst:392 -msgid "To build the documentation example, use this public asset: :code:`projects/sepal-cookbook/assets/classification/zmb_eastern_esa_2012_2021_reference_data`." +#: ../../source/cookbook/classification.rst:383 +msgid "" +"**Scale to sample in**: the scale used to create the sample in the " +"provided image (it should match the image to classify resolution; default" +" to: :code:`30 m`)." msgstr "" -#: ../../source/cookbook/classification.rst:395 -msgid "Sample classification" +#: ../../source/cookbook/classification.rst:384 +msgid "" +"**Image source**: choose whether to sample from an existing :guilabel:`EE" +" Asset` or a saved :guilabel:`Recipe`." msgstr "" -#: ../../source/cookbook/classification.rst:397 -msgid "Instead of providing dataset points, SEPAL can also extract reference data from an already existing classification – which is a good way to improve an already existing classification system using an image with a better resolution." +#: ../../source/cookbook/classification.rst:385 +msgid "" +"**EE asset ID of classification**: when :guilabel:`EE Asset` is selected," +" the ID of the classification to sample (it should be an :code:`ee.Image`" +" accessible to the user). When :guilabel:`Recipe` is selected instead, " +"choose one of your saved classification recipes to sample." msgstr "" -#: ../../source/cookbook/classification.rst:399 -msgid "To sample data, SEPAL will randomly select a number of points in each class and extract the class value using the provided resolution." +#: ../../source/cookbook/classification.rst:386 +msgid "" +"**Class band**: The class to use for classification value (the dropdown " +"menu will be filled with the bands found in the provided asset or " +"recipe)." msgstr "" -#: ../../source/cookbook/classification.rst:401 -msgid "Start by selecting btn:`Sample classification` in the opened pop-up window, where all of the the parameters can be set:" +#: ../../source/cookbook/classification.rst:394 +msgid "" +"When all of the parameters are selected, it can take time, as SEPAL " +"builds the sampling values on the fly. They will only be displayed once " +"the sampling is validated." msgstr "" -#: ../../source/cookbook/classification.rst:403 -msgid "**Sample per class**: the number of samples per class of the provided image. The more samples you request, the more accurate the model will be (if too many samples are selected, on-the-fly visualization will never render; default to: :code:`1000`)." +#: ../../source/cookbook/classification.rst:396 +msgid "" +"Select :btn:` Next` to display the sampling " +"summary. In this pane, SEPAL displays each class of the legend (as " +"defined in the previous subsection) and the number of samples created for" +" it." msgstr "" -#: ../../source/cookbook/classification.rst:404 -msgid "**Scale to sample in**: the scale used to create the sample in the provided image (it should match the image to classify resolution; default to: :code:`30 m`)." +#: ../../source/cookbook/classification.rst:398 +msgid "" +"Each class shows its sample count next to a green :btn:`` button — use it to change the number of samples for that class. By" +" default, SEPAL ignores the samples with a :code:`Null` value; select " +":btn:`Default` on any class so that these points end up in the default " +"class instead of being ignored." msgstr "" #: ../../source/cookbook/classification.rst:405 -msgid "**EE asset ID**: the ID of the classification to sample (it should be an :code:`ee.Image` accessible to the user)." +msgid "SEPAL recipe" msgstr "" -#: ../../source/cookbook/classification.rst:406 -msgid "**Class band**: The class to use for classification value (the dropdown menu will be filled with the bands found in the provided asset)." +#: ../../source/cookbook/classification.rst:407 +msgid "" +"SEPAL is also able to directly apply a model built in another recipe as " +"training data. In this case, we are not importing the points, but all of " +"the model from the external recipe. It will not add points to the map. " +"It's useful when the same classification needs to be applied on the same " +"area for multiple years. The classification work can be carried out only " +"in the first year and then applied recursively on all the others." msgstr "" -#: ../../source/cookbook/classification.rst:410 -msgid "To reproduce this example, use the following asset as an image to sample: :code:`projects/sepal-cookbook/assets/classification/zmb_copernicus_landcover`." +#: ../../source/cookbook/classification.rst:409 +msgid "" +"Select :btn:`Saved SEPAL recipe` to open the pop-up window. In the " +"dropdown menu, select one of the recipes saved in your SEPAL account." msgstr "" -#: ../../source/cookbook/classification.rst:418 -msgid "When all of the parameters are selected, it can take time, as SEPAL builds the sampling values on the fly. They will only be displayed once the sampling is validated." +#: ../../source/cookbook/classification.rst:413 +msgid "" +"The imported recipe needs to be a **Classification** recipe. If none are " +"found, the dropdown menu will be empty." msgstr "" -#: ../../source/cookbook/classification.rst:420 -msgid "Select :btn:` Next` to display the sampling summary. In this pane, SEPAL displays each class of the legend (as defined in the previous subsection) and the number of samples created for it." +#: ../../source/cookbook/classification.rst:415 +msgid "This recipe cannot come from another SEPAL account." msgstr "" #: ../../source/cookbook/classification.rst:422 -msgid "Select the :btn:`` buttons (**1**) to change the number of samples in a specific class. By default, SEPAL ignores the samples with a :code:`Null` value. One can select :btn:`Default` (**2**) for any of the classes so that these points end up in the default class instead of being ignored." +msgid "Collect Earth Online" +msgstr "" + +#: ../../source/cookbook/classification.rst:427 +msgid "" +"SEPAL can import training data you have collected in a `Collect Earth " +"Online `__ (CEO) project directly, without " +"exporting and re-uploading a file. Select :btn:`Collect Earth Online` to " +"open the panel." msgstr "" #: ../../source/cookbook/classification.rst:429 -msgid "SEPAL recipe" +msgid "**Connect to your CEO account**" msgstr "" #: ../../source/cookbook/classification.rst:431 -msgid "SEPAL is also able to directly apply a model built in another recipe as training data. In this case, we are not importing the points, but all of the model from the external recipe. It will not add points to the map. It's useful when the same classification needs to be applied on the same area for multiple years. The classification work can be carried out only in the first year and then applied recursively on all the others." +msgid "The panel starts as :ceo-disconnected:`Disconnected from CEO`." msgstr "" #: ../../source/cookbook/classification.rst:433 -msgid "Select :btn:`Saved SEPAL recipe` to open the pop-up window. In the dropdown menu, select one of the recipes saved in your SEPAL account." +msgid "" +"Select :btn:`Connect` to open the **Collect Earth Online Authentication**" +" window, enter your :code:`CEO Email` and :code:`CEO Password`, and " +"select :btn:`Connect` again." msgstr "" #: ../../source/cookbook/classification.rst:437 -msgid "The imported recipe needs to be a **Classification** recipe. If none are found, the dropdown menu will be empty." +msgid "" +"Your credentials are never stored on SEPAL servers. When your SEPAL " +"session ends, the CEO connection is terminated automatically. You can " +"also select :btn:`Disconnect` at any time to end it manually." msgstr "" #: ../../source/cookbook/classification.rst:439 -msgid "This recipe cannot come from another SEPAL account." +msgid "**Select the institution and project**" msgstr "" -#: ../../source/cookbook/classification.rst:446 -msgid "Use auxiliary datasets" +#: ../../source/cookbook/classification.rst:441 +msgid "Once connected (:ceo-connected:`You are connected to CEO`), fill in:" msgstr "" -#: ../../source/cookbook/classification.rst:448 -msgid "Some information that could be useful to the classification model is not always included in your image bands. A common example is **Elevation**. In order to improve the quality of the classification, SEPAL can provide some extra datasets to add auxiliary bands to the classification model." +#: ../../source/cookbook/classification.rst:443 +msgid "" +"**Institution**: the CEO institution to pull data from. Only institutions" +" where you are both a **member** and an **admin** are listed." +msgstr "" + +#: ../../source/cookbook/classification.rst:444 +msgid "" +"**Project**: the project within that institution whose collected data you" +" want to use." msgstr "" -#: ../../source/cookbook/classification.rst:450 -msgid "Select :btn:`AUX` to open the **Auxiliaries** tab. Three sources are currently implemented in the platform (any number of them can be selected):" +#: ../../source/cookbook/classification.rst:445 +msgid "" +"**Data type**: whether to import the project's :guilabel:`Plot` " +"(aggregated plot) data or its :guilabel:`Sample` data." msgstr "" -#: ../../source/cookbook/classification.rst:452 -msgid "**Latitude**: On-the-fly latitude dataset built from the coordinates of each pixel's center." +#: ../../source/cookbook/classification.rst:451 +msgid "" +"SEPAL then loads the collected data, ready to be mapped to your legend in" +" the next two steps." msgstr "" #: ../../source/cookbook/classification.rst:453 -msgid "**Terrain**: From the `NASA SRTM Digital Elevation 30 m `__ dataset, SEPAL will use the :code:`Elevation`, :code:`Slope` and :code:`Aspect` bands. It will also add an :code:`Eastness` and :code:`Northness` band derived from :code:`Aspect`." +msgid "**Set the location**" msgstr "" -#: ../../source/cookbook/classification.rst:454 -msgid "**Water**: From the `JRC Global Surface Water Mapping Layers, v1.3 `__ dataset, SEPAL will add the following bands: :code:`occurrence`, :code:`change_abs`, :code:`change_norm`, :code:`seasonality`, :code:`max_extent`, :code:`water_occurrence`, :code:`water_change_abs`, :code:`water_change_norm`, :code:`water_seasonality` and :code:`water_max_extent`." +#: ../../source/cookbook/classification.rst:455 +msgid "" +"SEPAL reads the point locations from the data and pre-fills the " +"**Location type** (:guilabel:`X/Y coordinate columns` or " +":guilabel:`GeoJSON column`) together with the matching coordinate " +"columns. These are detected automatically from the CEO data, so you can " +"usually confirm them as they are." msgstr "" -#: ../../source/cookbook/classification.rst:461 -msgid "Classifier configuration" +#: ../../source/cookbook/classification.rst:457 +msgid "**Set the class format**" msgstr "" -#: ../../source/cookbook/classification.rst:465 -msgid "Customizing the classifier is a section designed for advanced users. Make sure that you thoroughly understand how the classifier you're using works before changing its parameters." +#: ../../source/cookbook/classification.rst:459 +msgid "" +"Tell SEPAL how the class values are stored in the CEO data, through the " +"**Class format** selector:" msgstr "" -#: ../../source/cookbook/classification.rst:469 -msgid "The default value is a **Random Forest** classifier using 25 trees." +#: ../../source/cookbook/classification.rst:461 +msgid "**Single column**: all class values are held in a single column." msgstr "" -#: ../../source/cookbook/classification.rst:471 -msgid "The **Classification** tool used in SEPAL is based on the `Smile - Statistical Machine Intelligence and Learning Engine Javascript `__ library (refer to their documentation for specific descriptions of each model)." +#: ../../source/cookbook/classification.rst:462 +msgid "" +"**Column per class**: each class has its own column. CEO data is mostly " +"organized this way." msgstr "" -#: ../../source/cookbook/classification.rst:473 -msgid "Select :btn:`CLS` to open the **Classification parameter** menu. SEPAL supports seven classifiers:" +#: ../../source/cookbook/classification.rst:463 +msgid "**Other format**: use this if your reference data has a different layout." msgstr "" -#: ../../source/cookbook/classification.rst:475 -msgid "random forest" +#: ../../source/cookbook/classification.rst:465 +msgid "" +"SEPAL pre-selects the format based on the chosen data type, but you can " +"change it." msgstr "" -#: ../../source/cookbook/classification.rst:476 -msgid "gradient tree boost" +#: ../../source/cookbook/classification.rst:467 +msgid "" +"Select :btn:` Next` to reach the class " +"summary, which lists each legend class. For every class, select the :btn" +":`` button to choose the column that corresponds to it," +" then select :btn:` Done` to add the reference data to" +" the model." msgstr "" -#: ../../source/cookbook/classification.rst:477 -msgid "cart" +#: ../../source/cookbook/classification.rst:474 +msgid "Manage collected reference data" msgstr "" -#: ../../source/cookbook/classification.rst:478 -msgid "naive bayes" +#: ../../source/cookbook/classification.rst:476 +msgid "" +"Collected reference data are the points you add directly on the map with " +"the on-the-fly training tool, described in the `On-the-fly training`_ " +"section. Each point pairs a set of coordinates with a class value. Select" +" the :btn:`` button — to the right of the :btn" +":` Add` button in the :btn:`TRN` tab — to manage them:" msgstr "" -#: ../../source/cookbook/classification.rst:479 -msgid "SVM" +#: ../../source/cookbook/classification.rst:478 +msgid "" +"**Export reference data to CSV**: download a " +":code:`_reference_data.csv` file to share your points with " +"others. It will embed all of the gathered point data using the following " +"convention:" msgstr "" -#: ../../source/cookbook/classification.rst:480 -msgid "min distance" +#: ../../source/cookbook/classification.rst:486 +msgid "" +"**Clear collected reference data**: remove every collected point from the" +" analysis." msgstr "" -#: ../../source/cookbook/classification.rst:481 -msgid "decision tree" +#: ../../source/cookbook/classification.rst:490 +msgid "A confirmation pop-up prevents you from accidentally deleting everything." msgstr "" -#: ../../source/cookbook/classification.rst:483 -msgid "For each of them, the workflow is the same:" +#: ../../source/cookbook/classification.rst:493 +msgid "Use auxiliary datasets" msgstr "" -#: ../../source/cookbook/classification.rst:485 -msgid "Select the classifier by clicking on the corresponding name. SEPAL will display some of the parameters available." +#: ../../source/cookbook/classification.rst:495 +msgid "" +"Some information that could be useful to the classification model is not " +"always included in your image bands. A common example is **Elevation**. " +"In order to improve the quality of the classification, SEPAL can provide " +"some extra datasets to add auxiliary bands to the classification model." msgstr "" -#: ../../source/cookbook/classification.rst:486 -msgid "Select :btn:`More` on the lower-left side of the panel to fully customize your classifier. The classification results will be updated on the fly." +#: ../../source/cookbook/classification.rst:497 +msgid "" +"Select :btn:`AUX` to open the **Auxiliaries** tab. Three sources are " +"currently implemented in the platform (any number of them can be " +"selected):" msgstr "" #: ../../source/cookbook/classification.rst:499 -msgid "On-the-fly training" +msgid "" +"**Latitude**: On-the-fly latitude dataset built from the coordinates of " +"each pixel's center." msgstr "" -#: ../../source/cookbook/classification.rst:503 -msgid "This process requires a good understanding of the **Visualization** feature of SEPAL (refer to the `feature <#>`__ section for more information)." +#: ../../source/cookbook/classification.rst:500 +msgid "" +"**Terrain**: From the `NASA SRTM Digital Elevation 30 m " +"`__ dataset, SEPAL will use the " +":code:`Elevation`, :code:`Slope` and :code:`Aspect` bands. It will also " +"add an :code:`Eastness` and :code:`Northness` band derived from " +":code:`Aspect`." msgstr "" -#: ../../source/cookbook/classification.rst:505 -msgid "Once all of the parameters are set, the user is free to add extra training data in the web interface and the new points will be added to the final model, improving the quality of the classification." +#: ../../source/cookbook/classification.rst:501 +msgid "" +"**Water**: From the `JRC Global Surface Water Mapping Layers, v1.3 " +"`__ dataset, SEPAL " +"will add the following bands: :code:`occurrence`, :code:`change_abs`, " +":code:`change_norm`, :code:`seasonality`, :code:`max_extent`, " +":code:`water_occurrence`, :code:`water_change_abs`, " +":code:`water_change_norm`, :code:`water_seasonality` and " +":code:`water_max_extent`." msgstr "" #: ../../source/cookbook/classification.rst:508 -msgid "Set up the view" +msgid "Classifier configuration" msgstr "" -#: ../../source/cookbook/classification.rst:510 -msgid "In order to improve the classification, one must set up the view to display all of the information. While these guidelines could be modified and extended, they are still useful as an introductory resource." +#: ../../source/cookbook/classification.rst:512 +msgid "" +"Customizing the classifier is a section designed for advanced users. Make" +" sure that you thoroughly understand how the classifier you're using " +"works before changing its parameters." msgstr "" -#: ../../source/cookbook/classification.rst:512 -msgid "In the following image, we displayed:" +#: ../../source/cookbook/classification.rst:516 +msgid "The default value is a **Random Forest** classifier using 25 trees." msgstr "" -#: ../../source/cookbook/classification.rst:514 -msgid "The current recipe (**1**) using the class colors in categorical mode." +#: ../../source/cookbook/classification.rst:518 +msgid "" +"The **Classification** tool used in SEPAL is based on the `Smile - " +"Statistical Machine Intelligence and Learning Engine Javascript " +"`__ library (refer to " +"their documentation for specific descriptions of each model)." msgstr "" -#: ../../source/cookbook/classification.rst:515 -msgid "The current image (what you are classifying) (**2**) using the NIR,RED,SWIR band combination." +#: ../../source/cookbook/classification.rst:520 +msgid "" +"Select :btn:`CLS` to open the **Classification parameter** menu. SEPAL " +"supports seven classifiers:" msgstr "" -#: ../../source/cookbook/classification.rst:516 -msgid "The extra visual dataset NICFI Planet Lab data (**3**) from 2021." +#: ../../source/cookbook/classification.rst:522 +msgid "Random Forest" msgstr "" -#: ../../source/cookbook/classification.rst:518 -msgid "The number (4) indicates a cluster of existing training points. Zoom in and they will be displayed as markers using the color of the class they mark (**5**)." +#: ../../source/cookbook/classification.rst:523 +msgid "Gradient tree boost" msgstr "" -#: ../../source/cookbook/classification.rst:522 -msgid "This initial classification has been set using sampled data. Since they are sampled from a larger image, some are out of the image. They will have no impact on the classification as they are applied to masked pixels (**6**)." +#: ../../source/cookbook/classification.rst:524 +msgid "Cart" msgstr "" -#: ../../source/cookbook/classification.rst:530 -msgid "Select points" +#: ../../source/cookbook/classification.rst:525 +msgid "Naive bayes" msgstr "" -#: ../../source/cookbook/classification.rst:532 -msgid "To start adding points, open the training interface by selecting :btn:`` in the upper right of the screen (**1**). Once selected, the background color becomes darker and the pointer of the mouse becomes a :icon:`fa-solid fa-plus`." +#: ../../source/cookbook/classification.rst:526 +msgid "SVM" msgstr "" -#: ../../source/cookbook/classification.rst:534 -msgid "The process to add new training data is as follows:" +#: ../../source/cookbook/classification.rst:527 +msgid "Min distance" msgstr "" -#: ../../source/cookbook/classification.rst:536 -msgid "**Click on the map to select a point**: You can click in any of the panes (not restricted to the **Recipe** pane), but to be useful, the point needs to be within the border of the AOI. If it's not already the case, the **Class selection** panel will appear in the upper right of the window (**2**)." +#: ../../source/cookbook/classification.rst:528 +msgid "Decision tree" msgstr "" -#: ../../source/cookbook/classification.rst:537 -msgid "**Select the class value**: The previous class value is preselected, but you can change it to any other class value from the defined legend. The legend is displayed as :code:` ()`." +#: ../../source/cookbook/classification.rst:530 +msgid "For each of them, the workflow is the same:" msgstr "" -#: ../../source/cookbook/classification.rst:539 -msgid "You can now click elsewhere on the map to add another point. If you are satisfied with the classification, select :btn:` Close` (3) and select :btn:`` again to stop editing the points. Every time a new point is added, the **Classification** map is recomputed and rendered on the left side." +#: ../../source/cookbook/classification.rst:532 +msgid "" +"Select the classifier by clicking on the corresponding name. SEPAL will " +"display some of the parameters available." msgstr "" -#: ../../source/cookbook/classification.rst:546 -msgid "Modify existing points" +#: ../../source/cookbook/classification.rst:533 +msgid "" +"Select :btn:`More` on the lower-left side of the panel to fully customize" +" your classifier. The classification results will be updated on the fly." msgstr "" -#: ../../source/cookbook/classification.rst:548 -msgid "To modify existing points, select the :btn:`` to open the **Point editing** interface. Then:" +#: ../../source/cookbook/classification.rst:546 +msgid "Refine the classification" msgstr "" #: ../../source/cookbook/classification.rst:550 -msgid "**Select a point**: To select a point, click on an existing marker. It will appear bolder than the others. If it's not already the case, the **Class selection** pane will appear in the upper right." +msgid "" +"This process requires a good understanding of the **Visualization** " +"feature of SEPAL (see :doc:`../feature/visualization` for more " +"information)." msgstr "" -#: ../../source/cookbook/classification.rst:551 -msgid "**Change the class value**: The point class will be selected in the **Editing** menu with a :icon:`fa-solid fa-check`. Select any other class value to change it." +#: ../../source/cookbook/classification.rst:552 +msgid "" +"Once all of the parameters are set, you can refine the classification " +"directly on the map: set up the view, add or edit training points on the " +"fly, and check the model's confidence." msgstr "" -#: ../../source/cookbook/classification.rst:554 -msgid "Check the validity" +#: ../../source/cookbook/classification.rst:555 +msgid "Set up the view" msgstr "" -#: ../../source/cookbook/classification.rst:556 -msgid "SEPAL embeds information to help the user understand if the amount of training data is sufficient to produce an accurate classification model. In the **Recipe** window, change the **Band combination** to :code:`Class probability`." +#: ../../source/cookbook/classification.rst:557 +msgid "" +"In order to improve the classification, one must set up the view to " +"display all of the information; you choose what the map shows from the " +"**Layers** panel. Select the :btn:`` layers-to-" +"show icon in the top-right of the screen to open the panel, then:" msgstr "" -#: ../../source/cookbook/classification.rst:558 -msgid "The user now sees the probability of the model (i.e. the confidence level of the level with output class for each pixel)." +#: ../../source/cookbook/classification.rst:559 +msgid "" +"Pick a layout mode — :guilabel:`Grid` to split the map into several panes" +" side by side, or :guilabel:`Stack` to overlay the layers in a single " +"pane." msgstr "" #: ../../source/cookbook/classification.rst:560 -msgid "If the value is high (> 80 percent), then the pixel can be considered valid; if the value is low (< 80 percent), the model needs more training data or extra bands to improve the analysis." +msgid "" +"Drag and drop each layer onto a position (centre, a side, or a corner) to" +" choose where it appears; drag it between positions to rearrange it, or " +"off the areas to remove it." msgstr "" -#: ../../source/cookbook/classification.rst:562 -msgid "In the example image, the lake is classified as a **permanent water body** with a confidence of 65 percent, which is higher than the rest of the vegetation around it." +#: ../../source/cookbook/classification.rst:561 +msgid "" +"If the layer you need is not already in the panel, select :btn:` Add` to add a source: **Add a SEPAL recipe**, **Add an Earth " +"Engine asset**, or **Add a Planet account**." msgstr "" -#: ../../source/cookbook/classification.rst:568 -msgid "This analysis can also be conducted class-by-class using the built-in :code:` %` bands. Select the one corresponding to the class you want to assess (see the following image) and you'll get the percentage of confidence for each pixel to be in the sub-mentioned class." +#: ../../source/cookbook/classification.rst:567 +msgid "" +"With your layers arranged, the map displays them together so you can " +"compare them while adding training data." msgstr "" -#: ../../source/cookbook/classification.rst:575 -msgid "Export" +#: ../../source/cookbook/classification.rst:569 +msgid "In the following image, we displayed:" msgstr "" -#: ../../source/cookbook/classification.rst:579 -msgid "You cannot export a recipe as an asset or a :code:`.tiff` file without a small computation quota. If you are a new user, see :doc:`../setup/resource`." +#: ../../source/cookbook/classification.rst:571 +msgid "The current recipe (**1**) using the class colors in categorical mode." msgstr "" -#: ../../source/cookbook/classification.rst:582 -msgid "Start download" +#: ../../source/cookbook/classification.rst:572 +msgid "" +"The current image (what you are classifying) (**2**) using the " +"NIR,RED,SWIR1 band combination." msgstr "" -#: ../../source/cookbook/classification.rst:584 -msgid "Selecting the :icon:`fa-solid fa-cloud-arrow-down` tab will open the **Retrieve** pane, where you can select the exportation parameters (**1**)." +#: ../../source/cookbook/classification.rst:573 +msgid "The extra visual dataset NICFI Planet Lab data (**3**) from 2021." +msgstr "" + +#: ../../source/cookbook/classification.rst:575 +msgid "" +"The number (4) indicates a cluster of existing training points. Zoom in " +"and they will be displayed as markers using the color of the class they " +"mark (**5**)." +msgstr "" + +#: ../../source/cookbook/classification.rst:583 +msgid "" +"This initial classification has been set using sampled data. Since they " +"are sampled from a larger image, some are out of the image. They will " +"have no impact on the classification as they are applied to masked pixels" +" (**6**)." msgstr "" -#: ../../source/cookbook/classification.rst:586 -msgid "You need to select the band to export (**2**). There is no maximum number of bands; however, exporting useless bands will only increase the size and time of the output." +#: ../../source/cookbook/classification.rst:587 +msgid "On-the-fly training" msgstr "" -#: ../../source/cookbook/classification.rst:588 -msgid "You can set a custom scale for exportation (**3**) by changing the value of the slider in metres (m). (Note: Requesting a smaller resolution than images' native resolution will not improve the quality of the output – just its size; keep in mind that the native resolution of Sentinel data is 10 m, while Landsat is 30 m.)" +#: ../../source/cookbook/classification.rst:589 +msgid "" +"You are free to add extra training data in the web interface; each new " +"point is added to the final model, improving the quality of the " +"classification." msgstr "" -#: ../../source/cookbook/classification.rst:590 -msgid "You can export the image to the :btn:`SEPAL workspace` or to the :btn:`Google Earth Engine Asset` list. The same image will be exported, but for the former, you will find it in :code:`.tif` format in the :code:`Downloads` folder; for the latter, the image will be exported to your **GEE account asset list**." +#: ../../source/cookbook/classification.rst:592 +msgid "Select points" msgstr "" #: ../../source/cookbook/classification.rst:594 -msgid "If :btn:`Google Earth Engine Asset` is not displayed, your GEE account is not connected to SEPAL. Refer to `Connect SEPAL to GEE <../setup/gee.html>`__." +msgid "" +"To start adding points, open the training interface by selecting :btn" +":`` in the upper right of the screen (**1**). " +"Once selected, the background color becomes darker and the pointer of the" +" mouse becomes a :icon:`fa-solid fa-plus`." msgstr "" #: ../../source/cookbook/classification.rst:596 -msgid "Select :btn:` Apply` to start the download process." +msgid "The process to add new training data is as follows:" msgstr "" -#: ../../source/cookbook/classification.rst:603 -msgid "Exportation status" +#: ../../source/cookbook/classification.rst:598 +msgid "" +"**Click on the map to select a point**: You can click in any of the panes" +" (not restricted to the **Recipe** pane), but to be useful, the point " +"needs to be within the border of the AOI. If it's not already the case, " +"the **Class selection** panel will appear in the upper right of the " +"window (**2**)." +msgstr "" + +#: ../../source/cookbook/classification.rst:599 +msgid "" +"**Select the class value**: The previous class value is preselected, but " +"you can change it to any other class value from the defined legend. The " +"legend is displayed as :code:` ()`." +msgstr "" + +#: ../../source/cookbook/classification.rst:601 +msgid "" +"You can now click elsewhere on the map to add another point. If you are " +"satisfied with the classification, select :btn:` " +"Close` (3) and select :btn:`` again to stop " +"editing the points. Every time a new point is added, the " +"**Classification** map is recomputed and rendered on the left side." msgstr "" -#: ../../source/cookbook/classification.rst:605 -msgid "By going to the **Tasks** tab (in the lower-left corner using the :btn:`` or :btn:`` buttons, depending on the loading status), you will see the list of different loading tasks." +#: ../../source/cookbook/classification.rst:608 +msgid "Modify existing points" msgstr "" -#: ../../source/cookbook/classification.rst:607 -msgid "The interface will provide you with information about the task progress and display an error if the exportation has failed. If you are unsatisfied with the way we present information, the task can also be monitored using the `GEE task manager `__." +#: ../../source/cookbook/classification.rst:610 +msgid "" +"To modify existing points, select the :btn:`` " +"to open the **Point editing** interface. Then:" msgstr "" -#: ../../source/cookbook/classification.rst:611 -msgid "This operation is running between GEE and SEPAL servers in the background. You can close the SEPAL page without ending the process." +#: ../../source/cookbook/classification.rst:612 +msgid "" +"**Select a point**: To select a point, click on an existing marker. It " +"will appear bolder than the others. If it's not already the case, the " +"**Class selection** pane will appear in the upper right." msgstr "" #: ../../source/cookbook/classification.rst:613 -msgid "When the task is finished, the frame will be displayed in green, as shown in the second image below." +msgid "" +"**Change the class value**: The point class will be selected in the " +"**Editing** menu with a :icon:`fa-solid fa-check`. Select any other class" +" value to change it." msgstr "" -#: ../../source/cookbook/classification.rst:626 -msgid "Access" +#: ../../source/cookbook/classification.rst:616 +msgid "Check the validity" msgstr "" -#: ../../source/cookbook/classification.rst:628 -msgid "Once the download process is done, you can access the data in your **SEPAL folders**. The data will be stored in the :code:`Downloads` folder using the following format:" +#: ../../source/cookbook/classification.rst:618 +msgid "" +"SEPAL embeds information to help the user understand if the amount of " +"training data is sufficient to produce an accurate classification model. " +"In the **Recipe** window, select the :btn:`` button at " +"the bottom centre of the map to open the layer's options, then change the" +" **Bands** selector to :code:`Class probability`." msgstr "" -#: ../../source/cookbook/classification.rst:643 -msgid "Understanding how images are stored in an optical mosaic is only required if you want to manually use them. The SEPAL applications are bound to this tiling system and can digest this information for you." +#: ../../source/cookbook/classification.rst:620 +msgid "" +"The user now sees the probability of the model (i.e. the confidence level" +" of the output class for each pixel)." msgstr "" -#: ../../source/cookbook/classification.rst:645 -msgid "The data are stored in a folder using the name of the optical mosaic as it was created in the first section of this article. As the data are spatially too big to be exported at once, they are divided into smaller pieces and brought back together in a :code:`_.vrt` file." +#: ../../source/cookbook/classification.rst:622 +msgid "" +"If the value is high (> 80 percent), then the pixel can be considered " +"valid; if the value is low (< 80 percent), the model needs more training " +"data or extra bands to improve the analysis." msgstr "" -#: ../../source/cookbook/classification.rst:649 -msgid "The full folder with a consistent tree folder is required to read the `.vrt`." +#: ../../source/cookbook/classification.rst:624 +msgid "" +"In the example image, the lake is classified as a **permanent water " +"body** with a confidence of 65 percent, which is higher than the rest of " +"the vegetation around it." msgstr "" -#~ msgid "" -#~ "With this recipe, SEPAL will help " -#~ "users build a supervised classification " -#~ "of any mosaic image. It is built" -#~ " on top of the most advanced " -#~ "tools available on Google Earth Engine" -#~ " (including the classifiers CART, " -#~ "RandomForest, NaiveBayes and SVM), allowing" -#~ " users to create an easy-to-use" -#~ " user interface to:" -#~ msgstr "" +#: ../../source/cookbook/classification.rst:630 +msgid "" +"This analysis can also be conducted class-by-class using the built-in " +":code:` %` bands. Select the one corresponding to the class " +"you want to assess (see the following image) and you'll get the " +"percentage of confidence for each pixel to be in the sub-mentioned class." +msgstr "" -#~ msgid "select the image to classify" -#~ msgstr "" +#: ../../source/cookbook/classification.rst:637 +msgid "Export" +msgstr "" -#~ msgid "add training data from external sources and on the fly selection" -#~ msgstr "" +#: ../../source/cookbook/classification.rst:641 +msgid "" +"You cannot export a recipe as an asset or a :code:`.tif` file without a " +"small computation quota. If you are a new user, see " +":doc:`../setup/resource`." +msgstr "" -#~ msgid "" -#~ "Once the classification recipe is " -#~ "selected, SEPAL will show the recipe " -#~ "process in a new tab (1) and " +#: ../../source/cookbook/classification.rst:644 +msgid "Start download" +msgstr "" + +#: ../../source/cookbook/classification.rst:646 +msgid "" +"Selecting the :icon:`fa-solid fa-cloud-arrow-down` tab will open the " +"**Retrieve** pane where you can select the exportation parameters." +msgstr "" + +#: ../../source/cookbook/classification.rst:653 +msgid "Bands" +msgstr "" + +#: ../../source/cookbook/classification.rst:655 +msgid "" +"You need to select the band(s) to export. There is no maximum number of " +"bands, but exporting useless bands will only increase the size and time " +"of the output. The available bands include the classified Class band, the" +" Class probability band, and the per-class confidence " +"(:code:` %`) bands." +msgstr "" + +#: ../../source/cookbook/classification.rst:658 +msgid "Scale" +msgstr "" + +#: ../../source/cookbook/classification.rst:660 +msgid "" +"You can set a custom scale for exportation by selecting a value in metres" +" (m) (note that requesting a smaller resolution than the images' native " +"resolution will not improve the quality of the output – just its size – " +"keep in mind that the native resolution of Sentinel data is 10 m, while " +"Landsat is 30 m)." +msgstr "" + +#: ../../source/cookbook/classification.rst:663 +msgid "Destination" +msgstr "" + +#: ../../source/cookbook/classification.rst:665 +msgid "Choose a single destination for the export:" +msgstr "" + +#: ../../source/cookbook/classification.rst:667 +msgid "" +":guilabel:`SEPAL workspace`: the image is written to your SEPAL files in " +":code:`.tif` format (by default in the :code:`Downloads` folder)." +msgstr "" + +#: ../../source/cookbook/classification.rst:668 +msgid "" +":guilabel:`Google Earth Engine asset`: the image is exported to your GEE " +"account as an asset. You can export it either as a single " +":guilabel:`Image` or as an :guilabel:`Image collection` (tiled, which is " +"better suited to large exports), and set its sharing to " +":guilabel:`Private` or :guilabel:`Public`." +msgstr "" + +#: ../../source/cookbook/classification.rst:669 +msgid "" +":guilabel:`Google Drive`: the image is exported to the Google Drive of " +"the connected Google account." +msgstr "" + +#: ../../source/cookbook/classification.rst:673 +msgid "" +"The :guilabel:`Google Earth Engine asset` and :guilabel:`Google Drive` " +"destinations are only displayed when a Google account is connected to " +"SEPAL. If they are missing, please refer to `Connect SEPAL to GEE " +"<../setup/gee.html>`__." +msgstr "" + +#: ../../source/cookbook/classification.rst:675 +msgid "Select :guilabel:`Retrieve` to start the export process." +msgstr "" + +#: ../../source/cookbook/classification.rst:678 +msgid "Exportation status" +msgstr "" + +#: ../../source/cookbook/classification.rst:680 +msgid "" +"By going to the **Tasks** tab (in the lower-left corner using the :btn" +":`` or :btn:`` buttons, " +"depending on the loading status), you will see the list of different " +"loading tasks." +msgstr "" + +#: ../../source/cookbook/classification.rst:682 +msgid "" +"The interface will provide you with information about the task progress " +"and display an error if the exportation has failed. If you are " +"unsatisfied with the way we present information, the task can also be " +"monitored using the `GEE task manager " +"`__." +msgstr "" + +#: ../../source/cookbook/classification.rst:686 +msgid "" +"This operation is running between GEE and SEPAL servers in the " +"background. You can close the SEPAL page without ending the process." +msgstr "" + +#: ../../source/cookbook/classification.rst:688 +msgid "" +"When the task is finished, the frame will be displayed in green, as shown" +" in the second image below." +msgstr "" + +#: ../../source/cookbook/classification.rst:701 +msgid "Access" +msgstr "" + +#: ../../source/cookbook/classification.rst:703 +msgid "" +"Once the download process is done, you can access the data in your " +"**SEPAL folders**. The data will be stored in the :code:`Downloads` " +"folder using the following format:" +msgstr "" + +#: ../../source/cookbook/classification.rst:718 +msgid "" +"Understanding how images are stored in an optical mosaic is only required" +" if you want to manually use them. The SEPAL applications are bound to " +"this tiling system and can digest this information for you." +msgstr "" + +#: ../../source/cookbook/classification.rst:720 +msgid "" +"The data are stored in a folder using the name of the optical mosaic as " +"it was created in the first section of this article. As the data are " +"spatially too big to be exported at once, they are divided into smaller " +"pieces and brought back together in a :code:`_.vrt`" +" file." +msgstr "" + +#: ../../source/cookbook/classification.rst:724 +msgid "" +"The full folder with a consistent tree folder is required to read the " +"`.vrt`." +msgstr "" + +#~ msgid "" +#~ "With this recipe, SEPAL will help " +#~ "users build a supervised classification " +#~ "of any mosaic image. It is built" +#~ " on top of the most advanced " +#~ "tools available on Google Earth Engine" +#~ " (including the classifiers CART, " +#~ "RandomForest, NaiveBayes and SVM), allowing" +#~ " users to create an easy-to-use" +#~ " user interface to:" +#~ msgstr "" + +#~ msgid "select the image to classify" +#~ msgstr "" + +#~ msgid "add training data from external sources and on the fly selection" +#~ msgstr "" + +#~ msgid "" +#~ "Once the classification recipe is " +#~ "selected, SEPAL will show the recipe " +#~ "process in a new tab (1) and " #~ "the image selection window will appear" #~ " on the lower-right side (2)." #~ msgstr "" @@ -2394,3 +2956,444 @@ msgstr "" #~ "file." #~ msgstr "" +#~ msgid "" +#~ "With this recipe, SEPAL helps users " +#~ "build supervised classifications of any " +#~ "mosaic image. It is built on top" +#~ " of the most advanced tools available" +#~ " on Google Earth Engine (GEE) – " +#~ "including the classifiers CART, RandomForest," +#~ " NaiveBayes and SVM – allowing users" +#~ " to create an easy-to-use user" +#~ " interface to:" +#~ msgstr "" + +#~ msgid "define the class table; and" +#~ msgstr "" + +#~ msgid "" +#~ "In the lower-right corner, the " +#~ "following five tabs are available, " +#~ "allowing you to customize the time " +#~ "series to your needs:" +#~ msgstr "" + +#~ msgid "" +#~ "Users can select images coming from " +#~ "an **Existing recipe** or an exported" +#~ " **GEE asset** (see advantages and " +#~ "disadvantages below). Both should be an" +#~ " :code:`ee.Image`, rather than a " +#~ ":code:`Time series` or :code:`ee.ImageCollection`." +#~ msgstr "" + +#~ msgid "**Existing recipe**:" +#~ msgstr "" + +#~ msgid "**GEE asset**:" +#~ msgstr "" + +#~ msgid "" +#~ "For this example, we will use a" +#~ " public asset created with the " +#~ "**Optical mosaic** tool from SEPAL. It's" +#~ " a Sentinel-2 mosaic of Eastern " +#~ "Province in Zambia during the dry " +#~ "season from 2012 to 2020. Multiple " +#~ "bands are available." +#~ msgstr "" + +#~ msgid "" +#~ "Once an asset has been selected, " +#~ "SEPAL will load its bands in the" +#~ " interface. You can use any band " +#~ "that is native to the image as " +#~ "input for the classification process. " +#~ "Simply click on the band name to" +#~ " select them. The selected bands are" +#~ " summarized in the expansion panel " +#~ "title (**1**) and displayed in gold " +#~ "in the pane content (**2**)." +#~ msgstr "" + +#~ msgid ":code:`swir`" +#~ msgstr "" + +#~ msgid "" +#~ "Select :btn:` Derived" +#~ " bands` at the bottom of the " +#~ "pop-up window and select the deriving" +#~ " method. This will add a a new" +#~ " panel to the expansion panel with" +#~ " the selected method name (**1**). " +#~ "The selected method will be applied " +#~ "to the selected bands." +#~ msgstr "" + +#~ msgid "" +#~ "If more than two bands are " +#~ "selected, the operation will be applied" +#~ " to the Cartesian product of the " +#~ "bands. If you select bands :math:`A`," +#~ " :math:`B` and :math:`C`, and apply " +#~ "the :code:`Difference` derived bands, you'll" +#~ " add three bands to your analysis:" +#~ msgstr "" + +#~ msgid ":math:`A - B`" +#~ msgstr "" + +#~ msgid ":math:`A - C`" +#~ msgstr "" + +#~ msgid ":math:`B - C`" +#~ msgstr "" + +#~ msgid "" +#~ "Once image selection is complete, select" +#~ " :btn:` Apply` and" +#~ " the pop-up window will close. " +#~ "The images and bands will be " +#~ "displayed in the :guilabel:`IMG` panel " +#~ "in the lower-right corner of the" +#~ " screen. By selecting the :btn:`` button, you will " +#~ "remove the image and its band from" +#~ " the analysis altogether." +#~ msgstr "" + +#~ msgid "" +#~ "Once the fully qualified legend file " +#~ "has been prepared on your computer, " +#~ "select :btn:``" +#~ " and then :code:`Import from CSV`, " +#~ "which will open a pop-up window" +#~ " where you can drag and drop " +#~ "the file or select it manually " +#~ "from your computer files." +#~ msgstr "" + +#~ msgid "" +#~ "A file will be downloaded to you" +#~ " computer named :code:`_legend.csv`, " +#~ "which will contain the legend " +#~ "information in the following format:" +#~ msgstr "" + +#~ msgid "Select training data" +#~ msgstr "" + +#~ msgid "This step is not mandatory." +#~ msgstr "" + +#~ msgid "Collected reference data" +#~ msgstr "" + +#~ msgid "" +#~ "Collected reference data are data " +#~ "selected on the fly by the user." +#~ " The workflow will be explained later" +#~ " in the documentation." +#~ msgstr "" + +#~ msgid "" +#~ "In this pane, this type of data" +#~ " can be managed by the user. " +#~ "The data appear as a pair, " +#~ "associating coordinates to a class " +#~ "value, which will be used to " +#~ "create training data in the " +#~ "classification model." +#~ msgstr "" + +#~ msgid "" +#~ "If you're satisfied with the current " +#~ "selection and you want to share " +#~ "the data with others, select :btn" +#~ ":`` and then" +#~ " :code:`Export reference data to csv`. " +#~ "A file will be created and sent" +#~ " to your computer, named " +#~ ":code:`_reference_data.csv`. It will " +#~ "embed all of the gathered point " +#~ "data using the following convention:" +#~ msgstr "" + +#~ msgid "" +#~ "If you are not satisfied with the" +#~ " selected data, select :btn:`` and then :code:`Clear" +#~ " collected reference data` to remove " +#~ "all collected data from the analysis." +#~ msgstr "" + +#~ msgid "" +#~ "A confirmation pop-up window should " +#~ "prevent you from accidentally deleting " +#~ "everything." +#~ msgstr "" + +#~ msgid "Existing training data" +#~ msgstr "" + +#~ msgid "" +#~ "By selecting :btn:`csv file`, SEPAL will" +#~ " request a file from your computer" +#~ " in :code:`.csv` format. The file " +#~ "needs to include two pieces of " +#~ "information: geographic coordinates and class" +#~ " value." +#~ msgstr "" + +#~ msgid "" +#~ "If your file contains a GeoJSON " +#~ "column instead of coordinates, select " +#~ ":btn:`geojson column` to switch the " +#~ "interface to one column selection." +#~ msgstr "" + +#~ msgid "" +#~ "Now that you have set up the " +#~ "coordinates of your points, SEPAL will" +#~ " request the columns specifying the " +#~ "class value (not the name) in a" +#~ " second frame. Only the single column" +#~ " is supported so far. Select the " +#~ "column from your file that embeds " +#~ "the class values." +#~ msgstr "" + +#~ msgid "" +#~ "Using the :code:`row filter expression` " +#~ "text field, one can filter out " +#~ "some lines of the table. Refer to" +#~ " the `features <#>`__ section to " +#~ "learn more." +#~ msgstr "" + +#~ msgid "" +#~ "Select :btn:`" +#~ " next` to add the data to the" +#~ " model. SEPAL will provide a summary" +#~ " of the classes in the legend " +#~ "of the classification and the number " +#~ "of training points added by your " +#~ "file." +#~ msgstr "" + +#~ msgid "" +#~ "The process is nearly the same as" +#~ " found in the documentation above " +#~ "discussing .csv tables. The only " +#~ "difference should be the geometry " +#~ "column, as GEE assets usually embed " +#~ "a :code:`.goejson` column by default. If" +#~ " this column exists, it will be " +#~ "autodetected by SEPAL." +#~ msgstr "" + +#~ msgid "" +#~ "Start by selecting btn:`Sample classification`" +#~ " in the opened pop-up window, " +#~ "where all of the the parameters " +#~ "can be set:" +#~ msgstr "" + +#~ msgid "" +#~ "**Sample per class**: the number of " +#~ "samples per class of the provided " +#~ "image. The more samples you request, " +#~ "the more accurate the model will " +#~ "be (if too many samples are " +#~ "selected, on-the-fly visualization will" +#~ " never render; default to: :code:`1000`)." +#~ msgstr "" + +#~ msgid "" +#~ "**EE asset ID**: the ID of the " +#~ "classification to sample (it should be" +#~ " an :code:`ee.Image` accessible to the " +#~ "user)." +#~ msgstr "" + +#~ msgid "" +#~ "**Class band**: The class to use " +#~ "for classification value (the dropdown " +#~ "menu will be filled with the bands" +#~ " found in the provided asset)." +#~ msgstr "" + +#~ msgid "" +#~ "To reproduce this example, use the " +#~ "following asset as an image to " +#~ "sample: :code:`projects/sepal-" +#~ "cookbook/assets/classification/zmb_copernicus_landcover`." +#~ msgstr "" + +#~ msgid "" +#~ "Select the :btn:`` " +#~ "buttons (**1**) to change the number " +#~ "of samples in a specific class. By" +#~ " default, SEPAL ignores the samples " +#~ "with a :code:`Null` value. One can " +#~ "select :btn:`Default` (**2**) for any of" +#~ " the classes so that these points " +#~ "end up in the default class " +#~ "instead of being ignored." +#~ msgstr "" + +#~ msgid "random forest" +#~ msgstr "" + +#~ msgid "gradient tree boost" +#~ msgstr "" + +#~ msgid "cart" +#~ msgstr "" + +#~ msgid "naive bayes" +#~ msgstr "" + +#~ msgid "min distance" +#~ msgstr "" + +#~ msgid "decision tree" +#~ msgstr "" + +#~ msgid "" +#~ "This process requires a good " +#~ "understanding of the **Visualization** feature" +#~ " of SEPAL (refer to the `feature " +#~ "<#>`__ section for more information)." +#~ msgstr "" + +#~ msgid "" +#~ "Once all of the parameters are " +#~ "set, the user is free to add " +#~ "extra training data in the web " +#~ "interface and the new points will " +#~ "be added to the final model, " +#~ "improving the quality of the " +#~ "classification." +#~ msgstr "" + +#~ msgid "" +#~ "In order to improve the classification," +#~ " one must set up the view to" +#~ " display all of the information. " +#~ "While these guidelines could be modified" +#~ " and extended, they are still useful" +#~ " as an introductory resource." +#~ msgstr "" + +#~ msgid "" +#~ "The current image (what you are " +#~ "classifying) (**2**) using the NIR,RED,SWIR" +#~ " band combination." +#~ msgstr "" + +#~ msgid "" +#~ "To start adding points, open the " +#~ "training interface by selecting :btn:`` in the " +#~ "upper right of the screen (**1**). " +#~ "Once selected, the background color " +#~ "becomes darker and the pointer of " +#~ "the mouse becomes a :icon:`fa-solid " +#~ "fa-plus`." +#~ msgstr "" + +#~ msgid "" +#~ "You can now click elsewhere on the" +#~ " map to add another point. If " +#~ "you are satisfied with the " +#~ "classification, select :btn:` Close` (3) and select :btn" +#~ ":`` again " +#~ "to stop editing the points. Every " +#~ "time a new point is added, the " +#~ "**Classification** map is recomputed and " +#~ "rendered on the left side." +#~ msgstr "" + +#~ msgid "" +#~ "To modify existing points, select the" +#~ " :btn:`` to" +#~ " open the **Point editing** interface. " +#~ "Then:" +#~ msgstr "" + +#~ msgid "" +#~ "SEPAL embeds information to help the " +#~ "user understand if the amount of " +#~ "training data is sufficient to produce" +#~ " an accurate classification model. In " +#~ "the **Recipe** window, change the **Band" +#~ " combination** to :code:`Class probability`." +#~ msgstr "" + +#~ msgid "" +#~ "The user now sees the probability " +#~ "of the model (i.e. the confidence " +#~ "level of the level with output " +#~ "class for each pixel)." +#~ msgstr "" + +#~ msgid "" +#~ "You cannot export a recipe as an" +#~ " asset or a :code:`.tiff` file " +#~ "without a small computation quota. If" +#~ " you are a new user, see " +#~ ":doc:`../setup/resource`." +#~ msgstr "" + +#~ msgid "" +#~ "Selecting the :icon:`fa-solid fa-" +#~ "cloud-arrow-down` tab will open the" +#~ " **Retrieve** pane, where you can " +#~ "select the exportation parameters (**1**)." +#~ msgstr "" + +#~ msgid "" +#~ "You need to select the band to " +#~ "export (**2**). There is no maximum " +#~ "number of bands; however, exporting " +#~ "useless bands will only increase the " +#~ "size and time of the output." +#~ msgstr "" + +#~ msgid "" +#~ "You can set a custom scale for " +#~ "exportation (**3**) by changing the " +#~ "value of the slider in metres (m)." +#~ " (Note: Requesting a smaller resolution " +#~ "than images' native resolution will not" +#~ " improve the quality of the output" +#~ " – just its size; keep in mind" +#~ " that the native resolution of " +#~ "Sentinel data is 10 m, while " +#~ "Landsat is 30 m.)" +#~ msgstr "" + +#~ msgid "" +#~ "You can export the image to the" +#~ " :btn:`SEPAL workspace` or to the " +#~ ":btn:`Google Earth Engine Asset` list. " +#~ "The same image will be exported, " +#~ "but for the former, you will find" +#~ " it in :code:`.tif` format in the " +#~ ":code:`Downloads` folder; for the latter, " +#~ "the image will be exported to your" +#~ " **GEE account asset list**." +#~ msgstr "" + +#~ msgid "" +#~ "If :btn:`Google Earth Engine Asset` is" +#~ " not displayed, your GEE account is" +#~ " not connected to SEPAL. Refer to " +#~ "`Connect SEPAL to GEE <../setup/gee.html>`__." +#~ msgstr "" + +#~ msgid "Select :btn:` Apply` to start the download process." +#~ msgstr "" + diff --git a/docs/source/_locale/sv/LC_MESSAGES/cookbook/optical_mosaic.po b/docs/source/_locale/sv/LC_MESSAGES/cookbook/optical_mosaic.po index b77ab6c46d..82680a7fe4 100644 --- a/docs/source/_locale/sv/LC_MESSAGES/cookbook/optical_mosaic.po +++ b/docs/source/_locale/sv/LC_MESSAGES/cookbook/optical_mosaic.po @@ -1,22 +1,18 @@ + msgid "" msgstr "" -"Project-Id-Version: sepal-doc\n" +"Project-Id-Version: sepal-doc\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-03-07 09:39+0100\n" -"PO-Revision-Date: 2024-03-07 09:04\n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: 2024-03-07 09:04+0000\n" "Last-Translator: \n" +"Language: sv_SE\n" "Language-Team: Swedish\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.14.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Crowdin-Project: sepal-doc\n" -"X-Crowdin-Project-ID: 562097\n" -"X-Crowdin-Language: sv-SE\n" -"X-Crowdin-File: /main/docs/source/_locale/en/LC_MESSAGES/cookbook/optical_mosaic.po\n" -"X-Crowdin-File-ID: 69\n" -"Language: sv_SE\n" +"Generated-By: Babel 2.18.0\n" #: ../../source/cookbook/optical_mosaic.rst:2 msgid "Optical mosaics" @@ -31,11 +27,17 @@ msgid "Overview" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:8 -msgid "A mosaic is a combination or fusion of two or more images. In SEPAL, you can create a single raster dataset from several raster datasets by mosaicing them together. This can be achieved on both contiguous rasters (see first image below) and overlapping images (see second image below)." +msgid "" +"A mosaic is a combination or fusion of two or more images. In SEPAL, you " +"can create a single raster dataset from several raster datasets by " +"mosaicing them together. This can be achieved on both contiguous rasters " +"(see first image below) and overlapping images (see second image below)." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:21 -msgid "These overlay areas can be managed in various ways. For example, you can choose to:" +msgid "" +"These overlay areas can be managed in various ways. For example, you can " +"choose to:" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:23 @@ -55,15 +57,23 @@ msgid "take the maximum or minimum value." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:28 -msgid "In addition, certain corrections can be made to the image to account for clouds, snow and other factors; these operations are complex and repetitive." +msgid "" +"In addition, certain corrections can be made to the image to account for " +"clouds, snow and other factors; these operations are complex and " +"repetitive." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:30 -msgid "SEPAL offers you an interactive and intuitive way to create mosaics in any area of interest (AOI)." +msgid "" +"SEPAL offers you an interactive and intuitive way to create mosaics in " +"any area of interest (AOI)." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:34 -msgid "You won't be able to retrieve the images if your SEPAL and Google Earth Engine (GEE) accounts are not connected. For more information, go to :doc:`../setup/gee`." +msgid "" +"You won't be able to retrieve the images if your SEPAL and Google Earth " +"Engine (GEE) accounts are not connected. For more information, go to " +":doc:`../setup/gee`." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:37 @@ -71,15 +81,25 @@ msgid "Start" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:39 -msgid "Once the mosaic recipe is selected, SEPAL will display the recipe process in a new tab (see **1** in the image below) and the **AOI selection** window will appear in the lower right (**2**)." +msgid "" +"Once the mosaic recipe is selected, SEPAL will display the recipe process" +" in a new tab (see **1** in the image below) and the **AOI selection** " +"window will appear in the lower right (**2**)." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:45 -msgid "The first step is to change the name of the recipe. This name will be used to identify your files and recipes in SEPAL folders. Use the best-suited convention for your needs. Simply double-click the tab and write a new name. It will default to :code:`Optical_mosaic___`." +msgid "" +"The first step is to change the name of the recipe. This name will be " +"used to identify your files and recipes in SEPAL folders. Use the best-" +"suited convention for your needs. Simply double-click the tab and write a" +" new name. It defaults to " +":code:`Optical_mosaic___`." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:57 -msgid "The SEPAL team recommends using the following naming convention: :code:`__`." +msgid "" +"The SEPAL team recommends using the following naming convention: " +":code:`__`." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:60 @@ -87,7 +107,9 @@ msgid "Parameters" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:62 -msgid "In the lower-right corner, five tabs are available, which allow you to customize the mosaic creation to your needs:" +msgid "" +"In the lower-right corner, five tabs are available, which allow you to " +"customize the mosaic creation to your needs:" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:64 @@ -115,7 +137,9 @@ msgid "AOI selection" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:77 -msgid "The data exported by the recipe will be generated from within the bounds of the AOI. There are multiple ways to select the AOI in SEPAL:" +msgid "" +"The data exported by the recipe will be generated from within the bounds " +"of the AOI. There are multiple ways to select the AOI in SEPAL:" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:79 @@ -131,7 +155,9 @@ msgid "Drawn polygons" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:83 -msgid "They are extensively described in our documentation. For more information, read :doc:`../feature/aoi_selector`." +msgid "" +"They are extensively described in our documentation. For more " +"information, read :doc:`../feature/aoi_selector`." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:90 @@ -143,7 +169,10 @@ msgid "Yearly mosaic" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:95 -msgid "In the :guilabel:`DAT` tab, select a year which pixels in the mosaic should come from. Then select the :icon:`fa-solid fa-check` :guilabel:`Apply` button." +msgid "" +"In the :guilabel:`DAT` tab, select a year which pixels in the mosaic " +"should come from. Then select the :icon:`fa-solid fa-check` " +":guilabel:`Apply` button." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:102 @@ -151,23 +180,40 @@ msgid "Seasonal mosaic" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:104 -msgid "Select :guilabel:`More` in the :guilabel:`DAT` panel to expand the date selection tool. Rather than selecting a year, you can select a season of interest." +msgid "" +"Select :guilabel:`More` in the :guilabel:`DAT` panel to expand the date " +"selection tool. Rather than selecting a year, you can select a season of " +"interest." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:106 -msgid "Select the :icon:`fa-solid fa-calendar` (**1**) to open the **Date selection** pop-up window. The selected date will be the target of the mosaic (i.e. the date from which pixels in the mosaic should ideally come from)." +msgid "" +"Select the :icon:`fa-solid fa-calendar` (**1**) to open the **Date " +"selection** pop-up window. The selected date will be the target of the " +"mosaic (i.e. the date from which pixels in the mosaic should ideally come" +" from)." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:108 -msgid "Using the main slider (**2**), define a season around the target date by identifying a start date and end date. SEPAL will then retrieve the mosaic images between those dates." +msgid "" +"Using the main slider (**2**), define a season around the target date by " +"identifying a start date and end date. SEPAL will then retrieve the " +"mosaic images between those dates." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:110 -msgid "The number of images in a single season of one year may not be enough to produce a correct mosaic. SEPAL provides two secondary sliders to increase the pool of images to create the mosaic. Both count the number of seasons SEPAL can retrieve in the past (:code:`Past season` - [**3**]) and in the future (:code:`Future season` - [**4**])." +msgid "" +"The number of images in a single season of one year may not be enough to " +"produce a correct mosaic. SEPAL provides two secondary sliders to " +"increase the pool of images to create the mosaic. Both count the number " +"of seasons SEPAL can retrieve in the past (:code:`Past season` - [**3**])" +" and in the future (:code:`Future season` - [**4**])." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:112 -msgid "When the selection is done, select the :icon:`fa-solid fa-check` :guilabel:`Apply` button." +msgid "" +"When the selection is done, select the :icon:`fa-solid fa-check` " +":guilabel:`Apply` button." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:119 @@ -175,504 +221,865 @@ msgid "Sources" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:121 -msgid "As mentioned in the introduction, a mosaic uses different raster datasets that can be obtained from multiple sources. SEPAL allows you to select data from multiple entry points. Below, you can find a description of these sources (select a link to see the corresponding dataset information):" +msgid "" +"As mentioned in the introduction, a mosaic combines raster datasets that " +"can come from multiple satellite sources. In the :guilabel:`SRC` tab, " +"select one or more **optical** data sources to build the mosaic from." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:123 -msgid ":guilabel:`L8`: `Landsat 8 Tier 1 `__. Landsat scenes with the highest available data quality are placed into **Tier 1** and considered suitable for time-series processing analysis. **Tier 1** includes Level-1 Precision Terrain (L1TP) processed data that have well-characterized radiometry and are intercalibrated across different Landsat sensors. The geo-registration of **Tier 1** scenes will be consistent and within prescribed tolerances (< = 12 m root mean square error [RMSE]). All **Tier 1** Landsat data can be considered consistent and intercalibrated (regardless of the sensor used) across the full collection." +msgid "**Landsat** scenes are distributed in two quality tiers:" +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:125 +msgid "" +"**Tier 1** holds the scenes with the highest data quality. They are " +"processed to Level-1 Precision Terrain (L1TP), have well-characterized " +"radiometry, are intercalibrated across the different Landsat sensors and " +"are geo-registered within prescribed tolerances (12 m root mean square " +"error [RMSE] or less). Tier 1 scenes are consistent across the full " +"collection and suitable for time-series analysis." +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:126 +msgid "" +"**Tier 2** (marked :guilabel:`T2`) holds scenes that do not meet the Tier" +" 1 criteria, for example because of significant cloud cover, insufficient" +" ground control or systematic-only terrain correction (L1GT/L1GS). They " +"can still be useful; analyze the RMSE and other properties to determine " +"their suitability for your study." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:127 -msgid ":guilabel:`L8 T2`: `Landsat 8 Tier 2 `__. Scenes not meeting **Tier 1** criteria during processing are assigned to **Tier 2**. This includes Systematic terrain (L1GT) and Systematic (L1GS) processed scenes, as well as any L1TP scenes that do not meet the **Tier 1** specifications due to significant cloud cover, insufficient ground control and other factors. Users interested in **Tier 2** scenes can analyze the RMSE and other properties to determine the suitability for use in individual applications and studies." +#: ../../source/cookbook/optical_mosaic.rst:128 +msgid "" +"The following optical sources are available (select a link to open the " +"corresponding Google Earth Engine dataset):" +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:130 +msgid "" +":guilabel:`L9`: `Landsat 9 `__ (Tier 1; from 2021)." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:131 -msgid ":guilabel:`L7`: `Landsat 7 Tier 1 `__. Landsat scenes with the highest available data quality are placed into **Tier 1** and are considered suitable for time-series processing analysis. **Tier 1** includes Level-1 Precision Terrain (L1TP) processed data that have well-characterized radiometry and are intercalibrated across different Landsat sensors. The geo-registration of **Tier 1** scenes will be consistent and within prescribed tolerances (< = 12 m RMSE). All **Tier 1** Landsat data can be considered consistent and intercalibrated across the full collection (regardless of the sensor used)." +msgid "" +":guilabel:`L8`: `Landsat 8 `__ (Tier 1; from 2013)." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:135 -msgid ":guilabel:`L7 T2`: `Landsat 7 Tier 2 `__. Scenes not meeting **Tier 1** criteria during processing are assigned to **Tier 2**. This includes Systematic terrain (L1GT) and Systematic (L1GS) processed scenes, as well as any L1TP scenes that do not meet the **Tier 1** specifications due to significant cloud cover, insufficient ground control and other factors. Users interested in **Tier 2** scenes can analyze the RMSE and other properties to determine the suitability for use in individual applications and studies." +#: ../../source/cookbook/optical_mosaic.rst:132 +msgid "" +":guilabel:`L7`: `Landsat 7 `__ (Tier 1; from 1999)." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:139 -msgid ":guilabel:`L4-5`: `Landsat 4 Tier 1 `__ combined with `Landsat 5 Tier 1 `__. Landsat scenes with the highest available data quality are placed into **Tier 1** and are considered suitable for time-series processing analysis. **Tier 1** includes Level-1 Precision Terrain (L1TP) processed data that have well-characterized radiometry and are intercalibrated across different Landsat sensors. The geo-registration of **Tier 1** scenes will be consistent and within prescribed tolerances (< = 12 m RMSE). All **Tier 1** Landsat data can be considered consistent and intercalibrated across the full collection (regardless of the sensor used)." +#: ../../source/cookbook/optical_mosaic.rst:133 +msgid "" +":guilabel:`L4-5`: `Landsat 4 `__ combined with `Landsat" +" 5 `__ (Tier 1; 1982–2012)." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:143 -msgid ":guilabel:`L4-5 T2`: `Landsat 4 TM Tier 2 `__ combined with `Landsat 5 TM Tier 2 `__. Scenes not meeting **Tier 1** criteria during processing are assigned to **Tier 2**. This includes Systematic terrain (L1GT) and Systematic (L1GS) processed scenes, as well as any L1TP scenes that do not meet the **Tier 1** specifications due to significant cloud cover, insufficient ground control and other factors. Users interested in **Tier 2** scenes can analyze the RMSE and other properties to determine the suitability for use in individual applications and studies." +#: ../../source/cookbook/optical_mosaic.rst:134 +msgid "" +":guilabel:`L9 T2`, :guilabel:`L8 T2`, :guilabel:`L7 T2`, :guilabel:`L4-5 " +"T2`: the **Tier 2** equivalents of the datasets listed above." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:147 -msgid ":guilabel:`A+B`: `Sentinel-2 Multispectral instrument `__ is a wide-swath, high-resolution, multispectral imaging mission supporting Copernicus Land Monitoring studies, including the monitoring of vegetation, soil and water cover, as well as the observation of inland waterways and coastal areas." +#: ../../source/cookbook/optical_mosaic.rst:135 +msgid "" +":guilabel:`S2`: `Sentinel-2 `__ (Sentinel-2A and " +"Sentinel-2B; from 2015). A wide-swath, high-resolution, multispectral " +"imaging mission supporting Copernicus Land Monitoring studies, including " +"the monitoring of vegetation, soil and water cover, as well as the " +"observation of inland waterways and coastal areas." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:153 -#: ../../source/cookbook/optical_mosaic.rst:170 -msgid "To validate your selection, select the :icon:`fa-solid fa-check` :guilabel:`Apply` button." +#: ../../source/cookbook/optical_mosaic.rst:139 +msgid "" +"SEPAL uses the Landsat **Collection 2** archive and the **harmonized** " +"Sentinel-2 collection." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:156 -msgid "Scenes" +#: ../../source/cookbook/optical_mosaic.rst:145 +msgid "" +"You can also restrict the imagery with the :code:`Max cloud cover %` " +"slider: scenes whose cloud cover is higher than this threshold are " +"excluded before the mosaic is built." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:160 -msgid "If Sentinel and Landsat data have been selected, you will be forced to use all scenes. As the tiling system from Sentinel and Landsat data are different, it's impossible to select scenes using the tool presented in the following sections." +#: ../../source/cookbook/optical_mosaic.rst:147 +msgid "" +"To validate your selection, select the :icon:`fa-solid fa-check` " +":guilabel:`Apply` button (labelled :guilabel:`Done` when you first create" +" the recipe through the setup wizard)." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:162 -msgid "You can use multiple options to select the best scenes for your mosaic. The most simple is to use every image available based on the date parameters. Select :guilabel:`Use all scenes` and all images will be integrated into the mosaic." +#: ../../source/cookbook/optical_mosaic.rst:150 +msgid "Scenes" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:164 -msgid "Choose :guilabel:`Select scenes` and choose one of the three available :code:`Priority` options, based on the needs of your analysis (SEPAL sorts the images available for each tile):" +#: ../../source/cookbook/optical_mosaic.rst:154 +msgid "" +"If Sentinel and Landsat data have been selected, you will be forced to " +"use all scenes. As the tiling system from Sentinel and Landsat data are " +"different, it's impossible to select scenes using the tool presented in " +"the following sections." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:166 -msgid ":guilabel:`Cloud free`: Prioritizes images with zero or few clouds." +#: ../../source/cookbook/optical_mosaic.rst:156 +msgid "" +"You can use multiple options to select the best scenes for your mosaic. " +"The most simple is to use every image available based on the date " +"parameters. Select :guilabel:`Use all scenes` and all images will be " +"integrated into the mosaic." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:167 -msgid ":guilabel:`Target date`: Prioritizes images that match the target date." +#: ../../source/cookbook/optical_mosaic.rst:158 +msgid "" +"Choose :guilabel:`Select scenes` and pick one of the three available " +":code:`Priority` options, based on the needs of your analysis (SEPAL " +"sorts the images available for each tile):" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:168 -msgid ":guilabel:`Balanced`: Prioritizes images that maximize both cloud and target date." +#: ../../source/cookbook/optical_mosaic.rst:160 +msgid "" +":guilabel:`Cloud free`: Prioritizes imagery as cloud-free as possible, " +"ignoring the date." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:177 -msgid "Composite" +#: ../../source/cookbook/optical_mosaic.rst:161 +msgid "" +":guilabel:`Balanced`: Prioritizes imagery that is neither too cloudy nor " +"too far from the target date." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:181 -msgid "This step is optional. SEPAL provides the following options by default:" +#: ../../source/cookbook/optical_mosaic.rst:162 +msgid "" +":guilabel:`Target date`: Prioritizes imagery as close as possible to the " +"target date." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:183 -msgid "**Correction**: :guilabel:`SR`, :guilabel:`BRDF`" +#: ../../source/cookbook/optical_mosaic.rst:164 +msgid "" +"To validate your selection, select the :icon:`fa-solid fa-check` " +":guilabel:`Apply` button." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:184 -msgid "**Pixel filters**: No filters" +#: ../../source/cookbook/optical_mosaic.rst:171 +msgid "Composite" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:185 -msgid "**Cloud detection**: :guilabel:`QA bands`, :guilabel:`Cloud score`" +#: ../../source/cookbook/optical_mosaic.rst:173 +msgid "" +"The :guilabel:`CMP` tab controls how the selected scenes are corrected, " +"how clouds and snow are masked, and how the final pixel values are " +"computed. The panel opens in a **simple** view showing the most common " +"options; select :guilabel:`More` to reveal the **advanced** options (and " +":guilabel:`Less` to hide them again)." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:186 -msgid "**Cloud masking**: :guilabel:`Moderate`" +#: ../../source/cookbook/optical_mosaic.rst:177 +msgid "This step is optional. By default, SEPAL applies:" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:187 -msgid "**Cloud buffering**: :guilabel:`None`" +#: ../../source/cookbook/optical_mosaic.rst:179 +msgid "**Corrections**: :guilabel:`SR` and :guilabel:`BRDF`" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:188 -msgid "**Snow masking**: :guilabel:`On`" +#: ../../source/cookbook/optical_mosaic.rst:180 +msgid "**Cloud masking**: :guilabel:`Moderate`" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:189 +#: ../../source/cookbook/optical_mosaic.rst:181 msgid "**Composing method**: :guilabel:`Medoid`" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:191 -msgid "To create a mosaic, provide SEPAL with the compositing method to create the final image. See the following image for all possible compositing options available." +#: ../../source/cookbook/optical_mosaic.rst:183 +msgid "" +"The advanced view additionally defaults to no pixel filters, no cloud " +"buffering and snow/ice masking turned on." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:198 -msgid "Corrections" +#: ../../source/cookbook/optical_mosaic.rst +msgid "Show the advanced view (opened with **More**)" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:200 -msgid "This will apply corrections on the stacked pixels to improve the quality of the mosaic." +#: ../../source/cookbook/optical_mosaic.rst:199 +msgid "Corrections" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:202 -msgid ":guilabel:`SR`: Surface reflectance improves comparison between multiple images over the same region by accounting for atmospheric effects such as aerosol scattering and thin clouds, which can help in the detection and characterization of Earth surface change. Top-of-atmosphere images are used if not selected." +#: ../../source/cookbook/optical_mosaic.rst:201 +msgid "" +"Corrections are applied to the stacked pixels to improve the quality of " +"the mosaic." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:203 -msgid ":guilabel:`BRDF`: Uses a bidirectional reflectance distribution function (BRDF) model to characterize surface reflectance anisotropy. For a given land area, the BRDF is established based on selected multi-angular observations of surface reflectance." +msgid "" +":guilabel:`SR`: Surface reflectance improves comparison between multiple " +"images over the same region by accounting for atmospheric effects such as" +" aerosol scattering and thin clouds, which can help in the detection and " +"characterization of Earth surface change. Top-of-atmosphere (TOA) images " +"are used if not selected." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:204 -msgid ":guilabel:`Calibrate`: Calibrates Sentinel and Landsat data to make them compatible." +msgid "" +":guilabel:`BRDF`: Uses a bidirectional reflectance distribution function " +"(BRDF) model to characterize surface reflectance anisotropy. For a given " +"land area, the BRDF is established based on selected multi-angular " +"observations of surface reflectance. When BRDF is enabled, the advanced " +"view shows a :code:`BRDF Multiplier` field that controls how much " +"correction is applied (values of 3–4 usually work well; lower it if the " +"effect is overcompensated, raise it if it is not compensated enough)." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:208 -msgid "This option is only available if:" +#: ../../source/cookbook/optical_mosaic.rst:205 +msgid "" +":guilabel:`Calibrate`: Calibrates the bands to improve a cross-sensor " +"mosaic." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:210 -msgid "Landsat and Sentinel data are mixed; and" +#: ../../source/cookbook/optical_mosaic.rst:209 +msgid "This option is only available if:" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:211 -msgid "BRDF and surface reflectance (SR) corrections are disabled." +msgid "Landsat and Sentinel-2 data are mixed; and" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:214 -msgid "Pixel filters" +#: ../../source/cookbook/optical_mosaic.rst:212 +msgid "surface reflectance (:guilabel:`SR`) correction is disabled." +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:215 +msgid "Cloud masking" +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:217 +msgid "" +"Controls how clouds are detected and masked. In the simple view, choose a" +" preset:" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:216 -msgid "Activating any of the filters will remove some pixels from the stack. Removing pixels improves the quality of the mosaic, as they are not taken into account in the median value computation." +#: ../../source/cookbook/optical_mosaic.rst:219 +msgid "" +":guilabel:`Moderate`: Relies only on the image source QA bands for cloud " +"masking." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:220 -msgid "Each filter is applied iteratively (e.g. if the normalized difference vegetation index [NDVI] is already filtering all pixels but one, there will be nothing left in the stack to be filtered by day of year)." +msgid "" +":guilabel:`Aggressive`: Relies on the image source QA bands together with" +" a cloud-scoring algorithm. This will probably mask out some built-up " +"areas and other bright features." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:222 -msgid "Note as well that adding filters significantly increases the creation time of the mosaic." +#: ../../source/cookbook/optical_mosaic.rst:221 +msgid "" +":guilabel:`Custom`: Automatically selected (and otherwise disabled) when " +"you fine-tune the individual cloud-masking algorithms in the advanced " +"view." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:224 -msgid "**Shadow**: Filters the XX percent darkest pixels of the stack." +#: ../../source/cookbook/optical_mosaic.rst:223 +msgid "" +"In the advanced view you can add and configure the individual cloud-" +"masking algorithms with the :icon:`fa-solid fa-plus` button. The " +"available algorithms depend on the sources you selected:" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:225 -msgid "**Haze**: Computes a haze index and filters the XX percent highest values." +msgid "" +":guilabel:`SEPAL cloud score`: SEPAL's own cloud-scoring algorithm, with " +"a configurable *maximum cloud probability*. Always available." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:226 -msgid "**NDVI**: Computes the NDVI and only keeps the XX percent highest values." +msgid "" +":guilabel:`S2 Cloud Score+`: Sentinel-2 Cloud Score+, with a *maximum " +"cloud probability* and a choice of scoring band — :guilabel:`cs` " +"(instantaneous clear-sky similarity) or :guilabel:`cs_cdf` (likelihood of" +" being clear over time). Sentinel-2 sources only." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:227 -msgid "**Day of the year**: Computes the distance from target day in days and filters out the XX percent farthest." +msgid "" +":guilabel:`S2 Cloud Probability`: the Sentinel-2 cloud-probability " +"dataset, with a configurable *maximum cloud probability*. Sentinel-2 " +"sources only." +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:228 +msgid "" +":guilabel:`Landsat CFMask`: the Landsat CFMask QA bands. You can set " +":code:`Cloud Masking`, :code:`Cloud Shadow Masking` and :code:`Cirrus " +"Masking` each to :guilabel:`Off`, :guilabel:`Moderate` or " +":guilabel:`Aggressive`, and choose whether to :guilabel:`Keep` or " +":guilabel:`Remove` dilated clouds. Landsat sources only." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:230 -msgid "Cloud detection" +#: ../../source/cookbook/optical_mosaic.rst:229 +msgid "" +":guilabel:`Pino 26`: the Pan-Tropical Sentinel-2 cloud-detection " +"algorithm developed by Dario Simonetti (for more information, see `D. " +"Simonetti [2021] `__). Only " +"available for a Sentinel-2-exclusive source when :guilabel:`SR` " +"correction is disabled." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:232 -msgid "Refers to the algorithm used to detect clouds." +msgid "Cloud buffering" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:234 -msgid ":guilabel:`QA bands`: Uses quality assessment (QA) bands to identify clouds in Sentinel data." +msgid "" +"(Advanced view.) When pixels are identified as clouds, SEPAL can also " +"mask a small buffer around them to prevent hazy pixels at the borders of " +"clouds from being included in the mosaic." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:235 -msgid ":guilabel:`Cloud score`: Uses the computed cloud score to identify clouds in Landsat data." +#: ../../source/cookbook/optical_mosaic.rst:238 +msgid "" +"Buffering is done at the pixel level, so using this option significantly " +"increases the creation time of the mosaic." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:236 -msgid ":guilabel:`Pino 26`: Uses the Pino_26 algorithm to identify clouds (for more information, see `D. Simonetti [2021] `__)." +#: ../../source/cookbook/optical_mosaic.rst:240 +msgid ":guilabel:`None`: Doesn't use cloud buffering." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:240 -msgid "This filter is only available for Sentinel exclusive source when both :guilabel:`BRDF` and :guilabel:`SR` correction are disabled." +#: ../../source/cookbook/optical_mosaic.rst:241 +msgid "" +":guilabel:`Moderate`: Masks an additional **120 m** around each larger " +"cloud." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:243 -msgid "Cloud masking" +#: ../../source/cookbook/optical_mosaic.rst:242 +msgid "" +":guilabel:`Aggressive`: Masks an additional **600 m** around each larger " +"cloud." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:245 -msgid "Controls how clouds will be masked based on the cloud detection algorithm selected." +msgid "Snow/ice masking" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:247 -msgid ":guilabel:`off`: Uses cloud-free pixels if possible, but doesn't mask areas without cloud-free pixels." -msgstr "" - -#: ../../source/cookbook/optical_mosaic.rst:248 -msgid ":guilabel:`moderate`: Relies only on image source QA bands for cloud masking (a moderate threshold is used)." +msgid "(Advanced view.) Defines how snowy or icy pixels are masked." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:249 -msgid ":guilabel:`aggressive`: Relies on image source QA bands and a cloud scoring algorithm for cloud masking with an aggressive threshold (this will probably mask out some built-up areas and other bright features)." +msgid "" +":guilabel:`On`: Masks snow. This tends to leave some pixels with shadowy " +"snow." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:252 -msgid "Cloud buffering" +#: ../../source/cookbook/optical_mosaic.rst:250 +msgid "" +":guilabel:`Off`: Doesn't mask snow. Note that some clouds might get " +"misclassified as snow; therefore, disabling snow masking might lead to " +"cloud artifacts." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:254 -msgid "When pixels are identified as clouds, SEPAL can remove pixels in a small buffer around it to prevent hazy pixels at the borders of clouds to be included in the mosaic." +#: ../../source/cookbook/optical_mosaic.rst:253 +msgid "Masked out pixels" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:258 -msgid "Buffering is done on the pixel level, so using this option will significantly increase the creation time of the mosaic." +#: ../../source/cookbook/optical_mosaic.rst:255 +msgid "" +"(Advanced view.) Controls whether a pixel can end up completely masked " +"when every available acquisition is cloudy and/or snowy." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:260 -msgid ":guilabel:`none`: Doesn't use cloud buffering." +#: ../../source/cookbook/optical_mosaic.rst:257 +msgid "" +":guilabel:`Prevent`: Prevents pixels from being completely masked out, " +"keeping the best available (possibly cloudy/snowy) value." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:261 -msgid ":guilabel:`moderate`: Masks an additional **120 m** around each larger cloud." +#: ../../source/cookbook/optical_mosaic.rst:258 +msgid "" +":guilabel:`Allow`: Allows pixels to be completely masked out, leaving " +"holes in the mosaic where no clear observation exists." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:262 -msgid ":guilabel:`aggressive`: Masks an additional **600 m** around each larger cloud." +#: ../../source/cookbook/optical_mosaic.rst:261 +msgid "Pixel filters" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:265 -msgid "Snow masking" +#: ../../source/cookbook/optical_mosaic.rst:263 +msgid "" +"(Advanced view.) Add filters with the :icon:`fa-solid fa-plus` button to " +"remove pixels from the stack before compositing. Each filter excludes a " +"percentage of the stack (set with a slider, defaulting to 50%); removing " +"low-quality pixels improves the quality of the mosaic." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:267 -msgid "Defines how snowy pixels will be masked." +msgid "" +"Each filter is applied iteratively (e.g. if the normalized difference " +"vegetation index [NDVI] is already filtering all pixels but one, there " +"will be nothing left in the stack to be filtered by date)." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:269 -msgid ":guilabel:`on`: Masks snow. This tends to leave some pixels with shadowy snow." +msgid "" +"Note as well that adding filters significantly increases the creation " +"time of the mosaic." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:270 -msgid ":guilabel:`off`: Doesn't mask snow. Note that some clouds might get misclassified as snow; therefore, disabling snow masking might lead to cloud artifacts." +#: ../../source/cookbook/optical_mosaic.rst:271 +msgid "" +"**Shadow**: Excludes the selected percentage of pixels with the most " +"shadow." +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:272 +msgid "" +"**Haze**: Excludes the selected percentage of pixels with the most haze. " +"Only available when :guilabel:`SR` correction is disabled." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:273 -msgid "Composing method" +msgid "**NDVI**: Excludes the selected percentage of pixels with the lowest NDVI." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:275 -msgid "After filtering the stack of pixels, SEPAL will compute the median value on the different bands of the image. The composing method will define how the final pixel value is extracted." +#: ../../source/cookbook/optical_mosaic.rst:274 +msgid "" +"**Date**: Excludes the selected percentage of pixels farthest from the " +"target date." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:277 -msgid ":guilabel:`Medoid`: Uses the closest pixel from the median value. As a real pixel from the stack, the final value will embed metadata (e.g. the date of observation)." +msgid "Sentinel-2 overlap" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:278 -msgid ":guilabel:`Median`: Uses the computed value of the median. If no pixel is matching this value, the pixel will not embed any metadata. It tends to produce smoother mosaics." +#: ../../source/cookbook/optical_mosaic.rst:279 +msgid "" +"(Advanced view; shown only when Sentinel-2 is selected.) Sentinel-2 " +"acquisitions overlap both between orbits and between neighbouring tiles, " +"which can result in duplicated observations." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:281 -msgid "Analysis" +msgid "" +"**Orbit Overlap**: :guilabel:`Keep` the overlap between Sentinel-2 orbits" +" (more data, better models) or :guilabel:`Remove` it." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:283 -msgid "After selecting the parameters, you can start interacting with the scenes and begin the analysis." +#: ../../source/cookbook/optical_mosaic.rst:282 +msgid "" +"**Tile Overlap**: :guilabel:`Keep` the overlap between Sentinel-2 tiles, " +":guilabel:`Quick remove` most of it, or :guilabel:`Remove` all of it. " +"Removing overlap adds an extra preprocessing step." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:285 -msgid "In the upper-right corner, three tabs are available, which allow you to customize the mosaic scene selection and export the final result:" +msgid "Composing method" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:287 -msgid ":btn:``: auto-select scenes" +msgid "" +"After filtering the stack of pixels, the composing method defines how the" +" final pixel value is extracted." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:288 -msgid ":btn:``: clear selected scenes" +#: ../../source/cookbook/optical_mosaic.rst:289 +msgid "" +":guilabel:`Medoid`: Uses the pixel closest to the median value. As a real" +" pixel from the stack, the final value embeds metadata (e.g. the date of " +"observation)." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:289 -msgid ":btn:``: retrieve mosaic" +#: ../../source/cookbook/optical_mosaic.rst:290 +msgid "" +":guilabel:`Median`: Uses the computed median value. If no pixel matches " +"this value, the pixel will not embed any metadata. It tends to produce " +"smoother mosaics." +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:293 +msgid "Analysis" +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:295 +msgid "" +"After selecting the parameters, you can start interacting with the scenes" +" and begin the analysis." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:297 -msgid "If you have not selected the option :guilabel:`Select scenes` in the :guilabel:`SCN` tab, the :icon:`fa-solid fa-wand-magic` button will be disabled and the scene areas will be hidden as no scene selection needs to be performed (see those with a number in a circle on the previous screenshot)." +msgid "" +"In the upper-right corner, three tabs are available, which allow you to " +"customize the mosaic scene selection and export the final result:" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:299 -msgid "If you can't see the image scene area, you probably have selected a small AOI. Zoom out on the map and you will see the number of available images in the circles." +msgid ":btn:``: auto-select scenes" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:302 -msgid "Select scenes" +#: ../../source/cookbook/optical_mosaic.rst:300 +msgid ":btn:``: clear selected scenes" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:304 -msgid "To create a mosaic, select the scenes that will be used to compute each pixel value of the mosaic. SEPAL provides a user-friendly interface that will guide you through the selection process. You don't have to select the stack for every pixel; instead, SEPAL will clip the AOI in smaller pieces called **Tiles**. These tiles correspond to the native tiling system of your dataset and are displayed on the map with circled numbers in their centroid. Each number corresponds to the number of scenes available to build the mosaic tile. Hover over these circles to see the tile boundaries appear." +#: ../../source/cookbook/optical_mosaic.rst:301 +msgid ":btn:``: retrieve mosaic" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:308 -msgid "Landsat and Sentinel datasets have a different grid system, which is why the selection process cannot be used if you have selected both of these datasets. If you have an idea related to the user interface (UI) that could make them work together, let us know in our `issue tracker `__." +#: ../../source/cookbook/optical_mosaic.rst:309 +msgid "" +"If you have not selected the option :guilabel:`Select scenes` in the " +":guilabel:`SCN` tab, the :icon:`fa-solid fa-wand-sparkles` button will be" +" disabled and the scene areas will be hidden as no scene selection needs " +"to be performed (see those with a number in a circle on the previous " +"screenshot)." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:311 +msgid "" +"If you can't see the image scene area, you probably have selected a small" +" AOI. Zoom out on the map and you will see the number of available images" +" in the circles." +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:314 +msgid "Select scenes" +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:316 +msgid "" +"To create a mosaic, select the scenes that will be used to compute each " +"pixel value of the mosaic. SEPAL provides a user-friendly interface that " +"will guide you through the selection process. You don't have to select " +"the stack for every pixel; instead, SEPAL will clip the AOI in smaller " +"pieces called **Tiles**. These tiles correspond to the native tiling " +"system of your dataset and are displayed on the map with circled numbers " +"in their centroid. Each number corresponds to the number of scenes " +"available to build the mosaic tile. Hover over these circles to see the " +"tile boundaries appear." +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:320 +msgid "" +"Landsat and Sentinel datasets have a different grid system, which is why " +"the selection process cannot be used if you have selected both of these " +"datasets. If you have an idea related to the user interface (UI) that " +"could make them work together, let us know in our `issue tracker " +"`__." +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:323 msgid "Auto-select scene" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:313 -msgid "Selecting the :icon:`fa-solid fa-wand-magic` tab will open the **Auto-selection** pane." +#: ../../source/cookbook/optical_mosaic.rst:325 +msgid "" +"Selecting the :icon:`fa-solid fa-wand-sparkles` tab will open the **Auto-" +"selection** pane." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:315 -msgid "Move the sliders to select the minimum and the maximum number of scenes SEPAL should select in a tile. Then, select the :guilabel:`Validate` button to apply the auto-select method." +#: ../../source/cookbook/optical_mosaic.rst:327 +msgid "" +"Move the sliders to set the :code:`Minimum number of scenes` and the " +":code:`Maximum number of scenes` SEPAL should select in a tile. Then, " +"select the :guilabel:`Select scenes` button to apply the auto-select " +"method." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:317 -msgid "SEPAL will use the priority defined in the :guilabel:`SCN` tab to order the scene and collect the optimal number for your request." +#: ../../source/cookbook/optical_mosaic.rst:329 +msgid "" +"SEPAL will use the priority defined in the :guilabel:`SCN` tab to order " +"the scene and collect the optimal number for your request." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:321 -msgid "The result is never perfect but can be used as a starting point for the manual selection of scenes." +#: ../../source/cookbook/optical_mosaic.rst:333 +msgid "" +"The result is never perfect but can be used as a starting point for the " +"manual selection of scenes." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:328 +#: ../../source/cookbook/optical_mosaic.rst:340 msgid "Clear all scenes" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:330 -msgid "If at least one scene is selected, the :icon:`fa-solid fa-trash` tab will be available. Select it to open the **Clear** pane." +#: ../../source/cookbook/optical_mosaic.rst:342 +msgid "" +"If at least one scene is selected, the :icon:`fa-solid fa-trash` tab will" +" be available. Select it to open the **Clear** pane." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:332 -msgid "Select :guilabel:`Clear scenes` to remove all manually and automatically selected scenes." +#: ../../source/cookbook/optical_mosaic.rst:344 +msgid "" +"Select :guilabel:`Clear scenes` to remove all manually and automatically " +"selected scenes." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:339 +#: ../../source/cookbook/optical_mosaic.rst:351 msgid "Manual selection" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:341 -msgid "To open the **Scene selection** menu, hover over a tile circled-number and select it (**1**). The window will be divided into two sections:" +#: ../../source/cookbook/optical_mosaic.rst:353 +msgid "" +"To open the **Scene selection** menu, hover over a tile circled-number " +"and select it (**1**). The window will be divided into two sections:" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:343 -msgid "**Available scene** (**2**): All the available scenes according to the parameters you selected. These scenes are ordered using the :code:`priority` parameter you set in the :guilabel:`SCN` tab." +#: ../../source/cookbook/optical_mosaic.rst:355 +msgid "" +"**Available scene** (**2**): All the available scenes according to the " +"parameters you selected. These scenes are ordered using the " +":code:`priority` parameter you set in the :guilabel:`SCN` tab." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:344 +#: ../../source/cookbook/optical_mosaic.rst:356 msgid "**Selected scenes** (**3**): The scenes that are currently selected." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:350 -msgid "Each thumbnail represents a scene of the tile stack. You have the option to include them in the mosaic. The scenes located on the left side are the **Available scenes**; the **Selected scenes** are on the right side. In both cases, the following information can be found on the thumbnail:" +#: ../../source/cookbook/optical_mosaic.rst:362 +msgid "" +"Each thumbnail represents a scene of the tile stack. You have the option " +"to include them in the mosaic. The scenes located on the left side are " +"the **Available scenes**; the **Selected scenes** are on the right side. " +"In both cases, the following information can be found on the thumbnail:" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:352 -msgid "A small preview of the scene in the *red, blue, green* band combination." +#: ../../source/cookbook/optical_mosaic.rst:364 +msgid "" +"A small preview of the scene in the *red, green, blue* (true-colour) band" +" combination." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:353 +#: ../../source/cookbook/optical_mosaic.rst:365 msgid "The exact date in YYYY-MM-DD of the scene." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:354 +#: ../../source/cookbook/optical_mosaic.rst:366 msgid "The satellite name :icon:`fa-solid fa-satellite-dish`." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:355 -msgid "The cloud coverage of the scene in percent and its position in the stack values :icon:`fa-solid fa-cloud`." +#: ../../source/cookbook/optical_mosaic.rst:367 +msgid "" +"The cloud coverage of the scene in percent and its position in the stack " +"values :icon:`fa-solid fa-cloud`." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:356 -msgid "The distance from target day in days within the season and its position in the stack values :icon:`fa-solid fa-calendar-check`." +#: ../../source/cookbook/optical_mosaic.rst:368 +msgid "" +"The distance from target day in days within the season and its position " +"in the stack values :icon:`fa-solid fa-calendar-check`." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:368 -msgid "You can decide to move the scene to the **Selected scene** area by selecting :icon:`fa-solid fa-plus`:guilabel:`Add` or moving it back to **Available scene** pane by selecting :icon:`fa-solid fa-minus` :guilabel:`Remove`." +#: ../../source/cookbook/optical_mosaic.rst:380 +msgid "" +"You can decide to move the scene to the **Selected scene** area by " +"selecting :icon:`fa-solid fa-plus` :guilabel:`Add` or moving it back to " +"the **Available scene** pane by selecting :icon:`fa-solid fa-minus` " +":guilabel:`Remove`." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:382 -msgid "Scenes are moved from one side to the other so they are not duplicated and cannot be selected twice. Be careful if your connection is slow; wait for the thumbnail to move before clicking again (if you click too fast, you could select two different images instead of one)." +#: ../../source/cookbook/optical_mosaic.rst:394 +msgid "" +"Scenes are moved from one side to the other so they are not duplicated " +"and cannot be selected twice. Be careful if your connection is slow; wait" +" for the thumbnail to move before clicking again (if you click too fast, " +"you could select two different images instead of one)." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:384 -msgid "Once you are happy with your selection, select the :guilabel:`Apply` button to close the window and use the selected scenes to compute the mosaic on this tile. When the window is closed, SEPAL resets the rendering of all tiles." +#: ../../source/cookbook/optical_mosaic.rst:396 +msgid "" +"Once you are happy with your selection, select the :guilabel:`Apply` " +"button to close the window and use the selected scenes to compute the " +"mosaic on this tile. When the window is closed, SEPAL resets the " +"rendering of all tiles." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:387 +#: ../../source/cookbook/optical_mosaic.rst:399 msgid "Retrieve" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:391 -msgid "You cannot export a recipe as an asset or a :code:`.tiff` file without a small computation quota. If you are a new user, see :doc:`../setup/resource`." +#: ../../source/cookbook/optical_mosaic.rst:403 +msgid "" +"You cannot export a recipe as an asset or a :code:`.tif` file without a " +"small computation quota. If you are a new user, see " +":doc:`../setup/resource`." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:393 -msgid "Selecting the :icon:`fa-solid fa-cloud-arrow-down` tab will open the **Retrieve** pane where you can select the exportation parameters." +#: ../../source/cookbook/optical_mosaic.rst:405 +msgid "" +"Selecting the :icon:`fa-solid fa-cloud-arrow-down` tab will open the " +"**Retrieve** pane where you can select the exportation parameters." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:400 +#: ../../source/cookbook/optical_mosaic.rst:412 msgid "Bands" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:402 -msgid "You need to select the band(s) to export with the mosaic. There is no maximum number of bands, but exporting useless bands will only increase the size and time of the output. To discover the full list of available bands with SEPAL, see :doc:`../feature/bands`." +#: ../../source/cookbook/optical_mosaic.rst:414 +msgid "" +"You need to select the band(s) to export with the mosaic. There is no " +"maximum number of bands, but exporting useless bands will only increase " +"the size and time of the output. To discover the full list of available " +"bands with SEPAL, see :doc:`../feature/optical_bands`." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:406 -msgid "There is no fixed rule to the band selection. Each index is more adapted to a set of analyses in a defined biome. The knowledge of the study area, the evolution expected and the careful selection of an adapted band combination will improve the quality of downstream analysis." +#: ../../source/cookbook/optical_mosaic.rst:418 +msgid "" +"There is no fixed rule to the band selection. Each index is more adapted " +"to a set of analyses in a defined biome. The knowledge of the study area," +" the evolution expected and the careful selection of an adapted band " +"combination will improve the quality of downstream analysis." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:409 +#: ../../source/cookbook/optical_mosaic.rst:421 msgid "Dates" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:411 -msgid ":guilabel:`dayofyear`: the Julian calendar date (day of the year)" +#: ../../source/cookbook/optical_mosaic.rst:423 +msgid ":guilabel:`dayOfYear`: the Julian calendar date (day of the year)" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:412 -msgid ":guilabel:`dayfromtarget`: the distance to the target date within the season in days" +#: ../../source/cookbook/optical_mosaic.rst:424 +msgid "" +":guilabel:`daysFromTarget`: the distance to the target date within the " +"season in days" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:415 +#: ../../source/cookbook/optical_mosaic.rst:428 +msgid "" +"These metadata bands are only available when the :guilabel:`Medoid` " +"composing method is used (the :guilabel:`Median` method produces " +"artificial pixels that carry no metadata)." +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:431 msgid "Scale" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:417 -msgid "You can set a custom scale for exportation by changing the value of the slider in metres (m) (note that requesting a smaller resolution than images' native resolution will not improve the quality of the output – just its size – keep in mind that the native resolution of Sentinel data is 10 m, while Landsat is 30 m.)" +#: ../../source/cookbook/optical_mosaic.rst:433 +msgid "" +"You can set a custom scale for exportation by selecting a value in metres" +" (m) (note that requesting a smaller resolution than the images' native " +"resolution will not improve the quality of the output – just its size – " +"keep in mind that the native resolution of Sentinel data is 10 m, while " +"Landsat is 30 m)." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:420 +#: ../../source/cookbook/optical_mosaic.rst:436 msgid "Destination" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:422 -msgid "You can export the image to the :guilabel:`SEPAL workspace` or to the ;guilabel:`Google Earth Engine Asset` folder. The same image will be exported to both; however, for the former, you will find it in :code:`.tif` format in the :code:`Downloads` folder; for the latter, the image will be exported to your GEE account asset list." +#: ../../source/cookbook/optical_mosaic.rst:438 +msgid "Choose a single destination for the export:" +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:440 +msgid "" +":guilabel:`SEPAL workspace`: the image is written to your SEPAL files in " +":code:`.tif` format (by default in the :code:`Downloads` folder)." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:426 -msgid "If :guilabel:`Google Earth Engine Asset` is not displayed, it means that your GEE account is not connected to SEPAL. Please refer to `Connect SEPAL to GEE <../setup/gee.html>`__." +#: ../../source/cookbook/optical_mosaic.rst:441 +msgid "" +":guilabel:`Google Earth Engine asset`: the image is exported to your GEE " +"account as an asset. You can export it either as a single " +":guilabel:`Image` or as an :guilabel:`Image collection` (tiled, which is " +"better suited to large exports), and set its sharing to " +":guilabel:`Private` or :guilabel:`Public`." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:428 -msgid "Select :guilabel:`Apply` to start the download process." +#: ../../source/cookbook/optical_mosaic.rst:442 +msgid "" +":guilabel:`Google Drive`: the image is exported to the Google Drive of " +"the connected Google account." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:431 +#: ../../source/cookbook/optical_mosaic.rst:446 +msgid "" +"The :guilabel:`Google Earth Engine asset` and :guilabel:`Google Drive` " +"destinations are only displayed when a Google account is connected to " +"SEPAL. If they are missing, please refer to `Connect SEPAL to GEE " +"<../setup/gee.html>`__." +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:448 +msgid "Select :guilabel:`Retrieve` to start the export process." +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:451 msgid "Exportation status" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:433 -msgid "In the **Tasks** tab (lower-left corner using the :icon:`fa-solid fa-list-check` or :icon:`fa-solid fa-spinner` buttons, depending on the loading status), you will see the list of the different loading tasks. The interface will provide you with information about task progress and display an error if the exportation has failed." +#: ../../source/cookbook/optical_mosaic.rst:453 +msgid "" +"In the **Tasks** tab (lower-left corner using the :icon:`fa-solid fa-" +"list-check` or :icon:`fa-solid fa-spinner` buttons, depending on the " +"loading status), you will see the list of the different loading tasks. " +"The interface will provide you with information about task progress and " +"display an error if the exportation has failed." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:435 -msgid "If you are unsatisfied with the way we present information, the task can also be monitored using the `GEE task manager `__." +#: ../../source/cookbook/optical_mosaic.rst:455 +msgid "" +"If you are unsatisfied with the way we present information, the task can " +"also be monitored using the `GEE task manager " +"`__." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:439 -msgid "This operation is running between GEE and SEPAL servers in the background. You can close the SEPAL page without stopping the process." +#: ../../source/cookbook/optical_mosaic.rst:459 +msgid "" +"This operation is running between GEE and SEPAL servers in the " +"background. You can close the SEPAL page without stopping the process." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:441 -msgid "When the task is finished, the frame will be displayed in green, as shown on the second image below." +#: ../../source/cookbook/optical_mosaic.rst:461 +msgid "" +"When the task is finished, the frame will be displayed in green, as shown" +" on the second image below." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:454 +#: ../../source/cookbook/optical_mosaic.rst:474 msgid "Access" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:456 -msgid "Once the download process is complete, you can access the data in your SEPAL folders. The data will be stored in the :code:`Downloads` folder using the following format:" +#: ../../source/cookbook/optical_mosaic.rst:476 +msgid "" +"Once the download process is complete, you can access the data in your " +"SEPAL folders. The data will be stored in the :code:`Downloads` folder " +"using the following format:" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:471 -msgid "Understanding how images are stored in an optical mosaic is only required if you want to manually use them. The SEPAL applications are bound to this tiling system and can digest the information for you." +#: ../../source/cookbook/optical_mosaic.rst:491 +msgid "" +"Understanding how images are stored in an optical mosaic is only required" +" if you want to manually use them. The SEPAL applications are bound to " +"this tiling system and can digest the information for you." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:473 -msgid "The data are stored in a folder using the name of the optical mosaic as it was created in the first section of this article. As the number of data is spatially too big to be exported at once, the data are divided into smaller pieces and brought back together in a :code:`_.vrt` file." +#: ../../source/cookbook/optical_mosaic.rst:493 +msgid "" +"The data are stored in a folder using the name of the optical mosaic as " +"it was created in the first section of this article. As the number of " +"data is spatially too big to be exported at once, the data are divided " +"into smaller pieces and brought back together in a :code:`_.vrt` file." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:477 -msgid "The full folder with a consistent tree folder is required to read the `.vrt`" +#: ../../source/cookbook/optical_mosaic.rst:497 +msgid "" +"The full folder with a consistent tree folder is required to read the " +"`.vrt`" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:481 -msgid "Now that you have downloaded the optical mosaic to your SEPAL and/or GEE account, it can be downloaded to your computer using `FileZilla <../setup.filezilla.html>`__ or used in other SEPAL workflows." +#: ../../source/cookbook/optical_mosaic.rst:501 +msgid "" +"Now that you have exported the optical mosaic to your SEPAL workspace, it" +" can be downloaded to your computer using `file exchange options " +"<../setup/filezilla.html>`__ or used in other SEPAL workflows." msgstr "" #~ msgid "Optical mosaic" @@ -1794,3 +2201,539 @@ msgstr "" #~ " SEPAL workflows." #~ msgstr "" +#~ msgid "" +#~ "The first step is to change the" +#~ " name of the recipe. This name " +#~ "will be used to identify your " +#~ "files and recipes in SEPAL folders. " +#~ "Use the best-suited convention for " +#~ "your needs. Simply double-click the " +#~ "tab and write a new name. It " +#~ "will default to " +#~ ":code:`Optical_mosaic___`." +#~ msgstr "" + +#~ msgid "" +#~ "As mentioned in the introduction, a " +#~ "mosaic uses different raster datasets " +#~ "that can be obtained from multiple " +#~ "sources. SEPAL allows you to select " +#~ "data from multiple entry points. Below," +#~ " you can find a description of " +#~ "these sources (select a link to " +#~ "see the corresponding dataset information):" +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`L8`: `Landsat 8 Tier 1 " +#~ "`__. Landsat " +#~ "scenes with the highest available data" +#~ " quality are placed into **Tier 1**" +#~ " and considered suitable for time-" +#~ "series processing analysis. **Tier 1** " +#~ "includes Level-1 Precision Terrain (L1TP) " +#~ "processed data that have well-" +#~ "characterized radiometry and are " +#~ "intercalibrated across different Landsat " +#~ "sensors. The geo-registration of **Tier" +#~ " 1** scenes will be consistent and" +#~ " within prescribed tolerances (< = 12" +#~ " m root mean square error [RMSE])." +#~ " All **Tier 1** Landsat data can " +#~ "be considered consistent and intercalibrated" +#~ " (regardless of the sensor used) " +#~ "across the full collection." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`L8 T2`: `Landsat 8 Tier 2 " +#~ "`__. Scenes " +#~ "not meeting **Tier 1** criteria during" +#~ " processing are assigned to **Tier " +#~ "2**. This includes Systematic terrain " +#~ "(L1GT) and Systematic (L1GS) processed " +#~ "scenes, as well as any L1TP scenes" +#~ " that do not meet the **Tier " +#~ "1** specifications due to significant " +#~ "cloud cover, insufficient ground control " +#~ "and other factors. Users interested in" +#~ " **Tier 2** scenes can analyze the" +#~ " RMSE and other properties to " +#~ "determine the suitability for use in " +#~ "individual applications and studies." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`L7`: `Landsat 7 Tier 1 " +#~ "`__. Landsat " +#~ "scenes with the highest available data" +#~ " quality are placed into **Tier 1**" +#~ " and are considered suitable for " +#~ "time-series processing analysis. **Tier 1**" +#~ " includes Level-1 Precision Terrain (L1TP)" +#~ " processed data that have well-" +#~ "characterized radiometry and are " +#~ "intercalibrated across different Landsat " +#~ "sensors. The geo-registration of **Tier" +#~ " 1** scenes will be consistent and" +#~ " within prescribed tolerances (< = 12" +#~ " m RMSE). All **Tier 1** Landsat " +#~ "data can be considered consistent and" +#~ " intercalibrated across the full collection" +#~ " (regardless of the sensor used)." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`L7 T2`: `Landsat 7 Tier 2 " +#~ "`__. Scenes " +#~ "not meeting **Tier 1** criteria during" +#~ " processing are assigned to **Tier " +#~ "2**. This includes Systematic terrain " +#~ "(L1GT) and Systematic (L1GS) processed " +#~ "scenes, as well as any L1TP scenes" +#~ " that do not meet the **Tier " +#~ "1** specifications due to significant " +#~ "cloud cover, insufficient ground control " +#~ "and other factors. Users interested in" +#~ " **Tier 2** scenes can analyze the" +#~ " RMSE and other properties to " +#~ "determine the suitability for use in " +#~ "individual applications and studies." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`L4-5`: `Landsat 4 Tier 1 " +#~ "`__ combined " +#~ "with `Landsat 5 Tier 1 " +#~ "`__. Landsat " +#~ "scenes with the highest available data" +#~ " quality are placed into **Tier 1**" +#~ " and are considered suitable for " +#~ "time-series processing analysis. **Tier 1**" +#~ " includes Level-1 Precision Terrain (L1TP)" +#~ " processed data that have well-" +#~ "characterized radiometry and are " +#~ "intercalibrated across different Landsat " +#~ "sensors. The geo-registration of **Tier" +#~ " 1** scenes will be consistent and" +#~ " within prescribed tolerances (< = 12" +#~ " m RMSE). All **Tier 1** Landsat " +#~ "data can be considered consistent and" +#~ " intercalibrated across the full collection" +#~ " (regardless of the sensor used)." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`L4-5 T2`: `Landsat 4 TM Tier" +#~ " 2 `__ combined " +#~ "with `Landsat 5 TM Tier 2 " +#~ "`__. Scenes " +#~ "not meeting **Tier 1** criteria during" +#~ " processing are assigned to **Tier " +#~ "2**. This includes Systematic terrain " +#~ "(L1GT) and Systematic (L1GS) processed " +#~ "scenes, as well as any L1TP scenes" +#~ " that do not meet the **Tier " +#~ "1** specifications due to significant " +#~ "cloud cover, insufficient ground control " +#~ "and other factors. Users interested in" +#~ " **Tier 2** scenes can analyze the" +#~ " RMSE and other properties to " +#~ "determine the suitability for use in " +#~ "individual applications and studies." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`A+B`: `Sentinel-2 Multispectral " +#~ "instrument `__ is a " +#~ "wide-swath, high-resolution, multispectral " +#~ "imaging mission supporting Copernicus Land " +#~ "Monitoring studies, including the monitoring" +#~ " of vegetation, soil and water cover," +#~ " as well as the observation of " +#~ "inland waterways and coastal areas." +#~ msgstr "" + +#~ msgid "" +#~ "Choose :guilabel:`Select scenes` and choose" +#~ " one of the three available " +#~ ":code:`Priority` options, based on the " +#~ "needs of your analysis (SEPAL sorts " +#~ "the images available for each tile):" +#~ msgstr "" + +#~ msgid ":guilabel:`Cloud free`: Prioritizes images with zero or few clouds." +#~ msgstr "" + +#~ msgid ":guilabel:`Target date`: Prioritizes images that match the target date." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`Balanced`: Prioritizes images that " +#~ "maximize both cloud and target date." +#~ msgstr "" + +#~ msgid "This step is optional. SEPAL provides the following options by default:" +#~ msgstr "" + +#~ msgid "**Correction**: :guilabel:`SR`, :guilabel:`BRDF`" +#~ msgstr "" + +#~ msgid "**Pixel filters**: No filters" +#~ msgstr "" + +#~ msgid "**Cloud detection**: :guilabel:`QA bands`, :guilabel:`Cloud score`" +#~ msgstr "" + +#~ msgid "**Cloud buffering**: :guilabel:`None`" +#~ msgstr "" + +#~ msgid "**Snow masking**: :guilabel:`On`" +#~ msgstr "" + +#~ msgid "" +#~ "To create a mosaic, provide SEPAL " +#~ "with the compositing method to create" +#~ " the final image. See the following" +#~ " image for all possible compositing " +#~ "options available." +#~ msgstr "" + +#~ msgid "" +#~ "This will apply corrections on the " +#~ "stacked pixels to improve the quality" +#~ " of the mosaic." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`SR`: Surface reflectance improves " +#~ "comparison between multiple images over " +#~ "the same region by accounting for " +#~ "atmospheric effects such as aerosol " +#~ "scattering and thin clouds, which can" +#~ " help in the detection and " +#~ "characterization of Earth surface change. " +#~ "Top-of-atmosphere images are used " +#~ "if not selected." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`BRDF`: Uses a bidirectional " +#~ "reflectance distribution function (BRDF) model" +#~ " to characterize surface reflectance " +#~ "anisotropy. For a given land area, " +#~ "the BRDF is established based on " +#~ "selected multi-angular observations of " +#~ "surface reflectance." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`Calibrate`: Calibrates Sentinel and " +#~ "Landsat data to make them compatible." +#~ msgstr "" + +#~ msgid "Landsat and Sentinel data are mixed; and" +#~ msgstr "" + +#~ msgid "BRDF and surface reflectance (SR) corrections are disabled." +#~ msgstr "" + +#~ msgid "" +#~ "Activating any of the filters will " +#~ "remove some pixels from the stack. " +#~ "Removing pixels improves the quality of" +#~ " the mosaic, as they are not " +#~ "taken into account in the median " +#~ "value computation." +#~ msgstr "" + +#~ msgid "" +#~ "Each filter is applied iteratively (e.g." +#~ " if the normalized difference vegetation" +#~ " index [NDVI] is already filtering " +#~ "all pixels but one, there will be" +#~ " nothing left in the stack to " +#~ "be filtered by day of year)." +#~ msgstr "" + +#~ msgid "**Shadow**: Filters the XX percent darkest pixels of the stack." +#~ msgstr "" + +#~ msgid "" +#~ "**Haze**: Computes a haze index and " +#~ "filters the XX percent highest values." +#~ msgstr "" + +#~ msgid "" +#~ "**NDVI**: Computes the NDVI and only " +#~ "keeps the XX percent highest values." +#~ msgstr "" + +#~ msgid "" +#~ "**Day of the year**: Computes the " +#~ "distance from target day in days " +#~ "and filters out the XX percent " +#~ "farthest." +#~ msgstr "" + +#~ msgid "Cloud detection" +#~ msgstr "" + +#~ msgid "Refers to the algorithm used to detect clouds." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`QA bands`: Uses quality assessment" +#~ " (QA) bands to identify clouds in " +#~ "Sentinel data." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`Cloud score`: Uses the computed " +#~ "cloud score to identify clouds in " +#~ "Landsat data." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`Pino 26`: Uses the Pino_26 " +#~ "algorithm to identify clouds (for more" +#~ " information, see `D. Simonetti [2021] " +#~ "`__)." +#~ msgstr "" + +#~ msgid "" +#~ "This filter is only available for " +#~ "Sentinel exclusive source when both " +#~ ":guilabel:`BRDF` and :guilabel:`SR` correction " +#~ "are disabled." +#~ msgstr "" + +#~ msgid "" +#~ "Controls how clouds will be masked " +#~ "based on the cloud detection algorithm" +#~ " selected." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`off`: Uses cloud-free pixels " +#~ "if possible, but doesn't mask areas " +#~ "without cloud-free pixels." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`moderate`: Relies only on image " +#~ "source QA bands for cloud masking " +#~ "(a moderate threshold is used)." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`aggressive`: Relies on image source" +#~ " QA bands and a cloud scoring " +#~ "algorithm for cloud masking with an " +#~ "aggressive threshold (this will probably " +#~ "mask out some built-up areas and" +#~ " other bright features)." +#~ msgstr "" + +#~ msgid "" +#~ "When pixels are identified as clouds," +#~ " SEPAL can remove pixels in a " +#~ "small buffer around it to prevent " +#~ "hazy pixels at the borders of " +#~ "clouds to be included in the " +#~ "mosaic." +#~ msgstr "" + +#~ msgid "" +#~ "Buffering is done on the pixel " +#~ "level, so using this option will " +#~ "significantly increase the creation time " +#~ "of the mosaic." +#~ msgstr "" + +#~ msgid ":guilabel:`none`: Doesn't use cloud buffering." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`moderate`: Masks an additional " +#~ "**120 m** around each larger cloud." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`aggressive`: Masks an additional " +#~ "**600 m** around each larger cloud." +#~ msgstr "" + +#~ msgid "Snow masking" +#~ msgstr "" + +#~ msgid "Defines how snowy pixels will be masked." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`on`: Masks snow. This tends " +#~ "to leave some pixels with shadowy " +#~ "snow." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`off`: Doesn't mask snow. Note " +#~ "that some clouds might get misclassified" +#~ " as snow; therefore, disabling snow " +#~ "masking might lead to cloud artifacts." +#~ msgstr "" + +#~ msgid "" +#~ "After filtering the stack of pixels, " +#~ "SEPAL will compute the median value " +#~ "on the different bands of the " +#~ "image. The composing method will define" +#~ " how the final pixel value is " +#~ "extracted." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`Medoid`: Uses the closest pixel " +#~ "from the median value. As a real" +#~ " pixel from the stack, the final " +#~ "value will embed metadata (e.g. the " +#~ "date of observation)." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`Median`: Uses the computed value" +#~ " of the median. If no pixel is" +#~ " matching this value, the pixel will" +#~ " not embed any metadata. It tends " +#~ "to produce smoother mosaics." +#~ msgstr "" + +#~ msgid ":btn:``: auto-select scenes" +#~ msgstr "" + +#~ msgid "" +#~ "If you have not selected the " +#~ "option :guilabel:`Select scenes` in the " +#~ ":guilabel:`SCN` tab, the :icon:`fa-solid " +#~ "fa-wand-magic` button will be " +#~ "disabled and the scene areas will " +#~ "be hidden as no scene selection " +#~ "needs to be performed (see those " +#~ "with a number in a circle on " +#~ "the previous screenshot)." +#~ msgstr "" + +#~ msgid "" +#~ "Selecting the :icon:`fa-solid fa-" +#~ "wand-magic` tab will open the " +#~ "**Auto-selection** pane." +#~ msgstr "" + +#~ msgid "" +#~ "Move the sliders to select the " +#~ "minimum and the maximum number of " +#~ "scenes SEPAL should select in a " +#~ "tile. Then, select the :guilabel:`Validate`" +#~ " button to apply the auto-select " +#~ "method." +#~ msgstr "" + +#~ msgid "" +#~ "A small preview of the scene in" +#~ " the *red, blue, green* band " +#~ "combination." +#~ msgstr "" + +#~ msgid "" +#~ "You can decide to move the scene" +#~ " to the **Selected scene** area by" +#~ " selecting :icon:`fa-solid fa-" +#~ "plus`:guilabel:`Add` or moving it back " +#~ "to **Available scene** pane by selecting" +#~ " :icon:`fa-solid fa-minus` " +#~ ":guilabel:`Remove`." +#~ msgstr "" + +#~ msgid "" +#~ "You cannot export a recipe as an" +#~ " asset or a :code:`.tiff` file " +#~ "without a small computation quota. If" +#~ " you are a new user, see " +#~ ":doc:`../setup/resource`." +#~ msgstr "" + +#~ msgid "" +#~ "You need to select the band(s) to" +#~ " export with the mosaic. There is " +#~ "no maximum number of bands, but " +#~ "exporting useless bands will only " +#~ "increase the size and time of the" +#~ " output. To discover the full list" +#~ " of available bands with SEPAL, see" +#~ " :doc:`../feature/bands`." +#~ msgstr "" + +#~ msgid ":guilabel:`dayofyear`: the Julian calendar date (day of the year)" +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`dayfromtarget`: the distance to the" +#~ " target date within the season in " +#~ "days" +#~ msgstr "" + +#~ msgid "" +#~ "You can set a custom scale for " +#~ "exportation by changing the value of " +#~ "the slider in metres (m) (note " +#~ "that requesting a smaller resolution " +#~ "than images' native resolution will not" +#~ " improve the quality of the output" +#~ " – just its size – keep in " +#~ "mind that the native resolution of " +#~ "Sentinel data is 10 m, while " +#~ "Landsat is 30 m.)" +#~ msgstr "" + +#~ msgid "" +#~ "You can export the image to the" +#~ " :guilabel:`SEPAL workspace` or to the " +#~ ";guilabel:`Google Earth Engine Asset` folder." +#~ " The same image will be exported " +#~ "to both; however, for the former, " +#~ "you will find it in :code:`.tif` " +#~ "format in the :code:`Downloads` folder; " +#~ "for the latter, the image will be" +#~ " exported to your GEE account asset" +#~ " list." +#~ msgstr "" + +#~ msgid "" +#~ "If :guilabel:`Google Earth Engine Asset` " +#~ "is not displayed, it means that " +#~ "your GEE account is not connected " +#~ "to SEPAL. Please refer to `Connect " +#~ "SEPAL to GEE <../setup/gee.html>`__." +#~ msgstr "" + +#~ msgid "Select :guilabel:`Apply` to start the download process." +#~ msgstr "" + +#~ msgid "" +#~ "Now that you have downloaded the " +#~ "optical mosaic to your SEPAL and/or " +#~ "GEE account, it can be downloaded " +#~ "to your computer using `FileZilla " +#~ "<../setup.filezilla.html>`__ or used in other" +#~ " SEPAL workflows." +#~ msgstr "" + diff --git a/docs/source/_locale/sv/LC_MESSAGES/cookbook/time_series.po b/docs/source/_locale/sv/LC_MESSAGES/cookbook/time_series.po index 8036b955ee..4448f65abb 100644 --- a/docs/source/_locale/sv/LC_MESSAGES/cookbook/time_series.po +++ b/docs/source/_locale/sv/LC_MESSAGES/cookbook/time_series.po @@ -1,29 +1,27 @@ + msgid "" msgstr "" -"Project-Id-Version: sepal-doc\n" +"Project-Id-Version: sepal-doc\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-03-07 09:39+0100\n" -"PO-Revision-Date: 2024-03-07 09:04\n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: 2024-03-07 09:04+0000\n" "Last-Translator: \n" +"Language: sv_SE\n" "Language-Team: Swedish\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.14.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Crowdin-Project: sepal-doc\n" -"X-Crowdin-Project-ID: 562097\n" -"X-Crowdin-Language: sv-SE\n" -"X-Crowdin-File: /main/docs/source/_locale/en/LC_MESSAGES/cookbook/time_series.po\n" -"X-Crowdin-File-ID: 75\n" -"Language: sv_SE\n" +"Generated-By: Babel 2.18.0\n" #: ../../source/cookbook/time_series.rst:2 msgid "Time series" msgstr "" #: ../../source/cookbook/time_series.rst:4 -msgid "*Create and retrieve SITS to study patterns and key changes in landscape evolution over time*" +msgid "" +"*Create and retrieve SITS to study patterns and key changes in landscape " +"evolution over time*" msgstr "" #: ../../source/cookbook/time_series.rst:7 @@ -31,23 +29,48 @@ msgid "Overview" msgstr "" #: ../../source/cookbook/time_series.rst:9 -msgid "A Satellite Image Time Series (SITS) is a set of satellite images taken of the same scene at different times. A SITS makes use of different satellite sources to obtain a larger data series with a short time interval between two images. In this case, it is fundamental to observe the spatial resolution and registration constraints." +msgid "" +"A Satellite Image Time Series (SITS) is a set of satellite images taken " +"of the same scene at different times. A SITS makes use of different " +"satellite sources to obtain a larger data series with a short time " +"interval between two images. In this case, it is fundamental to observe " +"the spatial resolution and registration constraints." msgstr "" #: ../../source/cookbook/time_series.rst:11 -msgid "Satellite observations offer opportunities for understanding how the Earth is changing, determining the causes of these changes and predicting future changes. Remotely sensed data, combined with information from ecosystem models, offer an opportunity for predicting and understanding the behaviour of Earth's ecosystems. Sensors with high spatial and temporal resolutions make the observation of precise spatio-temporal structures in dynamic scenes more accessible. Temporal components integrated with spectral and spatial dimensions allow the identification of complex patterns concerning applications connected with environmental monitoring and analysis of land cover dynamics." +msgid "" +"Satellite observations offer opportunities for understanding how the " +"Earth is changing, determining the causes of these changes and predicting" +" future changes. Remotely sensed data, combined with information from " +"ecosystem models, offer an opportunity for predicting and understanding " +"the behaviour of Earth's ecosystems. Sensors with high spatial and " +"temporal resolutions make the observation of precise spatio-temporal " +"structures in dynamic scenes more accessible. Temporal components " +"integrated with spectral and spatial dimensions allow the identification " +"of complex patterns concerning applications connected with environmental " +"monitoring and analysis of land cover dynamics." msgstr "" #: ../../source/cookbook/time_series.rst:13 -msgid "Change detection can only provide a \"before and after\" scenario; a time-series analysis provides an opportunity to study patterns and key changes in the landscape evolution over time." +msgid "" +"Change detection can only provide a \"before and after\" scenario; a " +"time-series analysis provides an opportunity to study patterns and key " +"changes in the landscape evolution over time." msgstr "" #: ../../source/cookbook/time_series.rst:15 -msgid "This SEPAL recipe allows users to create and retrieve SITS based on `Landsat `__ and `Copernicus `__ programmes' imagery using the Google Earth Engine (GEE) datacube." +msgid "" +"This SEPAL recipe allows users to create and retrieve SITS based on " +"`Landsat `__ and `Copernicus `__ programmes' " +"imagery using the Google Earth Engine (GEE) datacube." msgstr "" #: ../../source/cookbook/time_series.rst:19 -msgid "You won't be able to download images if your SEPAL and GEE account aren't connected. To learn more, go to `Connect SEPAL to GEE <../setup/gee.html>`__." +msgid "" +"You won't be able to download images if your SEPAL and GEE account aren't" +" connected. To learn more, go to `Connect SEPAL to GEE " +"<../setup/gee.html>`__." msgstr "" #: ../../source/cookbook/time_series.rst:22 @@ -55,15 +78,27 @@ msgid "Start" msgstr "" #: ../../source/cookbook/time_series.rst:24 -msgid "Once the **Time series** recipe is selected, SEPAL will open the recipe process in a new tab (see **1** in the following figure). The base map will change to Google high-resolution imagery and the **Area of interest (AOI)** selection window will appear in the lower right (**2**)." +msgid "" +"Once the **Time series** recipe is selected, SEPAL will open the recipe " +"process in a new tab (see **1** in the following figure). The base map " +"will change to Google high-resolution imagery and the **Area of interest " +"(AOI)** selection window will appear in the lower right (**2**)." msgstr "" #: ../../source/cookbook/time_series.rst:30 -msgid "The first step is to change the name of the recipe. This name will be used to identify your files and recipes in the SEPAL folders. Use the best-suited convention for your needs. Simply double-click the tab and enter a new name. It will default to :code:`Time_series___`." +msgid "" +"The first step is to change the name of the recipe. This name will be " +"used to identify your files and recipes in the SEPAL folders. Use the " +"best-suited convention for your needs. Simply double-click the tab and " +"enter a new name. It will default to " +":code:`Time_series___`." msgstr "" #: ../../source/cookbook/time_series.rst:42 -msgid "The SEPAL team recommends using the following naming convention: :code:`___` (e.g. :code:`sgp_2012-2018_ndfi_l78`)." +msgid "" +"The SEPAL team recommends using the following naming convention: " +":code:`___` (e.g. " +":code:`sgp_2012-2018_ndfi_l78`)." msgstr "" #: ../../source/cookbook/time_series.rst:45 @@ -72,7 +107,9 @@ msgid "Parameters" msgstr "" #: ../../source/cookbook/time_series.rst:47 -msgid "In the lower-right corner, four tabs are available, allowing you to customize the time series to your needs:" +msgid "" +"In the lower-right corner, four tabs are available, allowing you to " +"customize the time series to your needs:" msgstr "" #: ../../source/cookbook/time_series.rst:49 @@ -96,7 +133,9 @@ msgid "AOI selection" msgstr "" #: ../../source/cookbook/time_series.rst:61 -msgid "The data exported by the recipe will be confined to the bounds of the AOI. There are multiple ways to select the AOI in SEPAL:" +msgid "" +"The data exported by the recipe will be confined to the bounds of the " +"AOI. There are multiple ways to select the AOI in SEPAL:" msgstr "" #: ../../source/cookbook/time_series.rst:63 @@ -120,7 +159,12 @@ msgid "Dates" msgstr "" #: ../../source/cookbook/time_series.rst:76 -msgid "In the :guilabel:`DAT` tab, you will be asked to select the start date and end date of the time series. Select the **Date** text field to open a pop-up window. Choose the :btn:` Select` button to choose a date. When both dates have been chosen, select the :btn:` Apply` button." +msgid "" +"In the :guilabel:`DAT` tab, you will be asked to select the start date " +"and end date of the time series. Select the **Date** text field to open a" +" pop-up window. Choose the :btn:` Select` button to " +"choose a date. When both dates have been chosen, select the :btn:` Apply` button." msgstr "" #: ../../source/cookbook/time_series.rst:89 @@ -128,11 +172,18 @@ msgid "Sources" msgstr "" #: ../../source/cookbook/time_series.rst:91 -msgid "As mentioned in the introduction, a SITS makes use of different satellite sources to obtain a larger data series with a shorter time interval between the images. To meet this objective, SEPAL allows you to select data from multiple entry points. You can select multiple sources from :btn:`Radar`, :btn:`Optical` or :btn:`Planet` datasets." +msgid "" +"As mentioned in the introduction, a SITS makes use of different satellite" +" sources to obtain a larger data series with a shorter time interval " +"between the images. To meet this objective, SEPAL allows you to select " +"data from multiple entry points. You can select multiple sources from " +":btn:`Radar`, :btn:`Optical` or :btn:`Planet` datasets." msgstr "" #: ../../source/cookbook/time_series.rst:93 -msgid "When all of the data has been selected, select :btn:` Apply`." +msgid "" +"When all of the data has been selected, select :btn:` " +"Apply`." msgstr "" #: ../../source/cookbook/time_series.rst:100 @@ -160,7 +211,12 @@ msgid "Snow masking: :guilabel:`on`" msgstr "" #: ../../source/cookbook/time_series.rst:111 -msgid "Multiple pre-processing parameters can be set to improve the quality of the provided images. SEPAL has gathered four of them in the form of these interactive buttons. If you think others should be added, tell us in the `issue tracker `__." +msgid "" +"Multiple pre-processing parameters can be set to improve the quality of " +"the provided images. SEPAL has gathered four of them in the form of these" +" interactive buttons. If you think others should be added, tell us in the" +" `issue tracker " +"`__." msgstr "" #: ../../source/cookbook/time_series.rst:113 @@ -168,11 +224,15 @@ msgid "**Correction**" msgstr "" #: ../../source/cookbook/time_series.rst:115 -msgid ":guilabel:`Surface reflectance`: Use scenes' atmospherically corrected surface reflectance." +msgid "" +":guilabel:`Surface reflectance`: Use scenes' atmospherically corrected " +"surface reflectance." msgstr "" #: ../../source/cookbook/time_series.rst:116 -msgid ":guilabel:`BRDF correction`: Correct for bidirectional reflectance distribution function (BRDF) effects." +msgid "" +":guilabel:`BRDF correction`: Correct for bidirectional reflectance " +"distribution function (BRDF) effects." msgstr "" #: ../../source/cookbook/time_series.rst:118 @@ -180,7 +240,9 @@ msgid "**Cloud detection**" msgstr "" #: ../../source/cookbook/time_series.rst:120 -msgid ":guilabel:`QA bands`: Use previously created quality assessment (QA) bands from datasets." +msgid "" +":guilabel:`QA bands`: Use previously created quality assessment (QA) " +"bands from datasets." msgstr "" #: ../../source/cookbook/time_series.rst:121 @@ -192,11 +254,16 @@ msgid "**Cloud masking**" msgstr "" #: ../../source/cookbook/time_series.rst:125 -msgid ":guilabel:`Moderate`: Rely only on image source QA bands for cloud masking." +msgid "" +":guilabel:`Moderate`: Rely only on image source QA bands for cloud " +"masking." msgstr "" #: ../../source/cookbook/time_series.rst:126 -msgid ":guilabel:`Aggressive`: Rely on image source QA bands and a cloud-scoring algorithm for cloud masking (this will probably \"mask\" some built-up areas and other bright features)." +msgid "" +":guilabel:`Aggressive`: Rely on image source QA bands and a cloud-scoring" +" algorithm for cloud masking (this will probably \"mask\" some built-up " +"areas and other bright features)." msgstr "" #: ../../source/cookbook/time_series.rst:128 @@ -204,11 +271,16 @@ msgid "**Snow masking**" msgstr "" #: ../../source/cookbook/time_series.rst:130 -msgid ":guilabel:`On`: Mask snow (this tends to leave some pixels with shadowy snow)." +msgid "" +":guilabel:`On`: Mask snow (this tends to leave some pixels with shadowy " +"snow)." msgstr "" #: ../../source/cookbook/time_series.rst:131 -msgid ":guilabel:`Off`: Don't mask snow (some clouds might get misclassified as snow, and because of this, disabling snow masking might lead to cloud artefacts)." +msgid "" +":guilabel:`Off`: Don't mask snow (some clouds might get misclassified as " +"snow, and because of this, disabling snow masking might lead to cloud " +"artefacts)." msgstr "" #: ../../source/cookbook/time_series.rst:138 @@ -220,7 +292,11 @@ msgid "The wavelength of each band is dependent on the satellite used." msgstr "" #: ../../source/cookbook/time_series.rst:144 -msgid "The time series will use a single observation for each pixel. This observation can be one of the available bands in SEPAL. To discover the full list of available bands, see :doc:`../feature/bands`." +msgid "" +"The time series will use a single observation for each pixel. This " +"observation can be one of the available bands in SEPAL. To discover the " +"full list of available bands, see :doc:`../feature/optical_bands` and " +"`../feature/radar_bands`." msgstr "" #: ../../source/cookbook/time_series.rst:147 @@ -228,11 +304,16 @@ msgid "Analysis" msgstr "" #: ../../source/cookbook/time_series.rst:149 -msgid "Once all parameters are set, you can generate data from the recipe. Some can be directly generated on the fly from the interface; the rest require retrieving the data from SEPAL folders." +msgid "" +"Once all parameters are set, you can generate data from the recipe. Some " +"can be directly generated on the fly from the interface; the rest require" +" retrieving the data from SEPAL folders." msgstr "" #: ../../source/cookbook/time_series.rst:151 -msgid "The analysis icons can be found in the upper-right corner of the SEPAL interface:" +msgid "" +"The analysis icons can be found in the upper-right corner of the SEPAL " +"interface:" msgstr "" #: ../../source/cookbook/time_series.rst:153 @@ -244,7 +325,10 @@ msgid ":btn:``: Retrieve data." msgstr "" #: ../../source/cookbook/time_series.rst:162 -msgid "The **Download** icon is only enabled when the data parameters are complete. If the button is disabled, check your parameters, as some might be missing." +msgid "" +"The **Download** icon is only enabled when the data parameters are " +"complete. If the button is disabled, check your parameters, as some might" +" be missing." msgstr "" #: ../../source/cookbook/time_series.rst:165 @@ -252,7 +336,11 @@ msgid "Plot" msgstr "" #: ../../source/cookbook/time_series.rst:167 -msgid "Select :btn:`` to start the plotting tool. Move the pointer to the main map; the pointer will be transformed into a :icon:`fa-solid fa-plus`. Click anywhere in the AOI to plot data for this specific location in the following pop-up window." +msgid "" +"Select :btn:`` to start the plotting tool. Move " +"the pointer to the main map; the pointer will be transformed into a :icon" +":`fa-solid fa-plus`. Click anywhere in the AOI to plot data for this " +"specific location in the following pop-up window." msgstr "" #: ../../source/cookbook/time_series.rst:169 @@ -260,15 +348,23 @@ msgid "The plotting area is dynamic and can be customized by the user." msgstr "" #: ../../source/cookbook/time_series.rst:171 -msgid "Using the slider (1), the temporal width displayed can be changed. It cannot exceed the start and/or end date of the time series." +msgid "" +"Using the slider (1), the temporal width displayed can be changed. It " +"cannot exceed the start and/or end date of the time series." msgstr "" #: ../../source/cookbook/time_series.rst:173 -msgid "You can also select the observation feature by selecting one of the available measures in the dropdown selector in the upper-left corner (2). The available bands are the same as those described previously." +msgid "" +"You can also select the observation feature by selecting one of the " +"available measures in the dropdown selector in the upper-left corner (2)." +" The available bands are the same as those described previously." msgstr "" #: ../../source/cookbook/time_series.rst:175 -msgid "On the main graph, each point represents one valid observation (based on the pre-processing filters). Hover over the point to let the tooltip describe the value and date of the observation (3)." +msgid "" +"On the main graph, each point represents one valid observation (based on " +"the pre-processing filters). Hover over the point to let the tooltip " +"describe the value and date of the observation (3)." msgstr "" #: ../../source/cookbook/time_series.rst:179 @@ -276,7 +372,13 @@ msgid "The coordinates of the point are displayed at the top of the chart window msgstr "" #: ../../source/cookbook/time_series.rst:187 -msgid "Since the plot feature is retrieving information from GEE on the fly and presenting it in an interactive window, this operation can take time, depending on the number of available observations and the complexity of the selected pre-processing parameters. If a spinning wheel appears in the pop-up window, you may have to wait up to two minutes to see the data displayed." +msgid "" +"Since the plot feature is retrieving information from GEE on the fly and " +"presenting it in an interactive window, this operation can take time, " +"depending on the number of available observations and the complexity of " +"the selected pre-processing parameters. If a spinning wheel appears in " +"the pop-up window, you may have to wait up to two minutes to see the data" +" displayed." msgstr "" #: ../../source/cookbook/time_series.rst:194 @@ -284,27 +386,47 @@ msgid "Export" msgstr "" #: ../../source/cookbook/time_series.rst:196 -msgid "In order for the data generated by the recipe to be used in other workflows, it needs to be retrieved from GEE and uploaded to SEPAL." +msgid "" +"In order for the data generated by the recipe to be used in other " +"workflows, it needs to be retrieved from GEE and uploaded to SEPAL." msgstr "" #: ../../source/cookbook/time_series.rst:200 -msgid "You cannot export a recipe as an asset or a :code:`.tiff` file without a small computation quota. If you are a new user, see :doc:`../setup/resource`." +msgid "" +"You cannot export a recipe as an asset or a :code:`.tiff` file without a " +"small computation quota. If you are a new user, see " +":doc:`../setup/resource`." msgstr "" #: ../../source/cookbook/time_series.rst:204 -msgid "Select :btn:`` to open the **Download parameters** window. You will be able to select the measure to use on each observation of the time series. This measure can be selected in the list of available bands presented above in a previous section." +msgid "" +"Select :btn:`` to open the **Download " +"parameters** window. You will be able to select the measure to use on " +"each observation of the time series. This measure can be selected in the " +"list of available bands presented above in a previous section." msgstr "" #: ../../source/cookbook/time_series.rst:208 -msgid "There is no fixed rule to the measure selection. Each index is more adapted to a set of analyses in a defined biome. The knowledge of the study area, the evolution expected and the careful selection of an adapted measure will improve the quality of downstream analysis." +msgid "" +"There is no fixed rule to the measure selection. Each index is more " +"adapted to a set of analyses in a defined biome. The knowledge of the " +"study area, the evolution expected and the careful selection of an " +"adapted measure will improve the quality of downstream analysis." msgstr "" #: ../../source/cookbook/time_series.rst:210 -msgid "You can set a custom scale for exportation by changing the value of the slider in metres (m). Keep in mind that Sentinel data native resolution is 10 m and Landsat is 30 m." +msgid "" +"You can set a custom scale for exportation by changing the value of the " +"slider in metres (m). Keep in mind that Sentinel data native resolution " +"is 10 m and Landsat is 30 m." msgstr "" #: ../../source/cookbook/time_series.rst:212 -msgid "When all the data is selected, select the :btn:` apply` button. Notice that the task tab in the lower-left corner of the screen (1) will change from :btn:`` to :btn:``, meaning that the tasks are loading." +msgid "" +"When all the data is selected, select the :btn:` " +"apply` button. Notice that the task tab in the lower-left corner of the " +"screen (1) will change from :btn:`` to :btn:``, meaning that the tasks are loading." msgstr "" #: ../../source/cookbook/time_series.rst:220 @@ -312,15 +434,27 @@ msgid "Exportation status" msgstr "" #: ../../source/cookbook/time_series.rst:222 -msgid "By selecting the **Tasks** tab (lower-left corner using the :btn:`` or :btn:`` buttons, depending on the loading status), you will see the list of different tasks loading. The interface will provide you with information about the task progress and display an error if the exportation has failed. If you are unsatisfied with the way we present information, the task can also be monitored using the `GEE task manager `__." +msgid "" +"By selecting the **Tasks** tab (lower-left corner using the :btn:`` or :btn:`` buttons, depending " +"on the loading status), you will see the list of different tasks loading." +" The interface will provide you with information about the task progress " +"and display an error if the exportation has failed. If you are " +"unsatisfied with the way we present information, the task can also be " +"monitored using the `GEE task manager " +"`__." msgstr "" #: ../../source/cookbook/time_series.rst:226 -msgid "This operation is running between GEE and SEPAL servers in the background, so you can close the SEPAL page without ending the process." +msgid "" +"This operation is running between GEE and SEPAL servers in the " +"background, so you can close the SEPAL page without ending the process." msgstr "" #: ../../source/cookbook/time_series.rst:228 -msgid "When the task is finished, the frame will be displayed in green, as shown in the second image below." +msgid "" +"When the task is finished, the frame will be displayed in green, as shown" +" in the second image below." msgstr "" #: ../../source/cookbook/time_series.rst:241 @@ -328,43 +462,82 @@ msgid "Access" msgstr "" #: ../../source/cookbook/time_series.rst:243 -msgid "Once the download process is done, you can access the data in your **SEPAL folders** in :code:`Downloads`, using the following format:" +msgid "" +"Once the download process is done, you can access the data in your " +"**SEPAL folders** in :code:`Downloads`, using the following format:" msgstr "" #: ../../source/cookbook/time_series.rst:268 -msgid "Understanding how images are stored in a time series is only required if you want to manually use them. The SEPAL applications are bound to this tiling system and can digest this information for you." +msgid "" +"Understanding how images are stored in a time series is only required if " +"you want to manually use them. The SEPAL applications are bound to this " +"tiling system and can digest this information for you." msgstr "" #: ../../source/cookbook/time_series.rst:270 -msgid "The data are stored in a folder using the name of the time series as it was labeled in the first section of this document. The SEPAL team was forced to use this folder structure as GEE is unable to export an :code:`ee.ImageCollection`. As the data is spatially too big to be exported at once, they are divided into smaller pieces and reassembled in a :code:`stack.vrt` file." +msgid "" +"The data are stored in a folder using the name of the time series as it " +"was labeled in the first section of this document. The SEPAL team was " +"forced to use this folder structure as GEE is unable to export an " +":code:`ee.ImageCollection`. As the data is spatially too big to be " +"exported at once, they are divided into smaller pieces and reassembled in" +" a :code:`stack.vrt` file." msgstr "" #: ../../source/cookbook/time_series.rst:272 -msgid "The AOI provided by the user will be divided into multiple SEPAL tiles. The AOI is a :code:`ee.FeatureCollection`; each feature is downloaded in a different tile. If the tile is bigger than 2° x 2° (EPSG:4326), then the feature is divided again until all of the tiles are smaller than the maximum 2° size. The tiles are identified by their :code:``." +msgid "" +"The AOI provided by the user will be divided into multiple SEPAL tiles. " +"The AOI is a :code:`ee.FeatureCollection`; each feature is downloaded in " +"a different tile. If the tile is bigger than 2° x 2° (EPSG:4326), then " +"the feature is divided again until all of the tiles are smaller than the " +"maximum 2° size. The tiles are identified by their :code:``." msgstr "" #: ../../source/cookbook/time_series.rst:274 -msgid "To limit the size of the downloaded images, in each SEPAL tile, the time period is divided into **Chunks** of 3 months. They are identified by their :code:`_`. **Chunks** are image folders. As a SEPAL tile is still bigger than what GEE can download at once, the images are divided into GEE tiles. This tiling process uses its own identification system (000000xxxx-000000xxxx). Consequently, **Chunks** contain tile raster images. Each one of these images is composed of one band per observation date, with the value of the measure for each pixel. The bands are named with the date." +msgid "" +"To limit the size of the downloaded images, in each SEPAL tile, the time " +"period is divided into **Chunks** of 3 months. They are identified by " +"their :code:`_`. **Chunks** are image folders. As a " +"SEPAL tile is still bigger than what GEE can download at once, the images" +" are divided into GEE tiles. This tiling process uses its own " +"identification system (000000xxxx-000000xxxx). Consequently, **Chunks** " +"contain tile raster images. Each one of these images is composed of one " +"band per observation date, with the value of the measure for each pixel. " +"The bands are named with the date." msgstr "" #: ../../source/cookbook/time_series.rst:276 -msgid "To gather all these rasters together, a first aggregation on time is performed. One :code:`stack.vrt` is created per GEE tile, meaning that each :code:`stack.vrt` file contains all the :code:`*.tif` contained in each **Chunk**, reconstituting the full time period on the smallest spatial unit: the GEE tile. Each file is stored in a folder called :code:`tile-`." +msgid "" +"To gather all these rasters together, a first aggregation on time is " +"performed. One :code:`stack.vrt` is created per GEE tile, meaning that " +"each :code:`stack.vrt` file contains all the :code:`*.tif`" +" contained in each **Chunk**, reconstituting the full time period on the " +"smallest spatial unit: the GEE tile. Each file is stored in a folder " +"called :code:`tile-`." msgstr "" #: ../../source/cookbook/time_series.rst:278 -msgid "Finally, information is gathered spatially at the SEPAL tile level in the main :code:`stack.vrt` file." +msgid "" +"Finally, information is gathered spatially at the SEPAL tile level in the" +" main :code:`stack.vrt` file." msgstr "" #: ../../source/cookbook/time_series.rst:280 -msgid "The last file, :code:`date.csv`, gathers all the observation dates in chronological order." +msgid "" +"The last file, :code:`date.csv`, gathers all the observation dates in " +"chronological order." msgstr "" #: ../../source/cookbook/time_series.rst:284 -msgid "The dates contained in :code:`date.csv` can differ from one SEPAL tile to another, due to data availability and pre-processing filters." +msgid "" +"The dates contained in :code:`date.csv` can differ from one SEPAL tile to" +" another, due to data availability and pre-processing filters." msgstr "" #: ../../source/cookbook/time_series.rst:288 -msgid "The full folder with a consistent treefolder is required to read the `.vrt`" +msgid "" +"The full folder with a consistent treefolder is required to read the " +"`.vrt`" msgstr "" #: ../../source/cookbook/time_series.rst:290 @@ -372,7 +545,11 @@ msgid "Here is an example of a real TS folder:" msgstr "" #: ../../source/cookbook/time_series.rst:315 -msgid "Now that you have downloaded the TS to your SEPAL account, it can be downloaded to your computer using `FileZilla <../setup.filezilla.html>`__ or used in one of our `Time-series analysis modules <../modules/time-series.html>`__." +msgid "" +"Now that you have downloaded the TS to your SEPAL account, it can be " +"downloaded to your computer using `FileZilla <../setup.filezilla.html>`__" +" or used in one of our `Time-series analysis modules <../modules/time-" +"series.html>`__." msgstr "" #~ msgid "" @@ -961,3 +1138,12 @@ msgstr "" #~ "analysis modules <../modules/time-series.html>`__." #~ msgstr "" +#~ msgid "" +#~ "The time series will use a single" +#~ " observation for each pixel. This " +#~ "observation can be one of the " +#~ "available bands in SEPAL. To discover" +#~ " the full list of available bands," +#~ " see :doc:`../feature/bands`." +#~ msgstr "" + diff --git a/docs/source/_locale/sv/LC_MESSAGES/developers/apps/app_catalog.po b/docs/source/_locale/sv/LC_MESSAGES/developers/apps/app_catalog.po new file mode 100644 index 0000000000..735808c20c --- /dev/null +++ b/docs/source/_locale/sv/LC_MESSAGES/developers/apps/app_catalog.po @@ -0,0 +1,478 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: sv\n" +"Language-Team: sv \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/developers/apps/app_catalog.rst:4 +msgid "Request a new app" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:5 +msgid "*Add your app to the SEPAL apps catalog so it appears on the platform*" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:8 +msgid "The catalog" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:10 +msgid "" +"The list of apps SEPAL runs lives in a dedicated repository, `dfguerrerom" +"/sepal-apps-catalog `__. For docker apps the catalog pins the exact commit SEPAL will" +" run; for jupyter apps it records the ``branch`` and SEPAL runs its tip. " +"Either way, adding or updating an app means opening a pull request " +"against this catalog, where a maintainer reviews the change before it " +"goes live." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:17 +msgid "The catalog ships two files:" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:19 +msgid "" +"``apps.test.json`` — apps available on test.sepal.io (the staging " +"environment used to validate changes before they reach end users)" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:21 +msgid "" +"``apps.prod.json`` — apps available on sepal.io (the production " +"environment)" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:23 +msgid "" +"New apps always land in ``apps.test.json`` first and are promoted to " +"``apps.prod.json`` only once they behave correctly on test.sepal.io." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:27 +msgid "Anatomy of a catalog entry" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:29 +msgid "" +"An app is a JSON object in the ``apps`` array. The schema only enforces " +"``id`` and ``label`` as universally required, plus a docker-specific " +"block — but the catalog convention is to **fill every field** so each " +"entry carries a complete dashboard listing. The only practical " +"exceptions:" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:34 +msgid "``port`` applies only to docker apps (and is required there)." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:35 +msgid "" +"For hidden kernel-only apps (see :ref:`developers_apps_kernels`) the " +"user-facing presentation fields (``description``, ``tagline``, " +"``logoRef``, ``projectLink``, ``author``, ``tags``) can be omitted, since" +" they are never shown." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:41 +msgid "Identification and routing" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:47 +#: ../../source/developers/apps/app_catalog.rst:84 +#: ../../source/developers/apps/app_catalog.rst:110 +#: ../../source/developers/apps/app_catalog.rst:144 +msgid "Field" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:48 +#: ../../source/developers/apps/app_catalog.rst:85 +#: ../../source/developers/apps/app_catalog.rst:111 +#: ../../source/developers/apps/app_catalog.rst:145 +msgid "When" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:49 +#: ../../source/developers/apps/app_catalog.rst:86 +#: ../../source/developers/apps/app_catalog.rst:112 +#: ../../source/developers/apps/app_catalog.rst:146 +msgid "Meaning" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:50 +msgid "``id``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:51 +#: ../../source/developers/apps/app_catalog.rst:54 +msgid "always (schema)" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:52 +msgid "Unique identifier across the catalog (``[A-Za-z0-9_.-]+``)." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:53 +msgid "``label``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:55 +msgid "Display name shown on the apps dashboard." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:56 +msgid "``endpoint``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:57 +#: ../../source/developers/apps/app_catalog.rst:62 +#: ../../source/developers/apps/app_catalog.rst:66 +#: ../../source/developers/apps/app_catalog.rst:69 +msgid "always" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:58 +msgid "" +"How SEPAL runs the app: ``jupyter`` or ``docker`` for new apps — " +"``shiny`` is legacy and ``rstudio`` is reserved for the built-in tool. " +"See :ref:`developers_apps_types`." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:61 +msgid "``repository``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:63 +msgid "" +"``https://github.com//`` of the app source. SEPAL clones it " +"to run the app." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:65 +msgid "``branch``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:67 +msgid "Branch the app tracks (commonly ``release``)." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:68 +msgid "``path``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:70 +msgid "" +"Entry point the app-launcher routes to. For jupyter, the Voila URL of the" +" notebook (e.g. " +"``/sandbox/jupyter/voila/render/shared/apps//ui.ipynb``); for " +"docker, **must equal** ``/api/app-launcher/`` exactly — the schema " +"enforces the prefix and ``check-docker-rules.js`` enforces that ```` " +"matches the entry's ``id``." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:78 +msgid "Docker-only fields" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:87 +msgid "``commit``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:88 +#: ../../source/developers/apps/app_catalog.rst:93 +msgid "docker only (schema)" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:89 +msgid "" +"Full 40-character lowercase commit SHA. Required for ``endpoint: " +"docker``; not allowed for other endpoints, which track the branch tip." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:92 +msgid "``port``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:94 +msgid "" +"Container port the docker app listens on. Integer 1–65535. Must be unique" +" across ``apps.test.json`` and ``apps.prod.json``; ``check-docker-" +"rules.js`` enforces this and prints ``Next free port: N`` on a violation." +" New apps take the next free port — ``max(existing_ports) + 1``." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:101 +msgid "Presentation" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:103 +msgid "" +"These fields populate the dashboard tile and the app's detail page. Skip " +"them *only* on hidden kernel-only entries." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:113 +msgid "``author``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:114 +#: ../../source/developers/apps/app_catalog.rst:117 +#: ../../source/developers/apps/app_catalog.rst:120 +#: ../../source/developers/apps/app_catalog.rst:123 +#: ../../source/developers/apps/app_catalog.rst:127 +#: ../../source/developers/apps/app_catalog.rst:130 +msgid "visible apps" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:115 +msgid "Who maintains the app (free-form string)." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:116 +msgid "``description``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:118 +msgid "Long-form description shown on the app's detail page." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:119 +msgid "``tagline``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:121 +msgid "One-line summary shown on the dashboard tile." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:122 +msgid "``logoRef``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:124 +msgid "Filename of the logo asset bundled with the catalog (e.g. ``my-app.svg``)." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:126 +msgid "``projectLink``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:128 +msgid "URL to the project's home page, docs, or upstream repository." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:129 +msgid "``tags``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:131 +msgid "" +"Array of tag values defined in the catalog's top-level ``tags`` block " +"(e.g. ``[\"TOOLS\", \"TIME_SERIES\"]``)." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:135 +msgid "Behaviour flags" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:137 +msgid "" +"Optional booleans that alter how the app is listed or launched. Defaults " +"are all ``false``." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:147 +msgid "``hidden``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:148 +#: ../../source/developers/apps/app_catalog.rst:152 +#: ../../source/developers/apps/app_catalog.rst:155 +#: ../../source/developers/apps/app_catalog.rst:158 +#: ../../source/developers/apps/app_catalog.rst:162 +msgid "optional" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:149 +msgid "" +"If ``true``, the app builds but does not show a dashboard tile. Used for " +"packaged kernels — see :ref:`developers_apps_kernels`." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:151 +msgid "``pinned``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:153 +msgid "Pin the app to the top of the dashboard." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:154 +msgid "``googleAccountRequired``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:156 +msgid "The app needs a connected Google account (e.g. for GEE)." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:157 +msgid "``single``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:159 +msgid "" +"Only one instance of this app can run at a time per user (used by the " +"built-in ``jupyter-notebook``, ``jupyter-lab`` and ``rstudio`` tools)." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:161 +msgid "``skip``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:163 +msgid "Temporarily skip building/serving this app without removing the entry." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:165 +msgid "" +"A typical jupyter entry — every field a user sees on the dashboard is " +"filled in:" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:187 +msgid "" +"A docker entry adds the docker-only ``commit``, ``port`` and the schema-" +"enforced ``/api/app-launcher/`` path; the presentation fields are the" +" same:" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:213 +msgid "Adding the app" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:215 +msgid "" +"Open a pull request adding your entry to ``apps.test.json``. The fastest " +"way is to edit the file directly on GitHub: `edit apps.test.json " +"`__. For a docker app, ``commit`` must " +"be a full 40-character SHA that exists on the declared ``branch``." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:220 +msgid "" +"The ``Validate catalog`` and ``Review helper`` workflows run " +"automatically. Validation is a blocking gate (schema, canonical " +"formatting, and — for docker apps — a check that the commit is reachable " +"from its branch). The review helper posts a single PR comment with a per-" +"app diff and *risk flags* (new dependencies, network calls, shell-outs) " +"to help maintainers review safely." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:226 +msgid "" +"A SEPAL maintainer reviews and merges. Once merged, the app appears on " +"test.sepal.io within minutes." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:228 +msgid "" +"When you are happy with its behaviour on test.sepal.io, promote it to " +"production — see `Promoting to production`_." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:232 +msgid "Promoting to production" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:234 +msgid "" +"Promotion copies the *exact same pinned reference* (commit for docker, " +"branch for the others) from ``apps.test.json`` into ``apps.prod.json``. " +"Two paths, either of which produces the same promotion PR for a " +"maintainer to merge:" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:239 +msgid "Self-service ``/promote`` comment (recommended)" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:241 +msgid "" +"The catalog has a single pinned issue titled *\"Promotion requests — " +"comment ``/promote `` here\"*, labeled ``promote-request``. Find " +"it in the catalog's `issues tab `__ " +"(there is only ever one) and comment:" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:251 +msgid "" +"The ``Promote app on /promote comment`` workflow then verifies the " +"commenter is authorized for the app's source repository and, if so, opens" +" the promotion PR. Authorization uses public GitHub data only:" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:255 +msgid "If the source repo is owned by a User, the commenter must equal that user." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:256 +msgid "" +"If it is owned by an Organization, the commenter must be a **public** " +"member of that org. If your membership is private, make it public at " +"``https://github.com/orgs//people`` or use the manual-PR path below." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:260 +msgid "A maintainer still merges the PR." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:263 +msgid "Manual PR" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:265 +msgid "" +"Open a pull request copying the entry's ``commit`` (or whole object) from" +" ``apps.test.json`` into ``apps.prod.json``. The same validation and " +"review checks run; a maintainer merges." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:270 +msgid "Working on the catalog locally" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:272 +msgid "" +"The catalog files use canonical ``JSON.stringify(parsed, null, 2)`` " +"formatting (2-space indent, one-element arrays expanded, trailing " +"newline). A ``.prettierignore`` keeps editor formatters off them, and CI " +"rejects PRs that don't match. Install the pre-commit hooks once so " +"problems are caught before they fail CI:" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:284 +msgid "To re-canonicalize a file before pushing:" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:292 +msgid "" +"The catalog's own ``docs/contributing.md`` and ``docs/ci.md`` document " +"every workflow, check, and script in detail." +msgstr "" + diff --git a/docs/source/_locale/sv/LC_MESSAGES/developers/apps/app_types.po b/docs/source/_locale/sv/LC_MESSAGES/developers/apps/app_types.po new file mode 100644 index 0000000000..55bf9d51bd --- /dev/null +++ b/docs/source/_locale/sv/LC_MESSAGES/developers/apps/app_types.po @@ -0,0 +1,290 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: sv\n" +"Language-Team: sv \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/developers/apps/app_types.rst:4 +msgid "Docker vs. Jupyter apps" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:5 +msgid "*The two endpoints you'll choose between, and where each one fits*" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:7 +msgid "" +"Every catalog entry declares an ``endpoint`` that tells SEPAL how to run " +"the app. For new apps the practical choice is between ``docker`` and " +"``jupyter``." +msgstr "" + +#: ../../source/developers/apps/app_types.rst:12 +msgid "" +"``shiny`` is a legacy endpoint and is no longer recommended for new apps " +"— package the same UX as a Jupyter/Voila app instead. ``rstudio`` is " +"reserved for the built-in RStudio tool. Both still work, but neither " +"should be picked for anything new." +msgstr "" + +#: ../../source/developers/apps/app_types.rst:18 +msgid "At a glance" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:25 +msgid "Docker app" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:26 +msgid "Jupyter app" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:27 +msgid "``endpoint``" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:28 +msgid "``docker``" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:29 +msgid "``jupyter``" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:30 +msgid "Where it runs" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:31 +msgid "Its own container, on its own port, on the shared SEPAL server" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:32 +msgid "Inside the user's own SEPAL instance (sandbox), served through Voila" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:33 +msgid "Where compute happens" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:34 +msgid "On the shared SEPAL server — all users hit the same instance" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:35 +msgid "On the user's own SEPAL instance, at the size they have provisioned" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:36 +msgid "Versioning" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:37 +msgid "Pinned to a commit SHA (required)" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:38 +msgid "Tracks the catalog's ``branch``; no commit pin" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:39 +msgid "Code location" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:40 +msgid "Cloned from ``repository`` into the container" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:41 +msgid "" +"Cloned from ``repository`` into the shared sandbox at ``/home/sepal-" +"user/shared/apps//``" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:43 +msgid "Isolation" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:44 +msgid "Strong — separate container and dependencies" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:45 +msgid "" +"Own micromamba kernel built from ``sepal_environment.yml`` (see " +":ref:`developers_apps_kernels`)" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:47 +msgid "Update trigger" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:48 +msgid "" +"Catalog PR bumps ``commit`` → app-launcher checks out that commit on the " +"next launch" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:50 +msgid "" +"app-manager refreshes the clone to the branch tip and rebuilds the kernel" +" if the env file changed" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:54 +msgid "Docker apps" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:56 +msgid "" +"A docker app lives in its own repository and runs in its own container " +"with a dedicated ``port`` on the shared SEPAL server. Because it is fully" +" isolated, the catalog schema requires ``repository``, ``branch``, " +"``commit``, ``port`` and ``path`` for every ``endpoint: docker`` entry." +msgstr "" + +#: ../../source/developers/apps/app_types.rst:61 +msgid "When SEPAL launches the app it runs the equivalent of:" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:68 +msgid "" +"That is why the pinned ``commit`` must be reachable from ``branch`` (see " +":ref:`developers_apps_releases`). The app's dependencies are baked into " +"its container, so its update cycle is independent of the rest of the " +"platform — it changes only when you bump its commit in the catalog." +msgstr "" + +#: ../../source/developers/apps/app_types.rst:73 +msgid "" +"Because the docker app runs on the shared SEPAL server, every user hits " +"the same instance. That makes docker a good fit for **lightweight, low-" +"compute apps that act as a single service for many users** — interfaces " +"over a small API, lookups, light visualizations, dashboards. It is *not* " +"a good fit for heavy per-user compute: there is only one container " +"backing all users." +msgstr "" + +#: ../../source/developers/apps/app_types.rst:80 +msgid "Jupyter apps" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:82 +msgid "" +"A jupyter app does not get its own container. Its code is cloned from the" +" ``repository`` into the shared sandbox under ``/home/sepal-" +"user/shared/apps//``, and its ``ui.ipynb`` notebook is rendered with" +" `Voila `__ (hence catalog paths such as " +"``/sandbox/jupyter/voila/render/shared/apps//ui.ipynb``). Crucially," +" it runs **inside each user's own SEPAL instance** — so the compute " +"budget is whatever the user has provisioned for themselves." +msgstr "" + +#: ../../source/developers/apps/app_types.rst:90 +msgid "" +"Versioning is by branch, not by commit: the app-manager keeps the cloned " +"``shared/apps//`` working tree on the tip of the catalog's " +"``branch`` and rebuilds the app's kernel whenever " +"``sepal_environment.yml`` (or ``requirements.txt``) changes — see " +":ref:`developers_apps_kernels`. Pushing to that branch is enough to ship " +"a new version; no catalog PR is required (the catalog PR is only needed " +"to *list* the app in the first place)." +msgstr "" + +#: ../../source/developers/apps/app_types.rst:97 +msgid "" +"Because compute lives on the user's instance, a jupyter app is the right " +"choice for **heavy, scalable, per-user workloads**: anything where the " +"user needs to be able to size their machine to the job — training " +"pipelines, large geospatial analyses, model inference, parallel " +"processing." +msgstr "" + +#: ../../source/developers/apps/app_types.rst:103 +msgid "When to use which" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:105 +msgid "A simple rule of thumb:" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:112 +msgid "Use ``docker``" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:113 +msgid "Use ``jupyter``" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:114 +msgid "Compute profile" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:115 +msgid "Light; same load no matter who is using it" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:116 +msgid "Heavy or variable; each user should be able to scale their own instance" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:118 +msgid "Usage pattern" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:119 +msgid "Single backend service serving many users" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:120 +msgid "Per-user notebook session, isolated per user" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:121 +msgid "Versioning needs" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:122 +msgid "You want strict, audited control of *exactly* which commit is live" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:123 +msgid "Push-to-branch is a fine release model" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:124 +msgid "Runtime needs" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:125 +msgid "Custom system stack, services, ports, or a non-Python runtime" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:126 +msgid "" +"Standard SEPAL geospatial / scientific Python stack (extended via " +"``sepal_environment.yml``)" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:129 +msgid "" +"If the answer to most of these points the same way, that's your endpoint." +" If the app is genuinely a notebook UI doing heavy compute, jupyter is " +"almost always the right pick — that is the most common pattern on SEPAL." +msgstr "" + diff --git a/docs/source/_locale/sv/LC_MESSAGES/developers/apps/index.po b/docs/source/_locale/sv/LC_MESSAGES/developers/apps/index.po new file mode 100644 index 0000000000..08a8de1aef --- /dev/null +++ b/docs/source/_locale/sv/LC_MESSAGES/developers/apps/index.po @@ -0,0 +1,72 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: sv\n" +"Language-Team: sv \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/developers/apps/index.rst:48 +msgid "Docker vs. Jupyter apps" +msgstr "" + +#: ../../source/developers/apps/index.rst:48 +msgid "Request a new app" +msgstr "" + +#: ../../source/developers/apps/index.rst:48 +msgid "Request a new kernel" +msgstr "" + +#: ../../source/developers/apps/index.rst:48 +msgid "Create a release" +msgstr "" + +#: ../../source/developers/apps/index.rst:4 +msgid "Develop apps" +msgstr "" + +#: ../../source/developers/apps/index.rst:5 +msgid "*Build, release and publish your own apps on the SEPAL platform*" +msgstr "" + +#: ../../source/developers/apps/index.rst:7 +msgid "" +"These pages explain how SEPAL decides which app code to run and how that " +"code reaches the platform — useful when you want to add an app, ship a " +"new version of an existing one, or package a reusable environment for a " +"notebook or workflow." +msgstr "" + +#: ../../source/developers/apps/index.rst:14 +msgid "" +"The set of apps SEPAL runs is curated in the `dfguerrerom/sepal-apps-" +"catalog `__ " +"repository. Getting an app onto SEPAL — or updating one — means opening a" +" pull request there. For docker apps, the catalog also pins the *exact " +"commit* SEPAL will run; for jupyter apps, the catalog records the " +"``branch`` and SEPAL still runs the tip of that branch. The pages below " +"walk through both flows." +msgstr "" + +#: ../../source/developers/apps/index.rst:23 +msgid "How an app reaches SEPAL" +msgstr "" + +#: ../../source/developers/apps/index.rst:46 +msgid "Contents" +msgstr "" + diff --git a/docs/source/_locale/sv/LC_MESSAGES/developers/apps/kernels.po b/docs/source/_locale/sv/LC_MESSAGES/developers/apps/kernels.po new file mode 100644 index 0000000000..fd0b328c67 --- /dev/null +++ b/docs/source/_locale/sv/LC_MESSAGES/developers/apps/kernels.po @@ -0,0 +1,260 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: sv\n" +"Language-Team: sv \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/developers/apps/kernels.rst:4 +msgid "Request a new kernel" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:5 +msgid "" +"*Package an environment once and share it with every SEPAL user as a " +"named Jupyter kernel*" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:7 +#, python-format +msgid "" +"A \"kernel\" in the SEPAL catalog is really just a special-purpose " +"jupyter app: the same catalog entry, the same :ref:`PR flow " +"`, the same :ref:`release lifecycle " +"`. The only difference is *intent* — " +"the deliverable is the environment (and, often, training notebooks and " +"data alongside it), not an app UI. If you have read " +":ref:`developers_apps_catalog`, you already know 90% of how to ship one." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:15 +msgid "Why request a kernel" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:17 +msgid "" +"Some notebooks need a large or unusual environment: a deep-learning " +"stack, a pinned GDAL build, a model with awkward native dependencies. " +"Asking every user — or every training participant — to build that " +"environment by hand is slow, fragile, and easy to get subtly wrong." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:22 +msgid "" +"A shared kernel solves that. You package the environment once, in a " +"repository; SEPAL builds it centrally and exposes it as a named Jupyter " +"kernel that lives in the shared sandbox. Every user then simply *selects*" +" that kernel for the relevant notebook — no per-user installation, and " +"everyone runs the same, reproducible environment." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:28 +msgid "This is the right approach when:" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:30 +msgid "" +"You are preparing a notebook or workflow for a training and want every " +"participant on an identical environment." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:32 +msgid "" +"A notebook needs heavy dependencies (GPU/ML, large geospatial stacks) " +"that are wasteful to rebuild per user." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:34 +msgid "You want a stable, named environment that several notebooks can share." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:36 +msgid "" +"It is *not* the right approach for quick, personal experiments. For an " +"environment only you need, build it yourself with :guilabel:`uv` or " +":guilabel:`micromamba` — see :ref:`env_management`." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:41 +msgid "It's the same flow as a jupyter app" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:43 +msgid "A kernel-only entry in the catalog is just a jupyter app that:" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:45 +msgid "has ``\"hidden\": true`` (no dashboard tile — see below), and" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:46 +msgid "ships a ``sepal_environment.yml`` at the root of its repository." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:48 +msgid "" +"Everything else — the PR against ``apps.test.json``, the validation and " +"review-helper workflows, the promotion to ``apps.prod.json`` — works " +"exactly as described in :ref:`developers_apps_catalog`." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:52 +msgid "" +"The one extra behaviour, which fires automatically whenever the app-" +"manager updates a jupyter app, is the kernel build itself: if the cloned " +"repository contains a ``sepal_environment.yml`` (or a legacy " +"``requirements.txt``), SEPAL builds an isolated environment from it and " +"registers it as a named Jupyter kernel. For a ``sepal_environment.yml`` " +"the build is, in essence:" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:63 +msgid "" +"The script then writes a ``kernel.json`` so the environment shows up in " +"JupyterLab as ``(venv) ``, and wires the geospatial " +"environment variables (``PROJ_LIB``, ``PROJ_DATA``, ``GDAL_DATA``) to the" +" environment's own data directories. The kernel is rebuilt only when the " +"environment file changes (the script compares timestamps against an " +"``.installed`` marker), so unchanged apps don't pay a rebuild cost on " +"every update." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:71 +msgid "Hiding the app" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:73 +msgid "" +"A packaged kernel usually has no dashboard UI of its own — it exists to " +"back *other* notebooks. Set ``\"hidden\": true`` on its catalog entry so " +"SEPAL builds the environment and registers the kernel without showing a " +"tile in the apps dashboard." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:81 +msgid "Ship notebooks and data alongside the kernel" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:83 +msgid "" +"The same clone the app-manager uses to build the kernel lands at ``/home" +"/sepal-user/shared/apps//`` **inside every user's sandbox**. " +"Anything you put in the repository is therefore reachable from every " +"user's JupyterLab — not just the ``sepal_environment.yml``." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:88 +msgid "" +"This makes the same mechanism useful for a second job: shipping " +"**training notebooks and supporting data** to a cohort of users. For a " +"workshop or a training, you can put the curriculum in the repo alongside " +"the environment file. Each participant gets the notebooks already on " +"their instance under ``shared/apps//``, with the matching " +"``(venv) `` kernel pre-built and ready to select — no per-" +"user clone, no per-user pip install, no \"it works on my machine\"." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:96 +msgid "Practical conventions for that case:" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:98 +msgid "" +"Keep notebook files at the top level (or in a clearly named subdirectory)" +" so participants can find them via ``shared/apps//``." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:100 +msgid "" +"Keep sample inputs in the repo only if they are small. For larger " +"datasets, point notebooks at a shared SEPAL location or an external URL " +"so the clone stays light." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:103 +msgid "" +"Tag a ``release`` branch for each cohort you run, so an in-flight push to" +" ``main`` does not surprise a session that is already underway. See " +":ref:`developers_apps_releases_branch`." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:107 +msgid "" +"The catalog entry itself stays the same — ``\"hidden\": true``, " +"``\"endpoint\": \"jupyter\"``, ``sepal_environment.yml`` in the repo. The" +" notebooks just ride along in the same clone." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:112 +msgid "Worked example: ``sepal-sam``" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:114 +msgid "" +"The catalog entry below is a real, hidden kernel app. Its description is " +"simply *\"SAM environment\"* — it ships the environment for SAM-based " +"notebooks and never appears in the dashboard:" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:130 +msgid "" +"Because the ``sepal-sam`` repository contains a " +"``sepal_environment.yml``, SEPAL builds its micromamba environment and " +"registers a ``(venv) Sepal SAM`` kernel. Any notebook a user opens can " +"then select that kernel and run against the SAM stack immediately." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:138 +msgid "Recommended: ``sepal_environment.yml``" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:140 +msgid "" +"Declare your kernel with a ``sepal_environment.yml`` at the root of the " +"app repository. It is a standard conda/micromamba environment file, and " +"it is the preferred way to define a SEPAL kernel because micromamba " +"bundles native libraries (GDAL, GEOS, CUDA, HDF5, …) inside the " +"environment — so it keeps working when SEPAL upgrades system-level " +"libraries. A plain ``requirements.txt`` is still supported for backward " +"compatibility, but it installs into a system-Python venv and can break on" +" platform upgrades." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:148 +msgid "A minimal example:" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:164 +msgid "" +"You do not need to add ``ipykernel`` yourself — SEPAL installs it into " +"the environment when it builds the kernel." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:167 +msgid "" +"Once the file is in your repository and the app is in the catalog (see " +":ref:`developers_apps_catalog`), every release that changes " +"``sepal_environment.yml`` triggers a rebuild of the shared kernel on the " +"next update." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:174 +msgid "" +":ref:`env_management` — managing your *own* environments and kernels " +"interactively, when you don't need a shared, centrally built one." +msgstr "" + diff --git a/docs/source/_locale/sv/LC_MESSAGES/developers/apps/releases.po b/docs/source/_locale/sv/LC_MESSAGES/developers/apps/releases.po new file mode 100644 index 0000000000..a4bb4ae86c --- /dev/null +++ b/docs/source/_locale/sv/LC_MESSAGES/developers/apps/releases.po @@ -0,0 +1,214 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: sv\n" +"Language-Team: sv \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/developers/apps/releases.rst:4 +msgid "Create a release" +msgstr "" + +#: ../../source/developers/apps/releases.rst:5 +msgid "*Ship a new version of an app already in the SEPAL catalog*" +msgstr "" + +#: ../../source/developers/apps/releases.rst:7 +msgid "" +"Once your app is in the catalog (see :ref:`developers_apps_catalog`), the" +" way you ship a new version depends on the app's ``endpoint`` (see " +":ref:`developers_apps_types`):" +msgstr "" + +#: ../../source/developers/apps/releases.rst:11 +msgid "" +"**Jupyter apps** (and :ref:`kernels `, which are" +" just hidden jupyter apps) are not pinned to a commit. The app-manager " +"checks out the tip of the catalog's ``branch`` (defaulting to ``HEAD``) " +"every time the sandbox refreshes the app, so a release is just a push to " +"that branch in your source repository — no catalog change is needed." +msgstr "" + +#: ../../source/developers/apps/releases.rst:16 +msgid "" +"**Docker apps** are pinned in the catalog to an exact commit SHA. SEPAL " +"keeps running the old commit until that ``commit`` field is advanced, so " +"a release is, in practice, a pull request against the catalog." +msgstr "" + +#: ../../source/developers/apps/releases.rst:20 +msgid "The rest of this page describes each flow in turn." +msgstr "" + +#: ../../source/developers/apps/releases.rst:25 +msgid "Jupyter and kernel apps" +msgstr "" + +#: ../../source/developers/apps/releases.rst:27 +msgid "" +"These endpoints don't take a ``commit`` field in the catalog — only " +"``branch`` (which defaults to ``HEAD``). On every sandbox refresh the " +"app-manager runs the equivalent of ``git fetch`` + checkout of that " +"branch's tip, so whatever is at the head of the tracked branch is what " +"users get." +msgstr "" + +#: ../../source/developers/apps/releases.rst:33 +msgid "Releasing a new version" +msgstr "" + +#: ../../source/developers/apps/releases.rst:35 +msgid "" +"Push the change to the branch the catalog tracks for your app. The next " +"time the user's sandbox refreshes the app, the new tip is picked up " +"automatically. No catalog PR is required." +msgstr "" + +#: ../../source/developers/apps/releases.rst:42 +#: ../../source/developers/apps/releases.rst:68 +msgid "The release branch convention" +msgstr "" + +#: ../../source/developers/apps/releases.rst:44 +msgid "" +"Because every push to the tracked branch is effectively a release, most " +"contributors keep a dedicated ``release`` branch and pin ``\"branch\": " +"\"release\"`` in the catalog rather than ``main``. You develop on " +"``main`` and merge into ``release`` only when you intend to publish — " +"that way unreviewed work on ``main`` doesn't go live the moment it is " +"pushed." +msgstr "" + +#: ../../source/developers/apps/releases.rst:50 +msgid "" +"This is a convention, not a requirement. Any branch works; if you pin " +"``main``, every push to ``main`` is a release." +msgstr "" + +#: ../../source/developers/apps/releases.rst:56 +msgid "Docker apps" +msgstr "" + +#: ../../source/developers/apps/releases.rst:58 +msgid "" +"Docker apps carry a required ``commit`` SHA in the catalog. The app-" +"launcher runs ``git fetch origin `` followed by ``git checkout " +"--detach ``, so SEPAL only ever runs that exact commit — " +"regardless of what is at the tip of ``branch``. Shipping a new version " +"therefore means advancing the ``commit`` field in the catalog." +msgstr "" + +#: ../../source/developers/apps/releases.rst:64 +msgid "" +"There are two ways to do that: a manual pull request, or an automated " +"bump triggered when your source repository publishes a release." +msgstr "" + +#: ../../source/developers/apps/releases.rst:70 +msgid "" +"Many docker apps pin ``\"branch\": \"release\"`` rather than ``main``. " +"Since the catalog validation requires the pinned ``commit`` to be " +"reachable from ``branch``, keeping a dedicated ``release`` branch lets " +"you continue developing on ``main`` while controlling exactly which " +"commits are eligible to be pinned: you merge into ``release`` only when " +"you intend to publish, and that merge commit is the one you pin." +msgstr "" + +#: ../../source/developers/apps/releases.rst:77 +msgid "" +"This is a convention, not a requirement — any branch works as long as the" +" pinned commit is reachable from it." +msgstr "" + +#: ../../source/developers/apps/releases.rst:81 +msgid "Manual release" +msgstr "" + +#: ../../source/developers/apps/releases.rst:83 +msgid "" +"Push the code you want to ship and note the commit SHA on your release " +"branch." +msgstr "" + +#: ../../source/developers/apps/releases.rst:85 +msgid "" +"Open a PR against ``apps.test.json`` changing the ``commit`` field of " +"your app's entry (and ``branch`` if it moved)." +msgstr "" + +#: ../../source/developers/apps/releases.rst:87 +msgid "" +"The ``Review helper`` bot posts a compare link showing exactly what " +"changed upstream between the old and new commit, with risk flags. A " +"maintainer reviews and merges; the change goes live on test.sepal.io." +msgstr "" + +#: ../../source/developers/apps/releases.rst:90 +msgid "" +"Promote to sepal.io with a second PR against ``apps.prod.json`` (or the " +"``Promote app to production`` workflow)." +msgstr "" + +#: ../../source/developers/apps/releases.rst:95 +msgid "" +"Validation requires the new commit to be an *ancestor of* (or equal to) " +"the branch tip — exactly what the app-launcher needs, since it runs ``git" +" fetch origin `` then ``git checkout --detach ``. You can" +" spot-check this before opening the PR:" +msgstr "" + +#: ../../source/developers/apps/releases.rst:106 +msgid "Automated release from your source repo" +msgstr "" + +#: ../../source/developers/apps/releases.rst:108 +msgid "" +"The catalog can bump a docker app automatically when your repository " +"publishes a GitHub release. The catalog's ``update-from-release.yml`` " +"workflow listens for a ``repository_dispatch`` event of type ``bump-" +"app``; on receipt it updates the app's ``commit`` in ``apps.test.json`` " +"and opens a pull request for a maintainer to review." +msgstr "" + +#: ../../source/developers/apps/releases.rst:114 +msgid "" +"To wire this up, add a workflow to your app's repository that sends the " +"dispatch on release. The snippet below is a starting point — adjust the " +"app ``id`` and the catalog repository to match your setup:" +msgstr "" + +#: ../../source/developers/apps/releases.rst:139 +msgid "" +"The token must have permission to dispatch to the catalog repository. The" +" bump only updates ``commit`` — never ``branch`` — and still goes through" +" the normal validation, risk-flag review, and maintainer merge before " +"reaching test." +msgstr "" + +#: ../../source/developers/apps/releases.rst:145 +msgid "" +"The exact ``client_payload`` fields the catalog expects may evolve. " +"Confirm against the catalog's ``update-from-release.yml`` and " +"``docs/ci.md`` before relying on this in production." +msgstr "" + +#: ../../source/developers/apps/releases.rst:151 +msgid "" +"The end-to-end lifecycle diagram lives on the section landing page — " +":ref:`developers_apps`." +msgstr "" + diff --git a/docs/source/_locale/sv/LC_MESSAGES/developers/index.po b/docs/source/_locale/sv/LC_MESSAGES/developers/index.po new file mode 100644 index 0000000000..dad0006574 --- /dev/null +++ b/docs/source/_locale/sv/LC_MESSAGES/developers/index.po @@ -0,0 +1,45 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: sv\n" +"Language-Team: sv \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/developers/index.rst:11 +msgid "Command-line tools" +msgstr "" + +#: ../../source/developers/index.rst:11 +msgid "Develop apps" +msgstr "" + +#: ../../source/developers/index.rst:4 +msgid "For developers" +msgstr "" + +#: ../../source/developers/index.rst:5 +msgid "*Tools, conventions and workflows for building on the SEPAL platform*" +msgstr "" + +#: ../../source/developers/index.rst:7 +msgid "" +"This section is for developers and trainers working on SEPAL rather than " +"just using it: scripting against the sandbox from the command line, " +"packaging environments for shared use, and publishing apps that other " +"users can run." +msgstr "" + diff --git a/docs/source/_locale/sv/LC_MESSAGES/feature/index.po b/docs/source/_locale/sv/LC_MESSAGES/feature/index.po index 1613abeed5..8158780ff5 100644 --- a/docs/source/_locale/sv/LC_MESSAGES/feature/index.po +++ b/docs/source/_locale/sv/LC_MESSAGES/feature/index.po @@ -1,33 +1,53 @@ + msgid "" msgstr "" -"Project-Id-Version: sepal-doc\n" +"Project-Id-Version: sepal-doc\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-03-07 09:39+0100\n" -"PO-Revision-Date: 2024-03-07 09:04\n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: 2024-03-07 09:04+0000\n" "Last-Translator: \n" +"Language: sv_SE\n" "Language-Team: Swedish\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.14.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Crowdin-Project: sepal-doc\n" -"X-Crowdin-Project-ID: 562097\n" -"X-Crowdin-Language: sv-SE\n" -"X-Crowdin-File: /main/docs/source/_locale/en/LC_MESSAGES/feature/index.po\n" -"X-Crowdin-File-ID: 81\n" -"Language: sv_SE\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/feature/index.rst:9 +msgid "Organize recipes" +msgstr "" + +#: ../../source/feature/index.rst:9 +msgid "AOI selection" +msgstr "" + +#: ../../source/feature/index.rst:9 +msgid "Optical bands" +msgstr "" + +#: ../../source/feature/index.rst:9 +msgid "Radar bands" +msgstr "" + +#: ../../source/feature/index.rst:9 +msgid "Visualization" +msgstr "" #: ../../source/feature/index.rst:2 msgid "Features" msgstr "" #: ../../source/feature/index.rst:3 -msgid "*Analyse, combine and visualize different types of data with SEPAL features*" +msgid "" +"*Analyse, combine and visualize different types of data with SEPAL " +"features*" msgstr "" #: ../../source/feature/index.rst:5 -msgid "Since these features can be accessed across various recipes and modules, they are described extensively in this section of the documentation." +msgid "" +"Since these features can be accessed across various recipes and modules, " +"they are described extensively in this section of the documentation." msgstr "" #: ../../source/feature/index.rst:7 diff --git a/docs/source/_locale/sv/LC_MESSAGES/feature/optical_bands.po b/docs/source/_locale/sv/LC_MESSAGES/feature/optical_bands.po new file mode 100644 index 0000000000..6a77df6c57 --- /dev/null +++ b/docs/source/_locale/sv/LC_MESSAGES/feature/optical_bands.po @@ -0,0 +1,953 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: sv\n" +"Language-Team: sv \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/feature/optical_bands.rst:2 +msgid "Optical Satellite bands, transformations, and indices" +msgstr "" + +#: ../../source/feature/optical_bands.rst:4 +msgid "" +"When exporting an optical satellite image in SEPAL, you can choose from a" +" variety of bands, transformations, and indices to enhance your analysis " +"and visualization. Understanding the characteristics and applications of " +"different bands can help you optimize your image processing workflow and " +"extract valuable insights from satellite data." +msgstr "" + +#: ../../source/feature/optical_bands.rst:13 +msgid "Bands" +msgstr "" + +#: ../../source/feature/optical_bands.rst:15 +msgid "" +"Satellite imagery is composed of multiple bands, each capturing light in " +"specific wavelengths. Depending on the satellite sensor and mission, " +"SEPAL offers a range of bands that can be used for export and analysis." +msgstr "" + +#: ../../source/feature/optical_bands.rst:18 +msgid "Band" +msgstr "" + +#: ../../source/feature/optical_bands.rst:18 +msgid "Sentinel 2" +msgstr "" + +#: ../../source/feature/optical_bands.rst:18 +msgid "Landsat 9" +msgstr "" + +#: ../../source/feature/optical_bands.rst:18 +msgid "Landsat 8" +msgstr "" + +#: ../../source/feature/optical_bands.rst:18 +msgid "Landsat 7" +msgstr "" + +#: ../../source/feature/optical_bands.rst:18 +msgid "Landsat TM" +msgstr "" + +#: ../../source/feature/optical_bands.rst:20 +msgid "pan" +msgstr "" + +#: ../../source/feature/optical_bands.rst:20 +#: ../../source/feature/optical_bands.rst:22 +#: ../../source/feature/optical_bands.rst:32 +#: ../../source/feature/optical_bands.rst:34 +#: ../../source/feature/optical_bands.rst:36 +#: ../../source/feature/optical_bands.rst:38 +#: ../../source/feature/optical_bands.rst:44 +#: ../../source/feature/optical_bands.rst:46 +#: ../../source/feature/optical_bands.rst:48 +#: ../../source/feature/optical_bands.rst:50 +msgid "❌" +msgstr "" + +#: ../../source/feature/optical_bands.rst:20 +#: ../../source/feature/optical_bands.rst:22 +#: ../../source/feature/optical_bands.rst:24 +#: ../../source/feature/optical_bands.rst:26 +#: ../../source/feature/optical_bands.rst:28 +#: ../../source/feature/optical_bands.rst:30 +#: ../../source/feature/optical_bands.rst:32 +#: ../../source/feature/optical_bands.rst:34 +#: ../../source/feature/optical_bands.rst:36 +#: ../../source/feature/optical_bands.rst:38 +#: ../../source/feature/optical_bands.rst:40 +#: ../../source/feature/optical_bands.rst:42 +#: ../../source/feature/optical_bands.rst:44 +#: ../../source/feature/optical_bands.rst:46 +#: ../../source/feature/optical_bands.rst:48 +#: ../../source/feature/optical_bands.rst:50 +#: ../../source/feature/optical_bands.rst:52 +#: ../../source/feature/optical_bands.rst:54 +#: ../../source/feature/optical_bands.rst:56 +#: ../../source/feature/optical_bands.rst:58 +#: ../../source/feature/optical_bands.rst:60 +#: ../../source/feature/optical_bands.rst:62 +msgid "✅" +msgstr "" + +#: ../../source/feature/optical_bands.rst:22 +msgid "aerosol" +msgstr "" + +#: ../../source/feature/optical_bands.rst:24 +msgid "blue" +msgstr "" + +#: ../../source/feature/optical_bands.rst:26 +msgid "green" +msgstr "" + +#: ../../source/feature/optical_bands.rst:28 +msgid "red" +msgstr "" + +#: ../../source/feature/optical_bands.rst:30 +msgid "nir" +msgstr "" + +#: ../../source/feature/optical_bands.rst:32 +msgid "redEdge1" +msgstr "" + +#: ../../source/feature/optical_bands.rst:34 +msgid "redEdge2" +msgstr "" + +#: ../../source/feature/optical_bands.rst:36 +msgid "redEdge3" +msgstr "" + +#: ../../source/feature/optical_bands.rst:38 +msgid "redEdge4" +msgstr "" + +#: ../../source/feature/optical_bands.rst:40 +msgid "swir1" +msgstr "" + +#: ../../source/feature/optical_bands.rst:42 +msgid "swir2" +msgstr "" + +#: ../../source/feature/optical_bands.rst:44 +msgid "cirrus" +msgstr "" + +#: ../../source/feature/optical_bands.rst:46 +msgid "thermal" +msgstr "" + +#: ../../source/feature/optical_bands.rst:48 +msgid "thermal2" +msgstr "" + +#: ../../source/feature/optical_bands.rst:50 +msgid "waterVapor" +msgstr "" + +#: ../../source/feature/optical_bands.rst:52 +msgid "brightness" +msgstr "" + +#: ../../source/feature/optical_bands.rst:54 +msgid "greenness" +msgstr "" + +#: ../../source/feature/optical_bands.rst:56 +msgid "wetness" +msgstr "" + +#: ../../source/feature/optical_bands.rst:58 +msgid "fourth" +msgstr "" + +#: ../../source/feature/optical_bands.rst:60 +msgid "fifth" +msgstr "" + +#: ../../source/feature/optical_bands.rst:62 +msgid "sixth" +msgstr "" + +#: ../../source/feature/optical_bands.rst:66 +msgid "Description" +msgstr "" + +#: ../../source/feature/optical_bands.rst:68 +msgid "**Pan (Panchromatic)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:69 +msgid "" +"**Description**: Captures data in a single broad wavelength band, " +"offering higher spatial resolution." +msgstr "" + +#: ../../source/feature/optical_bands.rst:70 +#: ../../source/feature/optical_bands.rst:76 +#: ../../source/feature/optical_bands.rst:83 +#: ../../source/feature/optical_bands.rst:90 +#: ../../source/feature/optical_bands.rst:97 +#: ../../source/feature/optical_bands.rst:104 +#: ../../source/feature/optical_bands.rst:111 +#: ../../source/feature/optical_bands.rst:117 +#: ../../source/feature/optical_bands.rst:124 +#: ../../source/feature/optical_bands.rst:131 +#: ../../source/feature/optical_bands.rst:138 +#: ../../source/feature/optical_bands.rst:144 +msgid "**Wavelengths**:" +msgstr "" + +#: ../../source/feature/optical_bands.rst:71 +msgid "0.500-0.680 µm, only for Landsat." +msgstr "" + +#: ../../source/feature/optical_bands.rst:72 +msgid "**Usage**: High-resolution imaging for mapping and urban planning." +msgstr "" + +#: ../../source/feature/optical_bands.rst:74 +msgid "**Aerosol**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:75 +msgid "" +"**Description**: Used for detecting aerosols (tiny particles) in the " +"atmosphere, which can be crucial for air quality monitoring and climate " +"studies." +msgstr "" + +#: ../../source/feature/optical_bands.rst:77 +msgid "0.433-0.453 µm for Landsat 8 and 9." +msgstr "" + +#: ../../source/feature/optical_bands.rst:78 +msgid "0.443-0.463 µm for Sentinel-2." +msgstr "" + +#: ../../source/feature/optical_bands.rst:79 +msgid "**Usage**: Air pollution assessment, wildfire smoke tracking." +msgstr "" + +#: ../../source/feature/optical_bands.rst:81 +msgid "**Blue**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:82 +msgid "**Description**: Captures light in the blue wavelength." +msgstr "" + +#: ../../source/feature/optical_bands.rst:84 +msgid "0.450-0.510 µm for Landsat 8 and 9." +msgstr "" + +#: ../../source/feature/optical_bands.rst:85 +msgid "0.490-0.555 µm for Sentinel-2." +msgstr "" + +#: ../../source/feature/optical_bands.rst:86 +msgid "" +"**Usage**: Coastal water mapping, vegetation health monitoring, and " +"identification of shallow water bodies." +msgstr "" + +#: ../../source/feature/optical_bands.rst:88 +msgid "**Green**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:89 +msgid "**Description**: Captures light in the green wavelength." +msgstr "" + +#: ../../source/feature/optical_bands.rst:91 +msgid "0.530-0.590 µm for Landsat 8 and 9." +msgstr "" + +#: ../../source/feature/optical_bands.rst:92 +msgid "0.560-0.595 µm for Sentinel-2." +msgstr "" + +#: ../../source/feature/optical_bands.rst:93 +msgid "**Usage**: Mapping vegetation, water bodies, and urban areas." +msgstr "" + +#: ../../source/feature/optical_bands.rst:95 +msgid "**Red**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:96 +msgid "**Description**: Captures light in the red wavelength." +msgstr "" + +#: ../../source/feature/optical_bands.rst:98 +msgid "0.640-0.670 µm for Landsat 8 and 9." +msgstr "" + +#: ../../source/feature/optical_bands.rst:99 +msgid "0.665-0.695 µm for Sentinel-2." +msgstr "" + +#: ../../source/feature/optical_bands.rst:100 +msgid "" +"**Usage**: Vegetation analysis, especially in calculating vegetation " +"indices like NDVI." +msgstr "" + +#: ../../source/feature/optical_bands.rst:102 +msgid "**NIR (Near-Infrared)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:103 +msgid "**Description**: Captures light in the near-infrared spectrum." +msgstr "" + +#: ../../source/feature/optical_bands.rst:105 +msgid "0.850-0.880 µm for Landsat 8 and 9." +msgstr "" + +#: ../../source/feature/optical_bands.rst:106 +msgid "0.780-0.900 µm for Sentinel-2." +msgstr "" + +#: ../../source/feature/optical_bands.rst:107 +msgid "" +"**Usage**: Differentiating between vegetation and water, and monitoring " +"vegetation health." +msgstr "" + +#: ../../source/feature/optical_bands.rst:109 +msgid "**Red Edge (4)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:110 +msgid "" +"**Description**: 4 narrow Bands in the VNIR vegetation red edge spectral " +"domain: Red edge 1, Red edge 2, Red edge 3, Red edge 4, is a region of " +"the electromagnetic spectrum where the spectral reflectance of green " +"vegetation changes rapidly" +msgstr "" + +#: ../../source/feature/optical_bands.rst:112 +msgid "~704nm,~740nm, ~783nm and ~865nm, only for Sentinel-2." +msgstr "" + +#: ../../source/feature/optical_bands.rst:113 +msgid "" +"**Usage**: Detailed vegetation health monitoring, particularly for " +"precision agriculture." +msgstr "" + +#: ../../source/feature/optical_bands.rst:115 +msgid "**SWIR 1 (Shortwave Infrared 1)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:116 +#: ../../source/feature/optical_bands.rst:123 +msgid "**Description**: Captures light in the shortwave infrared spectrum." +msgstr "" + +#: ../../source/feature/optical_bands.rst:118 +msgid "1.570-1.650 µm for Landsat 8 and 9." +msgstr "" + +#: ../../source/feature/optical_bands.rst:119 +msgid "1.560-1.660 µm for Sentinel-2." +msgstr "" + +#: ../../source/feature/optical_bands.rst:120 +msgid "" +"**Usage**: Detecting moisture content in soil and vegetation, mapping " +"burned areas." +msgstr "" + +#: ../../source/feature/optical_bands.rst:122 +msgid "**SWIR 2 (Shortwave Infrared 2)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:125 +msgid "2.110-2.290 µm for Landsat 8 and 9." +msgstr "" + +#: ../../source/feature/optical_bands.rst:126 +msgid "2.100-2.280 µm for Sentinel-2." +msgstr "" + +#: ../../source/feature/optical_bands.rst:127 +msgid "" +"**Usage**: Distinguishing snow from clouds, mapping geological features, " +"and burn scars." +msgstr "" + +#: ../../source/feature/optical_bands.rst:129 +msgid "**Cirrus**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:130 +msgid "**Description**: A band designed to detect high-altitude cirrus clouds." +msgstr "" + +#: ../../source/feature/optical_bands.rst:132 +msgid "1.360-1.380 µm for Landsat 8 and 9." +msgstr "" + +#: ../../source/feature/optical_bands.rst:133 +msgid "1.360-1.390 µm for Sentinel-2." +msgstr "" + +#: ../../source/feature/optical_bands.rst:134 +msgid "" +"**Usage**: Cloud screening in high-altitude regions to improve " +"atmospheric correction." +msgstr "" + +#: ../../source/feature/optical_bands.rst:136 +msgid "**Thermal 1**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:137 +#: ../../source/feature/optical_bands.rst:143 +msgid "" +"**Description**: Measures thermal radiation emitted by the Earth's " +"surface." +msgstr "" + +#: ../../source/feature/optical_bands.rst:139 +msgid "10.60-11.19 µm for Landsat 8 and 9." +msgstr "" + +#: ../../source/feature/optical_bands.rst:140 +#: ../../source/feature/optical_bands.rst:146 +msgid "" +"**Usage**: Monitoring land surface temperature, detecting fires, and " +"assessing volcanic activity." +msgstr "" + +#: ../../source/feature/optical_bands.rst:142 +msgid "**Thermal 2**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:145 +msgid "11.50-12.51 µm for Landsat 8 and 9." +msgstr "" + +#: ../../source/feature/optical_bands.rst:148 +msgid "**Water Vapor**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:149 +msgid "" +"**Description**: Sensitive to atmospheric water vapor absorption, " +"commonly used for weather and climate studies." +msgstr "" + +#: ../../source/feature/optical_bands.rst:150 +msgid "**Usage**: Studying cloud formation, precipitation, and humidity levels." +msgstr "" + +#: ../../source/feature/optical_bands.rst:154 +msgid "Tasseled Cap Transformation" +msgstr "" + +#: ../../source/feature/optical_bands.rst:156 +msgid "" +"The Tasseled Cap Transformation is a method to transform satellite " +"imagery into three brightness components (Brightness, Greenness, and " +"Wetness) and three color components (Red, Green, and Blue). This " +"transformation is particularly useful for analyzing land cover changes, " +"vegetation health, and urban development over time." +msgstr "" + +#: ../../source/feature/optical_bands.rst:158 +msgid "**Brightness**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:159 +msgid "" +"**Description**: Measures the brightness band measures the overall " +"brightness of the image, specifically the soil." +msgstr "" + +#: ../../source/feature/optical_bands.rst:160 +msgid "" +"**Usage**: this band is often used to identify bare or partially covered " +"soil, man-made features, and natural features like asphalt, concrete, " +"gravel, and rock outcrops." +msgstr "" + +#: ../../source/feature/optical_bands.rst:162 +msgid "**Greenness**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:163 +msgid "" +"**Description**: Measures the density and health of vegetation by " +"capitalizing on the chlorophyll absorption in the red band and the high " +"reflectance in the near-infrared band. It enhances the contrast between " +"vegetated areas and non-vegetated areas." +msgstr "" + +#: ../../source/feature/optical_bands.rst:164 +msgid "" +"**Usage**: Widely used in assessing plant health, monitoring crop " +"conditions, tracking forest cover changes, and managing natural " +"resources." +msgstr "" + +#: ../../source/feature/optical_bands.rst:166 +msgid "**Wetness**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:167 +msgid "" +"**Description**: Captures moisture content in both soil and vegetation. " +"This band is sensitive to the moisture continuum from dry to wet " +"surfaces, helping to differentiate moist soils and saturated vegetation " +"from dry areas." +msgstr "" + +#: ../../source/feature/optical_bands.rst:168 +msgid "" +"**Usage**: Important for identifying wetlands, managing irrigation in " +"agriculture, detecting flood-prone areas, and conducting soil moisture " +"studies." +msgstr "" + +#: ../../source/feature/optical_bands.rst:170 +msgid "**Fourth Component**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:171 +msgid "" +"**Description**: Often calibrated to highlight additional properties of " +"vegetation or soil, such as senescence or specific soil types. The exact " +"nature of this band can vary depending on the coefficients and sensor " +"used." +msgstr "" + +#: ../../source/feature/optical_bands.rst:172 +msgid "" +"**Usage**: Can be used to differentiate between types of vegetation or " +"stages of crop maturity, and to detect stressed vegetation in forestry " +"and agriculture." +msgstr "" + +#: ../../source/feature/optical_bands.rst:174 +msgid "**Fifth Component**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:175 +msgid "" +"**Description**: Typically emphasizes land disturbance or variability in " +"land cover types, providing a finer distinction between different types " +"of ground cover and land use." +msgstr "" + +#: ../../source/feature/optical_bands.rst:176 +msgid "" +"**Usage**: Useful in monitoring land cover changes over time, detecting " +"disturbances like deforestation or urban expansion, and enhancing land " +"cover classification schemes." +msgstr "" + +#: ../../source/feature/optical_bands.rst:178 +msgid "**Sixth Component**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:179 +msgid "" +"**Description**: This band often captures more subtle or residual " +"information that the other bands do not emphasize. It can be less " +"directly interpretable and might be seen as highlighting noise or " +"anomalies in the data." +msgstr "" + +#: ../../source/feature/optical_bands.rst:180 +msgid "" +"**Usage**: Potentially useful for detecting subtle ecological changes, " +"analyzing noise in the data for improved image processing, and refining " +"classifications by providing additional context." +msgstr "" + +#: ../../source/feature/optical_bands.rst:184 +msgid "Vegetation Indices" +msgstr "" + +#: ../../source/feature/optical_bands.rst:186 +msgid "" +"Vegetation indices are mathematical transformations of satellite data " +"that highlight specific vegetation properties, such as chlorophyll " +"content, leaf area, or vegetation health. These indices are widely used " +"in agriculture, forestry, and environmental monitoring to assess plant " +"growth, detect stress, and monitor land cover changes." +msgstr "" + +#: ../../source/feature/optical_bands.rst:188 +msgid "**NDVI (Normalized Difference Vegetation Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:189 +msgid "" +"**Description**: Measures the density and health of vegetation by " +"calculating the difference between the near-infrared (NIR) and red light " +"reflected by vegetation. Healthy vegetation absorbs most of the visible " +"light and reflects a large portion of the NIR." +msgstr "" + +#: ../../source/feature/optical_bands.rst:190 +msgid "" +"**Usage**: Used to assess vegetation health, monitor drought, and manage " +"agricultural operations." +msgstr "" + +#: ../../source/feature/optical_bands.rst:191 +msgid "**Formula**: (NIR - Red) / (NIR + Red)" +msgstr "" + +#: ../../source/feature/optical_bands.rst:193 +msgid "**NDMI (Normalized Difference Moisture Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:194 +msgid "" +"**Description**: Highlights moisture content in vegetation by utilizing " +"the NIR and short-wave infrared (SWIR1) bands. It is sensitive to " +"moisture content in vegetation." +msgstr "" + +#: ../../source/feature/optical_bands.rst:195 +msgid "" +"**Usage**: Useful in monitoring vegetation hydration and managing " +"irrigation in agricultural contexts." +msgstr "" + +#: ../../source/feature/optical_bands.rst:196 +msgid "**Formula**: (NIR - SWIR1) / (NIR + SWIR1)" +msgstr "" + +#: ../../source/feature/optical_bands.rst:198 +msgid "**NDWI (Normalized Difference Water Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:199 +msgid "" +"**Description**: Designed to identify and monitor changes in water " +"content in vegetation, leveraging the green and NIR bands to maximize the" +" reflection differences." +msgstr "" + +#: ../../source/feature/optical_bands.rst:200 +msgid "" +"**Usage**: Employed in monitoring water stress in crops, detecting water " +"bodies, and managing wetland areas." +msgstr "" + +#: ../../source/feature/optical_bands.rst:201 +msgid "**Formula**: (Green - NIR) / (Green + NIR)" +msgstr "" + +#: ../../source/feature/optical_bands.rst:203 +msgid "**MNDWI (Modified Normalized Difference Water Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:204 +msgid "" +"**Description**: Enhances the detection of surface water by using the " +"green and SWIR1 bands, reducing the influence of built-up land that can " +"be confused with water in traditional NDWI." +msgstr "" + +#: ../../source/feature/optical_bands.rst:205 +msgid "" +"**Usage**: Used to map and monitor surface water bodies, crucial for " +"flood mapping and water resource management." +msgstr "" + +#: ../../source/feature/optical_bands.rst:206 +msgid "**Formula**: (Green - SWIR1) / (Green + SWIR1)" +msgstr "" + +#: ../../source/feature/optical_bands.rst:208 +msgid "**NDFI (Normalized Difference Fraction Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:209 +msgid "" +"**Description**: Typically used to distinguish between different types of" +" vegetation and non-vegetation elements, providing a measure of " +"vegetation cover fraction." +msgstr "" + +#: ../../source/feature/optical_bands.rst:210 +msgid "" +"**Usage**: Utilized in forest management and land cover classification " +"tasks." +msgstr "" + +#: ../../source/feature/optical_bands.rst:211 +msgid "**Formula**: Index-specific, varies based on application." +msgstr "" + +#: ../../source/feature/optical_bands.rst:213 +msgid "**EVI (Enhanced Vegetation Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:214 +msgid "" +"**Description**: Improves the NDVI by optimizing the vegetation signal " +"with improved sensitivity in high biomass regions and reducing background" +" and atmospheric noise." +msgstr "" + +#: ../../source/feature/optical_bands.rst:215 +msgid "" +"**Usage**: Frequently used in areas where vegetation monitoring requires " +"greater sensitivity to biomass." +msgstr "" + +#: ../../source/feature/optical_bands.rst:216 +msgid "**Formula**: 2.5 * (NIR - Red) / (NIR + 6 * Red - 7.5 * Blue + 1)" +msgstr "" + +#: ../../source/feature/optical_bands.rst:218 +msgid "**EVI2 (Enhanced Vegetation Index 2)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:219 +msgid "" +"**Description**: A refinement of EVI that uses only red and NIR bands, " +"designed for areas where blue band data may not be reliable." +msgstr "" + +#: ../../source/feature/optical_bands.rst:220 +msgid "" +"**Usage**: Ideal for vegetation monitoring through dense atmosphere or " +"where the blue band is unavailable." +msgstr "" + +#: ../../source/feature/optical_bands.rst:221 +msgid "**Formula**: 2.5 * (NIR - Red) / (NIR + 2.4 * Red + 1)" +msgstr "" + +#: ../../source/feature/optical_bands.rst:223 +msgid "**SAVI (Soil-Adjusted Vegetation Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:224 +msgid "" +"**Description**: Adjusts the NDVI for the influence of soil brightness, " +"particularly useful in areas with sparse vegetation where soil is " +"visible." +msgstr "" + +#: ../../source/feature/optical_bands.rst:225 +msgid "" +"**Usage**: Applied in semi-arid regions to improve the accuracy of " +"vegetation assessments." +msgstr "" + +#: ../../source/feature/optical_bands.rst:226 +msgid "**Formula**: (1.5 * (NIR - Red) / (NIR + Red + 0.5))" +msgstr "" + +#: ../../source/feature/optical_bands.rst:228 +msgid "**NBR (Normalized Burn Ratio)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:229 +msgid "" +"**Description**: Utilizes NIR and SWIR2 bands to assess the severity of " +"burn damage and the delineation of burned areas." +msgstr "" + +#: ../../source/feature/optical_bands.rst:230 +msgid "" +"**Usage**: Key for assessing post-fire recovery in forested areas and " +"mapping burn severity." +msgstr "" + +#: ../../source/feature/optical_bands.rst:231 +msgid "**Formula**: (NIR - SWIR2) / (NIR + SWIR2)" +msgstr "" + +#: ../../source/feature/optical_bands.rst:233 +msgid "**MVI (Mangrove Vegetation Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:234 +msgid "" +"**Description**: Specifically designed to enhance the detection and " +"monitoring of mangrove forests by using NIR and green bands." +msgstr "" + +#: ../../source/feature/optical_bands.rst:235 +msgid "" +"**Usage**: Used in coastal management and conservation of mangrove " +"ecosystems." +msgstr "" + +#: ../../source/feature/optical_bands.rst:236 +msgid "**Formula**: 0.1 * (NIR - Green) / abs(SWIR1 - Green)" +msgstr "" + +#: ../../source/feature/optical_bands.rst:238 +msgid "**UI (Urban Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:239 +msgid "" +"**Description**: Highlights urban areas by exploiting the differences in " +"reflection between SWIR2 and NIR bands." +msgstr "" + +#: ../../source/feature/optical_bands.rst:240 +msgid "" +"**Usage**: Useful for urban mapping and monitoring changes in urban land " +"use." +msgstr "" + +#: ../../source/feature/optical_bands.rst:241 +msgid "**Formula**: (SWIR2 - NIR) / (SWIR2 + NIR)" +msgstr "" + +#: ../../source/feature/optical_bands.rst:243 +msgid "**NDBI (Normalized Difference Built-up Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:244 +msgid "" +"**Description**: Differentiates urban and built-up areas from natural " +"land cover by using NIR and SWIR1 bands." +msgstr "" + +#: ../../source/feature/optical_bands.rst:245 +msgid "**Usage**: Employed in urban planning and studying urban heat islands." +msgstr "" + +#: ../../source/feature/optical_bands.rst:246 +msgid "**Formula**: (SWIR1 - NIR) / (SWIR1 + NIR)" +msgstr "" + +#: ../../source/feature/optical_bands.rst:248 +msgid "**IBI (Index-based Built-up Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:249 +msgid "" +"**Description**: Combines NDBI with SAVI and MNDWI to provide a more " +"comprehensive measure of built-up areas." +msgstr "" + +#: ../../source/feature/optical_bands.rst:250 +msgid "**Usage**: Useful in detailed urban analysis and land use classification." +msgstr "" + +#: ../../source/feature/optical_bands.rst:251 +msgid "**Formula**: (NDBI - (SAVI + MNDWI) / 2) / (NDBI + (SAVI + MNDWI) / 2)" +msgstr "" + +#: ../../source/feature/optical_bands.rst:253 +msgid "**NBI (New Built-up Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:254 +msgid "" +"**Description**: Employs red, NIR, and SWIR1 bands to enhance the " +"detection of built-up areas." +msgstr "" + +#: ../../source/feature/optical_bands.rst:255 +msgid "**Usage**: Applied in urban growth monitoring and land use planning." +msgstr "" + +#: ../../source/feature/optical_bands.rst:256 +msgid "**Formula**: Red * SWIR1 / NIR" +msgstr "" + +#: ../../source/feature/optical_bands.rst:258 +msgid "**EBBI (Enhanced Built-Up and Bareness Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:259 +msgid "" +"**Description**: Focuses on urban areas and bare land by incorporating " +"thermal and SWIR1 bands to detect built-up regions." +msgstr "" + +#: ../../source/feature/optical_bands.rst:260 +msgid "" +"**Usage**: Crucial for urban mapping and identifying heat-stressed areas " +"in cities." +msgstr "" + +#: ../../source/feature/optical_bands.rst:261 +msgid "**Formula**: (SWIR1 - NIR) / (10 * sqrt(SWIR1 + Thermal))" +msgstr "" + +#: ../../source/feature/optical_bands.rst:263 +msgid "**BUI (Built-Up Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:264 +msgid "" +"**Description**: Combines multiple SWIR bands to enhance the detection " +"and differentiation of built-up areas." +msgstr "" + +#: ../../source/feature/optical_bands.rst:265 +msgid "" +"**Usage**: Employed in urban and regional planning to delineate built-up " +"from natural areas." +msgstr "" + +#: ../../source/feature/optical_bands.rst:266 +msgid "" +"**Formula**: (Red - SWIR1) / (Red + SWIR1) + (SWIR2 - SWIR1) / (SWIR2 + " +"SWIR1)" +msgstr "" + +#: ../../source/feature/optical_bands.rst:268 +msgid "**KNDVI (Kernel Normalized Difference Vegetation Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:269 +msgid "" +"**Description**: Applies a kernel function to traditional NDVI to improve" +" sensitivity and accuracy in vegetation monitoring." +msgstr "" + +#: ../../source/feature/optical_bands.rst:270 +msgid "" +"**Usage**: Used in precision agriculture and detailed vegetation studies " +"where standard NDVI is not sufficient." +msgstr "" + +#: ../../source/feature/optical_bands.rst:271 +msgid "" +"**Formula**: Kernel-function applied to NDVI, specific implementation " +"details vary." +msgstr "" + diff --git a/docs/source/_locale/sv/LC_MESSAGES/feature/project.po b/docs/source/_locale/sv/LC_MESSAGES/feature/project.po index c830364082..16ef0fba67 100644 --- a/docs/source/_locale/sv/LC_MESSAGES/feature/project.po +++ b/docs/source/_locale/sv/LC_MESSAGES/feature/project.po @@ -1,33 +1,34 @@ + msgid "" msgstr "" -"Project-Id-Version: sepal-doc\n" +"Project-Id-Version: sepal-doc\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-03-07 09:39+0100\n" -"PO-Revision-Date: 2024-03-07 09:04\n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: 2024-03-07 09:04+0000\n" "Last-Translator: \n" +"Language: sv_SE\n" "Language-Team: Swedish\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.14.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Crowdin-Project: sepal-doc\n" -"X-Crowdin-Project-ID: 562097\n" -"X-Crowdin-Language: sv-SE\n" -"X-Crowdin-File: /main/docs/source/_locale/en/LC_MESSAGES/feature/project.po\n" -"X-Crowdin-File-ID: 83\n" -"Language: sv_SE\n" +"Generated-By: Babel 2.18.0\n" #: ../../source/feature/project.rst:2 -msgid "Recipe projects" +msgid "Organize Recipes by projects" msgstr "" #: ../../source/feature/project.rst:4 -msgid "When interacting with SEPAL processes, a user creates **Recipes**, which can work together and be interconnected inside a single project (e.g. :code:`Mosaics` used in a :code:`Classification`)." +msgid "" +"When interacting with SEPAL processes, a user creates **Recipes**, which " +"can work together and be interconnected inside a single project (e.g. " +":code:`Mosaics` used in a :code:`Classification`)." msgstr "" #: ../../source/feature/project.rst:6 -msgid "To help with these interconnections, the SEPAL platform provides a :code:`Project` system to organize users' work." +msgid "" +"To help with these interconnections, the SEPAL platform provides a " +":code:`Project` system to organize users' work." msgstr "" #: ../../source/feature/project.rst:9 @@ -39,7 +40,9 @@ msgid "Go to the **Processes** interface of SEPAL (:btn:``)." msgstr "" #: ../../source/feature/project.rst:13 -msgid "(You should see the following. If you've already created recipes in previous releases, you will see a list of existing recipes)." +msgid "" +"(You should see the following. If you've already created recipes in " +"previous releases, you will see a list of existing recipes)." msgstr "" #: ../../source/feature/project.rst:20 @@ -67,7 +70,9 @@ msgid "Edit recipes" msgstr "" #: ../../source/feature/project.rst:28 -msgid "Read the following section to understand how users can create a new project and manage existing projects in the SEPAL platform." +msgid "" +"Read the following section to understand how users can create a new " +"project and manage existing projects in the SEPAL platform." msgstr "" #: ../../source/feature/project.rst:31 @@ -75,19 +80,29 @@ msgid "Project" msgstr "" #: ../../source/feature/project.rst:35 -msgid "Projects are personal. They cannot be shared and they are not visible to other users." +msgid "" +"Projects are personal. They cannot be shared and they are not visible to " +"other users." msgstr "" #: ../../source/feature/project.rst:39 -msgid "For every user, a :code:`[no project]` project is created during registration. This project will be the fallback for every recipe that was created before the publication of the feature. It cannot be deleted or renamed." +msgid "" +"For every user, a :code:`[no project]` project is created during " +"registration. This project will be the fallback for every recipe that was" +" created before the publication of the feature. It cannot be deleted or " +"renamed." msgstr "" #: ../../source/feature/project.rst:41 -msgid "To create a project, select :btn:` Projects`, which opens the interface (see figure below)." +msgid "" +"To create a project, select :btn:` Projects`, " +"which opens the interface (see figure below)." msgstr "" #: ../../source/feature/project.rst:43 -msgid "Then, select :btn:` Add` to create a new project. Enter the name and select :btn:` Apply`." +msgid "" +"Then, select :btn:` Add` to create a new project. " +"Enter the name and select :btn:` Apply`." msgstr "" #: ../../source/feature/project.rst:45 @@ -95,7 +110,10 @@ msgid "The newly created project will now appear in the list." msgstr "" #: ../../source/feature/project.rst:57 -msgid "To remove a project, select the :btn:`` icon (located beside its name), which will destroy all recipes included in the process as well." +msgid "" +"To remove a project, select the :btn:`` icon (located " +"beside its name), which will destroy all recipes included in the process " +"as well." msgstr "" #: ../../source/feature/project.rst:65 @@ -103,7 +121,11 @@ msgid "Recipes" msgstr "" #: ../../source/feature/project.rst:67 -msgid "When entering the **Process** interface, no projects are selected by default, meaning that users will see all recipes available in their SEPAL accounts. All recipes are displayed using the following prototype: :code:` / `." +msgid "" +"When entering the **Process** interface, no projects are selected by " +"default, meaning that users will see all recipes available in their SEPAL" +" accounts. All recipes are displayed using the following prototype: " +":code:` / `." msgstr "" #: ../../source/feature/project.rst:74 @@ -115,23 +137,36 @@ msgid "Filter recipes" msgstr "" #: ../../source/feature/project.rst:79 -msgid "Select (3) to filter recipes according to your project. Once selected, only the recipes included in the project will be displayed. The field is clearable (i.e. you can go back to the unfiltered state and select another project). Also, :code:`[no project]` can be selected." +msgid "" +"Select (3) to filter recipes according to your project. Once selected, " +"only the recipes included in the project will be displayed. The field is " +"clearable (i.e. you can go back to the unfiltered state and select " +"another project). Also, :code:`[no project]` can be selected." msgstr "" #: ../../source/feature/project.rst:86 -msgid "Once a project is selected, it will appear as **Current project** in the project list (see figure below)." +msgid "" +"Once a project is selected, it will appear as **Current project** in the " +"project list (see figure below)." msgstr "" #: ../../source/feature/project.rst:93 -msgid "Once a project is selected and a recipe is created, it will belong to the selected project." +msgid "" +"Once a project is selected and a recipe is created, it will belong to the" +" selected project." msgstr "" #: ../../source/feature/project.rst:97 -msgid "If you don't want your recipe to be associated with any project, unfilter the list before selecting :btn:` Add recipe`." +msgid "" +"If you don't want your recipe to be associated with any project, unfilter" +" the list before selecting :btn:` Add recipe`." msgstr "" #: ../../source/feature/project.rst:102 -msgid "Recipe behaviour can be edited directly from this view. Select the :btn:` Edit` button to open the **Editing** interface." +msgid "" +"Recipe behaviour can be edited directly from this view. Select the :btn" +":` Edit` button to open the **Editing** " +"interface." msgstr "" #: ../../source/feature/project.rst:109 @@ -139,11 +174,16 @@ msgid "From this interface, you can:" msgstr "" #: ../../source/feature/project.rst:111 -msgid ":btn:` Select`: Select/unselect all recipes shown on the screen. Any other editing operation will only be applied to the selected recipe(s)." +msgid "" +":btn:` Select`: Select/unselect all recipes shown on " +"the screen. Any other editing operation will only be applied to the " +"selected recipe(s)." msgstr "" #: ../../source/feature/project.rst:112 -msgid ":btn:` Move`: Move the selected recipe(s) to another project." +msgid "" +":btn:` Move`: Move the selected recipe(s) to another" +" project." msgstr "" #: ../../source/feature/project.rst:113 @@ -151,7 +191,9 @@ msgid ":btn:` Remove`: Delete the recipe(s) permanently." msgstr "" #: ../../source/feature/project.rst:117 -msgid "Before deleting individual recipes, make sure that they are not used as inputs in others." +msgid "" +"Before deleting individual recipes, make sure that they are not used as " +"inputs in others." msgstr "" #: ../../source/feature/project.rst:120 @@ -159,11 +201,18 @@ msgid "Connect recipes" msgstr "" #: ../../source/feature/project.rst:122 -msgid "When creating recipes such as :code:`Classification`, users can use other recipes as inputs for the process. To avoid flooding the dropdown list with too many values, only the recipes from the same project will be displayed (see following figure on the left)." +msgid "" +"When creating recipes such as :code:`Classification`, users can use other" +" recipes as inputs for the process. To avoid flooding the dropdown list " +"with too many values, only the recipes from the same project will be " +"displayed (see following figure on the left)." msgstr "" #: ../../source/feature/project.rst:124 -msgid "If one still wants to see all of the recipes in the dropdown list, select :btn:`All` and all recipes will be displayed using project names as headers (see following figure on right)." +msgid "" +"If one still wants to see all of the recipes in the dropdown list, select" +" :btn:`All` and all recipes will be displayed using project names as " +"headers (see following figure on right)." msgstr "" #~ msgid "" @@ -490,3 +539,6 @@ msgstr "" #~ " (see following figure on right)." #~ msgstr "" +#~ msgid "Recipe projects" +#~ msgstr "" + diff --git a/docs/source/_locale/sv/LC_MESSAGES/feature/radar_bands.po b/docs/source/_locale/sv/LC_MESSAGES/feature/radar_bands.po new file mode 100644 index 0000000000..fe3285f955 --- /dev/null +++ b/docs/source/_locale/sv/LC_MESSAGES/feature/radar_bands.po @@ -0,0 +1,121 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: sv\n" +"Language-Team: sv \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/feature/radar_bands.rst:2 +msgid "Sentinel-1 Radar Bands" +msgstr "" + +#: ../../source/feature/radar_bands.rst:4 +msgid "" +"When exporting a radar mosaic from the SEPAL platform, the following " +"radar band metrics are available for analysis:" +msgstr "" + +#: ../../source/feature/radar_bands.rst:13 +msgid "Basic Radar Metrics (VV and VH Polarizations)" +msgstr "" + +#: ../../source/feature/radar_bands.rst:15 +msgid "**Metrics Included**:" +msgstr "" + +#: ../../source/feature/radar_bands.rst:16 +msgid "" +"*VV_min, VV_max, VV_mean, VV_std, VV_med*: Statistics of the VV " +"polarization signal, covering minimum, maximum, mean, standard deviation," +" and median." +msgstr "" + +#: ../../source/feature/radar_bands.rst:17 +msgid "" +"*VH_min, VH_max, VH_mean, VH_std, VH_med*: Similar statistics for the VH " +"polarization." +msgstr "" + +#: ../../source/feature/radar_bands.rst:18 +msgid "" +"*ratio_VV_med_VH_med*: The ratio of the median values of VV to VH " +"polarizations, indicating surface roughness and moisture." +msgstr "" + +#: ../../source/feature/radar_bands.rst:19 +msgid "" +"*VV_cv, VH_cv*: Coefficient of variation for VV and VH, showing the " +"variability relative to the mean." +msgstr "" + +#: ../../source/feature/radar_bands.rst:20 +msgid "" +"*NDCV (Normalized Difference Coefficient of Variation)*: A normalized " +"measure that highlights differences in texture or moisture content " +"between VV and VH returns." +msgstr "" + +#: ../../source/feature/radar_bands.rst:21 +msgid "" +"*orbit*: The orbit direction (ascending or descending), which can affect " +"the radar's observation angle and thus the backscatter properties." +msgstr "" + +#: ../../source/feature/radar_bands.rst:23 +msgid "" +"**Description**: These metrics are essential for analyzing surface " +"features, moisture content, vegetation, and other land cover " +"characteristics using radar backscatter properties." +msgstr "" + +#: ../../source/feature/radar_bands.rst:24 +msgid "" +"**Usage**: Widely used in agricultural monitoring, flood mapping, forest " +"monitoring, and urban expansion studies." +msgstr "" + +#: ../../source/feature/radar_bands.rst:27 +msgid "Harmonic Analysis Metrics (Conditional on Data Availability)" +msgstr "" + +#: ../../source/feature/radar_bands.rst:29 +msgid "**Metrics Included** (Only if harmonic dependents are available):" +msgstr "" + +#: ../../source/feature/radar_bands.rst:30 +msgid "" +"*VV_phase, VV_amp, VV_res*: Phase, amplitude, and residuals of the VV " +"signal following harmonic analysis." +msgstr "" + +#: ../../source/feature/radar_bands.rst:31 +msgid "*VH_phase, VH_amp, VH_res*: Similar metrics for the VH signal." +msgstr "" + +#: ../../source/feature/radar_bands.rst:32 +msgid "" +"**Description**: Harmonic analysis metrics help in understanding seasonal" +" variations and temporal patterns in the radar signal, useful for long-" +"term monitoring." +msgstr "" + +#: ../../source/feature/radar_bands.rst:33 +msgid "" +"**Usage**: Ideal for studying seasonal changes in vegetation, detecting " +"changes in water bodies over time, and monitoring environmental changes." +msgstr "" + diff --git a/docs/source/_locale/sv/LC_MESSAGES/feature/visualization.po b/docs/source/_locale/sv/LC_MESSAGES/feature/visualization.po new file mode 100644 index 0000000000..2093311b72 --- /dev/null +++ b/docs/source/_locale/sv/LC_MESSAGES/feature/visualization.po @@ -0,0 +1,161 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: sv\n" +"Language-Team: sv \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/feature/visualization.rst:2 +msgid "Visualization in SEPAL" +msgstr "" + +#: ../../source/feature/visualization.rst:4 +msgid "**Natural color: red, green, blue**" +msgstr "" + +#: ../../source/feature/visualization.rst:5 +msgid "" +"**Description**: Represents the true color of the terrain as human eyes " +"would see it, using the red, green, and blue bands." +msgstr "" + +#: ../../source/feature/visualization.rst:6 +msgid "" +"**Usage**: Used for general mapping and visual inspections where true " +"color representation is necessary." +msgstr "" + +#: ../../source/feature/visualization.rst:8 +msgid "**False color: nir, red, green**" +msgstr "" + +#: ../../source/feature/visualization.rst:9 +msgid "" +"**Description**: Uses near-infrared, red, and green bands. Vegetation " +"appears red due to the high reflection of NIR by healthy vegetation, " +"helpful for distinguishing vegetative areas." +msgstr "" + +#: ../../source/feature/visualization.rst:10 +msgid "" +"**Usage**: Commonly used in vegetation studies to easily distinguish live" +" green vegetation, which reflects NIR strongly." +msgstr "" + +#: ../../source/feature/visualization.rst:12 +msgid "**False color: nir, swir1, red**" +msgstr "" + +#: ../../source/feature/visualization.rst:13 +msgid "" +"**Description**: Combines near-infrared, short-wave infrared, and red " +"bands. This combination is effective in highlighting vegetation and " +"differentiating moisture levels and geological features." +msgstr "" + +#: ../../source/feature/visualization.rst:14 +msgid "" +"**Usage**: Useful in geological mapping, vegetation health assessment, " +"and moisture content analysis." +msgstr "" + +#: ../../source/feature/visualization.rst:16 +msgid "**False color: swir2, nir, red**" +msgstr "" + +#: ../../source/feature/visualization.rst:17 +msgid "" +"**Description**: Utilizes short-wave infrared, near-infrared, and red " +"bands. It enhances the differentiation between mineral types and can " +"indicate burn severity in post-fire assessments." +msgstr "" + +#: ../../source/feature/visualization.rst:18 +msgid "" +"**Usage**: Often used in mineralogical mapping, soil and rock " +"differentiation, and detecting burned areas." +msgstr "" + +#: ../../source/feature/visualization.rst:20 +msgid "**False color: swir2, swir1, red**" +msgstr "" + +#: ../../source/feature/visualization.rst:21 +msgid "" +"**Description**: Involves short-wave infrared bands and red band. This " +"setup enhances geological features and is sensitive to water content and " +"urban areas." +msgstr "" + +#: ../../source/feature/visualization.rst:22 +msgid "" +"**Usage**: Ideal for enhanced geological mapping, urban sprawl studies, " +"and discriminating between different water bodies." +msgstr "" + +#: ../../source/feature/visualization.rst:24 +msgid "**False color: swir2, nir, green**" +msgstr "" + +#: ../../source/feature/visualization.rst:25 +msgid "" +"**Description**: Features short-wave infrared, near-infrared, and green " +"bands. This visualization aids in the analysis of vegetation health and " +"soil/water interactions." +msgstr "" + +#: ../../source/feature/visualization.rst:26 +msgid "" +"**Usage**: Useful for detailed vegetation health monitoring and " +"differentiating water stress in plants." +msgstr "" + +#: ../../source/feature/visualization.rst:28 +msgid "**Tasseled cap: brightness, greenness, wetness**" +msgstr "" + +#: ../../source/feature/visualization.rst:29 +msgid "" +"**Description**: Applies the Tasseled Cap transformation to highlight " +"physical properties of the land surface such as brightness " +"(reflectivity), greenness (vegetation), and wetness (moisture content)." +msgstr "" + +#: ../../source/feature/visualization.rst:30 +msgid "" +"**Usage**: Extensively used in environmental monitoring, land cover " +"classification, and assessing vegetation and water content dynamics." +msgstr "" + +#: ../../source/feature/visualization.rst:32 +msgid "**Tasseled cap: fifth, sixth, fourth**" +msgstr "" + +#: ../../source/feature/visualization.rst:33 +msgid "" +"**Description**: Another Tasseled Cap visualization focusing on the " +"additional components that might reflect other surface properties not " +"captured by the primary three bands." +msgstr "" + +#: ../../source/feature/visualization.rst:34 +msgid "" +"**Usage**: Useful for specialized studies in vegetation dynamics, soil " +"properties, and other environmental monitoring where standard Tasseled " +"Cap indices might need supplementation." +msgstr "" + diff --git a/docs/source/_locale/sv/LC_MESSAGES/index.po b/docs/source/_locale/sv/LC_MESSAGES/index.po index bea5b7d05d..b044571b2a 100644 --- a/docs/source/_locale/sv/LC_MESSAGES/index.po +++ b/docs/source/_locale/sv/LC_MESSAGES/index.po @@ -1,24 +1,20 @@ + msgid "" msgstr "" -"Project-Id-Version: sepal-doc\n" +"Project-Id-Version: sepal-doc\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-03-07 09:39+0100\n" -"PO-Revision-Date: 2024-03-07 09:04\n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: 2024-03-07 09:04+0000\n" "Last-Translator: \n" +"Language: sv_SE\n" "Language-Team: Swedish\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.14.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Crowdin-Project: sepal-doc\n" -"X-Crowdin-Project-ID: 562097\n" -"X-Crowdin-Language: sv-SE\n" -"X-Crowdin-File: /main/docs/source/_locale/en/LC_MESSAGES/index.po\n" -"X-Crowdin-File-ID: 87\n" -"Language: sv_SE\n" +"Generated-By: Babel 2.18.0\n" -#: ../../source/index.rst:20 ../../source/index.rst:54 +#: ../../source/index.rst:20 ../../source/index.rst:55 msgid "Getting started" msgstr "" @@ -31,15 +27,19 @@ msgid "Modules" msgstr "" #: ../../source/index.rst:20 -msgid "CLI" +msgid "Workflows" +msgstr "" + +#: ../../source/index.rst:20 +msgid "Features" msgstr "" #: ../../source/index.rst:20 -msgid "Workflows" +msgid "Troubleshooting" msgstr "" #: ../../source/index.rst:20 -msgid "Features" +msgid "Developers" msgstr "" #: ../../source/index.rst:20 @@ -50,140 +50,176 @@ msgstr "" msgid "Documentation" msgstr "" -#: ../../source/index.rst:36 -msgid "The System for Earth Observation Data Access, Processing and Analysis for Land Monitoring (**SEPAL**) is an open-source project and platform empowering people around the world to gain a better understanding of land cover dynamics by facilitating the efficient access and use of Earth observation data – without the need of coding knowledge." +#: ../../source/index.rst:37 +msgid "" +"The System for Earth Observation Data Access, Processing and Analysis for" +" Land Monitoring (**SEPAL**) is an open-source project and platform " +"empowering people around the world to gain a better understanding of land" +" cover dynamics by facilitating the efficient access and use of Earth " +"observation data – without the need of coding knowledge." msgstr "" -#: ../../source/index.rst:47 +#: ../../source/index.rst:48 msgid "Learn how to use the platform with SEPAL documentation" msgstr "" -#: ../../source/index.rst:49 -msgid "The SEPAL team developed this GitHub page to help users get the most out of the interface." +#: ../../source/index.rst:50 +msgid "" +"The SEPAL team developed this GitHub page to help users get the most out " +"of the interface." msgstr "" -#: ../../source/index.rst:59 +#: ../../source/index.rst:60 msgid "Register to SEPAL" msgstr "" -#: ../../source/index.rst:62 +#: ../../source/index.rst:63 msgid "Set up your SEPAL account and request additional resources." msgstr "" -#: ../../source/index.rst:64 +#: ../../source/index.rst:65 msgid "Connect to GEE" msgstr "" -#: ../../source/index.rst:67 +#: ../../source/index.rst:68 msgid "Register with Google Earth Engine (GEE) and connect your account to SEPAL." msgstr "" -#: ../../source/index.rst:69 +#: ../../source/index.rst:70 msgid "Connect to NICFI–PlanetLab imagery" msgstr "" -#: ../../source/index.rst:72 -msgid "Sign up to use Norway’s International Climate and Forests Initiative (NICFI) – PlanetLab data and connect your account to GEE." +#: ../../source/index.rst:73 +msgid "" +"Sign up to use Norway’s International Climate and Forests Initiative " +"(NICFI) – PlanetLab data and connect your account to GEE." msgstr "" -#: ../../source/index.rst:77 +#: ../../source/index.rst:78 msgid "Recipes and modules" msgstr "" -#: ../../source/index.rst:82 +#: ../../source/index.rst:83 msgid "Start a recipe" msgstr "" -#: ../../source/index.rst:85 +#: ../../source/index.rst:86 msgid "Run analysis with recipes – the foundation of SEPAL processes." msgstr "" -#: ../../source/index.rst:87 +#: ../../source/index.rst:88 msgid "Start a module" msgstr "" -#: ../../source/index.rst:90 -msgid "Run integrated workflows with modules – no need of coding experience required." +#: ../../source/index.rst:91 +msgid "" +"Run integrated workflows with modules – no need of coding experience " +"required." msgstr "" -#: ../../source/index.rst:92 +#: ../../source/index.rst:93 msgid "Use the se.plan module" msgstr "" -#: ../../source/index.rst:95 -msgid "Compute your restoration index with se.plan, a spatially explicit online tool designed to support forest restoration planning decisions by restoration stakeholders." +#: ../../source/index.rst:96 +msgid "" +"Compute your restoration index with se.plan, a spatially explicit online " +"tool designed to support forest restoration planning decisions by " +"restoration stakeholders." msgstr "" -#: ../../source/index.rst:100 +#: ../../source/index.rst:101 msgid "Other resources" msgstr "" -#: ../../source/index.rst:105 +#: ../../source/index.rst:106 msgid "SEPAL website" msgstr "" -#: ../../source/index.rst:108 +#: ../../source/index.rst:109 msgid "Discover the impact of the project." msgstr "" -#: ../../source/index.rst:110 +#: ../../source/index.rst:111 msgid "SEPAL platform" msgstr "" -#: ../../source/index.rst:113 +#: ../../source/index.rst:114 msgid "Learn more about the interface." msgstr "" -#: ../../source/index.rst:115 +#: ../../source/index.rst:116 msgid "Open Foris" msgstr "" -#: ../../source/index.rst:118 +#: ../../source/index.rst:119 msgid "Browse the Suite of Tools." msgstr "" -#: ../../source/index.rst:123 +#: ../../source/index.rst:124 msgid "SEPAL is always improving" msgstr "" -#: ../../source/index.rst:125 -msgid "Encounter a problem? See an issue? Need help? Help our team members enhance user experience by improving the platform and its documentation." +#: ../../source/index.rst:126 +msgid "" +"Encounter a problem? See an issue? Need help? Help our team members " +"enhance user experience by improving the platform and its documentation." msgstr "" -#: ../../source/index.rst:132 +#: ../../source/index.rst:133 msgid "For general support, ask the Google Group community" msgstr "" -#: ../../source/index.rst:135 +#: ../../source/index.rst:136 msgid "For documentation improvement, use the GitHub Issue Tracker" msgstr "" -#: ../../source/index.rst:138 +#: ../../source/index.rst:139 msgid "For usage questions, ask the GIS StackExchange community" msgstr "" -#: ../../source/index.rst:141 -msgid "For training, register for the SEPAL Forest and Land Monitoring for Climate Action e-learning course" +#: ../../source/index.rst:142 +msgid "" +"For training, register for the SEPAL Forest and Land Monitoring for " +"Climate Action e-learning course" msgstr "" -#: ../../source/index.rst:147 +#: ../../source/index.rst:148 msgid "About the platform" msgstr "" -#: ../../source/index.rst:149 -msgid "SEPAL is part of the `Open Foris `__ Suite of Tools. The platform allows users to query and process satellite data quickly and efficiently, tailor their products for local needs, and produce sophisticated and relevant geospatial analyses. Harnessing cloud-based supercomputers and modern geospatial data infrastructures (e.g. GEE), the interface enables users to access and process historical satellite data as well as newer data from Landsat and higher-resolution data from Europe’s Copernicus programme." +#: ../../source/index.rst:150 +msgid "" +"SEPAL is part of the `Open Foris `__ Suite of " +"Tools. The platform allows users to query and process satellite data " +"quickly and efficiently, tailor their products for local needs, and " +"produce sophisticated and relevant geospatial analyses. Harnessing cloud-" +"based supercomputers and modern geospatial data infrastructures (e.g. " +"GEE), the interface enables users to access and process historical " +"satellite data as well as newer data from Landsat and higher-resolution " +"data from Europe’s Copernicus programme." msgstr "" -#: ../../source/index.rst:151 -msgid "SEPAL is a cloud computing-based platform for autonomous land monitoring using remotely sensed data. It is a combination of GEE and open-source software such as GDAL, Jupyter, the Open Foris Geospatial Toolkit, ORFEO Toolbox, Python, R, R Shiny Server, R Studio Server, and the SNAP Toolkit. The platform allows users to access powerful cloud-computing resources to query, access and process satellite data quickly and efficiently for conducting advanced analyses." +#: ../../source/index.rst:152 +msgid "" +"SEPAL is a cloud computing-based platform for autonomous land monitoring " +"using remotely sensed data. It is a combination of GEE and open-source " +"software such as GDAL, Jupyter, the Open Foris Geospatial Toolkit, ORFEO " +"Toolbox, Python, R, R Shiny Server, R Studio Server, and the SNAP " +"Toolkit. The platform allows users to access powerful cloud-computing " +"resources to query, access and process satellite data quickly and " +"efficiently for conducting advanced analyses." msgstr "" -#: ../../source/index.rst:156 +#: ../../source/index.rst:157 msgid "Supporting institutions" msgstr "" -#: ../../source/index.rst:158 -msgid "SEPAL is a project funded by the Government of Norway from the Forestry Department of the Food and Agriculture Organization of the United Nations (FAO)." +#: ../../source/index.rst:159 +msgid "" +"SEPAL is a project funded by the Government of Norway from the Forestry " +"Department of the Food and Agriculture Organization of the United Nations" +" (FAO)." msgstr "" #~ msgid "Modules" @@ -478,3 +514,6 @@ msgstr "" #~ "for creating advanced analyses." #~ msgstr "" +#~ msgid "CLI" +#~ msgstr "" + diff --git a/docs/source/_locale/sv/LC_MESSAGES/troubleshooting/fix_venvs.po b/docs/source/_locale/sv/LC_MESSAGES/troubleshooting/fix_venvs.po new file mode 100644 index 0000000000..726bf0aae6 --- /dev/null +++ b/docs/source/_locale/sv/LC_MESSAGES/troubleshooting/fix_venvs.po @@ -0,0 +1,381 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: sv\n" +"Language-Team: sv \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/troubleshooting/fix_venvs.rst:4 +msgid "Recovering broken Python environments" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:6 +msgid "" +"On 5 March 2026, SEPAL sandboxes upgraded from Ubuntu Jammy to Ubuntu " +"Noble. As part of this upgrade, the system Python changed from version " +"3.10 to 3.12. This was a deliberate and necessary change: Python 3.10 " +"reaches end of life in October 2026, meaning it will no longer receive " +"security patches, and an increasing number of libraries are dropping " +"support for it and requiring Python 3.11 or newer. Staying on 3.10 would " +"eventually mean being locked out of updated packages and exposed to " +"unpatched security issues." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:8 +msgid "" +"If you created Python virtual environments using ``python -m venv`` on " +"SEPAL before this upgrade, those environments are now broken. This page " +"explains why, and how to recover." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:12 +msgid "" +"This only affects environments created with ``python -m venv``. " +"Environments created with :guilabel:`uv` or :guilabel:`micromamba` are " +"not affected." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:14 +msgid "" +"See :ref:`env_management` for full guidance on using :guilabel:`uv` and " +":guilabel:`micromamba` — better alternatives that will not break when " +"SEPAL upgrades Python in the future." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:18 +msgid "" +"Python 3.10 reaches end of life on 4 October 2026. Rather than putting " +"effort into restoring environments on the old version, consider migrating" +" to Python 3.12 at the same time." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:23 +msgid "Why venvs break after a Python upgrade" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:25 +msgid "" +"A venv is not a fully self-contained copy of Python. It is a lightweight " +"directory structure that relies on the system Python being present at a " +"specific path. When you run ``python -m venv myenv``, it records the " +"exact path to the Python binary (e.g. ``/usr/bin/python3.10``) and " +"creates symbolic links inside the environment's ``bin/`` directory " +"pointing back to it. Installed packages land in a versioned subdirectory," +" for example ``lib/python3.10/site-packages/``." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:27 +msgid "" +"When the system Python changes from 3.10 to 3.12, two things go wrong " +"simultaneously:" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:29 +msgid "" +"The symlinks inside ``bin/`` now point to a Python binary that no longer " +"exists at the recorded path, so the environment cannot start correctly." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:30 +msgid "" +"Any packages with compiled C extensions (numpy, scipy, cryptography, " +"etc.) were built against the Python 3.10 ABI. Python 3.12 has a different" +" ABI, so those compiled ``.so`` files are no longer valid and will crash " +"or fail to load." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:32 +msgid "" +"The package files themselves — the pure Python code and the package " +"metadata — are still intact on disk. Only the wiring is broken, which is " +"why it is possible to extract a list of what was installed without " +"activating the environment." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:37 +msgid "Why Jupyter kernels disappear" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:39 +msgid "" +"When you register a venv as a Jupyter kernel using ``ipykernel``, Jupyter" +" saves a small ``kernel.json`` file under " +"``~/.local/share/jupyter/kernels//``. This file contains the " +"absolute path to the Python binary inside the environment." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:41 +msgid "" +"After the upgrade, Jupyter still finds the ``kernel.json`` file and may " +"still show the kernel in the launcher — but when you try to start it, it " +"attempts to launch the Python binary at the recorded path. Because that " +"binary no longer works, the kernel either fails to start or starts and " +"immediately crashes, which JupyterLab reports as the kernel repeatedly " +"dying." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:43 +msgid "" +"In some cases the kernel disappears from the launcher entirely. In others" +" it appears but cannot be used. Either way, notebooks that relied on it " +"cannot run." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:48 +msgid "Symptoms of a broken environment" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:50 +msgid "You may see any of the following:" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:52 +msgid "" +"A Jupyter kernel that was previously available has disappeared from the " +"launcher, or starts and immediately dies" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:53 +msgid "``ModuleNotFoundError: No module named 'pip'`` when running pip commands" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:54 +msgid "Packages that were previously installed fail to import" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:55 +msgid "Compiled packages (numpy, scipy, etc.) segfault or raise ``ImportError``" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:56 +msgid "" +"``python --version`` inside the activated environment shows 3.12 even " +"though it was created with 3.10" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:58 +msgid "" +"All of these have the same root cause: the environment's internal " +"symlinks and compiled extensions were built against Python 3.10 and are " +"no longer valid." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:63 +msgid "Recovery" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:68 +msgid "Extract your requirements" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:70 +msgid "" +"You cannot activate the broken environment, but the package metadata is " +"still readable on disk. SEPAL provides a script that extracts the list of" +" installed packages from a broken environment. Run it from the terminal:" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:76 +msgid "" +"This scans the package metadata inside the broken environment and writes " +"a ``requirements.txt`` with pinned versions. Verify the output:" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:85 +msgid "Recreate the environment with uv" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:87 +msgid "" +":guilabel:`uv` is a fast, modern Python package manager already installed" +" on SEPAL. Unlike venv, it manages its own Python versions independently " +"of the system, so future upgrades will not break your environments." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:91 +msgid "" +"See :ref:`env_management` for full guidance on :guilabel:`uv` and other " +"environment tools available on SEPAL." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:93 +msgid "You have two options:" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:98 +msgid "Option A — Recreate on Python 3.10" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:100 +msgid "" +"*Fewer compatibility issues — use this if you need to get back up and " +"running quickly and cannot yet deal with package compatibility on 3.12.*" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:110 +msgid "" +"The ``requirements.txt`` referenced here is the file you extracted in the" +" previous step." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:115 +msgid "Option B — Migrate to Python 3.12" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:117 +msgid "" +"*Better long-term choice — most pure-Python packages work on 3.12 without" +" any changes.*" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:127 +msgid "" +"The ``requirements.txt`` referenced here is the file you extracted in the" +" first step." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:132 +msgid "Handling package version conflicts (Option B)" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:134 +msgid "" +"When migrating to Python 3.12, the ``requirements.txt`` from the first " +"step contains fully pinned versions (e.g. ``numpy==1.23.4``). Some of " +"these may not have wheels available for Python 3.12. If installation " +"fails, try removing the version pins:" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:142 +msgid "" +"The following packages are known to cause issues when moving from 3.10 to" +" 3.12:" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:148 +msgid "Package" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:149 +msgid "Issue" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:150 +msgid "Fix" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:151 +msgid "``numpy < 1.24``" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:152 +#: ../../source/troubleshooting/fix_venvs.rst:155 +msgid "No Python 3.12 wheels available" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:153 +msgid "Unpin: ``numpy``" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:154 +msgid "``scipy < 1.11``" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:156 +msgid "Unpin: ``scipy``" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:157 +msgid "Packages using ``distutils``" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:158 +msgid "``distutils`` was removed in Python 3.12" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:159 +msgid "Upgrade or replace the package" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:160 +msgid "Old Cython extensions" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:161 +msgid "ABI mismatch, segfaults at import" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:162 +msgid "``uv pip install --force-reinstall ``" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:163 +msgid "``cryptography`` (old versions)" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:164 +msgid "Needs a recent version for the 3.12 ABI" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:165 +msgid "Unpin: ``cryptography``" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:170 +msgid "Re-register your Jupyter kernel" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:172 +msgid "" +"JupyterLab discovers environments through kernel specifications — small " +"JSON files that point to a specific Python binary. When you recreate an " +"environment, the old kernel specification still points to the broken " +"binary, so JupyterLab cannot find or use the new environment. You need to" +" remove the old specification and register a new one." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:174 +msgid "First, list existing kernels and remove the broken one:" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:184 +msgid "Then register the new environment as a kernel:" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:192 +msgid "" +"After restarting JupyterLab, the new kernel will appear in the launcher " +"and notebooks that reference it by name will work again." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:197 +msgid "Going forward" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:199 +msgid "" +"To avoid this problem in the future, stop using venv. :guilabel:`uv` " +"manages Python versions independently of the system and will not break " +"when SEPAL upgrades Python." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:201 +msgid "" +"See :ref:`env_management` for full guidance on creating and managing " +"environments, including how to add Jupyter kernels." +msgstr "" + diff --git a/docs/source/_locale/sv/LC_MESSAGES/troubleshooting/index.po b/docs/source/_locale/sv/LC_MESSAGES/troubleshooting/index.po new file mode 100644 index 0000000000..42a0db53d5 --- /dev/null +++ b/docs/source/_locale/sv/LC_MESSAGES/troubleshooting/index.po @@ -0,0 +1,42 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: sv\n" +"Language-Team: sv \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/troubleshooting/index.rst:7 +msgid "Recovering broken Python environments" +msgstr "" + +#: ../../source/troubleshooting/index.rst:2 +msgid "Troubleshooting" +msgstr "" + +#: ../../source/troubleshooting/index.rst:3 +msgid "*Solve common issues on the SEPAL platform*" +msgstr "" + +#: ../../source/troubleshooting/index.rst:5 +msgid "" +"This section covers known issues and step-by-step solutions for problems " +"you may encounter while using SEPAL. If your issue is not listed here, " +"ask the `Google Group community `__ or report it on the `GitHub Issue Tracker " +"`__." +msgstr "" + diff --git a/docs/source/_locale/sv/LC_MESSAGES/workflows/mangrove_mapping.po b/docs/source/_locale/sv/LC_MESSAGES/workflows/mangrove_mapping.po new file mode 100644 index 0000000000..11f00df0c4 --- /dev/null +++ b/docs/source/_locale/sv/LC_MESSAGES/workflows/mangrove_mapping.po @@ -0,0 +1,1850 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: sv\n" +"Language-Team: sv \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/workflows/mangrove_mapping.rst:4 +msgid "Mangrove mapping with SEPAL" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:6 +msgid "" +"This article describes a complete workflow for mapping mangroves using " +"SEPAL — FAO's free, open-source, web-based cloud platform for satellite " +"data analysis. The approach combines multi-sensor satellite data, global " +"mangrove reference datasets, and machine learning classification to " +"produce locally relevant mangrove maps and detect change over time. An " +"optional extension covers above-ground biomass (AGB) mapping." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:10 +msgid "" +"**Author:** Erik Lindquist, Forestry Officer, Food and Agriculture " +"Organization of the United Nations (FAO)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:13 +msgid "Overview" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:15 +msgid "The workflow consists of the following stages:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:17 +msgid ":ref:`Registration and setup `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:18 +msgid ":ref:`Request SEPAL resources `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:19 +msgid ":ref:`Define the area of interest `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:20 +msgid ":ref:`Build an optical mosaic (optional) `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:21 +msgid ":ref:`Build a radar mosaic (optional) `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:22 +msgid ":ref:`Load global mangrove reference datasets `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:23 +msgid "" +":ref:`Create the high-confidence mangrove reference map `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:24 +msgid ":ref:`Generate training data `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:25 +msgid ":ref:`Incorporate Google Satellite Embeddings `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:26 +msgid ":ref:`Classify mangroves `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:27 +msgid ":ref:`Map above-ground biomass (optional) `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:28 +msgid ":ref:`Detect change using CCDC `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:29 +msgid ":ref:`Download and export results `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:32 +msgid "Why use SEPAL for mangrove mapping?" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:34 +msgid "" +"SEPAL democratises access to satellite data and analysis tools, enabling " +"autonomous land monitoring without the need for local compute " +"infrastructure. For mangrove mapping specifically, SEPAL provides:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:36 +msgid "" +"**Multi-sensor data access** – seamless integration of optical " +"(Sentinel-2, Landsat, NICFI/Planet) and synthetic aperture radar (SAR) " +"(Sentinel-1 C-band, ALOS L-band) imagery" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:37 +msgid "" +"**Multi-temporal analysis** – time-series processing and change detection" +" using the Continuous Change Detection and Classification (CCDC) " +"algorithm" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:38 +msgid "" +"**Cloud-based classification** – machine learning classification recipes " +"powered by Google Earth Engine (GEE)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:39 +msgid "" +"**Global reference data** – integration with existing global mangrove " +"products to generate locally relevant training data automatically" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:40 +msgid "" +"**Team collaboration** – data saved as GEE assets can be shared across a " +"team, allowing one person to build a composite that all team members can " +"access and classify" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:45 +msgid "1. Registration and setup" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:47 +msgid "Before starting, create accounts on two platforms." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:50 +msgid "1.1 Google Earth Engine" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:52 +msgid "SEPAL's processing recipes run on GEE. A free GEE account is required." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:54 +msgid "Go to `earthengine.google.com `__." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:55 +msgid "Sign up using a Gmail account." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:56 +msgid "Wait for approval (usually within a few hours to a few days)." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:59 +msgid "1.2 SEPAL" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:61 +msgid "Go to `sepal.io `__ and register for a free account." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:62 +msgid "Connect the GEE account within SEPAL settings." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:66 +msgid "" +"For a step-by-step walkthrough of SEPAL setup, see " +":doc:`../setup/register`." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:71 +msgid "2. Request SEPAL resources" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:73 +msgid "" +"SEPAL is always free to use; however, downloading data and running high-" +"performance computing in the cloud requires resources to be allocated to " +"an account. Resources are requested via the **User report** button " +"(displayed as **$ 0/h**) in the lower-right corner of the **SEPAL " +"interface**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:75 +msgid "To request resources:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:77 +msgid "" +"Select the **User report** button in the lower-right corner of the " +"**SEPAL interface**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:78 +msgid "Select **Request additional resources**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:79 +msgid "" +"Enter the requested amounts. For most mapping work, the following is a " +"reasonable starting point:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:81 +msgid "**Processing:** $10 USD/month of cloud compute time" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:82 +msgid "**Storage:** $10 USD/month" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:83 +msgid "**Workspace:** 10 gigabytes (GB) of personal SEPAL workspace storage" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:85 +msgid "Enter a short message describing the work (e.g. \"Mangrove mapping\")." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:86 +msgid "Select **Apply**. The SEPAL team will review and approve the request." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:88 +msgid "" +"Once resources are approved, the **Download** button (displayed as a " +"cloud with an arrow icon) will become active in all recipes. Even $1 of " +"resources is sufficient to activate downloading to GEE or Google Drive." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:92 +msgid "" +"SEPAL supports requests for larger amounts of resources for intensive " +"work, such as training machine learning models. Describe the use case in " +"the request message if needed." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:97 +msgid "3. Define the area of interest" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:99 +msgid "" +"Use the same area of interest (AOI) for all downstream recipes to ensure " +"composites, reference layers, and classification outputs are spatially " +"aligned." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:101 +msgid "Open **Process** in the **SEPAL interface**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:102 +msgid "" +"Set the AOI using an administrative boundary, an uploaded geometry, or a " +"drawn polygon." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:107 +msgid "4. Build an optical mosaic (optional)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:111 +msgid "" +"This step is only required if Google Satellite Embeddings are **not** " +"used as the classification input (see :ref:`Section 9 `). If using embeddings, proceed directly to :ref:`Section 6 " +"`." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:113 +msgid "" +"A cloud-free optical mosaic provides the spectral bands used for " +"classification. In SEPAL, all processing starts with a *recipe*. Open a " +"new recipe from the recipe book by selecting the **+** button, then the " +"green **Add recipe** button." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:116 +msgid "Recommended data sources" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:122 +msgid "Source" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:123 +msgid "Spatial resolution" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:124 +msgid "Temporal resolution" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:125 +msgid "Bands" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:126 +#: ../../source/workflows/mangrove_mapping.rst:361 +msgid "Sentinel-2" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:127 +msgid "10 m" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:128 +msgid "5 days" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:129 +msgid "12" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:130 +msgid "Landsat (8/9)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:131 +msgid "30 m" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:132 +msgid "16 days" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:133 +msgid "8" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:134 +msgid "NICFI/Planet" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:135 +msgid "4.5 m" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:136 +msgid "Monthly" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:137 +msgid "4" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:140 +msgid "Recommended bands and indices" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:142 +msgid "" +"For Sentinel-2, include bands: **B2, B3, B4, B5, B6, B7, B8, B8A, B11, " +"B12**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:144 +msgid "Suggested derived indices:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:146 +msgid "normalized difference vegetation index (NDVI)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:147 +msgid "normalized difference moisture index (NDMI)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:148 +msgid "normalized difference water index (NDWI)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:149 +msgid "modified normalized difference water index (MNDWI)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:150 +msgid "red-edge NDVI variants" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:151 +msgid "Tasseled Cap Brightness, Greenness and Wetness" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:152 +msgid "short-wave infrared (SWIR) ratios (B11/B8, B12/B11)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:153 +msgid "enhanced vegetation index (EVI)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:157 +msgid "" +"Avoid the **Aerosol** band for vegetation mapping — it captures " +"atmospheric rather than surface conditions. The near-infrared (NIR) and " +"SWIR bands are particularly important for mangroves: NIR is sensitive to " +"chlorophyll and vegetation health; SWIR helps distinguish inundated " +"vegetation from upland forest and open water." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:160 +msgid "Composite method" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:162 +msgid "" +"Use the **Medoid** composite method, which selects actual observed pixel " +"values rather than statistical summaries, preserving spectral integrity. " +"Save the recipe with a meaningful name (e.g. ``Optical_Medoid_2023``) so " +"it can be referenced in the classification recipe." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:166 +msgid "" +"See :doc:`../cookbook/optical_mosaic` for full instructions on the SEPAL " +"optical mosaic recipe." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:171 +msgid "5. Build a radar mosaic (optional)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:175 +msgid "" +"This step is only required if Google Satellite Embeddings are **not** " +"used as the classification input." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:177 +msgid "" +"SAR data penetrates cloud cover and is sensitive to canopy structure and " +"soil moisture — making it a valuable complement to optical data in " +"tropical coastal environments where persistent cloud cover limits optical" +" data availability." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:180 +msgid "Recommended data source" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:182 +msgid "" +"The primary radar source used in this workflow is **Sentinel-1 C-band " +"SAR**:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:184 +msgid "spatial resolution: 10 m" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:185 +msgid "temporal resolution: 12 days" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:186 +msgid "bands: VV and VH polarisations" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:188 +msgid "" +"ALOS PALSAR L-band mosaics (25 m, yearly) can be added where available " +"for additional structural information." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:191 +msgid "Recommended statistics to include" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:197 +msgid "Band" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:198 +#: ../../source/workflows/mangrove_mapping.rst:448 +msgid "Description" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:199 +msgid "VV mean" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:200 +msgid "Average VV backscatter across the year" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:201 +msgid "VH mean" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:202 +msgid "Average VH backscatter across the year" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:203 +msgid "VV/VH ratio" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:204 +msgid "Structural differentiation" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:205 +msgid "VH standard deviation" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:206 +msgid "Seasonal variability; helps distinguish vegetation types" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:208 +msgid "Save the recipe as ``Radar_Mosaic_YYYY``." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:212 +msgid "" +"See :doc:`../cookbook/radar_mosaic` for full instructions on the SEPAL " +"radar mosaic recipe." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:217 +msgid "6. Load global mangrove reference datasets" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:219 +msgid "" +"Load three global datasets as **EE Asset** recipes in SEPAL to build the " +"high-confidence reference map in :ref:`Section 7 `. " +"Each dataset is available in the GEE catalog or the Awesome GEE Community" +" Catalog." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:221 +msgid "To add an **EE Asset** recipe:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:223 +#: ../../source/workflows/mangrove_mapping.rst:391 +msgid "Add a new recipe and select **EE Asset**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:224 +#: ../../source/workflows/mangrove_mapping.rst:392 +msgid "Set the AOI." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:225 +msgid "Search for the asset by name or paste the asset path." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:226 +#: ../../source/workflows/mangrove_mapping.rst:394 +msgid "Select **Done**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:227 +msgid "" +"To visualise, open the **Menu** (☰) → select **+** → select the band → " +"set min/max values → select **Apply**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:228 +msgid "Save the recipe with the name indicated below." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:231 +msgid "6.1 Global Mangrove Watch (GMW) v3 — 2020 extent" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:236 +#: ../../source/workflows/mangrove_mapping.rst:251 +#: ../../source/workflows/mangrove_mapping.rst:266 +#: ../../source/workflows/mangrove_mapping.rst:382 +msgid "**Asset path**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:237 +#: ../../source/workflows/mangrove_mapping.rst:683 +msgid "``projects/sat-io/open-datasets/GMW/extent/GMW_V3``" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:238 +#: ../../source/workflows/mangrove_mapping.rst:253 +#: ../../source/workflows/mangrove_mapping.rst:268 +#: ../../source/workflows/mangrove_mapping.rst:530 +msgid "**Band**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:239 +msgid "``b1`` (1 = mangrove, 0 = non-mangrove)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:240 +msgid "**Date filter**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:241 +msgid "2020-01-01 to 2020-12-31; select first image" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:242 +#: ../../source/workflows/mangrove_mapping.rst:257 +#: ../../source/workflows/mangrove_mapping.rst:270 +#: ../../source/workflows/mangrove_mapping.rst:388 +#: ../../source/workflows/mangrove_mapping.rst:534 +msgid "**Save as**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:243 +msgid "``GMW_2020_EEAsset``" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:246 +msgid "6.2 ESA WorldCover land cover — 2021" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:252 +#: ../../source/workflows/mangrove_mapping.rst:686 +msgid "``ESA/WorldCover/v200``" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:254 +msgid "``Map``" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:255 +msgid "**Mangrove class value**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:256 +msgid "95" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:258 +msgid "``WorldCover_2021_EEAsset``" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:261 +msgid "6.3 Digital elevation model (MERIT DEM)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:267 +#: ../../source/workflows/mangrove_mapping.rst:689 +msgid "``MERIT/DEM/v1_0_3``" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:269 +msgid "``dem``" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:271 +msgid "``MERIT_DEM_EEAsset``" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:273 +msgid "" +"The digital elevation model (DEM) provides an elevation constraint — " +"mangroves occupy low-lying intertidal zones, so pixels above 40 m " +"elevation are excluded from the high-confidence product in :ref:`Section " +"7 `." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:278 +msgid "7. Create the high-confidence mangrove reference map" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:280 +msgid "" +"This step converts the three global datasets into a single high-" +"confidence binary map of mangrove and non-mangrove, which is then used to" +" automatically generate training data for the local classification." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:282 +msgid "" +"If multiple independent global datasets agree that a pixel is mangrove " +"(or non-mangrove), confidence in that label is much higher than if only " +"one dataset indicates this. The elevation constraint further removes " +"unlikely mangrove locations." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:285 +msgid "Remapping rules" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:287 +msgid "In SEPAL, use the **Remapping** recipe with the following logic:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:293 +msgid "Output class" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:294 +msgid "Condition" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:295 +msgid "**Class 1 – Mangrove**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:296 +msgid "GMW ``b1`` = 1 **AND** WorldCover ``Map`` = 95 **AND** DEM ``dem`` < 40 m" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:297 +msgid "**Class 2 – Non-mangrove**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:298 +msgid "GMW ``b1`` = 0 **AND** WorldCover ``Map`` ≠ 95 **AND** DEM ``dem`` < 40 m" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:299 +msgid "*(No data)*" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:300 +msgid "Pixels that do not meet either condition are excluded" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:302 +msgid "**Output band:** ``class`` (1 = mangrove, 2 = non-mangrove)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:304 +msgid "**Save as:** ``Mangrove_HighConfidence_Remapping``" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:308 +msgid "" +"The DEM < 40 m filter restricts both mangrove and non-mangrove samples to" +" the intertidal zone, improving the relevance of the non-mangrove class " +"and avoiding confusion with upland forest." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:312 +msgid "" +"Use the divided interface (multi-view panel) to inspect the high-" +"confidence product against the optical and radar mosaics before " +"proceeding. Confirm that the mangrove extent looks reasonable for the " +"area." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:317 +msgid "8. Generate training data" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:319 +msgid "" +"With the high-confidence reference map produced, generate training data " +"automatically by stratified sampling — more efficiently and at greater " +"scale than manual digitising." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:321 +msgid "" +"In SEPAL, training data is generated within the **Classification** recipe" +" using the **Sample classification** option:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:323 +msgid "Open a new **Classification** recipe." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:324 +msgid "In the training data tab, select **Add** > **Sample classification**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:325 +msgid "" +"Set the sampling source to ``Mangrove_HighConfidence_Remapping`` (recipe " +"reference) or an exported GEE asset of the same (band: ``class``)." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:326 +msgid "Use balanced (stratified) sampling — equal numbers of samples per class." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:327 +msgid "Set a random seed for reproducibility." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:330 +msgid "Recommended sample sizes" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:336 +msgid "Area of interest" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:337 +msgid "Samples per class" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:338 +msgid "Small AOI" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:339 +msgid "300–800" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:340 +msgid "Subnational/national AOI" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:341 +msgid "1000–2000" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:342 +msgid "Very large or heterogeneous AOI" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:343 +msgid "5000–10000" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:345 +msgid "" +"After sampling, inspect the training points visually against the imagery " +"in the multi-view panel. If contaminated points are observed (e.g. " +"mangrove samples landing on water), resample or remove them before " +"running the classification." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:350 +msgid "9. Incorporate Google Satellite Embeddings (AlphaEarth Foundations)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:354 +msgid "" +"These are referred to as \"Alpha Earth Embeddings\" in some training " +"materials. They are now publicly available as the **Google Satellite " +"Embedding dataset**, powered by `AlphaEarth Foundations " +"`__ — a geospatial artificial " +"intelligence (AI) model developed by Google and Google DeepMind." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:357 +msgid "What are satellite embeddings?" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:359 +msgid "" +"Satellite embeddings are pre-computed, AI-generated feature vectors that " +"summarise multi-sensor, multi-temporal Earth observation data into a " +"compact representation. Each 10 m pixel is described by a 64-dimensional " +"embedding vector encoding a full year of observations from:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:362 +msgid "Landsat" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:363 +msgid "Sentinel-1 SAR" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:364 +msgid "Copernicus DEM (elevation)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:365 +msgid "ERA5 (climate)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:366 +msgid "GEDI LiDAR (vegetation structure)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:368 +msgid "Key advantages for mangrove mapping:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:370 +msgid "" +"**Fewer training samples needed** – embeddings encode rich spatial and " +"temporal context, reducing the labelled points required for accurate " +"classification;" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:371 +msgid "" +"**Cloud-robust** – embeddings summarise an entire year of acquisitions, " +"making them more robust to cloud contamination than single-date " +"composites;" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:372 +msgid "" +"**No deep learning infrastructure required** – pre-computed and analysis-" +"ready; compatible with SEPAL's built-in classifiers;" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:373 +msgid "" +"**Faster classification** – typically faster than classifying equivalent " +"optical and radar inputs separately; and" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:374 +msgid "**Temporal coverage** – annual embeddings available from 2017 onwards." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:377 +msgid "Loading embeddings as an EE Asset recipe" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:383 +#: ../../source/workflows/mangrove_mapping.rst:680 +msgid "``GOOGLE/SATELLITE_EMBEDDING/V1/ANNUAL``" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:384 +msgid "**Asset type**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:385 +msgid "ImageCollection — mosaic or select target year" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:386 +msgid "**Bands**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:387 +msgid "All 64 embedding bands" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:389 +msgid "``AlphaEarth_Embeddings_EEAsset``" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:393 +msgid "" +"Search for ``embeddings`` and select **Satellite Embeddings V1**, or " +"paste the asset path above." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:395 +msgid "" +"To confirm data is loading: open the **Menu** (☰) → select **+** → select" +" any band (e.g. ``Z00``) → select **Apply**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:396 +msgid "Save the recipe as ``AlphaEarth_Embeddings_EEAsset``." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:399 +msgid "When to use embeddings vs. optical/radar mosaics" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:401 +msgid "" +"Use **embeddings** when an annual classification is needed and good " +"results are required with limited training data or compute time. When " +"embeddings are used, optical and radar mosaics are **not** needed as " +"classifier inputs." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:402 +msgid "" +"Use **optical and radar mosaics** when classification at a specific sub-" +"annual time point is needed, or when within-year temporal detail is " +"important." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:403 +msgid "Both approaches can be combined if desired." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:407 +msgid "" +"`GEE Data Catalog: Satellite Embedding V1 `__" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:408 +msgid "" +"`GEE tutorial series: Introduction to Satellite Embeddings " +"`__" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:409 +msgid "Brown et al. (2025)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:414 +msgid "10. Classify mangroves" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:416 +msgid "" +"With training data and image inputs prepared, run the SEPAL " +"**Classification** recipe to produce a mangrove/non-mangrove map." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:419 +msgid "10.1 Set up the classification recipe" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:421 +msgid "Add a new recipe and select **Classification**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:422 +msgid "When asked which image to classify, choose one of the following:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:424 +msgid "" +"**Embeddings approach:** ``AlphaEarth_Embeddings_EEAsset`` only (do " +"**not** add optical or radar mosaics)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:425 +msgid "" +"**Optical/radar approach:** the optical mosaic recipe plus the radar " +"mosaic recipe" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:426 +msgid "**Combined approach:** embeddings plus optical and/or radar mosaics" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:429 +msgid "10.2 Select input bands" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:431 +msgid "For the **embeddings approach**, add all 64 embedding bands." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:433 +msgid "For the **optical/radar approach**, recommended bands are:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:435 +msgid "" +"Sentinel-2: B2, B3, B4, B5, B6, B7, B8, B8A, B11, B12, plus derived " +"indices (NDVI, NDMI, NDWI, Tasseled Cap)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:436 +msgid "Sentinel-1: VV mean, VH mean, VH standard deviation" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:439 +msgid "10.3 Define classification classes" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:441 +msgid "For mangrove mapping, a three-class legend is recommended:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:447 +msgid "Class" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:449 +msgid "Mangrove" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:450 +msgid "Mangrove forest" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:451 +msgid "Non-mangrove" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:452 +msgid "All other land cover" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:453 +msgid "Water" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:454 +msgid "Open water" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:456 +msgid "" +"Keep classes distinct — overlapping or ambiguous classes reduce " +"classification accuracy. Assign recognisable colours (e.g. green for " +"mangrove, blue for water)." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:459 +msgid "10.4 Add training data" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:461 +msgid "" +"Reference the ``Mangrove_HighConfidence_Remapping`` recipe (or exported " +"asset) generated in :ref:`Section 7 ` and sampled in " +":ref:`Section 8 `. In the training data tab, select " +"**Add** > **Sample classification**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:463 +msgid "" +"Add manual training points using the **Marker** icon if local knowledge " +"suggests corrections are needed." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:467 +msgid "" +"The classification updates in real time as training points are added or " +"modified, allowing the impact of each change to be seen immediately." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:470 +msgid "10.5 Configure the classifier" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:472 +msgid "SEPAL uses **Random Forest** by default. Recommended settings:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:478 +msgid "Parameter" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:479 +msgid "Recommended value" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:480 +msgid "Number of trees" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:481 +msgid "~300 (use 25 for exploration; increase for production)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:482 +msgid "Variables per split (mTry)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:483 +msgid "Default/auto" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:484 +msgid "Probability outputs" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:485 +msgid "Enable if available" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:488 +msgid "10.6 Interpret and refine results" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:490 +msgid "Use the **Menu** (☰) to switch between display bands:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:492 +msgid "**Class** – the final classified map (one class per pixel)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:493 +msgid "" +"**Mangrove percent** – the probability that each pixel belongs to the " +"mangrove class; more informative than the binary class map for " +"understanding model uncertainty" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:495 +msgid "To improve results, iterate by:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:497 +msgid "" +"tightening the high-confidence mask criteria in the **Remapping** recipe " +"(:ref:`Section 7 `) and resampling (:ref:`Section 8 " +"`);" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:498 +msgid "adding more training samples;" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:499 +msgid "increasing the number of Random Forest trees; or" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:500 +msgid "adjusting the input data stack." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:504 +msgid "" +"See :doc:`../cookbook/classification` for full instructions on the SEPAL " +"classification recipe." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:509 +msgid "11. Map above-ground biomass (optional)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:511 +msgid "" +"In addition to mangrove extent, SEPAL can produce wall-to-wall maps of " +"above-ground biomass (AGB) by combining point-based biomass measurements " +"with satellite embeddings using a **Regression** recipe." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:514 +msgid "11.1 Approach" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:516 +msgid "" +"Where biomass measurements are available (from field plots or GEDI " +"LiDAR), and where the 64 embedding bands are available, the known biomass" +" values can be statistically related to the embedding values and applied " +"to every pixel across the AOI — producing a continuous biomass estimate " +"map." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:519 +msgid "11.2 Option A – Using GEDI LiDAR data" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:521 +msgid "" +"The Global Ecosystem Dynamics Investigation (GEDI) is a full-waveform " +"LiDAR instrument on the International Space Station, capturing vegetation" +" height, canopy structure, and above-ground biomass density. GEDI data " +"are point samples rather than wall-to-wall, but can be used as training " +"data to produce a continuous biomass map." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:523 +msgid "To load GEDI L4A as an EE Asset recipe:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:528 +msgid "**Asset**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:529 +msgid "GEDI L4A Above Ground Biomass Density v2.1" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:531 +msgid "``AGBD`` (above-ground biomass density, Mg/ha)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:532 +msgid "**Visualisation**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:533 +msgid "Thermal colour palette, min = 0, max = ~194" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:535 +msgid "``GEDI_L4A_EEAsset``" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:537 +msgid "To run the biomass regression:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:539 +#: ../../source/workflows/mangrove_mapping.rst:564 +msgid "Add a new recipe and select **Regression**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:540 +#: ../../source/workflows/mangrove_mapping.rst:565 +msgid "Select ``AlphaEarth_Embeddings_EEAsset`` as the image (all 64 bands)." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:541 +msgid "In the training data tab, select **Add** > **Sample image**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:542 +msgid "" +"Select ``GEDI_L4A_EEAsset`` as the source, with ``AGBD`` as the target " +"band." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:543 +msgid "Set the number of samples (increase for production results)." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:544 +#: ../../source/workflows/mangrove_mapping.rst:569 +msgid "Select **Apply** and run." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:548 +msgid "" +"If the study area is changing rapidly, match the GEDI acquisition year to" +" the target image year. For more stable mangrove areas, using all " +"available GEDI data is acceptable." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:551 +msgid "11.3 Option B – Using field-collected AGB data" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:553 +msgid "" +"Field-collected plot data with geographic coordinates can be uploaded to " +"GEE as an asset table and used as training data in the **Regression** " +"recipe." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:555 +msgid "To upload field data to GEE:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:557 +msgid "In the GEE Code Editor, go to the **Assets** tab." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:558 +msgid "Select **New** > **CSV file**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:559 +msgid "Upload the data file — GEE handles reprojection automatically." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:560 +msgid "Note the asset ID from the asset details panel." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:562 +msgid "To run the regression using field data:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:566 +msgid "In the training data tab, select **Add** > **Earth Engine table**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:567 +msgid "Paste the field data table asset ID." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:568 +msgid "Select the AGB column as the target value band." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:572 +msgid "11.4 Interpreting biomass results" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:574 +#, python-format +msgid "" +"The regression produces a continuous map of estimated above-ground " +"biomass (Mg/ha). Results improve significantly with more training samples" +" and more trees in the Random Forest model. Consider reserving 20–30% of " +"samples for independent validation." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:579 +msgid "12. Detect change using CCDC" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:581 +msgid "" +"To map mangrove loss or gain over time, this workflow uses the Continuous" +" Change Detection and Classification (CCDC) algorithm (Zhu and Woodcock, " +"2014). CCDC fits a time-series model to each pixel using all available " +"satellite observations and detects structural breaks — making it well " +"suited to detecting mangrove conversion events." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:584 +msgid "12.1 Create a CCDC asset" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:586 +msgid "Add a new recipe and select **CCDC Asset**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:587 +msgid "Define the AOI and date range." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:588 +msgid "Select input imagery (Sentinel-2 and/or Landsat recommended)." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:589 +msgid "Run the recipe and save the result as a GEE asset." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:593 +msgid "" +"Pre-built CCDC assets for specific study areas may be shared by the SEPAL" +" team or colleagues as GEE asset links, avoiding the need to run this " +"computationally intensive step independently." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:597 +msgid "" +"See :doc:`../cookbook/ccdc_slice` for full instructions on creating a " +"CCDC asset." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:600 +msgid "12.2 Extract CCDC slices" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:602 +msgid "" +"A *CCDC slice* is a snapshot of the fitted time-series model at a " +"specific date — providing harmonised, cloud-free spectral values " +"consistent across dates. CCDC slices can be used:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:604 +msgid "" +"as additional input bands in the **Classification** recipe (:ref:`Section" +" 10 `) for improved accuracy using spatio-" +"temporal descriptors; or" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:605 +msgid "from two different dates to detect change between them." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:609 +msgid "" +"See :doc:`../cookbook/ccdc_slice` for full instructions on using CCDC " +"slices." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:612 +msgid "12.3 Run change detection" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:614 +msgid "**Option A – Index Change recipe (two-date comparison):**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:616 +msgid "Add a new recipe and select **Index Change**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:617 +msgid "Load CCDC slices from two target dates (e.g. 2015 and 2023)." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:618 +msgid "Run the recipe to produce a map of positive and negative spectral change." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:619 +msgid "Interpret positive and negative values as mangrove gain or loss." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:621 +msgid "**Option B – Near-real-time alert recipe:**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:623 +msgid "" +"SEPAL includes an alert recipe based on CCDC that compares the time-" +"series model to very recent observations (last few days to weeks), " +"enabling near-real-time detection of mangrove disturbance events for " +"operational monitoring." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:628 +msgid "13. Download and export results" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:631 +msgid "13.1 Export destinations" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:633 +msgid "" +"Select the **Download** button (cloud with arrow icon) in any recipe to " +"open the export dialog. Choose:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:635 +msgid "" +"**Bands to export** – e.g. ``class`` for a classified map, or " +"``mangrove_percent`` for a probability map;" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:636 +msgid "" +"**Scale** – spatial resolution in metres (e.g. 10 m for Sentinel-2 or " +"embeddings-based results); and" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:637 +msgid "**Destination:**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:639 +msgid "" +"**Google Earth Engine asset** – exports to the GEE asset folder; " +"recommended for further analysis or sharing;" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:640 +msgid "**Google Drive** – exports to Google Drive for local download; or" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:641 +msgid "" +"**SEPAL workspace** – exports to the SEPAL workspace; use if running " +"further analysis inside SEPAL." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:644 +msgid "13.2 Monitor export tasks" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:646 +msgid "" +"After selecting **Retrieve**, a spinning icon appears on the purple task " +"button. A green check mark indicates completion. Monitor tasks in the GEE" +" Code Editor under the **Tasks** tab." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:649 +msgid "13.3 Upload data to GEE" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:651 +msgid "" +"To use local raster or vector data in SEPAL (e.g. field plots, " +"administrative boundaries, existing maps):" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:653 +msgid "In the GEE Code Editor, go to the **Assets** tab and select **New**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:654 +msgid "Select the file type:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:656 +msgid "**GeoTIFF** for raster data;" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:657 +msgid "" +"**Shapefile** – upload ``.shp``, ``.shx``, ``.dbf``, and ``.prj`` files " +"together; or" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:658 +msgid "**CSV** for tabular data with geographic coordinates." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:660 +msgid "GEE handles reprojection automatically." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:661 +msgid "" +"Copy the asset ID and use it in any SEPAL **EE Asset** recipe or training" +" data input." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:664 +msgid "Summary: recommended input data stack" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:670 +msgid "Layer" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:671 +msgid "Asset/source" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:672 +msgid "Purpose" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:673 +msgid "Optical mosaic (Medoid)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:674 +msgid "Sentinel-2 (B2–B12 + indices)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:675 +msgid "Spectral features (if not using embeddings)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:676 +msgid "Radar mosaic" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:677 +msgid "Sentinel-1 (VV mean, VH mean, VH STD)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:678 +msgid "Structural features (if not using embeddings)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:679 +msgid "Google Satellite Embeddings" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:681 +msgid "AI-derived multi-sensor features (64 bands)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:682 +msgid "Global Mangrove Watch v3" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:684 +msgid "Reference mangrove mask" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:685 +msgid "ESA WorldCover v2" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:687 +msgid "Reference land cover (mangrove class = 95)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:688 +msgid "MERIT DEM" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:690 +msgid "Elevation constraint (< 40 m)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:691 +msgid "High-confidence reference map" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:692 +msgid "Remapping recipe output" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:693 +msgid "Training data source" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:694 +msgid "GEDI L4A" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:695 +msgid "GEE catalog" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:696 +#: ../../source/workflows/mangrove_mapping.rst:699 +msgid "Biomass regression training (optional)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:697 +msgid "Field AGB plots" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:698 +msgid "User-uploaded GEE table" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:700 +msgid "CCDC asset" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:701 +msgid "SEPAL CCDC Asset recipe" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:702 +msgid "Change detection" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:705 +msgid "Additional resources" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:711 +msgid "Resource" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:712 +msgid "Link" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:713 +msgid "SEPAL platform" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:714 +msgid "`sepal.io `__" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:715 +msgid "SEPAL documentation" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:716 +msgid "`docs.sepal.io `__" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:717 +msgid "SEPAL certified online course" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:718 +msgid "" +"`FAO SEPAL course `__" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:719 +msgid "FAO SEPAL brochure" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:720 +msgid "`fao.org/in-action/sepal `__" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:721 +msgid "Global Mangrove Watch v3.0" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:722 +msgid "" +"`JAXA GMW " +"`__" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:723 +msgid "ESA WorldCover" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:724 +msgid "`ESA WorldCover `__" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:725 +msgid "GEDI L4A AGB dataset" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:726 +msgid "" +"`GEDI L4A on GEE `__" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:727 +msgid "GEE Satellite Embeddings catalog" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:728 +msgid "" +"`GEE Data Catalog `__" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:729 +msgid "AlphaEarth Foundations" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:730 +msgid "" +"`Google DeepMind blog `__" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:731 +msgid "Contact" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:732 +msgid "sepal@fao.org" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:735 +msgid "References" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:737 +msgid "" +"Brown, C.F., Kazmierski, M.R., Pasquarella, V.J., et al. 2025. AlphaEarth" +" Foundations: An embedding field model for accurate and efficient global " +"mapping from sparse label data. *arXiv preprint* arXiv:2507.22291." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:739 +msgid "" +"Simard, M., Fatoyinbo, L., Smetanka, C., Rivera-Monroy, V.H., Castañeda-" +"Moya, E., Thomas, N. and Van der Stocken, T. 2019. Mangrove canopy height" +" globally related to precipitation, temperature and cyclone frequency. " +"*Nature Geoscience*, 12: 40–45." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:741 +msgid "" +"Zhu, Z. and Woodcock, C.E. 2014. Continuous change detection and " +"classification of land cover using all available Landsat data. *Remote " +"Sensing of Environment*, 144: 152–171." +msgstr "" + diff --git a/docs/source/_locale/sv/LC_MESSAGES/workflows/proms.po b/docs/source/_locale/sv/LC_MESSAGES/workflows/proms.po new file mode 100644 index 0000000000..83434c5592 --- /dev/null +++ b/docs/source/_locale/sv/LC_MESSAGES/workflows/proms.po @@ -0,0 +1,456 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: sv\n" +"Language-Team: sv \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/workflows/proms.rst:2 +msgid "Probability Map Subtraction (PROMS)" +msgstr "" + +#: ../../source/workflows/proms.rst:5 +msgid "Overview" +msgstr "" + +#: ../../source/workflows/proms.rst:7 +msgid "" +"This tutorial provides a step-by-step guide to estimate forest change " +"areas between two dates using an improved area estimation technique. The " +"method leverages a statistically optimized stratification of forest and " +"forest change areas using continuous probability layers and sample " +"allocation." +msgstr "" + +#: ../../source/workflows/proms.rst:17 +msgid "In lighter green optional data and steps." +msgstr "" + +#: ../../source/workflows/proms.rst:21 +msgid "Workflow Steps" +msgstr "" + +#: ../../source/workflows/proms.rst:24 +msgid "Input Data Collection for Time 1 and Time 2" +msgstr "" + +#: ../../source/workflows/proms.rst:25 +msgid "" +"Training data on Stable Forest and Stable Non-Forest between Time 1 And " +"Time 2" +msgstr "" + +#: ../../source/workflows/proms.rst:26 +msgid "Forest Probability Classification at Time 1 and Time 2" +msgstr "" + +#: ../../source/workflows/proms.rst:27 +msgid "Forest Change Probability Calculation" +msgstr "" + +#: ../../source/workflows/proms.rst:28 +msgid "Inclusive Forest Mask Application (Optional)" +msgstr "" + +#: ../../source/workflows/proms.rst:29 +msgid "Stratification" +msgstr "" + +#: ../../source/workflows/proms.rst:30 +msgid "Sample Allocation" +msgstr "" + +#: ../../source/workflows/proms.rst:31 +msgid "Sample Interpretation and analysis" +msgstr "" + +#: ../../source/workflows/proms.rst:35 +msgid "Summary Approach" +msgstr "" + +#: ../../source/workflows/proms.rst:37 +msgid "" +"In this tutorial, we will demonstrate the methodology applied to the " +"region of Alto Paraguay, aiming to estimate the forest change area " +"between the years 2018 (Time 1) and 2020 (Time 2)." +msgstr "" + +#: ../../source/workflows/proms.rst:40 +msgid "Step 1: Input Data" +msgstr "" + +#: ../../source/workflows/proms.rst:42 +msgid "" +"The first step is to select the input imagery for classification. A " +"minimum of one type of data source is required; however, for optimal " +"classification results, a combination of sensors is recommended. The " +"selection depends on data availability and quality for your study area. " +"To capture changes occurring between Time 1 and Time 2, it is recommended" +" to create annual composites for one year before and one year after each " +"respective time point. This approach includes all possible changes that " +"occurred during Time 1 and Time 2." +msgstr "" + +#: ../../source/workflows/proms.rst:45 +msgid "SEPAL Tools for Image Combination:" +msgstr "" + +#: ../../source/workflows/proms.rst:47 +msgid "" +"SEPAL offers several tools to combine images from several sensors into " +"single raster:" +msgstr "" + +#: ../../source/workflows/proms.rst:49 +msgid "" +"**Optical Mosaics**: For creating optical mosaics, refer to the `Optical " +"Mosaics tool " +"`__." +msgstr "" + +#: ../../source/workflows/proms.rst:50 +msgid "" +"**Radar Mosaics**: For creating radar mosaics, use the `Radar Mosaics " +"tool `__." +msgstr "" + +#: ../../source/workflows/proms.rst:51 +msgid "" +"**Planet Mosaic**: For creating optical mosaics with high-resolution " +"imagery, see the `Planet Mosaic tool " +"`__." +msgstr "" + +#: ../../source/workflows/proms.rst:53 +msgid "" +"For areas with seasonal vegetation variations (e.g., dry forests), " +"consider using Continuous Change Detection and Classification (CCDC). " +"Refer to `CCDC Asset Creation " +"`__ for" +" more information." +msgstr "" + +#: ../../source/workflows/proms.rst:56 +msgid "Case Study Data Preparation:" +msgstr "" + +#: ../../source/workflows/proms.rst:58 +msgid "In our case study, we created:" +msgstr "" + +#: ../../source/workflows/proms.rst:60 +msgid "Planet Mosaics, Sentinel-1 Time Scans, Sentinel-2 Mosaics in SEPAL." +msgstr "" + +#: ../../source/workflows/proms.rst:61 +msgid "" +"ALOS-2 Time Scans in Google Earth Engine (`Link to Script " +"`__)" +msgstr "" + +#: ../../source/workflows/proms.rst:63 +msgid "" +"These datasets were prepared for both years 2017 and 2021 (one year " +"before and one year after Time 1 and Time 2, respectively)." +msgstr "" + +#: ../../source/workflows/proms.rst:71 +msgid "Step 2: Training Data" +msgstr "" + +#: ../../source/workflows/proms.rst:73 +msgid "" +"Create training data on the presence and absence of forest for your " +"period of interest. Depending on availability, training data can be " +"sourced from:" +msgstr "" + +#: ../../source/workflows/proms.rst:75 +msgid "**Existing Maps**: Extract samples from global or regional forest maps." +msgstr "" + +#: ../../source/workflows/proms.rst:76 +msgid "**Field Data**: Use ground-truth data collected from field surveys." +msgstr "" + +#: ../../source/workflows/proms.rst:77 +msgid "**Other Sources**: Extract samples from datasets like GEDI or GLANCE." +msgstr "" + +#: ../../source/workflows/proms.rst:80 +msgid "Step 3: Forest Probability Classification" +msgstr "" + +#: ../../source/workflows/proms.rst:82 +msgid "" +"Obtain forest probability maps for Time 1 and Time 2 through supervised " +"classification of your input data, using training data on forest and non-" +"forest classes. It is preferable to use stable samples from the period " +"between Time 1 and Time 2." +msgstr "" + +#: ../../source/workflows/proms.rst:85 +msgid "Using SEPAL's Classification Tool:" +msgstr "" + +#: ../../source/workflows/proms.rst:87 +msgid "" +"SEPAL offers a user-friendly `Classification tool " +"`__ for " +"building supervised classifications." +msgstr "" + +#: ../../source/workflows/proms.rst:90 ../../source/workflows/proms.rst:215 +#: ../../source/workflows/proms.rst:256 +msgid "Case Study Implementation:" +msgstr "" + +#: ../../source/workflows/proms.rst:92 +msgid "" +"Auxiliary Data: Added terrain data from the `MERIT Digital Elevation " +"Model `__ to the " +"mosaic stack for both years. Classifier: Used a Random Forest Classifier " +"in probability output mode. Output: Generated forest probability maps for" +" 2017 and 2021." +msgstr "" + +#: ../../source/workflows/proms.rst:96 +msgid "" +"If the number of samples that changed class between Time 1 and Time 2 is " +"small relative to the total number, it won’t significantly affect Random " +"Forest results due to its multiple decision trees and bootstrapping " +"method." +msgstr "" + +#: ../../source/workflows/proms.rst:103 +msgid "Step 4: Forest Change Probability Calculation" +msgstr "" + +#: ../../source/workflows/proms.rst:105 +msgid "" +"Calculate the forest change probability map by finding the difference " +"between the forest probability maps of Time 1 and Time 2." +msgstr "" + +#: ../../source/workflows/proms.rst:108 +msgid "Using SEPAL's Band Math Tool:" +msgstr "" + +#: ../../source/workflows/proms.rst:110 +msgid "" +"The `Band Math tool " +"`__ allows for " +"mathematical operations on images from SEPAL or Google Earth Engine." +msgstr "" + +#: ../../source/workflows/proms.rst:113 +msgid "Case Study Calculation:" +msgstr "" + +#: ../../source/workflows/proms.rst:115 +msgid "" +"Operation: Subtracted the forest probability band (probability_1) of the " +"2021 image from the 2017 image as an absolute value." +msgstr "" + +#: ../../source/workflows/proms.rst:116 +msgid "" +"Result: High values indicate a high probability of forest change, both " +"possible ‘forest losses’ and ‘forest gains’; low values indicate " +"stability." +msgstr "" + +#: ../../source/workflows/proms.rst:124 +msgid "For Multiple Monitoring Dates:" +msgstr "" + +#: ../../source/workflows/proms.rst:126 +msgid "" +"When intermediate dates are available, calculate the maximum forest " +"change probability:" +msgstr "" + +#: ../../source/workflows/proms.rst:140 +#, python-brace-format +msgid "" +"\\text{Max Change Probability} = \\max(\\text{probabilities over all " +"dates}) - \\min(\\text{probabilities over all dates})\n" +"\n" +msgstr "" + +#: ../../source/workflows/proms.rst:147 +msgid "With only two dates:" +msgstr "" + +#: ../../source/workflows/proms.rst:149 +#, python-brace-format +msgid "" +"\\text{Change Probability} = |\\text{Probability at Time 1} - " +"\\text{Probability at Time 2}|\n" +"\n" +msgstr "" + +#: ../../source/workflows/proms.rst:157 +msgid "Step 5: Inclusive Forest Mask Application (optional)" +msgstr "" + +#: ../../source/workflows/proms.rst:159 +msgid "" +"Apply a ‘forest mask’ to exclude areas with very low forest probability, " +"focusing the stratification on relevant areas." +msgstr "" + +#: ../../source/workflows/proms.rst:163 +msgid "" +"This mask should not be regarded as a commonly used forest mask but " +"rather as a highly conservative one, designed to include all areas where " +"forest could potentially exist at both Time 1 and Time 2, while excluding" +" areas where forest is definitively absent, such as deserts, croplands, " +"or built-up areas, especially when these categories constitute a " +"significant portion of the total area)." +msgstr "" + +#: ../../source/workflows/proms.rst:166 +msgid "Using SEPAL’s Band Math Tool:" +msgstr "" + +#: ../../source/workflows/proms.rst:168 +msgid "" +"Calculate Maximum Forest Probability: Use the Band Math tool to find the " +"maximum probability across all dates (Time 1 and Time 2 in the case " +"study)." +msgstr "" + +#: ../../source/workflows/proms.rst:172 +msgid "Using SEPAL’s Remapping Tool:" +msgstr "" + +#: ../../source/workflows/proms.rst:174 +msgid "" +"Remap Values: With the Remapping tool, classify areas as 'forest' where " +"the maximum forest probability exceeds a specified threshold, and mask " +"out areas that fall below this threshold." +msgstr "" + +#: ../../source/workflows/proms.rst:182 +msgid "Case study implementation:" +msgstr "" + +#: ../../source/workflows/proms.rst:184 +msgid "" +"In our case study we used a 10% maximum forest probability threshold that" +" masked out cropland areas." +msgstr "" + +#: ../../source/workflows/proms.rst:188 +msgid "Using SEPAL’s Masking Tool:" +msgstr "" + +#: ../../source/workflows/proms.rst:190 +msgid "" +"Apply Mask: Use the Masking tool to apply the ‘forest mask’ to the forest" +" change probability layer." +msgstr "" + +#: ../../source/workflows/proms.rst:200 +msgid "Step 6: Stratification" +msgstr "" + +#: ../../source/workflows/proms.rst:203 +msgid "" +"Convert the continuous forest change probability map into a categorical " +"map using the SEPAL's `Unsupervised Classification tool " +"`__" +" tool to create a stratification layer." +msgstr "" + +#: ../../source/workflows/proms.rst:207 +msgid "Using SEPAL’s Unsupervised Classification tool" +msgstr "" + +#: ../../source/workflows/proms.rst:210 +msgid "" +"**Sampling**: Number of Samples: Use a high number (e.g., 100,000) for " +"better representation, especially when areas with high forest change " +"probability are small. Sampling Scale: Consider the forest definition " +"(e.g., 70 meters aligning with a 0.5-hectare MMU)." +msgstr "" + +#: ../../source/workflows/proms.rst:211 +msgid "" +"**Clusterer**: Algorithm: Use the k-means algorithm. Number of Clusters: " +"Five classes are recommended (Kozak, 2011)." +msgstr "" + +#: ../../source/workflows/proms.rst:217 +msgid "" +"Samples: 100,000 samples to train the clusterer. Sampling Scale: 70 " +"meters." +msgstr "" + +#: ../../source/workflows/proms.rst:225 +msgid "Apply to Forest Areas Only:" +msgstr "" + +#: ../../source/workflows/proms.rst:227 +msgid "" +"The stratification could be applied exclusively to areas where forest " +"could potentially exist during the period of interest (both stable and " +"changing) using the masked forest change probability map as input image." +msgstr "" + +#: ../../source/workflows/proms.rst:235 +msgid "Step 7: Sample allocation" +msgstr "" + +#: ../../source/workflows/proms.rst:237 +msgid "" +"Select the sample points for interpretation on the stratification layer " +"using Neyman's method. The samples are optimally distributed according to" +" the variability and area of each stratum:" +msgstr "" + +#: ../../source/workflows/proms.rst:239 +msgid "" +":math:`n_h = \\left( \\frac{\\text{sd} \\cdot \\text{área del " +"estrato}}{\\sum (\\text{sd} \\cdot \\text{área})} \\right) \\cdot " +"\\text{targetSampleSize}`" +msgstr "" + +#: ../../source/workflows/proms.rst:242 +msgid "Using Google Earth Engine" +msgstr "" + +#: ../../source/workflows/proms.rst:244 +msgid "" +"The sample allocation can be applied either to the unmasked " +"stratification layer (as shown in the image above) or to the masked " +"stratification layer (as depicted in the image below)." +msgstr "" + +#: ../../source/workflows/proms.rst:258 +msgid "Total number of samples to select: 3000. Spatial resolution: 70m." +msgstr "" + +#: ../../source/workflows/proms.rst:261 +msgid "Step 8: Sample interpretation and analysis" +msgstr "" + +#: ../../source/workflows/proms.rst:263 +msgid "Estimate the forest change area." +msgstr "" + diff --git a/docs/source/_locale/zh/LC_MESSAGES/cli/env_management.po b/docs/source/_locale/zh/LC_MESSAGES/cli/env_management.po new file mode 100644 index 0000000000..802581a817 --- /dev/null +++ b/docs/source/_locale/zh/LC_MESSAGES/cli/env_management.po @@ -0,0 +1,337 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: zh\n" +"Language-Team: zh \n" +"Plural-Forms: nplurals=1; plural=0;\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/cli/env_management.rst:4 +msgid "Python environment management" +msgstr "" + +#: ../../source/cli/env_management.rst:6 +msgid "" +"SEPAL provides two tools for managing Python environments: :guilabel:`uv`" +" and :guilabel:`micromamba`. Both are already installed and both are " +"better choices than the built-in :guilabel:`venv` for work on SEPAL." +msgstr "" + +#: ../../source/cli/env_management.rst:8 +msgid "" +"The core problem with :guilabel:`venv` on a shared platform is that it " +"creates environments tightly coupled to the system Python. When SEPAL " +"upgrades Python — as happened with the Ubuntu Noble upgrade from 3.10 to " +"3.12 — every venv breaks. The tools described on this page do not have " +"this problem." +msgstr "" + +#: ../../source/cli/env_management.rst:12 +msgid "" +"Do not use :guilabel:`venv` for new work on SEPAL. Use :guilabel:`uv` or " +":guilabel:`micromamba` instead." +msgstr "" + +#: ../../source/cli/env_management.rst:17 +msgid "Which tool should I use?" +msgstr "" + +#: ../../source/cli/env_management.rst:19 +msgid "The right choice depends on what your project needs." +msgstr "" + +#: ../../source/cli/env_management.rst:25 +msgid "Your stack includes..." +msgstr "" + +#: ../../source/cli/env_management.rst:26 +msgid "Use" +msgstr "" + +#: ../../source/cli/env_management.rst:27 +msgid "Why" +msgstr "" + +#: ../../source/cli/env_management.rst:28 +msgid "Web frameworks, APIs, pure Python tools" +msgstr "" + +#: ../../source/cli/env_management.rst:29 +#: ../../source/cli/env_management.rst:32 +msgid ":guilabel:`uv`" +msgstr "" + +#: ../../source/cli/env_management.rst:30 +msgid "Fast, lightweight, no overhead" +msgstr "" + +#: ../../source/cli/env_management.rst:31 +msgid "Data science: pandas, scikit-learn, statsmodels" +msgstr "" + +#: ../../source/cli/env_management.rst:33 +msgid "Good PyPI wheel coverage for Python 3.12" +msgstr "" + +#: ../../source/cli/env_management.rst:34 +msgid "Geospatial: GDAL, rasterio, fiona, GEOS" +msgstr "" + +#: ../../source/cli/env_management.rst:35 +#: ../../source/cli/env_management.rst:38 +msgid ":guilabel:`micromamba`" +msgstr "" + +#: ../../source/cli/env_management.rst:36 +msgid "Bundles native libraries inside the environment" +msgstr "" + +#: ../../source/cli/env_management.rst:37 +msgid "GPU / ML: CUDA, cuDNN, PyTorch with CUDA" +msgstr "" + +#: ../../source/cli/env_management.rst:39 +msgid "Pins CUDA runtime inside the environment" +msgstr "" + +#: ../../source/cli/env_management.rst:40 +msgid "Mixed: some native libraries, some pure Python" +msgstr "" + +#: ../../source/cli/env_management.rst:41 +msgid ":guilabel:`micromamba` + pip" +msgstr "" + +#: ../../source/cli/env_management.rst:42 +msgid "micromamba for native libraries, pip for the rest" +msgstr "" + +#: ../../source/cli/env_management.rst:46 +msgid "" +":guilabel:`uv` environments can still break if SEPAL upgrades a system-" +"level native library such as GDAL or CUDA. This is because :guilabel:`uv`" +" installs Python packages from PyPI but cannot bundle the underlying " +"``.so`` files they depend on. If your project uses geospatial or GPU " +"packages, use :guilabel:`micromamba`." +msgstr "" + +#: ../../source/cli/env_management.rst:51 +msgid "uv" +msgstr "" + +#: ../../source/cli/env_management.rst:53 +msgid "" +":guilabel:`uv` is a fast, modern Python and package manager. It manages " +"its own Python versions independently of the system, so a system Python " +"upgrade will not affect your environments." +msgstr "" + +#: ../../source/cli/env_management.rst:56 +msgid "Why use uv" +msgstr "" + +#: ../../source/cli/env_management.rst:58 +msgid "" +"**Survives system Python upgrades.** uv pins the Python version inside " +"the project. If you create an environment with Python 3.12.2, it stays on" +" 3.12.2 regardless of what the system does." +msgstr "" + +#: ../../source/cli/env_management.rst:59 +msgid "" +"**Much faster than pip and venv.** Dependency resolution and installation" +" are typically 10–100× faster due to parallel downloads and a compiled " +"resolver." +msgstr "" + +#: ../../source/cli/env_management.rst:60 +msgid "" +"**Lockfiles for reproducibility.** ``uv lock`` generates a precise, " +"cross-platform lockfile — more reliable than ``pip freeze`` for sharing " +"environments with colleagues." +msgstr "" + +#: ../../source/cli/env_management.rst:61 +msgid "" +"**Drop-in pip compatibility.** ``uv pip install`` works exactly like " +"``pip install``. Any package on PyPI works with uv. No new formats to " +"learn." +msgstr "" + +#: ../../source/cli/env_management.rst:62 +msgid "" +"**Works with standard project files.** Reads ``pyproject.toml`` and " +"``requirements.txt`` natively." +msgstr "" + +#: ../../source/cli/env_management.rst:63 +msgid "" +"**Manages multiple Python versions.** ``uv python install 3.10`` lets you" +" run any Python version without touching the system." +msgstr "" + +#: ../../source/cli/env_management.rst:64 +msgid "" +"**Single lightweight binary.** No base environment, no shell hooks, no " +"overhead." +msgstr "" + +#: ../../source/cli/env_management.rst:67 +msgid "Creating a uv project (recommended)" +msgstr "" + +#: ../../source/cli/env_management.rst:69 +msgid "" +"``uv init`` creates a project with a ``pyproject.toml`` and a lockfile, " +"giving you reproducible installs and clean dependency tracking:" +msgstr "" + +#: ../../source/cli/env_management.rst:83 +msgid "" +"uv automatically creates a ``.venv`` inside the project directory, " +"generates a ``uv.lock`` lockfile, and tracks all dependencies in " +"``pyproject.toml``. You do not need to activate anything — ``uv run`` " +"handles it." +msgstr "" + +#: ../../source/cli/env_management.rst:85 +msgid "To reproduce the environment elsewhere (or after a fresh clone):" +msgstr "" + +#: ../../source/cli/env_management.rst:92 +msgid "Creating a standalone uv environment" +msgstr "" + +#: ../../source/cli/env_management.rst:94 +msgid "" +"If you do not need a full project structure — for example, when working " +"with an existing ``requirements.txt`` — you can create a standalone " +"environment:" +msgstr "" + +#: ../../source/cli/env_management.rst:111 +#: ../../source/cli/env_management.rst:208 +msgid "Adding a Jupyter kernel" +msgstr "" + +#: ../../source/cli/env_management.rst:113 +msgid "Register your environment as a named kernel so it appears in JupyterLab:" +msgstr "" + +#: ../../source/cli/env_management.rst:115 +msgid "**For uv projects:**" +msgstr "" + +#: ../../source/cli/env_management.rst:123 +msgid "**For standalone uv environments:**" +msgstr "" + +#: ../../source/cli/env_management.rst:131 +msgid "Verify it appears:" +msgstr "" + +#: ../../source/cli/env_management.rst:137 +#: ../../source/cli/env_management.rst:224 +msgid "To remove a kernel:" +msgstr "" + +#: ../../source/cli/env_management.rst:146 +msgid "micromamba" +msgstr "" + +#: ../../source/cli/env_management.rst:148 +msgid "" +":guilabel:`micromamba` works like conda (if you have used conda before, " +"you already know how to use micromamba). Unlike :guilabel:`uv`, it " +"bundles native system libraries — GDAL, CUDA, HDF5, and others — inside " +"the environment itself, completely isolated from the system. This makes " +"it the right choice for geospatial and GPU workloads." +msgstr "" + +#: ../../source/cli/env_management.rst:151 +msgid "Why use micromamba" +msgstr "" + +#: ../../source/cli/env_management.rst:153 +msgid "" +"**Complete isolation including native libraries.** GDAL, CUDA, HDF5, " +"GEOS, and other system libraries are installed inside the environment. " +"Upgrading system libraries on SEPAL will not break your environment." +msgstr "" + +#: ../../source/cli/env_management.rst:154 +msgid "" +"**conda-forge provides excellent binary coverage.** conda-forge provides " +"pre-compiled, compatible builds of complex packages across all platforms " +"— often better than what is available on PyPI." +msgstr "" + +#: ../../source/cli/env_management.rst:155 +msgid "" +"**Environment files capture the full stack.** ``environment.yml`` files " +"describe both Python packages and native libraries in one place, making " +"environments fully reproducible by colleagues." +msgstr "" + +#: ../../source/cli/env_management.rst:156 +msgid "" +"**Pins native library versions.** You can pin ``cudatoolkit=11.8`` or " +"``gdal=3.6`` and those exact versions live inside the environment, " +"regardless of what is installed system-wide." +msgstr "" + +#: ../../source/cli/env_management.rst:157 +msgid "" +"**Faster than conda.** Written in C++, micromamba solves and installs " +"dependencies significantly faster than the original conda tool." +msgstr "" + +#: ../../source/cli/env_management.rst:158 +msgid "" +"**No base environment.** micromamba has no base environment that needs " +"updating — cleaner and lighter on disk." +msgstr "" + +#: ../../source/cli/env_management.rst:161 +msgid "Creating a micromamba environment" +msgstr "" + +#: ../../source/cli/env_management.rst:178 +msgid "Using an environment.yml file (recommended)" +msgstr "" + +#: ../../source/cli/env_management.rst:180 +msgid "" +"An ``environment.yml`` file captures the full environment — Python " +"version, native libraries, and Python packages — in one place:" +msgstr "" + +#: ../../source/cli/env_management.rst:197 +msgid "Create or update an environment from the file:" +msgstr "" + +#: ../../source/cli/env_management.rst:233 +msgid "Recovering a broken venv" +msgstr "" + +#: ../../source/cli/env_management.rst:235 +msgid "" +"If you have an existing venv that broke due to the Python upgrade, see " +":ref:`fix_venvs` for step-by-step recovery instructions, including a " +"script to extract your requirements without activating the broken " +"environment." +msgstr "" + diff --git a/docs/source/_locale/zh/LC_MESSAGES/cli/index.po b/docs/source/_locale/zh/LC_MESSAGES/cli/index.po index 48eb040914..bfce492c2d 100644 --- a/docs/source/_locale/zh/LC_MESSAGES/cli/index.po +++ b/docs/source/_locale/zh/LC_MESSAGES/cli/index.po @@ -1,22 +1,54 @@ + msgid "" msgstr "" -"Project-Id-Version: sepal-doc\n" +"Project-Id-Version: sepal-doc\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-03-07 09:39+0100\n" -"PO-Revision-Date: 2024-03-07 09:05\n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: 2024-03-07 09:05+0000\n" "Last-Translator: \n" +"Language: zh_CN\n" "Language-Team: Chinese Simplified\n" +"Plural-Forms: nplurals=1; plural=0;\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.14.0\n" -"Plural-Forms: nplurals=1; plural=0;\n" -"X-Crowdin-Project: sepal-doc\n" -"X-Crowdin-Project-ID: 562097\n" -"X-Crowdin-Language: zh-CN\n" -"X-Crowdin-File: /main/docs/source/_locale/en/LC_MESSAGES/cli/index.po\n" -"X-Crowdin-File-ID: 49\n" -"Language: zh_CN\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/cli/index.rst:10 +msgid "GDAL — Geospatial Data Abstraction Library" +msgstr "" + +#: ../../source/cli/index.rst:10 +msgid "Google Drive" +msgstr "" + +#: ../../source/cli/index.rst:10 +msgid "Google Earth Engine" +msgstr "" + +#: ../../source/cli/index.rst:10 +msgid "GuidosToolbox Workbench" +msgstr "" + +#: ../../source/cli/index.rst:10 +msgid "Open Foris Geospatial Toolkit" +msgstr "" + +#: ../../source/cli/index.rst:10 +msgid "Orfeo ToolBox" +msgstr "" + +#: ../../source/cli/index.rst:10 +msgid "Python" +msgstr "" + +#: ../../source/cli/index.rst:10 +msgid "R" +msgstr "" + +#: ../../source/cli/index.rst:10 +msgid "Python environment management" +msgstr "" #: ../../source/cli/index.rst:2 msgid "CLI" @@ -31,51 +63,72 @@ msgid "CLI tools" msgstr "" #: ../../source/cli/index.rst:8 -msgid "To help resolve specific problems, the SEPAL platform includes a variety of useful command-line interface (CLI) utilities, including:" +msgid "" +"To help resolve specific problems, the SEPAL platform includes a variety " +"of useful command-line interface (CLI) utilities, including:" msgstr "" -#: ../../source/cli/index.rst:22 -msgid "These tools can be called directly from the terminal or via any programming language sending commands to the kernel, including R and Python (installed by default on any SEPAL account)." +#: ../../source/cli/index.rst:23 +msgid "" +"These tools can be called directly from the terminal or via any " +"programming language sending commands to the kernel, including R and " +"Python (installed by default on any SEPAL account)." msgstr "" -#: ../../source/cli/index.rst:29 +#: ../../source/cli/index.rst:30 msgid "The code executed previously on an existing :code:`example.tif` file:" msgstr "" -#: ../../source/cli/index.rst:37 -msgid "If you're running actions from multiple directories or instances, you can open multiple **Terminal** tabs and name them as you see fit." +#: ../../source/cli/index.rst:38 +msgid "" +"If you're running actions from multiple directories or instances, you can" +" open multiple **Terminal** tabs and name them as you see fit." msgstr "" -#: ../../source/cli/index.rst:41 -msgid "If the code you want to execute is taking time, consider running it in the background using :code:`nohup`:" +#: ../../source/cli/index.rst:42 +msgid "" +"If the code you want to execute is taking time, consider running it in " +"the background using :code:`nohup`:" msgstr "" -#: ../../source/cli/index.rst:47 -msgid "All console outputs will be redirected to a :code:`nohup.out` in your home directory, but the execution will be running in the background. You will be able to safely close the terminal or even the browser window without interrupting the process (for more information about :code:`nohup`, see `this article `__)." +#: ../../source/cli/index.rst:48 +msgid "" +"All console outputs will be redirected to a :code:`nohup.out` in your " +"home directory, but the execution will be running in the background. You " +"will be able to safely close the terminal or even the browser window " +"without interrupting the process (for more information about " +":code:`nohup`, see `this article " +"`__)." msgstr "" -#: ../../source/cli/index.rst:50 +#: ../../source/cli/index.rst:51 msgid "Coding tools" msgstr "" -#: ../../source/cli/index.rst:52 -msgid "In the **Apps** section, there are three coding tools at the top of the list:" +#: ../../source/cli/index.rst:53 +msgid "" +"In the **Apps** section, there are three coding tools at the top of the " +"list:" msgstr "" -#: ../../source/cli/index.rst:54 +#: ../../source/cli/index.rst:55 msgid "JupyterLab" msgstr "" -#: ../../source/cli/index.rst:55 +#: ../../source/cli/index.rst:56 msgid "Jupyter Notebook" msgstr "" -#: ../../source/cli/index.rst:56 +#: ../../source/cli/index.rst:57 msgid "RStudio" msgstr "" -#: ../../source/cli/index.rst:61 -msgid "They will allow the user to code wokflows in any of the available languages using the corresponding environment in SEPAL. These environments are fully customizable (view the :code:`Python` or :code:`R` section to know more)." +#: ../../source/cli/index.rst:62 +msgid "" +"They will allow the user to code wokflows in any of the available " +"languages using the corresponding environment in SEPAL. These " +"environments are fully customizable (view the :code:`Python` or :code:`R`" +" section to know more)." msgstr "" #~ msgid "" diff --git a/docs/source/_locale/zh/LC_MESSAGES/cookbook/band_math.po b/docs/source/_locale/zh/LC_MESSAGES/cookbook/band_math.po new file mode 100644 index 0000000000..73d485d9ff --- /dev/null +++ b/docs/source/_locale/zh/LC_MESSAGES/cookbook/band_math.po @@ -0,0 +1,233 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: zh\n" +"Language-Team: zh \n" +"Plural-Forms: nplurals=1; plural=0;\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/cookbook/band_math.rst:2 +msgid "Band Math" +msgstr "" + +#: ../../source/cookbook/band_math.rst:4 +msgid "" +"The **Band Math** recipe in SEPAL allows you to derive new raster layers " +"from existing ones by evaluating mathematical expressions. You can " +"combine, scale or subtract spectral bands, build indices or apply logical" +" masks. This guide walks through the Band Math workflow from start to " +"finish and uses a vegetation index as an example. The same steps apply " +"whether you are creating a simple ratio or a complex index." +msgstr "" + +#: ../../source/cookbook/band_math.rst:7 +msgid "Getting started" +msgstr "" + +#: ../../source/cookbook/band_math.rst:9 +msgid "Open `sepal.io `_ in your web browser and sign in." +msgstr "" + +#: ../../source/cookbook/band_math.rst:10 +msgid "" +"Go to the **Process** page where SEPAL lists your recipes. If you have " +"not created any recipes yet this list will be empty." +msgstr "" + +#: ../../source/cookbook/band_math.rst:13 +msgid "Creating a Band Math recipe" +msgstr "" + +#: ../../source/cookbook/band_math.rst:15 +msgid "" +"Click :btn:` Add recipe` in the recipe list and choose " +"**Band Math**. SEPAL opens a new tab for your recipe. On the right‑hand " +"side you will see three vertically stacked tabs labelled :guilabel:`IMG`," +" :guilabel:`CAL` and :guilabel:`OUT` corresponding to *Input imagery*, " +"*Calculations* and *Outputs*." +msgstr "" + +#: ../../source/cookbook/band_math.rst:27 +msgid "" +"Select the :guilabel:`IMG` button. Click :btn:` Add` " +"and then **Earth Engine Asset**. An entry form appears where you can " +"provide a Google Earth Engine image. Paste a valid asset ID into the " +"**Earth Engine asset ID** field (for example the Landsat 8 Level‑2 scene " +"``LANDSAT/LC08/C02/T1_L2/LC08_232064_20200119``). Leave the **Image " +"name** as the default (``i1``) unless you intend to add multiple images. " +"Use the tick icon to validate the ID; if the field turns red the asset is" +" not available. Once it loads successfully you will see a section " +"labelled **CONTINUOUS** listing the available bands." +msgstr "" + +#: ../../source/cookbook/band_math.rst:34 +msgid "" +"Specify which bands you need. Click the green :btn:` " +"Add` button to insert a row, select the band name from the drop‑down list" +" and leave the :guilabel:`TYPE` as **CONTINUOUS**. Repeat this step for " +"every band referenced in your expression. For a vegetation index select " +"the red band ``SR_B4`` and the near‑infrared band ``SR_B5``. When you " +"have added all your bands, click :btn:` Apply` to " +"confirm. The :guilabel:`IMG` tab now lists your Earth Engine asset and " +"the chosen name." +msgstr "" + +#: ../../source/cookbook/band_math.rst:42 +msgid "Defining a calculation" +msgstr "" + +#: ../../source/cookbook/band_math.rst:44 +msgid "" +"Switch to the :guilabel:`CAL` tab and click :btn:` " +"Add`. A dialog appears offering two paths: **Function** and " +"**Expression**. Choose **Function** when you want to compute built‑in " +"statistics (sum, mean, min, max, product) on your bands. Choose " +"**Expression** when you need to write a custom formula. For indices you " +"will almost always select **Expression**." +msgstr "" + +#: ../../source/cookbook/band_math.rst:51 +msgid "" +"In the expression editor type your formula. Refer to each band using its " +"image name and band name, for example ``i1.SR_B5`` for the near‑infrared " +"band of the first image. Parentheses control the order of operations. To " +"compute a vegetation index you can use:" +msgstr "" + +#: ../../source/cookbook/band_math.rst:57 +msgid "" +"You could just as easily substitute other bands or constants, for example" +" the Normalised Difference Water Index (NDWI) ``(i1.SR_B3 - i1.SR_B5) / " +"(i1.SR_B3 + i1.SR_B5)`` or a simple ratio like ``i1.SR_B5 / i1.SR_B4``." +msgstr "" + +#: ../../source/cookbook/band_math.rst:59 +msgid "" +"Enter a short Band name beneath the editor. This will be the label of the" +" resulting layer – for example ``ndvi`` for a vegetation index." +msgstr "" + +#: ../../source/cookbook/band_math.rst:66 +msgid "" +"Click :btn:` Apply`. Your calculation appears in the " +"list with an identifier such as ``c1``. You can add additional " +"calculations by repeating this process; each one becomes a separate " +"output band." +msgstr "" + +#: ../../source/cookbook/band_math.rst:74 +msgid "Managing outputs and naming" +msgstr "" + +#: ../../source/cookbook/band_math.rst:76 +msgid "" +"The :guilabel:`OUT` tab displays the bands produced by your expressions. " +"Check that the band names are correct. You can delete or add them using " +"the icons on the right of each row. Above the map the recipe tab uses a " +"default timestamp; rename it by double‑clicking the label, entering a " +"descriptive name (for example ``Amazon_BandMath``) and pressing " +"**Enter**. When everything looks correct close the :guilabel:`OUT` tab." +msgstr "" + +#: ../../source/cookbook/band_math.rst:84 +msgid "Visualising the results" +msgstr "" + +#: ../../source/cookbook/band_math.rst:86 +msgid "" +"By default your calculation is not drawn on the map. To create a " +"visualisation:" +msgstr "" + +#: ../../source/cookbook/band_math.rst:88 +msgid "" +"Locate the small :btn:`` icon near the bottom centre of" +" the map and click it. This opens the **This recipe** panel. If your " +"derived bands appear here they are ready for visualisation; if not, click" +" the :btn:`` button in that panel to create one." +msgstr "" + +#: ../../source/cookbook/band_math.rst:95 +msgid "" +"A **Visualisation** dialog opens. Choose the band you want to display " +"from the **Band** drop‑down (for example ``ndvi``). Set **Min** and " +"**Max** values to define the stretch – for indices spanning –1 to 1, " +"values such as –0.2 and 0.8 often provide good contrast." +msgstr "" + +#: ../../source/cookbook/band_math.rst:97 +msgid "" +"Select a colour palette. You can load a preset palette from the drop‑down" +" or define your own. To enter custom colours click the :guilabel:`HEX` " +"button; a text box appears containing a comma‑separated list of colour " +"codes. Replace it with your own codes (e.g. ``#ffffcc, #c2e699, #78c679, " +"#31a354, #006837`` for a light‑to‑dark green gradient). Multiple colours " +"create a smooth ramp." +msgstr "" + +#: ../../source/cookbook/band_math.rst:104 +msgid "" +"Click :btn:` Apply`. SEPAL renders the band using your" +" settings and adds a legend bar at the bottom of the map. If the map " +"stays blank for more than a few seconds, ensure you added the correct " +"bands and that the area of interest is not outside the footprint of your " +"image." +msgstr "" + +#: ../../source/cookbook/band_math.rst:113 +msgid "What else can you do with Band Math?" +msgstr "" + +#: ../../source/cookbook/band_math.rst:115 +msgid "" +"Band Math is a general‑purpose calculator for raster bands. Beyond " +"vegetation indices you can:" +msgstr "" + +#: ../../source/cookbook/band_math.rst:117 +msgid "" +"Highlight water bodies by computing the Normalised Difference Water Index" +" (NDWI): ``(i1.SR_B3 - i1.SR_B5) / (i1.SR_B3 + i1.SR_B5)``." +msgstr "" + +#: ../../source/cookbook/band_math.rst:118 +msgid "" +"Assess burn severity with the Normalised Burn Ratio (NBR) using " +"near‑infrared and short‑wave infrared bands: ``(i1.SR_B5 - i1.SR_B7) / " +"(i1.SR_B5 + i1.SR_B7)``." +msgstr "" + +#: ../../source/cookbook/band_math.rst:119 +msgid "" +"Perform arithmetic between bands (for example ``i1.SR_B5 - i1.SR_B4``), " +"multiply by constants to convert digital numbers to reflectance or add " +"bands to create composites." +msgstr "" + +#: ../../source/cookbook/band_math.rst:120 +msgid "" +"Create masks based on conditions – for instance ``i1.SR_B5 > 0.3`` to " +"select highly vegetated pixels – and combine them with logical operators " +"(`and`, `or`)." +msgstr "" + +#: ../../source/cookbook/band_math.rst:122 +msgid "" +"Every expression you add becomes a new band that can be visualised or " +"used in subsequent calculations. By chaining calculations together you " +"can build complex workflows in SEPAL without writing any external code." +msgstr "" + diff --git a/docs/source/_locale/zh/LC_MESSAGES/cookbook/classification.po b/docs/source/_locale/zh/LC_MESSAGES/cookbook/classification.po index 75af0fc5d9..c6976b55a0 100644 --- a/docs/source/_locale/zh/LC_MESSAGES/cookbook/classification.po +++ b/docs/source/_locale/zh/LC_MESSAGES/cookbook/classification.po @@ -1,29 +1,27 @@ + msgid "" msgstr "" -"Project-Id-Version: sepal-doc\n" +"Project-Id-Version: sepal-doc\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-03-07 09:39+0100\n" -"PO-Revision-Date: 2024-03-07 09:05\n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: 2024-03-07 09:05+0000\n" "Last-Translator: \n" +"Language: zh_CN\n" "Language-Team: Chinese Simplified\n" +"Plural-Forms: nplurals=1; plural=0;\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.14.0\n" -"Plural-Forms: nplurals=1; plural=0;\n" -"X-Crowdin-Project: sepal-doc\n" -"X-Crowdin-Project-ID: 562097\n" -"X-Crowdin-Language: zh-CN\n" -"X-Crowdin-File: /main/docs/source/_locale/en/LC_MESSAGES/cookbook/classification.po\n" -"X-Crowdin-File-ID: 65\n" -"Language: zh_CN\n" +"Generated-By: Babel 2.18.0\n" #: ../../source/cookbook/classification.rst:2 msgid "Classification" msgstr "" #: ../../source/cookbook/classification.rst:3 -msgid "*Build supervised classifications of mosaic images to create easy-to-use user interfaces with the Classification recipe*" +msgid "" +"*Build supervised classifications of mosaic images to create easy-to-use " +"user interfaces with the Classification recipe*" msgstr "" #: ../../source/cookbook/classification.rst:6 @@ -31,7 +29,12 @@ msgid "Overview" msgstr "" #: ../../source/cookbook/classification.rst:8 -msgid "With this recipe, SEPAL helps users build supervised classifications of any mosaic image. It is built on top of the most advanced tools available on Google Earth Engine (GEE) – including the classifiers CART, RandomForest, NaiveBayes and SVM – allowing users to create an easy-to-use user interface to:" +msgid "" +"With this recipe, SEPAL helps users build supervised classifications of " +"any mosaic image. It is built on top of the most advanced tools available" +" on Google Earth Engine (GEE) – including seven classifiers, such as " +"Random Forest, CART and SVM – allowing users to create an easy-to-use " +"user interface to:" msgstr "" #: ../../source/cookbook/classification.rst:10 @@ -39,7 +42,7 @@ msgid "select an image to classify;" msgstr "" #: ../../source/cookbook/classification.rst:11 -msgid "define the class table; and" +msgid "define the legend; and" msgstr "" #: ../../source/cookbook/classification.rst:12 @@ -47,7 +50,10 @@ msgid "add training data from external sources and on-the-fly selection." msgstr "" #: ../../source/cookbook/classification.rst:14 -msgid "In combination with other tools of SEPAL, the **Classification** recipe can help you provide accurate land-use maps, without writing a single line of code." +msgid "" +"In combination with other tools of SEPAL, the **Classification** recipe " +"can help you provide accurate land-use maps, without writing a single " +"line of code." msgstr "" #: ../../source/cookbook/classification.rst:17 @@ -55,15 +61,24 @@ msgid "Start" msgstr "" #: ../../source/cookbook/classification.rst:19 -msgid "Once the **Classification** recipe is selected, SEPAL will show the recipe process in a new tab (see **1** in figure below); the **Image selection** window will appear in the lower right (**2**)." +msgid "" +"Once the **Classification** recipe is selected, SEPAL will show the " +"recipe process in a new tab (see **1** in figure below); the **Image " +"selection** window will appear in the lower right (**2**)." msgstr "" #: ../../source/cookbook/classification.rst:25 -msgid "The first step is to change the name of the recipe. This name will be used to identify your files and recipes in SEPAL folders. Use the best-suited convention for your needs. Simply double-click the tab and enter a new name. It will default to :code:`Classification_`." +msgid "" +"The first step is to change the name of the recipe. This name will be " +"used to identify your files and recipes in SEPAL folders. Use the best-" +"suited convention for your needs. Simply double-click the tab and enter a" +" new name. It will default to :code:`Classification_`." msgstr "" #: ../../source/cookbook/classification.rst:37 -msgid "The SEPAL team recommends using the following naming convention: :code:`__`." +msgid "" +"The SEPAL team recommends using the following naming convention: " +":code:`__`." msgstr "" #: ../../source/cookbook/classification.rst:40 @@ -71,7 +86,9 @@ msgid "Parameters" msgstr "" #: ../../source/cookbook/classification.rst:42 -msgid "In the lower-right corner, the following five tabs are available, allowing you to customize the time series to your needs:" +msgid "" +"In the lower-right corner, the following five tabs are available, " +"allowing you to customize the classification to your needs:" msgstr "" #: ../../source/cookbook/classification.rst:44 @@ -99,19 +116,29 @@ msgid "Image selection" msgstr "" #: ../../source/cookbook/classification.rst:57 -msgid "The first step consists of selecting the image bands on which to apply the classifier. The number of selected bands (i.e. images) is not limited." +msgid "" +"The first step consists of selecting the image bands on which to apply " +"the classifier. The number of selected bands (i.e. images) is not " +"limited." msgstr "" #: ../../source/cookbook/classification.rst:61 -msgid "Keep in mind that increasing the number of bands to analyse will improve the model but slow down the rendering of the final image." +msgid "" +"Keep in mind that increasing the number of bands to analyse will improve " +"the model but slow down the rendering of the final image." msgstr "" #: ../../source/cookbook/classification.rst:65 -msgid "If multiple images are selected, all selected images should overlap. If masked pixels are found in one of the bands, the classifier will mask them." +msgid "" +"If multiple images are selected, all selected images should overlap. If " +"masked pixels are found in one of the bands, the classifier will mask " +"them." msgstr "" #: ../../source/cookbook/classification.rst:67 -msgid "Select :btn:` Add`. The following screen should be displayed:" +msgid "" +"Select :btn:` Add`. The following screen should be " +"displayed:" msgstr "" #: ../../source/cookbook/classification.rst:74 @@ -119,11 +146,15 @@ msgid "Image type" msgstr "" #: ../../source/cookbook/classification.rst:76 -msgid "Users can select images coming from an **Existing recipe** or an exported **GEE asset** (see advantages and disadvantages below). Both should be an :code:`ee.Image`, rather than a :code:`Time series` or :code:`ee.ImageCollection`." +msgid "" +"Users can select images coming from a **Saved SEPAL recipe** or an " +"exported **Earth Engine asset** (see advantages and disadvantages below)." +" Both should be an :code:`ee.Image`, rather than a :code:`Time series` or" +" :code:`ee.ImageCollection`." msgstr "" #: ../../source/cookbook/classification.rst:78 -msgid "**Existing recipe**:" +msgid "**Saved SEPAL recipe**:" msgstr "" #: ../../source/cookbook/classification.rst:80 @@ -136,7 +167,9 @@ msgid "all of the computed bands from SEPAL can be used; and" msgstr "" #: ../../source/cookbook/classification.rst:83 -msgid "any modification to the existing recipe will be propagated in the final classification." +msgid "" +"any modification to the existing recipe will be propagated in the final " +"classification." msgstr "" #: ../../source/cookbook/classification.rst:85 @@ -145,11 +178,14 @@ msgid "Disadvantages:" msgstr "" #: ../../source/cookbook/classification.rst:87 -msgid "the initial recipe will be computed at each rendering step, slowing down the classification process and potentially breaking on-the-fly rendering due to GEE timeout errors." +msgid "" +"the initial recipe will be computed at each rendering step, slowing down " +"the classification process and potentially breaking on-the-fly rendering " +"due to GEE timeout errors." msgstr "" #: ../../source/cookbook/classification.rst:89 -msgid "**GEE asset**:" +msgid "**Earth Engine asset**:" msgstr "" #: ../../source/cookbook/classification.rst:93 @@ -177,11 +213,18 @@ msgid "Select bands" msgstr "" #: ../../source/cookbook/classification.rst:108 -msgid "For this example, we will use a public asset created with the **Optical mosaic** tool from SEPAL. It's a Sentinel-2 mosaic of Eastern Province in Zambia during the dry season from 2012 to 2020. Multiple bands are available." +msgid "" +"For this example, we will use a public asset created with the **Optical " +"mosaic** tool from SEPAL. It's a Sentinel-2 mosaic of Eastern Province in" +" Zambia during the dry season from 2012 to 2021. Multiple bands are " +"available." msgstr "" #: ../../source/cookbook/classification.rst:110 -msgid "Use the following asset name if you want to reproduce our workflow: :code:`projects/sepal-cookbook/assets/classification/zmb-eastern_2012_2021`" +msgid "" +"Use the following asset name if you want to reproduce our workflow: " +":code:`projects/sepal-cookbook/assets/classification/zmb-" +"eastern_2012_2021`" msgstr "" #: ../../source/cookbook/classification.rst:113 @@ -189,7 +232,12 @@ msgid "Image bands" msgstr "" #: ../../source/cookbook/classification.rst:115 -msgid "Once an asset has been selected, SEPAL will load its bands in the interface. You can use any band that is native to the image as input for the classification process. Simply click on the band name to select them. The selected bands are summarized in the expansion panel title (**1**) and displayed in gold in the pane content (**2**)." +msgid "" +"Once an asset has been selected, SEPAL will load its bands in the " +"interface. You can use any band that is native to the image as input for " +"the classification. Open the :guilabel:`Select bands...` dropdown and " +"click a band name to add it (the highlighted option). Each selected band " +"then appears as a removable chip in the **Image bands** panel." msgstr "" #: ../../source/cookbook/classification.rst:117 @@ -205,7 +253,7 @@ msgid ":code:`nir`" msgstr "" #: ../../source/cookbook/classification.rst:121 -msgid ":code:`swir`" +msgid ":code:`swir1`" msgstr "" #: ../../source/cookbook/classification.rst:122 @@ -217,39 +265,54 @@ msgid "Derived bands" msgstr "" #: ../../source/cookbook/classification.rst:131 -msgid "The analysis is not limited to natively available bands. SEPAL can also build additional derived bands on-the-fly." +msgid "" +"The analysis is not limited to natively available bands. SEPAL can also " +"build additional derived bands on-the-fly." msgstr "" #: ../../source/cookbook/classification.rst:133 -msgid "Select :btn:` Derived bands` at the bottom of the pop-up window and select the deriving method. This will add a a new panel to the expansion panel with the selected method name (**1**). The selected method will be applied to the selected bands." +msgid "" +"Select :btn:` Derived bands` at the bottom of the pop-" +"up window and select the deriving method. This adds a new panel named " +"after the selected method (e.g. **Normalized difference**). The method " +"will be applied to the bands you add to that panel." msgstr "" #: ../../source/cookbook/classification.rst:137 -msgid "If more than two bands are selected, the operation will be applied to the Cartesian product of the bands. If you select bands :math:`A`, :math:`B` and :math:`C`, and apply the :code:`Difference` derived bands, you'll add three bands to your analysis:" +msgid "" +"If you select two bands, :math:`A` and :math:`B`, and apply the " +"**Normalized difference** derived band, you'll add one band to your " +"analysis:" msgstr "" #: ../../source/cookbook/classification.rst:139 -msgid ":math:`A - B`" -msgstr "" - -#: ../../source/cookbook/classification.rst:140 -msgid ":math:`A - C`" +msgid ":math:`(A - B) / (A + B)`" msgstr "" #: ../../source/cookbook/classification.rst:141 -msgid ":math:`B - C`" +msgid "Selecting more than two bands applies the operation to each pair of them." msgstr "" #: ../../source/cookbook/classification.rst:149 -msgid "You should notice that in the figure, we compute the normalized difference between :code:`nir` and :code:`red` (i.e. the NDVI). It is also pre-computed in the :code:`Indexes` derived bands." +msgid "" +"You should notice that in the figure, we compute the normalized " +"difference between :code:`nir` and :code:`red` (i.e. the NDVI). It is " +"also pre-computed in the :code:`Indexes` derived bands." msgstr "" #: ../../source/cookbook/classification.rst:151 -msgid "Once image selection is complete, select :btn:` Apply` and the pop-up window will close. The images and bands will be displayed in the :guilabel:`IMG` panel in the lower-right corner of the screen. By selecting the :btn:`` button, you will remove the image and its band from the analysis altogether." +msgid "" +"Once image selection is complete, select :btn:` Apply`" +" and the pop-up window will close. The images and bands will be displayed" +" in the :guilabel:`IMG` panel in the lower-right corner of the screen. By" +" selecting the :btn:`` button, you will remove the " +"image and its bands from the analysis altogether." msgstr "" #: ../../source/cookbook/classification.rst:157 -msgid "From there, select :btn:` Next` to continue to the next step." +msgid "" +"From there, select :btn:` Next` to continue to" +" the next step." msgstr "" #: ../../source/cookbook/classification.rst:160 @@ -257,11 +320,17 @@ msgid "Legend setup" msgstr "" #: ../../source/cookbook/classification.rst:162 -msgid "In this step, the user will specify the legend that should be used in the output classified image. Any categorical classification that associates integer value to a class name will work. SEPAL provides multiple ways to create and customize a legend." +msgid "" +"In this step, the user will specify the legend that should be used in the" +" output classified image. Any categorical classification that associates " +"integer value to a class name will work. SEPAL provides multiple ways to " +"create and customize a legend." msgstr "" #: ../../source/cookbook/classification.rst:170 -msgid "Legends created here are fully compatible with other functionalities of SEPAL, including applications." +msgid "" +"Legends created here are fully compatible with other functionalities of " +"SEPAL, including applications." msgstr "" #: ../../source/cookbook/classification.rst:173 @@ -269,7 +338,9 @@ msgid "Manual legend" msgstr "" #: ../../source/cookbook/classification.rst:175 -msgid "The first and most natural way of building a legend is to do it from scratch." +msgid "" +"The first and most natural way of building a legend is to do it from " +"scratch." msgstr "" #: ../../source/cookbook/classification.rst:177 @@ -281,7 +352,9 @@ msgid "A class is defined by three key elements:" msgstr "" #: ../../source/cookbook/classification.rst:181 -msgid "Color (1): Select the small color square to open the color selector and choose any color (color[s] must be unique)." +msgid "" +"Color (1): Select the small color square to open the color selector and " +"choose any color (color[s] must be unique)." msgstr "" #: ../../source/cookbook/classification.rst:182 @@ -293,15 +366,26 @@ msgid "Class (3): Insert a class description (cannot be empty)." msgstr "" #: ../../source/cookbook/classification.rst:185 -msgid "Select the :btn:` Add` button again to add an extra class line. The :btn:`` button can be used to remove a specific line." +msgid "" +"Select the :btn:` Add` button again to add an extra " +"class line. The :btn:`` button can be used to remove a" +" specific line." msgstr "" #: ../../source/cookbook/classification.rst:189 -msgid "Select :btn:`HEX` (4) to display the hexadecimal value of the selected color. It can also be used to insert a known color palette by utilizing its values." +msgid "" +"Select :btn:`HEX` (4) to display the hexadecimal value of the selected " +"color. It can also be used to insert a known color palette by utilizing " +"its values." msgstr "" #: ../../source/cookbook/classification.rst:191 -msgid "If multiple classes are created and you are not sure which one to use, you can apply colors to them by selecting a preselected color-map (5). They are provided by the `GEE community `__ and will be applied to every existing class in your panel." +msgid "" +"If multiple classes are created and you are not sure which one to use, " +"you can apply colors to them by selecting a preselected color-map (5). " +"They are provided by the `GEE community `__ and will be applied to every existing class in your " +"panel." msgstr "" #: ../../source/cookbook/classification.rst:198 @@ -309,11 +393,16 @@ msgid "Import legend" msgstr "" #: ../../source/cookbook/classification.rst:200 -msgid "If you already have a file describing your legend, you can use it, rather than identifying every legend item individually. Your legend needs to be saved in .csv format and contain the following information:" +msgid "" +"If you already have a file describing your legend, you can use it, rather" +" than identifying every legend item individually. Your legend needs to be" +" saved in .csv format and contain the following information:" msgstr "" #: ../../source/cookbook/classification.rst:202 -msgid "color (stored as a hexadecimal value [e.g. #FFFF00] or in three columns [red, blue, green]);" +msgid "" +"color (stored as a hexadecimal value [e.g. #FFFF00] or in three columns " +"[red, blue, green]);" msgstr "" #: ../../source/cookbook/classification.rst:203 @@ -325,27 +414,43 @@ msgid "class (stored as a string)." msgstr "" #: ../../source/cookbook/classification.rst:208 -msgid "The column names will help SEPAL predict information, but are not compulsory." +msgid "" +"The column names will help SEPAL predict information, but are not " +"compulsory." msgstr "" #: ../../source/cookbook/classification.rst:210 -msgid "For example, a .csv file containing the following information is fully qualified to be used in SEPAL:" +msgid "" +"For example, a .csv file containing the following information is fully " +"qualified to be used in SEPAL:" msgstr "" #: ../../source/cookbook/classification.rst:227 -msgid "Alternatively, a file containing the following information – including RGB-defined colors – is also acceptable:" +msgid "" +"Alternatively, a file containing the following information – including " +"RGB-defined colors – is also acceptable:" msgstr "" #: ../../source/cookbook/classification.rst:244 -msgid "Once the fully qualified legend file has been prepared on your computer, select :btn:`` and then :code:`Import from CSV`, which will open a pop-up window where you can drag and drop the file or select it manually from your computer files." +msgid "" +"Once the fully qualified legend file has been prepared on your computer, " +"select :btn:`` and then :code:`Import from " +"CSV...`, which will open a pop-up window where you can drag and drop the " +"file or select it manually from your computer files." msgstr "" #: ../../source/cookbook/classification.rst:246 -msgid "As shown in the following image, you can then select the columns that are defining your .csv file (select :btn:`Single column` for hexadecimal-defined colors and :btn:`Multiple columns` for RGB-defined colors)." +msgid "" +"As shown in the following image, you can then select the columns that are" +" defining your .csv file (select :btn:`Single column` for hexadecimal-" +"defined colors and :btn:`Multiple columns` for RGB-defined colors)." msgstr "" #: ../../source/cookbook/classification.rst:252 -msgid "Select :btn:` Apply` to validate your selection. The classes will be added to the legend panel and you'll be able to modify the legend using the parameters presented in the previous subsection." +msgid "" +"Select :btn:` Apply` to validate your selection. The " +"classes will be added to the legend panel and you'll be able to modify " +"the legend using the parameters presented in the previous subsection." msgstr "" #: ../../source/cookbook/classification.rst:258 @@ -353,7 +458,12 @@ msgid "Select :btn:` Done` to validate this step." msgstr "" #: ../../source/cookbook/classification.rst:260 -msgid "Every pane should be closed; the colors of the legend should now be displayed at the bottom of the map. No classification is performed, as we didn't provide any training data. Nevertheless, this step is the last mandatory step for setting parameters. Training data can be added using the on-the-fly training functionality." +msgid "" +"Every pane should be closed; the colors of the legend should now be " +"displayed at the bottom of the map. No classification is performed, as we" +" didn't provide any training data. Nevertheless, this step is the last " +"mandatory step for setting parameters. Training data can be added using " +"the on-the-fly training functionality." msgstr "" #: ../../source/cookbook/classification.rst:263 @@ -361,499 +471,951 @@ msgid "Export legend" msgstr "" #: ../../source/cookbook/classification.rst:265 -msgid "Once your legend is validated, select the :btn:`` and then :code:`Export as CSV`." +msgid "" +"Once your legend is validated, select the :btn:``" +" and then :code:`Export as CSV`." msgstr "" #: ../../source/cookbook/classification.rst:267 -msgid "A file will be downloaded to you computer named :code:`_legend.csv`, which will contain the legend information in the following format:" +msgid "" +"A file will be downloaded to your computer named " +":code:`_legend.csv`, which will contain the legend " +"information in the following format:" msgstr "" #: ../../source/cookbook/classification.rst:277 -msgid "Select training data" +msgid "Training data setup" msgstr "" -#: ../../source/cookbook/classification.rst:281 -msgid "This step is not mandatory." -msgstr "" - -#: ../../source/cookbook/classification.rst:283 +#: ../../source/cookbook/classification.rst:279 msgid "Two inputs are required to create the classification output:" msgstr "" -#: ../../source/cookbook/classification.rst:285 +#: ../../source/cookbook/classification.rst:281 msgid "pixel values (e.g. bands) to classify; and" msgstr "" -#: ../../source/cookbook/classification.rst:286 +#: ../../source/cookbook/classification.rst:282 msgid "training data to set up the classification model." msgstr "" -#: ../../source/cookbook/classification.rst:288 -msgid "This menu will help the user manage the training data of the model used. To open it, select :btn:`TRN` in the lower-right side of the window." +#: ../../source/cookbook/classification.rst:284 +msgid "" +"This menu will help the user manage the training data of the model used. " +"To open it, select :btn:`TRN` in the lower-right side of the window." msgstr "" -#: ../../source/cookbook/classification.rst:295 -msgid "Collected reference data" +#: ../../source/cookbook/classification.rst:291 +msgid "Import existing training data" msgstr "" -#: ../../source/cookbook/classification.rst:297 -msgid "Collected reference data are data selected on the fly by the user. The workflow will be explained later in the documentation." +#: ../../source/cookbook/classification.rst:293 +msgid "" +"Instead of collecting all data by hand, SEPAL provides numerous ways to " +"include already existing training data into your analysis. The data can " +"be from multiple formats and will be included in the model to improve the" +" quality of the final map." msgstr "" -#: ../../source/cookbook/classification.rst:299 -msgid "In this pane, this type of data can be managed by the user. The data appear as a pair, associating coordinates to a class value, which will be used to create training data in the classification model." +#: ../../source/cookbook/classification.rst:297 +msgid "" +"The imported files can use an extended version of the legend provided in " +"the previous step, but to avoid unexpected behaviour, at least one of the" +" classes of your legend and the provided training data need to match." msgstr "" #: ../../source/cookbook/classification.rst:301 -msgid "If you're satisfied with the current selection and you want to share the data with others, select :btn:`` and then :code:`Export reference data to csv`. A file will be created and sent to your computer, named :code:`_reference_data.csv`. It will embed all of the gathered point data using the following convention:" +msgid "" +"If the added training data are outside of the image to classify, they " +"will have no impact on the final result (with the exception of the SEPAL " +"recipe)." +msgstr "" + +#: ../../source/cookbook/classification.rst:303 +msgid "" +"To add new data, select :btn:` Add` and choose the type" +" of data to import:" msgstr "" -#: ../../source/cookbook/classification.rst:309 -msgid "If you are not satisfied with the selected data, select :btn:`` and then :code:`Clear collected reference data` to remove all collected data from the analysis." +#: ../../source/cookbook/classification.rst:310 +msgid "CSV" msgstr "" -#: ../../source/cookbook/classification.rst:313 -msgid "A confirmation pop-up window should prevent you from accidentally deleting everything." +#: ../../source/cookbook/classification.rst:312 +msgid "" +"By selecting :btn:`CSV file`, SEPAL will request a file from your " +"computer in :code:`.csv` format. The file needs to include two pieces of " +"information: geographic coordinates and class value." msgstr "" -#: ../../source/cookbook/classification.rst:316 -msgid "Existing training data" +#: ../../source/cookbook/classification.rst:314 +msgid "" +"This can be done using coordinates in :code:`EPSG:4326` latitude and " +"longitude, as well as a `GeoJSON `__ compatible " +"point object. The file can embed other multiple columns that will not be " +"considered during the analysis." msgstr "" -#: ../../source/cookbook/classification.rst:318 -msgid "Instead of collecting all data by hand, SEPAL provides numerous ways to include already existing training data into your analysis. The data can be from multiple formats and will be included in the model to improve the quality of the final map." +#: ../../source/cookbook/classification.rst:316 +msgid "The following table is compatible with SEPAL:" msgstr "" -#: ../../source/cookbook/classification.rst:322 -msgid "The imported files can use an extended version of the legend provided in the previous step, but to avoid unexpected behaviour, at least one of the classes of your legend and the provided training data need to match." +#: ../../source/cookbook/classification.rst:324 +msgid "" +"The columns used to define the X (longitude) and Y (latitude) coordinates" +" are manually set up in the pop-up window. Select :btn:` Next` once every column is filled." msgstr "" -#: ../../source/cookbook/classification.rst:326 -msgid "If the added training data are outside of the image to classify, they will have no impact on the final result (with the exception of the SEPAL recipe)." +#: ../../source/cookbook/classification.rst:332 +msgid "" +"If your file contains a GeoJSON column instead of coordinates, select " +":btn:`GeoJSON column` to switch the interface to one column selection." msgstr "" -#: ../../source/cookbook/classification.rst:328 -msgid "To add new data, select :btn:` Add` and choose the type of data to import:" +#: ../../source/cookbook/classification.rst:334 +msgid "" +"Now that you have set up the coordinates of your points, SEPAL will ask " +"how the class values (not the names) are stored, through the **Class " +"format** selector:" msgstr "" -#: ../../source/cookbook/classification.rst:335 -msgid "CSV" +#: ../../source/cookbook/classification.rst:336 +msgid "" +"**Single column**: all class values are held in a single column — select " +"that column from your file." msgstr "" #: ../../source/cookbook/classification.rst:337 -msgid "By selecting :btn:`csv file`, SEPAL will request a file from your computer in :code:`.csv` format. The file needs to include two pieces of information: geographic coordinates and class value." +msgid "**Column per class**: each class has its own column." msgstr "" -#: ../../source/cookbook/classification.rst:339 -msgid "This can be done using coordinates in :code:`EPSG:4326` latitude and longitude, as well as a `GeoJSON `__ compatible point object. The file can embed other multiple columns that will not be considered during the analysis." +#: ../../source/cookbook/classification.rst:338 +msgid "**Other format**: use this if your data has a different layout." msgstr "" -#: ../../source/cookbook/classification.rst:341 -msgid "The following table is compatible with SEPAL:" +#: ../../source/cookbook/classification.rst:342 +msgid "" +"Using the :code:`Row filter expression` field, you can keep only the rows" +" that meet a condition — a JavaScript-like expression, referencing your " +"columns by name, that evaluates to ``true`` for the rows to keep (leave " +"it empty to keep all). For example, :code:`class == 30` keeps only the " +"rows in class 30, and :code:`class == 10 || class == 20` keeps classes 10" +" and 20." +msgstr "" + +#: ../../source/cookbook/classification.rst:348 +msgid "" +"Select :btn:` Next` to add the data to the " +"model. SEPAL will provide a summary of the classes in the legend of the " +"classification and the number of training points added by your file." msgstr "" -#: ../../source/cookbook/classification.rst:349 -msgid "The columns used to define the X (longitude) and Y (latitude) coordinates are manually set up in the pop-up window. Select :btn:` Next` once every column is filled." +#: ../../source/cookbook/classification.rst:350 +msgid "" +"Selecting the :btn:` Done` button will complete the " +"uploading procedure." msgstr "" #: ../../source/cookbook/classification.rst:357 -msgid "If your file contains a GeoJSON column instead of coordinates, select :btn:`geojson column` to switch the interface to one column selection." +msgid "GEE table" msgstr "" #: ../../source/cookbook/classification.rst:359 -msgid "Now that you have set up the coordinates of your points, SEPAL will request the columns specifying the class value (not the name) in a second frame. Only the single column is supported so far. Select the column from your file that embeds the class values." +msgid "" +"By selecting :btn:`Earth Engine Table`, SEPAL will request a file from " +"your computer in :code:`.csv` format. The file needs to provide two " +"pieces of information: geographic coordinates and class value." msgstr "" -#: ../../source/cookbook/classification.rst:363 -msgid "Using the :code:`row filter expression` text field, one can filter out some lines of the table. Refer to the `features <#>`__ section to learn more." +#: ../../source/cookbook/classification.rst:361 +msgid "" +"The process is nearly the same as found in the documentation above " +"discussing .csv tables. The only difference should be the geometry " +"column, as GEE assets usually embed a :code:`.geojson` column by default." +" If this column exists, it will be autodetected by SEPAL." msgstr "" -#: ../../source/cookbook/classification.rst:369 -msgid "Select :btn:` next` to add the data to the model. SEPAL will provide a summary of the classes in the legend of the classification and the number of training points added by your file." +#: ../../source/cookbook/classification.rst:363 +msgid "" +"For the other steps, please reproduce what was presented in the .csv " +"section above." msgstr "" #: ../../source/cookbook/classification.rst:371 -msgid "Selecting the :btn:` Done` button will complete the uploading procedure." +msgid "" +"To build the documentation example, use this public asset: " +":code:`projects/sepal-" +"cookbook/assets/classification/zmb_eastern_esa_2012_2021_reference_data`." +msgstr "" + +#: ../../source/cookbook/classification.rst:374 +msgid "Sample classification" +msgstr "" + +#: ../../source/cookbook/classification.rst:376 +msgid "" +"Instead of providing dataset points, SEPAL can also extract reference " +"data from an already existing classification – which is a good way to " +"improve an already existing classification system using an image with a " +"better resolution." msgstr "" #: ../../source/cookbook/classification.rst:378 -msgid "GEE table" +msgid "" +"To sample data, SEPAL will randomly select a number of points in each " +"class and extract the class value using the provided resolution." msgstr "" #: ../../source/cookbook/classification.rst:380 -msgid "By selecting :btn:`Earth Engine Table`, SEPAL will request a file from your computer in :code:`.csv` format. The file needs to provide two pieces of information: geographic coordinates and class value." +msgid "" +"Start by selecting :btn:`Sample classification` in the opened pop-up " +"window, where all of the parameters can be set:" msgstr "" #: ../../source/cookbook/classification.rst:382 -msgid "The process is nearly the same as found in the documentation above discussing .csv tables. The only difference should be the geometry column, as GEE assets usually embed a :code:`.goejson` column by default. If this column exists, it will be autodetected by SEPAL." -msgstr "" - -#: ../../source/cookbook/classification.rst:384 -msgid "For the other steps, please reproduce what was presented in the .csv section above." +msgid "" +"**Samples per class**: the number of samples per class of the provided " +"image. The more samples you request, the more accurate the model will be " +"(if too many samples are selected, on-the-fly visualization will never " +"render). The default is :code:`100`, but you can pick other preset " +"values, such as the :code:`1000` used in this example." msgstr "" -#: ../../source/cookbook/classification.rst:392 -msgid "To build the documentation example, use this public asset: :code:`projects/sepal-cookbook/assets/classification/zmb_eastern_esa_2012_2021_reference_data`." +#: ../../source/cookbook/classification.rst:383 +msgid "" +"**Scale to sample in**: the scale used to create the sample in the " +"provided image (it should match the image to classify resolution; default" +" to: :code:`30 m`)." msgstr "" -#: ../../source/cookbook/classification.rst:395 -msgid "Sample classification" +#: ../../source/cookbook/classification.rst:384 +msgid "" +"**Image source**: choose whether to sample from an existing :guilabel:`EE" +" Asset` or a saved :guilabel:`Recipe`." msgstr "" -#: ../../source/cookbook/classification.rst:397 -msgid "Instead of providing dataset points, SEPAL can also extract reference data from an already existing classification – which is a good way to improve an already existing classification system using an image with a better resolution." +#: ../../source/cookbook/classification.rst:385 +msgid "" +"**EE asset ID of classification**: when :guilabel:`EE Asset` is selected," +" the ID of the classification to sample (it should be an :code:`ee.Image`" +" accessible to the user). When :guilabel:`Recipe` is selected instead, " +"choose one of your saved classification recipes to sample." msgstr "" -#: ../../source/cookbook/classification.rst:399 -msgid "To sample data, SEPAL will randomly select a number of points in each class and extract the class value using the provided resolution." +#: ../../source/cookbook/classification.rst:386 +msgid "" +"**Class band**: The class to use for classification value (the dropdown " +"menu will be filled with the bands found in the provided asset or " +"recipe)." msgstr "" -#: ../../source/cookbook/classification.rst:401 -msgid "Start by selecting btn:`Sample classification` in the opened pop-up window, where all of the the parameters can be set:" +#: ../../source/cookbook/classification.rst:394 +msgid "" +"When all of the parameters are selected, it can take time, as SEPAL " +"builds the sampling values on the fly. They will only be displayed once " +"the sampling is validated." msgstr "" -#: ../../source/cookbook/classification.rst:403 -msgid "**Sample per class**: the number of samples per class of the provided image. The more samples you request, the more accurate the model will be (if too many samples are selected, on-the-fly visualization will never render; default to: :code:`1000`)." +#: ../../source/cookbook/classification.rst:396 +msgid "" +"Select :btn:` Next` to display the sampling " +"summary. In this pane, SEPAL displays each class of the legend (as " +"defined in the previous subsection) and the number of samples created for" +" it." msgstr "" -#: ../../source/cookbook/classification.rst:404 -msgid "**Scale to sample in**: the scale used to create the sample in the provided image (it should match the image to classify resolution; default to: :code:`30 m`)." +#: ../../source/cookbook/classification.rst:398 +msgid "" +"Each class shows its sample count next to a green :btn:`` button — use it to change the number of samples for that class. By" +" default, SEPAL ignores the samples with a :code:`Null` value; select " +":btn:`Default` on any class so that these points end up in the default " +"class instead of being ignored." msgstr "" #: ../../source/cookbook/classification.rst:405 -msgid "**EE asset ID**: the ID of the classification to sample (it should be an :code:`ee.Image` accessible to the user)." +msgid "SEPAL recipe" msgstr "" -#: ../../source/cookbook/classification.rst:406 -msgid "**Class band**: The class to use for classification value (the dropdown menu will be filled with the bands found in the provided asset)." +#: ../../source/cookbook/classification.rst:407 +msgid "" +"SEPAL is also able to directly apply a model built in another recipe as " +"training data. In this case, we are not importing the points, but all of " +"the model from the external recipe. It will not add points to the map. " +"It's useful when the same classification needs to be applied on the same " +"area for multiple years. The classification work can be carried out only " +"in the first year and then applied recursively on all the others." msgstr "" -#: ../../source/cookbook/classification.rst:410 -msgid "To reproduce this example, use the following asset as an image to sample: :code:`projects/sepal-cookbook/assets/classification/zmb_copernicus_landcover`." +#: ../../source/cookbook/classification.rst:409 +msgid "" +"Select :btn:`Saved SEPAL recipe` to open the pop-up window. In the " +"dropdown menu, select one of the recipes saved in your SEPAL account." msgstr "" -#: ../../source/cookbook/classification.rst:418 -msgid "When all of the parameters are selected, it can take time, as SEPAL builds the sampling values on the fly. They will only be displayed once the sampling is validated." +#: ../../source/cookbook/classification.rst:413 +msgid "" +"The imported recipe needs to be a **Classification** recipe. If none are " +"found, the dropdown menu will be empty." msgstr "" -#: ../../source/cookbook/classification.rst:420 -msgid "Select :btn:` Next` to display the sampling summary. In this pane, SEPAL displays each class of the legend (as defined in the previous subsection) and the number of samples created for it." +#: ../../source/cookbook/classification.rst:415 +msgid "This recipe cannot come from another SEPAL account." msgstr "" #: ../../source/cookbook/classification.rst:422 -msgid "Select the :btn:`` buttons (**1**) to change the number of samples in a specific class. By default, SEPAL ignores the samples with a :code:`Null` value. One can select :btn:`Default` (**2**) for any of the classes so that these points end up in the default class instead of being ignored." +msgid "Collect Earth Online" +msgstr "" + +#: ../../source/cookbook/classification.rst:427 +msgid "" +"SEPAL can import training data you have collected in a `Collect Earth " +"Online `__ (CEO) project directly, without " +"exporting and re-uploading a file. Select :btn:`Collect Earth Online` to " +"open the panel." msgstr "" #: ../../source/cookbook/classification.rst:429 -msgid "SEPAL recipe" +msgid "**Connect to your CEO account**" msgstr "" #: ../../source/cookbook/classification.rst:431 -msgid "SEPAL is also able to directly apply a model built in another recipe as training data. In this case, we are not importing the points, but all of the model from the external recipe. It will not add points to the map. It's useful when the same classification needs to be applied on the same area for multiple years. The classification work can be carried out only in the first year and then applied recursively on all the others." +msgid "The panel starts as :ceo-disconnected:`Disconnected from CEO`." msgstr "" #: ../../source/cookbook/classification.rst:433 -msgid "Select :btn:`Saved SEPAL recipe` to open the pop-up window. In the dropdown menu, select one of the recipes saved in your SEPAL account." +msgid "" +"Select :btn:`Connect` to open the **Collect Earth Online Authentication**" +" window, enter your :code:`CEO Email` and :code:`CEO Password`, and " +"select :btn:`Connect` again." msgstr "" #: ../../source/cookbook/classification.rst:437 -msgid "The imported recipe needs to be a **Classification** recipe. If none are found, the dropdown menu will be empty." +msgid "" +"Your credentials are never stored on SEPAL servers. When your SEPAL " +"session ends, the CEO connection is terminated automatically. You can " +"also select :btn:`Disconnect` at any time to end it manually." msgstr "" #: ../../source/cookbook/classification.rst:439 -msgid "This recipe cannot come from another SEPAL account." +msgid "**Select the institution and project**" msgstr "" -#: ../../source/cookbook/classification.rst:446 -msgid "Use auxiliary datasets" +#: ../../source/cookbook/classification.rst:441 +msgid "Once connected (:ceo-connected:`You are connected to CEO`), fill in:" msgstr "" -#: ../../source/cookbook/classification.rst:448 -msgid "Some information that could be useful to the classification model is not always included in your image bands. A common example is **Elevation**. In order to improve the quality of the classification, SEPAL can provide some extra datasets to add auxiliary bands to the classification model." +#: ../../source/cookbook/classification.rst:443 +msgid "" +"**Institution**: the CEO institution to pull data from. Only institutions" +" where you are both a **member** and an **admin** are listed." +msgstr "" + +#: ../../source/cookbook/classification.rst:444 +msgid "" +"**Project**: the project within that institution whose collected data you" +" want to use." msgstr "" -#: ../../source/cookbook/classification.rst:450 -msgid "Select :btn:`AUX` to open the **Auxiliaries** tab. Three sources are currently implemented in the platform (any number of them can be selected):" +#: ../../source/cookbook/classification.rst:445 +msgid "" +"**Data type**: whether to import the project's :guilabel:`Plot` " +"(aggregated plot) data or its :guilabel:`Sample` data." msgstr "" -#: ../../source/cookbook/classification.rst:452 -msgid "**Latitude**: On-the-fly latitude dataset built from the coordinates of each pixel's center." +#: ../../source/cookbook/classification.rst:451 +msgid "" +"SEPAL then loads the collected data, ready to be mapped to your legend in" +" the next two steps." msgstr "" #: ../../source/cookbook/classification.rst:453 -msgid "**Terrain**: From the `NASA SRTM Digital Elevation 30 m `__ dataset, SEPAL will use the :code:`Elevation`, :code:`Slope` and :code:`Aspect` bands. It will also add an :code:`Eastness` and :code:`Northness` band derived from :code:`Aspect`." +msgid "**Set the location**" msgstr "" -#: ../../source/cookbook/classification.rst:454 -msgid "**Water**: From the `JRC Global Surface Water Mapping Layers, v1.3 `__ dataset, SEPAL will add the following bands: :code:`occurrence`, :code:`change_abs`, :code:`change_norm`, :code:`seasonality`, :code:`max_extent`, :code:`water_occurrence`, :code:`water_change_abs`, :code:`water_change_norm`, :code:`water_seasonality` and :code:`water_max_extent`." +#: ../../source/cookbook/classification.rst:455 +msgid "" +"SEPAL reads the point locations from the data and pre-fills the " +"**Location type** (:guilabel:`X/Y coordinate columns` or " +":guilabel:`GeoJSON column`) together with the matching coordinate " +"columns. These are detected automatically from the CEO data, so you can " +"usually confirm them as they are." msgstr "" -#: ../../source/cookbook/classification.rst:461 -msgid "Classifier configuration" +#: ../../source/cookbook/classification.rst:457 +msgid "**Set the class format**" msgstr "" -#: ../../source/cookbook/classification.rst:465 -msgid "Customizing the classifier is a section designed for advanced users. Make sure that you thoroughly understand how the classifier you're using works before changing its parameters." +#: ../../source/cookbook/classification.rst:459 +msgid "" +"Tell SEPAL how the class values are stored in the CEO data, through the " +"**Class format** selector:" msgstr "" -#: ../../source/cookbook/classification.rst:469 -msgid "The default value is a **Random Forest** classifier using 25 trees." +#: ../../source/cookbook/classification.rst:461 +msgid "**Single column**: all class values are held in a single column." msgstr "" -#: ../../source/cookbook/classification.rst:471 -msgid "The **Classification** tool used in SEPAL is based on the `Smile - Statistical Machine Intelligence and Learning Engine Javascript `__ library (refer to their documentation for specific descriptions of each model)." +#: ../../source/cookbook/classification.rst:462 +msgid "" +"**Column per class**: each class has its own column. CEO data is mostly " +"organized this way." msgstr "" -#: ../../source/cookbook/classification.rst:473 -msgid "Select :btn:`CLS` to open the **Classification parameter** menu. SEPAL supports seven classifiers:" +#: ../../source/cookbook/classification.rst:463 +msgid "**Other format**: use this if your reference data has a different layout." msgstr "" -#: ../../source/cookbook/classification.rst:475 -msgid "random forest" +#: ../../source/cookbook/classification.rst:465 +msgid "" +"SEPAL pre-selects the format based on the chosen data type, but you can " +"change it." msgstr "" -#: ../../source/cookbook/classification.rst:476 -msgid "gradient tree boost" +#: ../../source/cookbook/classification.rst:467 +msgid "" +"Select :btn:` Next` to reach the class " +"summary, which lists each legend class. For every class, select the :btn" +":`` button to choose the column that corresponds to it," +" then select :btn:` Done` to add the reference data to" +" the model." msgstr "" -#: ../../source/cookbook/classification.rst:477 -msgid "cart" +#: ../../source/cookbook/classification.rst:474 +msgid "Manage collected reference data" msgstr "" -#: ../../source/cookbook/classification.rst:478 -msgid "naive bayes" +#: ../../source/cookbook/classification.rst:476 +msgid "" +"Collected reference data are the points you add directly on the map with " +"the on-the-fly training tool, described in the `On-the-fly training`_ " +"section. Each point pairs a set of coordinates with a class value. Select" +" the :btn:`` button — to the right of the :btn" +":` Add` button in the :btn:`TRN` tab — to manage them:" msgstr "" -#: ../../source/cookbook/classification.rst:479 -msgid "SVM" +#: ../../source/cookbook/classification.rst:478 +msgid "" +"**Export reference data to CSV**: download a " +":code:`_reference_data.csv` file to share your points with " +"others. It will embed all of the gathered point data using the following " +"convention:" msgstr "" -#: ../../source/cookbook/classification.rst:480 -msgid "min distance" +#: ../../source/cookbook/classification.rst:486 +msgid "" +"**Clear collected reference data**: remove every collected point from the" +" analysis." msgstr "" -#: ../../source/cookbook/classification.rst:481 -msgid "decision tree" +#: ../../source/cookbook/classification.rst:490 +msgid "A confirmation pop-up prevents you from accidentally deleting everything." msgstr "" -#: ../../source/cookbook/classification.rst:483 -msgid "For each of them, the workflow is the same:" +#: ../../source/cookbook/classification.rst:493 +msgid "Use auxiliary datasets" msgstr "" -#: ../../source/cookbook/classification.rst:485 -msgid "Select the classifier by clicking on the corresponding name. SEPAL will display some of the parameters available." +#: ../../source/cookbook/classification.rst:495 +msgid "" +"Some information that could be useful to the classification model is not " +"always included in your image bands. A common example is **Elevation**. " +"In order to improve the quality of the classification, SEPAL can provide " +"some extra datasets to add auxiliary bands to the classification model." msgstr "" -#: ../../source/cookbook/classification.rst:486 -msgid "Select :btn:`More` on the lower-left side of the panel to fully customize your classifier. The classification results will be updated on the fly." +#: ../../source/cookbook/classification.rst:497 +msgid "" +"Select :btn:`AUX` to open the **Auxiliaries** tab. Three sources are " +"currently implemented in the platform (any number of them can be " +"selected):" msgstr "" #: ../../source/cookbook/classification.rst:499 -msgid "On-the-fly training" +msgid "" +"**Latitude**: On-the-fly latitude dataset built from the coordinates of " +"each pixel's center." msgstr "" -#: ../../source/cookbook/classification.rst:503 -msgid "This process requires a good understanding of the **Visualization** feature of SEPAL (refer to the `feature <#>`__ section for more information)." +#: ../../source/cookbook/classification.rst:500 +msgid "" +"**Terrain**: From the `NASA SRTM Digital Elevation 30 m " +"`__ dataset, SEPAL will use the " +":code:`Elevation`, :code:`Slope` and :code:`Aspect` bands. It will also " +"add an :code:`Eastness` and :code:`Northness` band derived from " +":code:`Aspect`." msgstr "" -#: ../../source/cookbook/classification.rst:505 -msgid "Once all of the parameters are set, the user is free to add extra training data in the web interface and the new points will be added to the final model, improving the quality of the classification." +#: ../../source/cookbook/classification.rst:501 +msgid "" +"**Water**: From the `JRC Global Surface Water Mapping Layers, v1.3 " +"`__ dataset, SEPAL " +"will add the following bands: :code:`occurrence`, :code:`change_abs`, " +":code:`change_norm`, :code:`seasonality`, :code:`max_extent`, " +":code:`water_occurrence`, :code:`water_change_abs`, " +":code:`water_change_norm`, :code:`water_seasonality` and " +":code:`water_max_extent`." msgstr "" #: ../../source/cookbook/classification.rst:508 -msgid "Set up the view" +msgid "Classifier configuration" msgstr "" -#: ../../source/cookbook/classification.rst:510 -msgid "In order to improve the classification, one must set up the view to display all of the information. While these guidelines could be modified and extended, they are still useful as an introductory resource." +#: ../../source/cookbook/classification.rst:512 +msgid "" +"Customizing the classifier is a section designed for advanced users. Make" +" sure that you thoroughly understand how the classifier you're using " +"works before changing its parameters." msgstr "" -#: ../../source/cookbook/classification.rst:512 -msgid "In the following image, we displayed:" +#: ../../source/cookbook/classification.rst:516 +msgid "The default value is a **Random Forest** classifier using 25 trees." msgstr "" -#: ../../source/cookbook/classification.rst:514 -msgid "The current recipe (**1**) using the class colors in categorical mode." +#: ../../source/cookbook/classification.rst:518 +msgid "" +"The **Classification** tool used in SEPAL is based on the `Smile - " +"Statistical Machine Intelligence and Learning Engine Javascript " +"`__ library (refer to " +"their documentation for specific descriptions of each model)." msgstr "" -#: ../../source/cookbook/classification.rst:515 -msgid "The current image (what you are classifying) (**2**) using the NIR,RED,SWIR band combination." +#: ../../source/cookbook/classification.rst:520 +msgid "" +"Select :btn:`CLS` to open the **Classification parameter** menu. SEPAL " +"supports seven classifiers:" msgstr "" -#: ../../source/cookbook/classification.rst:516 -msgid "The extra visual dataset NICFI Planet Lab data (**3**) from 2021." +#: ../../source/cookbook/classification.rst:522 +msgid "Random Forest" msgstr "" -#: ../../source/cookbook/classification.rst:518 -msgid "The number (4) indicates a cluster of existing training points. Zoom in and they will be displayed as markers using the color of the class they mark (**5**)." +#: ../../source/cookbook/classification.rst:523 +msgid "Gradient tree boost" msgstr "" -#: ../../source/cookbook/classification.rst:522 -msgid "This initial classification has been set using sampled data. Since they are sampled from a larger image, some are out of the image. They will have no impact on the classification as they are applied to masked pixels (**6**)." +#: ../../source/cookbook/classification.rst:524 +msgid "Cart" msgstr "" -#: ../../source/cookbook/classification.rst:530 -msgid "Select points" +#: ../../source/cookbook/classification.rst:525 +msgid "Naive bayes" msgstr "" -#: ../../source/cookbook/classification.rst:532 -msgid "To start adding points, open the training interface by selecting :btn:`` in the upper right of the screen (**1**). Once selected, the background color becomes darker and the pointer of the mouse becomes a :icon:`fa-solid fa-plus`." +#: ../../source/cookbook/classification.rst:526 +msgid "SVM" msgstr "" -#: ../../source/cookbook/classification.rst:534 -msgid "The process to add new training data is as follows:" +#: ../../source/cookbook/classification.rst:527 +msgid "Min distance" msgstr "" -#: ../../source/cookbook/classification.rst:536 -msgid "**Click on the map to select a point**: You can click in any of the panes (not restricted to the **Recipe** pane), but to be useful, the point needs to be within the border of the AOI. If it's not already the case, the **Class selection** panel will appear in the upper right of the window (**2**)." +#: ../../source/cookbook/classification.rst:528 +msgid "Decision tree" msgstr "" -#: ../../source/cookbook/classification.rst:537 -msgid "**Select the class value**: The previous class value is preselected, but you can change it to any other class value from the defined legend. The legend is displayed as :code:` ()`." +#: ../../source/cookbook/classification.rst:530 +msgid "For each of them, the workflow is the same:" msgstr "" -#: ../../source/cookbook/classification.rst:539 -msgid "You can now click elsewhere on the map to add another point. If you are satisfied with the classification, select :btn:` Close` (3) and select :btn:`` again to stop editing the points. Every time a new point is added, the **Classification** map is recomputed and rendered on the left side." +#: ../../source/cookbook/classification.rst:532 +msgid "" +"Select the classifier by clicking on the corresponding name. SEPAL will " +"display some of the parameters available." msgstr "" -#: ../../source/cookbook/classification.rst:546 -msgid "Modify existing points" +#: ../../source/cookbook/classification.rst:533 +msgid "" +"Select :btn:`More` on the lower-left side of the panel to fully customize" +" your classifier. The classification results will be updated on the fly." msgstr "" -#: ../../source/cookbook/classification.rst:548 -msgid "To modify existing points, select the :btn:`` to open the **Point editing** interface. Then:" +#: ../../source/cookbook/classification.rst:546 +msgid "Refine the classification" msgstr "" #: ../../source/cookbook/classification.rst:550 -msgid "**Select a point**: To select a point, click on an existing marker. It will appear bolder than the others. If it's not already the case, the **Class selection** pane will appear in the upper right." +msgid "" +"This process requires a good understanding of the **Visualization** " +"feature of SEPAL (see :doc:`../feature/visualization` for more " +"information)." msgstr "" -#: ../../source/cookbook/classification.rst:551 -msgid "**Change the class value**: The point class will be selected in the **Editing** menu with a :icon:`fa-solid fa-check`. Select any other class value to change it." +#: ../../source/cookbook/classification.rst:552 +msgid "" +"Once all of the parameters are set, you can refine the classification " +"directly on the map: set up the view, add or edit training points on the " +"fly, and check the model's confidence." msgstr "" -#: ../../source/cookbook/classification.rst:554 -msgid "Check the validity" +#: ../../source/cookbook/classification.rst:555 +msgid "Set up the view" msgstr "" -#: ../../source/cookbook/classification.rst:556 -msgid "SEPAL embeds information to help the user understand if the amount of training data is sufficient to produce an accurate classification model. In the **Recipe** window, change the **Band combination** to :code:`Class probability`." +#: ../../source/cookbook/classification.rst:557 +msgid "" +"In order to improve the classification, one must set up the view to " +"display all of the information; you choose what the map shows from the " +"**Layers** panel. Select the :btn:`` layers-to-" +"show icon in the top-right of the screen to open the panel, then:" msgstr "" -#: ../../source/cookbook/classification.rst:558 -msgid "The user now sees the probability of the model (i.e. the confidence level of the level with output class for each pixel)." +#: ../../source/cookbook/classification.rst:559 +msgid "" +"Pick a layout mode — :guilabel:`Grid` to split the map into several panes" +" side by side, or :guilabel:`Stack` to overlay the layers in a single " +"pane." msgstr "" #: ../../source/cookbook/classification.rst:560 -msgid "If the value is high (> 80 percent), then the pixel can be considered valid; if the value is low (< 80 percent), the model needs more training data or extra bands to improve the analysis." +msgid "" +"Drag and drop each layer onto a position (centre, a side, or a corner) to" +" choose where it appears; drag it between positions to rearrange it, or " +"off the areas to remove it." msgstr "" -#: ../../source/cookbook/classification.rst:562 -msgid "In the example image, the lake is classified as a **permanent water body** with a confidence of 65 percent, which is higher than the rest of the vegetation around it." +#: ../../source/cookbook/classification.rst:561 +msgid "" +"If the layer you need is not already in the panel, select :btn:` Add` to add a source: **Add a SEPAL recipe**, **Add an Earth " +"Engine asset**, or **Add a Planet account**." msgstr "" -#: ../../source/cookbook/classification.rst:568 -msgid "This analysis can also be conducted class-by-class using the built-in :code:` %` bands. Select the one corresponding to the class you want to assess (see the following image) and you'll get the percentage of confidence for each pixel to be in the sub-mentioned class." +#: ../../source/cookbook/classification.rst:567 +msgid "" +"With your layers arranged, the map displays them together so you can " +"compare them while adding training data." msgstr "" -#: ../../source/cookbook/classification.rst:575 -msgid "Export" +#: ../../source/cookbook/classification.rst:569 +msgid "In the following image, we displayed:" msgstr "" -#: ../../source/cookbook/classification.rst:579 -msgid "You cannot export a recipe as an asset or a :code:`.tiff` file without a small computation quota. If you are a new user, see :doc:`../setup/resource`." +#: ../../source/cookbook/classification.rst:571 +msgid "The current recipe (**1**) using the class colors in categorical mode." msgstr "" -#: ../../source/cookbook/classification.rst:582 -msgid "Start download" +#: ../../source/cookbook/classification.rst:572 +msgid "" +"The current image (what you are classifying) (**2**) using the " +"NIR,RED,SWIR1 band combination." msgstr "" -#: ../../source/cookbook/classification.rst:584 -msgid "Selecting the :icon:`fa-solid fa-cloud-arrow-down` tab will open the **Retrieve** pane, where you can select the exportation parameters (**1**)." +#: ../../source/cookbook/classification.rst:573 +msgid "The extra visual dataset NICFI Planet Lab data (**3**) from 2021." +msgstr "" + +#: ../../source/cookbook/classification.rst:575 +msgid "" +"The number (4) indicates a cluster of existing training points. Zoom in " +"and they will be displayed as markers using the color of the class they " +"mark (**5**)." +msgstr "" + +#: ../../source/cookbook/classification.rst:583 +msgid "" +"This initial classification has been set using sampled data. Since they " +"are sampled from a larger image, some are out of the image. They will " +"have no impact on the classification as they are applied to masked pixels" +" (**6**)." msgstr "" -#: ../../source/cookbook/classification.rst:586 -msgid "You need to select the band to export (**2**). There is no maximum number of bands; however, exporting useless bands will only increase the size and time of the output." +#: ../../source/cookbook/classification.rst:587 +msgid "On-the-fly training" msgstr "" -#: ../../source/cookbook/classification.rst:588 -msgid "You can set a custom scale for exportation (**3**) by changing the value of the slider in metres (m). (Note: Requesting a smaller resolution than images' native resolution will not improve the quality of the output – just its size; keep in mind that the native resolution of Sentinel data is 10 m, while Landsat is 30 m.)" +#: ../../source/cookbook/classification.rst:589 +msgid "" +"You are free to add extra training data in the web interface; each new " +"point is added to the final model, improving the quality of the " +"classification." msgstr "" -#: ../../source/cookbook/classification.rst:590 -msgid "You can export the image to the :btn:`SEPAL workspace` or to the :btn:`Google Earth Engine Asset` list. The same image will be exported, but for the former, you will find it in :code:`.tif` format in the :code:`Downloads` folder; for the latter, the image will be exported to your **GEE account asset list**." +#: ../../source/cookbook/classification.rst:592 +msgid "Select points" msgstr "" #: ../../source/cookbook/classification.rst:594 -msgid "If :btn:`Google Earth Engine Asset` is not displayed, your GEE account is not connected to SEPAL. Refer to `Connect SEPAL to GEE <../setup/gee.html>`__." +msgid "" +"To start adding points, open the training interface by selecting :btn" +":`` in the upper right of the screen (**1**). " +"Once selected, the background color becomes darker and the pointer of the" +" mouse becomes a :icon:`fa-solid fa-plus`." msgstr "" #: ../../source/cookbook/classification.rst:596 -msgid "Select :btn:` Apply` to start the download process." +msgid "The process to add new training data is as follows:" msgstr "" -#: ../../source/cookbook/classification.rst:603 -msgid "Exportation status" +#: ../../source/cookbook/classification.rst:598 +msgid "" +"**Click on the map to select a point**: You can click in any of the panes" +" (not restricted to the **Recipe** pane), but to be useful, the point " +"needs to be within the border of the AOI. If it's not already the case, " +"the **Class selection** panel will appear in the upper right of the " +"window (**2**)." +msgstr "" + +#: ../../source/cookbook/classification.rst:599 +msgid "" +"**Select the class value**: The previous class value is preselected, but " +"you can change it to any other class value from the defined legend. The " +"legend is displayed as :code:` ()`." +msgstr "" + +#: ../../source/cookbook/classification.rst:601 +msgid "" +"You can now click elsewhere on the map to add another point. If you are " +"satisfied with the classification, select :btn:` " +"Close` (3) and select :btn:`` again to stop " +"editing the points. Every time a new point is added, the " +"**Classification** map is recomputed and rendered on the left side." msgstr "" -#: ../../source/cookbook/classification.rst:605 -msgid "By going to the **Tasks** tab (in the lower-left corner using the :btn:`` or :btn:`` buttons, depending on the loading status), you will see the list of different loading tasks." +#: ../../source/cookbook/classification.rst:608 +msgid "Modify existing points" msgstr "" -#: ../../source/cookbook/classification.rst:607 -msgid "The interface will provide you with information about the task progress and display an error if the exportation has failed. If you are unsatisfied with the way we present information, the task can also be monitored using the `GEE task manager `__." +#: ../../source/cookbook/classification.rst:610 +msgid "" +"To modify existing points, select the :btn:`` " +"to open the **Point editing** interface. Then:" msgstr "" -#: ../../source/cookbook/classification.rst:611 -msgid "This operation is running between GEE and SEPAL servers in the background. You can close the SEPAL page without ending the process." +#: ../../source/cookbook/classification.rst:612 +msgid "" +"**Select a point**: To select a point, click on an existing marker. It " +"will appear bolder than the others. If it's not already the case, the " +"**Class selection** pane will appear in the upper right." msgstr "" #: ../../source/cookbook/classification.rst:613 -msgid "When the task is finished, the frame will be displayed in green, as shown in the second image below." +msgid "" +"**Change the class value**: The point class will be selected in the " +"**Editing** menu with a :icon:`fa-solid fa-check`. Select any other class" +" value to change it." msgstr "" -#: ../../source/cookbook/classification.rst:626 -msgid "Access" +#: ../../source/cookbook/classification.rst:616 +msgid "Check the validity" msgstr "" -#: ../../source/cookbook/classification.rst:628 -msgid "Once the download process is done, you can access the data in your **SEPAL folders**. The data will be stored in the :code:`Downloads` folder using the following format:" +#: ../../source/cookbook/classification.rst:618 +msgid "" +"SEPAL embeds information to help the user understand if the amount of " +"training data is sufficient to produce an accurate classification model. " +"In the **Recipe** window, select the :btn:`` button at " +"the bottom centre of the map to open the layer's options, then change the" +" **Bands** selector to :code:`Class probability`." msgstr "" -#: ../../source/cookbook/classification.rst:643 -msgid "Understanding how images are stored in an optical mosaic is only required if you want to manually use them. The SEPAL applications are bound to this tiling system and can digest this information for you." +#: ../../source/cookbook/classification.rst:620 +msgid "" +"The user now sees the probability of the model (i.e. the confidence level" +" of the output class for each pixel)." msgstr "" -#: ../../source/cookbook/classification.rst:645 -msgid "The data are stored in a folder using the name of the optical mosaic as it was created in the first section of this article. As the data are spatially too big to be exported at once, they are divided into smaller pieces and brought back together in a :code:`_.vrt` file." +#: ../../source/cookbook/classification.rst:622 +msgid "" +"If the value is high (> 80 percent), then the pixel can be considered " +"valid; if the value is low (< 80 percent), the model needs more training " +"data or extra bands to improve the analysis." msgstr "" -#: ../../source/cookbook/classification.rst:649 -msgid "The full folder with a consistent tree folder is required to read the `.vrt`." +#: ../../source/cookbook/classification.rst:624 +msgid "" +"In the example image, the lake is classified as a **permanent water " +"body** with a confidence of 65 percent, which is higher than the rest of " +"the vegetation around it." msgstr "" -#~ msgid "" -#~ "With this recipe, SEPAL will help " -#~ "users build a supervised classification " -#~ "of any mosaic image. It is built" -#~ " on top of the most advanced " -#~ "tools available on Google Earth Engine" -#~ " (including the classifiers CART, " -#~ "RandomForest, NaiveBayes and SVM), allowing" -#~ " users to create an easy-to-use" -#~ " user interface to:" -#~ msgstr "" +#: ../../source/cookbook/classification.rst:630 +msgid "" +"This analysis can also be conducted class-by-class using the built-in " +":code:` %` bands. Select the one corresponding to the class " +"you want to assess (see the following image) and you'll get the " +"percentage of confidence for each pixel to be in the sub-mentioned class." +msgstr "" -#~ msgid "select the image to classify" -#~ msgstr "" +#: ../../source/cookbook/classification.rst:637 +msgid "Export" +msgstr "" -#~ msgid "add training data from external sources and on the fly selection" -#~ msgstr "" +#: ../../source/cookbook/classification.rst:641 +msgid "" +"You cannot export a recipe as an asset or a :code:`.tif` file without a " +"small computation quota. If you are a new user, see " +":doc:`../setup/resource`." +msgstr "" -#~ msgid "" -#~ "Once the classification recipe is " -#~ "selected, SEPAL will show the recipe " -#~ "process in a new tab (1) and " +#: ../../source/cookbook/classification.rst:644 +msgid "Start download" +msgstr "" + +#: ../../source/cookbook/classification.rst:646 +msgid "" +"Selecting the :icon:`fa-solid fa-cloud-arrow-down` tab will open the " +"**Retrieve** pane where you can select the exportation parameters." +msgstr "" + +#: ../../source/cookbook/classification.rst:653 +msgid "Bands" +msgstr "" + +#: ../../source/cookbook/classification.rst:655 +msgid "" +"You need to select the band(s) to export. There is no maximum number of " +"bands, but exporting useless bands will only increase the size and time " +"of the output. The available bands include the classified Class band, the" +" Class probability band, and the per-class confidence " +"(:code:` %`) bands." +msgstr "" + +#: ../../source/cookbook/classification.rst:658 +msgid "Scale" +msgstr "" + +#: ../../source/cookbook/classification.rst:660 +msgid "" +"You can set a custom scale for exportation by selecting a value in metres" +" (m) (note that requesting a smaller resolution than the images' native " +"resolution will not improve the quality of the output – just its size – " +"keep in mind that the native resolution of Sentinel data is 10 m, while " +"Landsat is 30 m)." +msgstr "" + +#: ../../source/cookbook/classification.rst:663 +msgid "Destination" +msgstr "" + +#: ../../source/cookbook/classification.rst:665 +msgid "Choose a single destination for the export:" +msgstr "" + +#: ../../source/cookbook/classification.rst:667 +msgid "" +":guilabel:`SEPAL workspace`: the image is written to your SEPAL files in " +":code:`.tif` format (by default in the :code:`Downloads` folder)." +msgstr "" + +#: ../../source/cookbook/classification.rst:668 +msgid "" +":guilabel:`Google Earth Engine asset`: the image is exported to your GEE " +"account as an asset. You can export it either as a single " +":guilabel:`Image` or as an :guilabel:`Image collection` (tiled, which is " +"better suited to large exports), and set its sharing to " +":guilabel:`Private` or :guilabel:`Public`." +msgstr "" + +#: ../../source/cookbook/classification.rst:669 +msgid "" +":guilabel:`Google Drive`: the image is exported to the Google Drive of " +"the connected Google account." +msgstr "" + +#: ../../source/cookbook/classification.rst:673 +msgid "" +"The :guilabel:`Google Earth Engine asset` and :guilabel:`Google Drive` " +"destinations are only displayed when a Google account is connected to " +"SEPAL. If they are missing, please refer to `Connect SEPAL to GEE " +"<../setup/gee.html>`__." +msgstr "" + +#: ../../source/cookbook/classification.rst:675 +msgid "Select :guilabel:`Retrieve` to start the export process." +msgstr "" + +#: ../../source/cookbook/classification.rst:678 +msgid "Exportation status" +msgstr "" + +#: ../../source/cookbook/classification.rst:680 +msgid "" +"By going to the **Tasks** tab (in the lower-left corner using the :btn" +":`` or :btn:`` buttons, " +"depending on the loading status), you will see the list of different " +"loading tasks." +msgstr "" + +#: ../../source/cookbook/classification.rst:682 +msgid "" +"The interface will provide you with information about the task progress " +"and display an error if the exportation has failed. If you are " +"unsatisfied with the way we present information, the task can also be " +"monitored using the `GEE task manager " +"`__." +msgstr "" + +#: ../../source/cookbook/classification.rst:686 +msgid "" +"This operation is running between GEE and SEPAL servers in the " +"background. You can close the SEPAL page without ending the process." +msgstr "" + +#: ../../source/cookbook/classification.rst:688 +msgid "" +"When the task is finished, the frame will be displayed in green, as shown" +" in the second image below." +msgstr "" + +#: ../../source/cookbook/classification.rst:701 +msgid "Access" +msgstr "" + +#: ../../source/cookbook/classification.rst:703 +msgid "" +"Once the download process is done, you can access the data in your " +"**SEPAL folders**. The data will be stored in the :code:`Downloads` " +"folder using the following format:" +msgstr "" + +#: ../../source/cookbook/classification.rst:718 +msgid "" +"Understanding how images are stored in an optical mosaic is only required" +" if you want to manually use them. The SEPAL applications are bound to " +"this tiling system and can digest this information for you." +msgstr "" + +#: ../../source/cookbook/classification.rst:720 +msgid "" +"The data are stored in a folder using the name of the optical mosaic as " +"it was created in the first section of this article. As the data are " +"spatially too big to be exported at once, they are divided into smaller " +"pieces and brought back together in a :code:`_.vrt`" +" file." +msgstr "" + +#: ../../source/cookbook/classification.rst:724 +msgid "" +"The full folder with a consistent tree folder is required to read the " +"`.vrt`." +msgstr "" + +#~ msgid "" +#~ "With this recipe, SEPAL will help " +#~ "users build a supervised classification " +#~ "of any mosaic image. It is built" +#~ " on top of the most advanced " +#~ "tools available on Google Earth Engine" +#~ " (including the classifiers CART, " +#~ "RandomForest, NaiveBayes and SVM), allowing" +#~ " users to create an easy-to-use" +#~ " user interface to:" +#~ msgstr "" + +#~ msgid "select the image to classify" +#~ msgstr "" + +#~ msgid "add training data from external sources and on the fly selection" +#~ msgstr "" + +#~ msgid "" +#~ "Once the classification recipe is " +#~ "selected, SEPAL will show the recipe " +#~ "process in a new tab (1) and " #~ "the image selection window will appear" #~ " on the lower-right side (2)." #~ msgstr "" @@ -2394,3 +2956,444 @@ msgstr "" #~ "file." #~ msgstr "" +#~ msgid "" +#~ "With this recipe, SEPAL helps users " +#~ "build supervised classifications of any " +#~ "mosaic image. It is built on top" +#~ " of the most advanced tools available" +#~ " on Google Earth Engine (GEE) – " +#~ "including the classifiers CART, RandomForest," +#~ " NaiveBayes and SVM – allowing users" +#~ " to create an easy-to-use user" +#~ " interface to:" +#~ msgstr "" + +#~ msgid "define the class table; and" +#~ msgstr "" + +#~ msgid "" +#~ "In the lower-right corner, the " +#~ "following five tabs are available, " +#~ "allowing you to customize the time " +#~ "series to your needs:" +#~ msgstr "" + +#~ msgid "" +#~ "Users can select images coming from " +#~ "an **Existing recipe** or an exported" +#~ " **GEE asset** (see advantages and " +#~ "disadvantages below). Both should be an" +#~ " :code:`ee.Image`, rather than a " +#~ ":code:`Time series` or :code:`ee.ImageCollection`." +#~ msgstr "" + +#~ msgid "**Existing recipe**:" +#~ msgstr "" + +#~ msgid "**GEE asset**:" +#~ msgstr "" + +#~ msgid "" +#~ "For this example, we will use a" +#~ " public asset created with the " +#~ "**Optical mosaic** tool from SEPAL. It's" +#~ " a Sentinel-2 mosaic of Eastern " +#~ "Province in Zambia during the dry " +#~ "season from 2012 to 2020. Multiple " +#~ "bands are available." +#~ msgstr "" + +#~ msgid "" +#~ "Once an asset has been selected, " +#~ "SEPAL will load its bands in the" +#~ " interface. You can use any band " +#~ "that is native to the image as " +#~ "input for the classification process. " +#~ "Simply click on the band name to" +#~ " select them. The selected bands are" +#~ " summarized in the expansion panel " +#~ "title (**1**) and displayed in gold " +#~ "in the pane content (**2**)." +#~ msgstr "" + +#~ msgid ":code:`swir`" +#~ msgstr "" + +#~ msgid "" +#~ "Select :btn:` Derived" +#~ " bands` at the bottom of the " +#~ "pop-up window and select the deriving" +#~ " method. This will add a a new" +#~ " panel to the expansion panel with" +#~ " the selected method name (**1**). " +#~ "The selected method will be applied " +#~ "to the selected bands." +#~ msgstr "" + +#~ msgid "" +#~ "If more than two bands are " +#~ "selected, the operation will be applied" +#~ " to the Cartesian product of the " +#~ "bands. If you select bands :math:`A`," +#~ " :math:`B` and :math:`C`, and apply " +#~ "the :code:`Difference` derived bands, you'll" +#~ " add three bands to your analysis:" +#~ msgstr "" + +#~ msgid ":math:`A - B`" +#~ msgstr "" + +#~ msgid ":math:`A - C`" +#~ msgstr "" + +#~ msgid ":math:`B - C`" +#~ msgstr "" + +#~ msgid "" +#~ "Once image selection is complete, select" +#~ " :btn:` Apply` and" +#~ " the pop-up window will close. " +#~ "The images and bands will be " +#~ "displayed in the :guilabel:`IMG` panel " +#~ "in the lower-right corner of the" +#~ " screen. By selecting the :btn:`` button, you will " +#~ "remove the image and its band from" +#~ " the analysis altogether." +#~ msgstr "" + +#~ msgid "" +#~ "Once the fully qualified legend file " +#~ "has been prepared on your computer, " +#~ "select :btn:``" +#~ " and then :code:`Import from CSV`, " +#~ "which will open a pop-up window" +#~ " where you can drag and drop " +#~ "the file or select it manually " +#~ "from your computer files." +#~ msgstr "" + +#~ msgid "" +#~ "A file will be downloaded to you" +#~ " computer named :code:`_legend.csv`, " +#~ "which will contain the legend " +#~ "information in the following format:" +#~ msgstr "" + +#~ msgid "Select training data" +#~ msgstr "" + +#~ msgid "This step is not mandatory." +#~ msgstr "" + +#~ msgid "Collected reference data" +#~ msgstr "" + +#~ msgid "" +#~ "Collected reference data are data " +#~ "selected on the fly by the user." +#~ " The workflow will be explained later" +#~ " in the documentation." +#~ msgstr "" + +#~ msgid "" +#~ "In this pane, this type of data" +#~ " can be managed by the user. " +#~ "The data appear as a pair, " +#~ "associating coordinates to a class " +#~ "value, which will be used to " +#~ "create training data in the " +#~ "classification model." +#~ msgstr "" + +#~ msgid "" +#~ "If you're satisfied with the current " +#~ "selection and you want to share " +#~ "the data with others, select :btn" +#~ ":`` and then" +#~ " :code:`Export reference data to csv`. " +#~ "A file will be created and sent" +#~ " to your computer, named " +#~ ":code:`_reference_data.csv`. It will " +#~ "embed all of the gathered point " +#~ "data using the following convention:" +#~ msgstr "" + +#~ msgid "" +#~ "If you are not satisfied with the" +#~ " selected data, select :btn:`` and then :code:`Clear" +#~ " collected reference data` to remove " +#~ "all collected data from the analysis." +#~ msgstr "" + +#~ msgid "" +#~ "A confirmation pop-up window should " +#~ "prevent you from accidentally deleting " +#~ "everything." +#~ msgstr "" + +#~ msgid "Existing training data" +#~ msgstr "" + +#~ msgid "" +#~ "By selecting :btn:`csv file`, SEPAL will" +#~ " request a file from your computer" +#~ " in :code:`.csv` format. The file " +#~ "needs to include two pieces of " +#~ "information: geographic coordinates and class" +#~ " value." +#~ msgstr "" + +#~ msgid "" +#~ "If your file contains a GeoJSON " +#~ "column instead of coordinates, select " +#~ ":btn:`geojson column` to switch the " +#~ "interface to one column selection." +#~ msgstr "" + +#~ msgid "" +#~ "Now that you have set up the " +#~ "coordinates of your points, SEPAL will" +#~ " request the columns specifying the " +#~ "class value (not the name) in a" +#~ " second frame. Only the single column" +#~ " is supported so far. Select the " +#~ "column from your file that embeds " +#~ "the class values." +#~ msgstr "" + +#~ msgid "" +#~ "Using the :code:`row filter expression` " +#~ "text field, one can filter out " +#~ "some lines of the table. Refer to" +#~ " the `features <#>`__ section to " +#~ "learn more." +#~ msgstr "" + +#~ msgid "" +#~ "Select :btn:`" +#~ " next` to add the data to the" +#~ " model. SEPAL will provide a summary" +#~ " of the classes in the legend " +#~ "of the classification and the number " +#~ "of training points added by your " +#~ "file." +#~ msgstr "" + +#~ msgid "" +#~ "The process is nearly the same as" +#~ " found in the documentation above " +#~ "discussing .csv tables. The only " +#~ "difference should be the geometry " +#~ "column, as GEE assets usually embed " +#~ "a :code:`.goejson` column by default. If" +#~ " this column exists, it will be " +#~ "autodetected by SEPAL." +#~ msgstr "" + +#~ msgid "" +#~ "Start by selecting btn:`Sample classification`" +#~ " in the opened pop-up window, " +#~ "where all of the the parameters " +#~ "can be set:" +#~ msgstr "" + +#~ msgid "" +#~ "**Sample per class**: the number of " +#~ "samples per class of the provided " +#~ "image. The more samples you request, " +#~ "the more accurate the model will " +#~ "be (if too many samples are " +#~ "selected, on-the-fly visualization will" +#~ " never render; default to: :code:`1000`)." +#~ msgstr "" + +#~ msgid "" +#~ "**EE asset ID**: the ID of the " +#~ "classification to sample (it should be" +#~ " an :code:`ee.Image` accessible to the " +#~ "user)." +#~ msgstr "" + +#~ msgid "" +#~ "**Class band**: The class to use " +#~ "for classification value (the dropdown " +#~ "menu will be filled with the bands" +#~ " found in the provided asset)." +#~ msgstr "" + +#~ msgid "" +#~ "To reproduce this example, use the " +#~ "following asset as an image to " +#~ "sample: :code:`projects/sepal-" +#~ "cookbook/assets/classification/zmb_copernicus_landcover`." +#~ msgstr "" + +#~ msgid "" +#~ "Select the :btn:`` " +#~ "buttons (**1**) to change the number " +#~ "of samples in a specific class. By" +#~ " default, SEPAL ignores the samples " +#~ "with a :code:`Null` value. One can " +#~ "select :btn:`Default` (**2**) for any of" +#~ " the classes so that these points " +#~ "end up in the default class " +#~ "instead of being ignored." +#~ msgstr "" + +#~ msgid "random forest" +#~ msgstr "" + +#~ msgid "gradient tree boost" +#~ msgstr "" + +#~ msgid "cart" +#~ msgstr "" + +#~ msgid "naive bayes" +#~ msgstr "" + +#~ msgid "min distance" +#~ msgstr "" + +#~ msgid "decision tree" +#~ msgstr "" + +#~ msgid "" +#~ "This process requires a good " +#~ "understanding of the **Visualization** feature" +#~ " of SEPAL (refer to the `feature " +#~ "<#>`__ section for more information)." +#~ msgstr "" + +#~ msgid "" +#~ "Once all of the parameters are " +#~ "set, the user is free to add " +#~ "extra training data in the web " +#~ "interface and the new points will " +#~ "be added to the final model, " +#~ "improving the quality of the " +#~ "classification." +#~ msgstr "" + +#~ msgid "" +#~ "In order to improve the classification," +#~ " one must set up the view to" +#~ " display all of the information. " +#~ "While these guidelines could be modified" +#~ " and extended, they are still useful" +#~ " as an introductory resource." +#~ msgstr "" + +#~ msgid "" +#~ "The current image (what you are " +#~ "classifying) (**2**) using the NIR,RED,SWIR" +#~ " band combination." +#~ msgstr "" + +#~ msgid "" +#~ "To start adding points, open the " +#~ "training interface by selecting :btn:`` in the " +#~ "upper right of the screen (**1**). " +#~ "Once selected, the background color " +#~ "becomes darker and the pointer of " +#~ "the mouse becomes a :icon:`fa-solid " +#~ "fa-plus`." +#~ msgstr "" + +#~ msgid "" +#~ "You can now click elsewhere on the" +#~ " map to add another point. If " +#~ "you are satisfied with the " +#~ "classification, select :btn:` Close` (3) and select :btn" +#~ ":`` again " +#~ "to stop editing the points. Every " +#~ "time a new point is added, the " +#~ "**Classification** map is recomputed and " +#~ "rendered on the left side." +#~ msgstr "" + +#~ msgid "" +#~ "To modify existing points, select the" +#~ " :btn:`` to" +#~ " open the **Point editing** interface. " +#~ "Then:" +#~ msgstr "" + +#~ msgid "" +#~ "SEPAL embeds information to help the " +#~ "user understand if the amount of " +#~ "training data is sufficient to produce" +#~ " an accurate classification model. In " +#~ "the **Recipe** window, change the **Band" +#~ " combination** to :code:`Class probability`." +#~ msgstr "" + +#~ msgid "" +#~ "The user now sees the probability " +#~ "of the model (i.e. the confidence " +#~ "level of the level with output " +#~ "class for each pixel)." +#~ msgstr "" + +#~ msgid "" +#~ "You cannot export a recipe as an" +#~ " asset or a :code:`.tiff` file " +#~ "without a small computation quota. If" +#~ " you are a new user, see " +#~ ":doc:`../setup/resource`." +#~ msgstr "" + +#~ msgid "" +#~ "Selecting the :icon:`fa-solid fa-" +#~ "cloud-arrow-down` tab will open the" +#~ " **Retrieve** pane, where you can " +#~ "select the exportation parameters (**1**)." +#~ msgstr "" + +#~ msgid "" +#~ "You need to select the band to " +#~ "export (**2**). There is no maximum " +#~ "number of bands; however, exporting " +#~ "useless bands will only increase the " +#~ "size and time of the output." +#~ msgstr "" + +#~ msgid "" +#~ "You can set a custom scale for " +#~ "exportation (**3**) by changing the " +#~ "value of the slider in metres (m)." +#~ " (Note: Requesting a smaller resolution " +#~ "than images' native resolution will not" +#~ " improve the quality of the output" +#~ " – just its size; keep in mind" +#~ " that the native resolution of " +#~ "Sentinel data is 10 m, while " +#~ "Landsat is 30 m.)" +#~ msgstr "" + +#~ msgid "" +#~ "You can export the image to the" +#~ " :btn:`SEPAL workspace` or to the " +#~ ":btn:`Google Earth Engine Asset` list. " +#~ "The same image will be exported, " +#~ "but for the former, you will find" +#~ " it in :code:`.tif` format in the " +#~ ":code:`Downloads` folder; for the latter, " +#~ "the image will be exported to your" +#~ " **GEE account asset list**." +#~ msgstr "" + +#~ msgid "" +#~ "If :btn:`Google Earth Engine Asset` is" +#~ " not displayed, your GEE account is" +#~ " not connected to SEPAL. Refer to " +#~ "`Connect SEPAL to GEE <../setup/gee.html>`__." +#~ msgstr "" + +#~ msgid "Select :btn:` Apply` to start the download process." +#~ msgstr "" + diff --git a/docs/source/_locale/zh/LC_MESSAGES/cookbook/optical_mosaic.po b/docs/source/_locale/zh/LC_MESSAGES/cookbook/optical_mosaic.po index 2eaa36048c..014dbd9af8 100644 --- a/docs/source/_locale/zh/LC_MESSAGES/cookbook/optical_mosaic.po +++ b/docs/source/_locale/zh/LC_MESSAGES/cookbook/optical_mosaic.po @@ -1,22 +1,18 @@ + msgid "" msgstr "" -"Project-Id-Version: sepal-doc\n" +"Project-Id-Version: sepal-doc\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-03-07 09:39+0100\n" -"PO-Revision-Date: 2024-03-07 09:05\n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: 2024-03-07 09:05+0000\n" "Last-Translator: \n" +"Language: zh_CN\n" "Language-Team: Chinese Simplified\n" +"Plural-Forms: nplurals=1; plural=0;\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.14.0\n" -"Plural-Forms: nplurals=1; plural=0;\n" -"X-Crowdin-Project: sepal-doc\n" -"X-Crowdin-Project-ID: 562097\n" -"X-Crowdin-Language: zh-CN\n" -"X-Crowdin-File: /main/docs/source/_locale/en/LC_MESSAGES/cookbook/optical_mosaic.po\n" -"X-Crowdin-File-ID: 69\n" -"Language: zh_CN\n" +"Generated-By: Babel 2.18.0\n" #: ../../source/cookbook/optical_mosaic.rst:2 msgid "Optical mosaics" @@ -31,11 +27,17 @@ msgid "Overview" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:8 -msgid "A mosaic is a combination or fusion of two or more images. In SEPAL, you can create a single raster dataset from several raster datasets by mosaicing them together. This can be achieved on both contiguous rasters (see first image below) and overlapping images (see second image below)." +msgid "" +"A mosaic is a combination or fusion of two or more images. In SEPAL, you " +"can create a single raster dataset from several raster datasets by " +"mosaicing them together. This can be achieved on both contiguous rasters " +"(see first image below) and overlapping images (see second image below)." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:21 -msgid "These overlay areas can be managed in various ways. For example, you can choose to:" +msgid "" +"These overlay areas can be managed in various ways. For example, you can " +"choose to:" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:23 @@ -55,15 +57,23 @@ msgid "take the maximum or minimum value." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:28 -msgid "In addition, certain corrections can be made to the image to account for clouds, snow and other factors; these operations are complex and repetitive." +msgid "" +"In addition, certain corrections can be made to the image to account for " +"clouds, snow and other factors; these operations are complex and " +"repetitive." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:30 -msgid "SEPAL offers you an interactive and intuitive way to create mosaics in any area of interest (AOI)." +msgid "" +"SEPAL offers you an interactive and intuitive way to create mosaics in " +"any area of interest (AOI)." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:34 -msgid "You won't be able to retrieve the images if your SEPAL and Google Earth Engine (GEE) accounts are not connected. For more information, go to :doc:`../setup/gee`." +msgid "" +"You won't be able to retrieve the images if your SEPAL and Google Earth " +"Engine (GEE) accounts are not connected. For more information, go to " +":doc:`../setup/gee`." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:37 @@ -71,15 +81,25 @@ msgid "Start" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:39 -msgid "Once the mosaic recipe is selected, SEPAL will display the recipe process in a new tab (see **1** in the image below) and the **AOI selection** window will appear in the lower right (**2**)." +msgid "" +"Once the mosaic recipe is selected, SEPAL will display the recipe process" +" in a new tab (see **1** in the image below) and the **AOI selection** " +"window will appear in the lower right (**2**)." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:45 -msgid "The first step is to change the name of the recipe. This name will be used to identify your files and recipes in SEPAL folders. Use the best-suited convention for your needs. Simply double-click the tab and write a new name. It will default to :code:`Optical_mosaic___`." +msgid "" +"The first step is to change the name of the recipe. This name will be " +"used to identify your files and recipes in SEPAL folders. Use the best-" +"suited convention for your needs. Simply double-click the tab and write a" +" new name. It defaults to " +":code:`Optical_mosaic___`." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:57 -msgid "The SEPAL team recommends using the following naming convention: :code:`__`." +msgid "" +"The SEPAL team recommends using the following naming convention: " +":code:`__`." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:60 @@ -87,7 +107,9 @@ msgid "Parameters" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:62 -msgid "In the lower-right corner, five tabs are available, which allow you to customize the mosaic creation to your needs:" +msgid "" +"In the lower-right corner, five tabs are available, which allow you to " +"customize the mosaic creation to your needs:" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:64 @@ -115,7 +137,9 @@ msgid "AOI selection" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:77 -msgid "The data exported by the recipe will be generated from within the bounds of the AOI. There are multiple ways to select the AOI in SEPAL:" +msgid "" +"The data exported by the recipe will be generated from within the bounds " +"of the AOI. There are multiple ways to select the AOI in SEPAL:" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:79 @@ -131,7 +155,9 @@ msgid "Drawn polygons" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:83 -msgid "They are extensively described in our documentation. For more information, read :doc:`../feature/aoi_selector`." +msgid "" +"They are extensively described in our documentation. For more " +"information, read :doc:`../feature/aoi_selector`." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:90 @@ -143,7 +169,10 @@ msgid "Yearly mosaic" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:95 -msgid "In the :guilabel:`DAT` tab, select a year which pixels in the mosaic should come from. Then select the :icon:`fa-solid fa-check` :guilabel:`Apply` button." +msgid "" +"In the :guilabel:`DAT` tab, select a year which pixels in the mosaic " +"should come from. Then select the :icon:`fa-solid fa-check` " +":guilabel:`Apply` button." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:102 @@ -151,23 +180,40 @@ msgid "Seasonal mosaic" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:104 -msgid "Select :guilabel:`More` in the :guilabel:`DAT` panel to expand the date selection tool. Rather than selecting a year, you can select a season of interest." +msgid "" +"Select :guilabel:`More` in the :guilabel:`DAT` panel to expand the date " +"selection tool. Rather than selecting a year, you can select a season of " +"interest." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:106 -msgid "Select the :icon:`fa-solid fa-calendar` (**1**) to open the **Date selection** pop-up window. The selected date will be the target of the mosaic (i.e. the date from which pixels in the mosaic should ideally come from)." +msgid "" +"Select the :icon:`fa-solid fa-calendar` (**1**) to open the **Date " +"selection** pop-up window. The selected date will be the target of the " +"mosaic (i.e. the date from which pixels in the mosaic should ideally come" +" from)." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:108 -msgid "Using the main slider (**2**), define a season around the target date by identifying a start date and end date. SEPAL will then retrieve the mosaic images between those dates." +msgid "" +"Using the main slider (**2**), define a season around the target date by " +"identifying a start date and end date. SEPAL will then retrieve the " +"mosaic images between those dates." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:110 -msgid "The number of images in a single season of one year may not be enough to produce a correct mosaic. SEPAL provides two secondary sliders to increase the pool of images to create the mosaic. Both count the number of seasons SEPAL can retrieve in the past (:code:`Past season` - [**3**]) and in the future (:code:`Future season` - [**4**])." +msgid "" +"The number of images in a single season of one year may not be enough to " +"produce a correct mosaic. SEPAL provides two secondary sliders to " +"increase the pool of images to create the mosaic. Both count the number " +"of seasons SEPAL can retrieve in the past (:code:`Past season` - [**3**])" +" and in the future (:code:`Future season` - [**4**])." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:112 -msgid "When the selection is done, select the :icon:`fa-solid fa-check` :guilabel:`Apply` button." +msgid "" +"When the selection is done, select the :icon:`fa-solid fa-check` " +":guilabel:`Apply` button." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:119 @@ -175,504 +221,865 @@ msgid "Sources" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:121 -msgid "As mentioned in the introduction, a mosaic uses different raster datasets that can be obtained from multiple sources. SEPAL allows you to select data from multiple entry points. Below, you can find a description of these sources (select a link to see the corresponding dataset information):" +msgid "" +"As mentioned in the introduction, a mosaic combines raster datasets that " +"can come from multiple satellite sources. In the :guilabel:`SRC` tab, " +"select one or more **optical** data sources to build the mosaic from." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:123 -msgid ":guilabel:`L8`: `Landsat 8 Tier 1 `__. Landsat scenes with the highest available data quality are placed into **Tier 1** and considered suitable for time-series processing analysis. **Tier 1** includes Level-1 Precision Terrain (L1TP) processed data that have well-characterized radiometry and are intercalibrated across different Landsat sensors. The geo-registration of **Tier 1** scenes will be consistent and within prescribed tolerances (< = 12 m root mean square error [RMSE]). All **Tier 1** Landsat data can be considered consistent and intercalibrated (regardless of the sensor used) across the full collection." +msgid "**Landsat** scenes are distributed in two quality tiers:" +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:125 +msgid "" +"**Tier 1** holds the scenes with the highest data quality. They are " +"processed to Level-1 Precision Terrain (L1TP), have well-characterized " +"radiometry, are intercalibrated across the different Landsat sensors and " +"are geo-registered within prescribed tolerances (12 m root mean square " +"error [RMSE] or less). Tier 1 scenes are consistent across the full " +"collection and suitable for time-series analysis." +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:126 +msgid "" +"**Tier 2** (marked :guilabel:`T2`) holds scenes that do not meet the Tier" +" 1 criteria, for example because of significant cloud cover, insufficient" +" ground control or systematic-only terrain correction (L1GT/L1GS). They " +"can still be useful; analyze the RMSE and other properties to determine " +"their suitability for your study." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:127 -msgid ":guilabel:`L8 T2`: `Landsat 8 Tier 2 `__. Scenes not meeting **Tier 1** criteria during processing are assigned to **Tier 2**. This includes Systematic terrain (L1GT) and Systematic (L1GS) processed scenes, as well as any L1TP scenes that do not meet the **Tier 1** specifications due to significant cloud cover, insufficient ground control and other factors. Users interested in **Tier 2** scenes can analyze the RMSE and other properties to determine the suitability for use in individual applications and studies." +#: ../../source/cookbook/optical_mosaic.rst:128 +msgid "" +"The following optical sources are available (select a link to open the " +"corresponding Google Earth Engine dataset):" +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:130 +msgid "" +":guilabel:`L9`: `Landsat 9 `__ (Tier 1; from 2021)." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:131 -msgid ":guilabel:`L7`: `Landsat 7 Tier 1 `__. Landsat scenes with the highest available data quality are placed into **Tier 1** and are considered suitable for time-series processing analysis. **Tier 1** includes Level-1 Precision Terrain (L1TP) processed data that have well-characterized radiometry and are intercalibrated across different Landsat sensors. The geo-registration of **Tier 1** scenes will be consistent and within prescribed tolerances (< = 12 m RMSE). All **Tier 1** Landsat data can be considered consistent and intercalibrated across the full collection (regardless of the sensor used)." +msgid "" +":guilabel:`L8`: `Landsat 8 `__ (Tier 1; from 2013)." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:135 -msgid ":guilabel:`L7 T2`: `Landsat 7 Tier 2 `__. Scenes not meeting **Tier 1** criteria during processing are assigned to **Tier 2**. This includes Systematic terrain (L1GT) and Systematic (L1GS) processed scenes, as well as any L1TP scenes that do not meet the **Tier 1** specifications due to significant cloud cover, insufficient ground control and other factors. Users interested in **Tier 2** scenes can analyze the RMSE and other properties to determine the suitability for use in individual applications and studies." +#: ../../source/cookbook/optical_mosaic.rst:132 +msgid "" +":guilabel:`L7`: `Landsat 7 `__ (Tier 1; from 1999)." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:139 -msgid ":guilabel:`L4-5`: `Landsat 4 Tier 1 `__ combined with `Landsat 5 Tier 1 `__. Landsat scenes with the highest available data quality are placed into **Tier 1** and are considered suitable for time-series processing analysis. **Tier 1** includes Level-1 Precision Terrain (L1TP) processed data that have well-characterized radiometry and are intercalibrated across different Landsat sensors. The geo-registration of **Tier 1** scenes will be consistent and within prescribed tolerances (< = 12 m RMSE). All **Tier 1** Landsat data can be considered consistent and intercalibrated across the full collection (regardless of the sensor used)." +#: ../../source/cookbook/optical_mosaic.rst:133 +msgid "" +":guilabel:`L4-5`: `Landsat 4 `__ combined with `Landsat" +" 5 `__ (Tier 1; 1982–2012)." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:143 -msgid ":guilabel:`L4-5 T2`: `Landsat 4 TM Tier 2 `__ combined with `Landsat 5 TM Tier 2 `__. Scenes not meeting **Tier 1** criteria during processing are assigned to **Tier 2**. This includes Systematic terrain (L1GT) and Systematic (L1GS) processed scenes, as well as any L1TP scenes that do not meet the **Tier 1** specifications due to significant cloud cover, insufficient ground control and other factors. Users interested in **Tier 2** scenes can analyze the RMSE and other properties to determine the suitability for use in individual applications and studies." +#: ../../source/cookbook/optical_mosaic.rst:134 +msgid "" +":guilabel:`L9 T2`, :guilabel:`L8 T2`, :guilabel:`L7 T2`, :guilabel:`L4-5 " +"T2`: the **Tier 2** equivalents of the datasets listed above." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:147 -msgid ":guilabel:`A+B`: `Sentinel-2 Multispectral instrument `__ is a wide-swath, high-resolution, multispectral imaging mission supporting Copernicus Land Monitoring studies, including the monitoring of vegetation, soil and water cover, as well as the observation of inland waterways and coastal areas." +#: ../../source/cookbook/optical_mosaic.rst:135 +msgid "" +":guilabel:`S2`: `Sentinel-2 `__ (Sentinel-2A and " +"Sentinel-2B; from 2015). A wide-swath, high-resolution, multispectral " +"imaging mission supporting Copernicus Land Monitoring studies, including " +"the monitoring of vegetation, soil and water cover, as well as the " +"observation of inland waterways and coastal areas." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:153 -#: ../../source/cookbook/optical_mosaic.rst:170 -msgid "To validate your selection, select the :icon:`fa-solid fa-check` :guilabel:`Apply` button." +#: ../../source/cookbook/optical_mosaic.rst:139 +msgid "" +"SEPAL uses the Landsat **Collection 2** archive and the **harmonized** " +"Sentinel-2 collection." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:156 -msgid "Scenes" +#: ../../source/cookbook/optical_mosaic.rst:145 +msgid "" +"You can also restrict the imagery with the :code:`Max cloud cover %` " +"slider: scenes whose cloud cover is higher than this threshold are " +"excluded before the mosaic is built." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:160 -msgid "If Sentinel and Landsat data have been selected, you will be forced to use all scenes. As the tiling system from Sentinel and Landsat data are different, it's impossible to select scenes using the tool presented in the following sections." +#: ../../source/cookbook/optical_mosaic.rst:147 +msgid "" +"To validate your selection, select the :icon:`fa-solid fa-check` " +":guilabel:`Apply` button (labelled :guilabel:`Done` when you first create" +" the recipe through the setup wizard)." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:162 -msgid "You can use multiple options to select the best scenes for your mosaic. The most simple is to use every image available based on the date parameters. Select :guilabel:`Use all scenes` and all images will be integrated into the mosaic." +#: ../../source/cookbook/optical_mosaic.rst:150 +msgid "Scenes" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:164 -msgid "Choose :guilabel:`Select scenes` and choose one of the three available :code:`Priority` options, based on the needs of your analysis (SEPAL sorts the images available for each tile):" +#: ../../source/cookbook/optical_mosaic.rst:154 +msgid "" +"If Sentinel and Landsat data have been selected, you will be forced to " +"use all scenes. As the tiling system from Sentinel and Landsat data are " +"different, it's impossible to select scenes using the tool presented in " +"the following sections." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:166 -msgid ":guilabel:`Cloud free`: Prioritizes images with zero or few clouds." +#: ../../source/cookbook/optical_mosaic.rst:156 +msgid "" +"You can use multiple options to select the best scenes for your mosaic. " +"The most simple is to use every image available based on the date " +"parameters. Select :guilabel:`Use all scenes` and all images will be " +"integrated into the mosaic." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:167 -msgid ":guilabel:`Target date`: Prioritizes images that match the target date." +#: ../../source/cookbook/optical_mosaic.rst:158 +msgid "" +"Choose :guilabel:`Select scenes` and pick one of the three available " +":code:`Priority` options, based on the needs of your analysis (SEPAL " +"sorts the images available for each tile):" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:168 -msgid ":guilabel:`Balanced`: Prioritizes images that maximize both cloud and target date." +#: ../../source/cookbook/optical_mosaic.rst:160 +msgid "" +":guilabel:`Cloud free`: Prioritizes imagery as cloud-free as possible, " +"ignoring the date." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:177 -msgid "Composite" +#: ../../source/cookbook/optical_mosaic.rst:161 +msgid "" +":guilabel:`Balanced`: Prioritizes imagery that is neither too cloudy nor " +"too far from the target date." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:181 -msgid "This step is optional. SEPAL provides the following options by default:" +#: ../../source/cookbook/optical_mosaic.rst:162 +msgid "" +":guilabel:`Target date`: Prioritizes imagery as close as possible to the " +"target date." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:183 -msgid "**Correction**: :guilabel:`SR`, :guilabel:`BRDF`" +#: ../../source/cookbook/optical_mosaic.rst:164 +msgid "" +"To validate your selection, select the :icon:`fa-solid fa-check` " +":guilabel:`Apply` button." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:184 -msgid "**Pixel filters**: No filters" +#: ../../source/cookbook/optical_mosaic.rst:171 +msgid "Composite" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:185 -msgid "**Cloud detection**: :guilabel:`QA bands`, :guilabel:`Cloud score`" +#: ../../source/cookbook/optical_mosaic.rst:173 +msgid "" +"The :guilabel:`CMP` tab controls how the selected scenes are corrected, " +"how clouds and snow are masked, and how the final pixel values are " +"computed. The panel opens in a **simple** view showing the most common " +"options; select :guilabel:`More` to reveal the **advanced** options (and " +":guilabel:`Less` to hide them again)." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:186 -msgid "**Cloud masking**: :guilabel:`Moderate`" +#: ../../source/cookbook/optical_mosaic.rst:177 +msgid "This step is optional. By default, SEPAL applies:" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:187 -msgid "**Cloud buffering**: :guilabel:`None`" +#: ../../source/cookbook/optical_mosaic.rst:179 +msgid "**Corrections**: :guilabel:`SR` and :guilabel:`BRDF`" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:188 -msgid "**Snow masking**: :guilabel:`On`" +#: ../../source/cookbook/optical_mosaic.rst:180 +msgid "**Cloud masking**: :guilabel:`Moderate`" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:189 +#: ../../source/cookbook/optical_mosaic.rst:181 msgid "**Composing method**: :guilabel:`Medoid`" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:191 -msgid "To create a mosaic, provide SEPAL with the compositing method to create the final image. See the following image for all possible compositing options available." +#: ../../source/cookbook/optical_mosaic.rst:183 +msgid "" +"The advanced view additionally defaults to no pixel filters, no cloud " +"buffering and snow/ice masking turned on." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:198 -msgid "Corrections" +#: ../../source/cookbook/optical_mosaic.rst +msgid "Show the advanced view (opened with **More**)" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:200 -msgid "This will apply corrections on the stacked pixels to improve the quality of the mosaic." +#: ../../source/cookbook/optical_mosaic.rst:199 +msgid "Corrections" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:202 -msgid ":guilabel:`SR`: Surface reflectance improves comparison between multiple images over the same region by accounting for atmospheric effects such as aerosol scattering and thin clouds, which can help in the detection and characterization of Earth surface change. Top-of-atmosphere images are used if not selected." +#: ../../source/cookbook/optical_mosaic.rst:201 +msgid "" +"Corrections are applied to the stacked pixels to improve the quality of " +"the mosaic." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:203 -msgid ":guilabel:`BRDF`: Uses a bidirectional reflectance distribution function (BRDF) model to characterize surface reflectance anisotropy. For a given land area, the BRDF is established based on selected multi-angular observations of surface reflectance." +msgid "" +":guilabel:`SR`: Surface reflectance improves comparison between multiple " +"images over the same region by accounting for atmospheric effects such as" +" aerosol scattering and thin clouds, which can help in the detection and " +"characterization of Earth surface change. Top-of-atmosphere (TOA) images " +"are used if not selected." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:204 -msgid ":guilabel:`Calibrate`: Calibrates Sentinel and Landsat data to make them compatible." +msgid "" +":guilabel:`BRDF`: Uses a bidirectional reflectance distribution function " +"(BRDF) model to characterize surface reflectance anisotropy. For a given " +"land area, the BRDF is established based on selected multi-angular " +"observations of surface reflectance. When BRDF is enabled, the advanced " +"view shows a :code:`BRDF Multiplier` field that controls how much " +"correction is applied (values of 3–4 usually work well; lower it if the " +"effect is overcompensated, raise it if it is not compensated enough)." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:208 -msgid "This option is only available if:" +#: ../../source/cookbook/optical_mosaic.rst:205 +msgid "" +":guilabel:`Calibrate`: Calibrates the bands to improve a cross-sensor " +"mosaic." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:210 -msgid "Landsat and Sentinel data are mixed; and" +#: ../../source/cookbook/optical_mosaic.rst:209 +msgid "This option is only available if:" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:211 -msgid "BRDF and surface reflectance (SR) corrections are disabled." +msgid "Landsat and Sentinel-2 data are mixed; and" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:214 -msgid "Pixel filters" +#: ../../source/cookbook/optical_mosaic.rst:212 +msgid "surface reflectance (:guilabel:`SR`) correction is disabled." +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:215 +msgid "Cloud masking" +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:217 +msgid "" +"Controls how clouds are detected and masked. In the simple view, choose a" +" preset:" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:216 -msgid "Activating any of the filters will remove some pixels from the stack. Removing pixels improves the quality of the mosaic, as they are not taken into account in the median value computation." +#: ../../source/cookbook/optical_mosaic.rst:219 +msgid "" +":guilabel:`Moderate`: Relies only on the image source QA bands for cloud " +"masking." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:220 -msgid "Each filter is applied iteratively (e.g. if the normalized difference vegetation index [NDVI] is already filtering all pixels but one, there will be nothing left in the stack to be filtered by day of year)." +msgid "" +":guilabel:`Aggressive`: Relies on the image source QA bands together with" +" a cloud-scoring algorithm. This will probably mask out some built-up " +"areas and other bright features." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:222 -msgid "Note as well that adding filters significantly increases the creation time of the mosaic." +#: ../../source/cookbook/optical_mosaic.rst:221 +msgid "" +":guilabel:`Custom`: Automatically selected (and otherwise disabled) when " +"you fine-tune the individual cloud-masking algorithms in the advanced " +"view." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:224 -msgid "**Shadow**: Filters the XX percent darkest pixels of the stack." +#: ../../source/cookbook/optical_mosaic.rst:223 +msgid "" +"In the advanced view you can add and configure the individual cloud-" +"masking algorithms with the :icon:`fa-solid fa-plus` button. The " +"available algorithms depend on the sources you selected:" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:225 -msgid "**Haze**: Computes a haze index and filters the XX percent highest values." +msgid "" +":guilabel:`SEPAL cloud score`: SEPAL's own cloud-scoring algorithm, with " +"a configurable *maximum cloud probability*. Always available." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:226 -msgid "**NDVI**: Computes the NDVI and only keeps the XX percent highest values." +msgid "" +":guilabel:`S2 Cloud Score+`: Sentinel-2 Cloud Score+, with a *maximum " +"cloud probability* and a choice of scoring band — :guilabel:`cs` " +"(instantaneous clear-sky similarity) or :guilabel:`cs_cdf` (likelihood of" +" being clear over time). Sentinel-2 sources only." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:227 -msgid "**Day of the year**: Computes the distance from target day in days and filters out the XX percent farthest." +msgid "" +":guilabel:`S2 Cloud Probability`: the Sentinel-2 cloud-probability " +"dataset, with a configurable *maximum cloud probability*. Sentinel-2 " +"sources only." +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:228 +msgid "" +":guilabel:`Landsat CFMask`: the Landsat CFMask QA bands. You can set " +":code:`Cloud Masking`, :code:`Cloud Shadow Masking` and :code:`Cirrus " +"Masking` each to :guilabel:`Off`, :guilabel:`Moderate` or " +":guilabel:`Aggressive`, and choose whether to :guilabel:`Keep` or " +":guilabel:`Remove` dilated clouds. Landsat sources only." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:230 -msgid "Cloud detection" +#: ../../source/cookbook/optical_mosaic.rst:229 +msgid "" +":guilabel:`Pino 26`: the Pan-Tropical Sentinel-2 cloud-detection " +"algorithm developed by Dario Simonetti (for more information, see `D. " +"Simonetti [2021] `__). Only " +"available for a Sentinel-2-exclusive source when :guilabel:`SR` " +"correction is disabled." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:232 -msgid "Refers to the algorithm used to detect clouds." +msgid "Cloud buffering" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:234 -msgid ":guilabel:`QA bands`: Uses quality assessment (QA) bands to identify clouds in Sentinel data." +msgid "" +"(Advanced view.) When pixels are identified as clouds, SEPAL can also " +"mask a small buffer around them to prevent hazy pixels at the borders of " +"clouds from being included in the mosaic." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:235 -msgid ":guilabel:`Cloud score`: Uses the computed cloud score to identify clouds in Landsat data." +#: ../../source/cookbook/optical_mosaic.rst:238 +msgid "" +"Buffering is done at the pixel level, so using this option significantly " +"increases the creation time of the mosaic." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:236 -msgid ":guilabel:`Pino 26`: Uses the Pino_26 algorithm to identify clouds (for more information, see `D. Simonetti [2021] `__)." +#: ../../source/cookbook/optical_mosaic.rst:240 +msgid ":guilabel:`None`: Doesn't use cloud buffering." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:240 -msgid "This filter is only available for Sentinel exclusive source when both :guilabel:`BRDF` and :guilabel:`SR` correction are disabled." +#: ../../source/cookbook/optical_mosaic.rst:241 +msgid "" +":guilabel:`Moderate`: Masks an additional **120 m** around each larger " +"cloud." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:243 -msgid "Cloud masking" +#: ../../source/cookbook/optical_mosaic.rst:242 +msgid "" +":guilabel:`Aggressive`: Masks an additional **600 m** around each larger " +"cloud." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:245 -msgid "Controls how clouds will be masked based on the cloud detection algorithm selected." +msgid "Snow/ice masking" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:247 -msgid ":guilabel:`off`: Uses cloud-free pixels if possible, but doesn't mask areas without cloud-free pixels." -msgstr "" - -#: ../../source/cookbook/optical_mosaic.rst:248 -msgid ":guilabel:`moderate`: Relies only on image source QA bands for cloud masking (a moderate threshold is used)." +msgid "(Advanced view.) Defines how snowy or icy pixels are masked." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:249 -msgid ":guilabel:`aggressive`: Relies on image source QA bands and a cloud scoring algorithm for cloud masking with an aggressive threshold (this will probably mask out some built-up areas and other bright features)." +msgid "" +":guilabel:`On`: Masks snow. This tends to leave some pixels with shadowy " +"snow." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:252 -msgid "Cloud buffering" +#: ../../source/cookbook/optical_mosaic.rst:250 +msgid "" +":guilabel:`Off`: Doesn't mask snow. Note that some clouds might get " +"misclassified as snow; therefore, disabling snow masking might lead to " +"cloud artifacts." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:254 -msgid "When pixels are identified as clouds, SEPAL can remove pixels in a small buffer around it to prevent hazy pixels at the borders of clouds to be included in the mosaic." +#: ../../source/cookbook/optical_mosaic.rst:253 +msgid "Masked out pixels" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:258 -msgid "Buffering is done on the pixel level, so using this option will significantly increase the creation time of the mosaic." +#: ../../source/cookbook/optical_mosaic.rst:255 +msgid "" +"(Advanced view.) Controls whether a pixel can end up completely masked " +"when every available acquisition is cloudy and/or snowy." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:260 -msgid ":guilabel:`none`: Doesn't use cloud buffering." +#: ../../source/cookbook/optical_mosaic.rst:257 +msgid "" +":guilabel:`Prevent`: Prevents pixels from being completely masked out, " +"keeping the best available (possibly cloudy/snowy) value." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:261 -msgid ":guilabel:`moderate`: Masks an additional **120 m** around each larger cloud." +#: ../../source/cookbook/optical_mosaic.rst:258 +msgid "" +":guilabel:`Allow`: Allows pixels to be completely masked out, leaving " +"holes in the mosaic where no clear observation exists." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:262 -msgid ":guilabel:`aggressive`: Masks an additional **600 m** around each larger cloud." +#: ../../source/cookbook/optical_mosaic.rst:261 +msgid "Pixel filters" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:265 -msgid "Snow masking" +#: ../../source/cookbook/optical_mosaic.rst:263 +msgid "" +"(Advanced view.) Add filters with the :icon:`fa-solid fa-plus` button to " +"remove pixels from the stack before compositing. Each filter excludes a " +"percentage of the stack (set with a slider, defaulting to 50%); removing " +"low-quality pixels improves the quality of the mosaic." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:267 -msgid "Defines how snowy pixels will be masked." +msgid "" +"Each filter is applied iteratively (e.g. if the normalized difference " +"vegetation index [NDVI] is already filtering all pixels but one, there " +"will be nothing left in the stack to be filtered by date)." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:269 -msgid ":guilabel:`on`: Masks snow. This tends to leave some pixels with shadowy snow." +msgid "" +"Note as well that adding filters significantly increases the creation " +"time of the mosaic." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:270 -msgid ":guilabel:`off`: Doesn't mask snow. Note that some clouds might get misclassified as snow; therefore, disabling snow masking might lead to cloud artifacts." +#: ../../source/cookbook/optical_mosaic.rst:271 +msgid "" +"**Shadow**: Excludes the selected percentage of pixels with the most " +"shadow." +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:272 +msgid "" +"**Haze**: Excludes the selected percentage of pixels with the most haze. " +"Only available when :guilabel:`SR` correction is disabled." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:273 -msgid "Composing method" +msgid "**NDVI**: Excludes the selected percentage of pixels with the lowest NDVI." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:275 -msgid "After filtering the stack of pixels, SEPAL will compute the median value on the different bands of the image. The composing method will define how the final pixel value is extracted." +#: ../../source/cookbook/optical_mosaic.rst:274 +msgid "" +"**Date**: Excludes the selected percentage of pixels farthest from the " +"target date." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:277 -msgid ":guilabel:`Medoid`: Uses the closest pixel from the median value. As a real pixel from the stack, the final value will embed metadata (e.g. the date of observation)." +msgid "Sentinel-2 overlap" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:278 -msgid ":guilabel:`Median`: Uses the computed value of the median. If no pixel is matching this value, the pixel will not embed any metadata. It tends to produce smoother mosaics." +#: ../../source/cookbook/optical_mosaic.rst:279 +msgid "" +"(Advanced view; shown only when Sentinel-2 is selected.) Sentinel-2 " +"acquisitions overlap both between orbits and between neighbouring tiles, " +"which can result in duplicated observations." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:281 -msgid "Analysis" +msgid "" +"**Orbit Overlap**: :guilabel:`Keep` the overlap between Sentinel-2 orbits" +" (more data, better models) or :guilabel:`Remove` it." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:283 -msgid "After selecting the parameters, you can start interacting with the scenes and begin the analysis." +#: ../../source/cookbook/optical_mosaic.rst:282 +msgid "" +"**Tile Overlap**: :guilabel:`Keep` the overlap between Sentinel-2 tiles, " +":guilabel:`Quick remove` most of it, or :guilabel:`Remove` all of it. " +"Removing overlap adds an extra preprocessing step." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:285 -msgid "In the upper-right corner, three tabs are available, which allow you to customize the mosaic scene selection and export the final result:" +msgid "Composing method" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:287 -msgid ":btn:``: auto-select scenes" +msgid "" +"After filtering the stack of pixels, the composing method defines how the" +" final pixel value is extracted." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:288 -msgid ":btn:``: clear selected scenes" +#: ../../source/cookbook/optical_mosaic.rst:289 +msgid "" +":guilabel:`Medoid`: Uses the pixel closest to the median value. As a real" +" pixel from the stack, the final value embeds metadata (e.g. the date of " +"observation)." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:289 -msgid ":btn:``: retrieve mosaic" +#: ../../source/cookbook/optical_mosaic.rst:290 +msgid "" +":guilabel:`Median`: Uses the computed median value. If no pixel matches " +"this value, the pixel will not embed any metadata. It tends to produce " +"smoother mosaics." +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:293 +msgid "Analysis" +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:295 +msgid "" +"After selecting the parameters, you can start interacting with the scenes" +" and begin the analysis." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:297 -msgid "If you have not selected the option :guilabel:`Select scenes` in the :guilabel:`SCN` tab, the :icon:`fa-solid fa-wand-magic` button will be disabled and the scene areas will be hidden as no scene selection needs to be performed (see those with a number in a circle on the previous screenshot)." +msgid "" +"In the upper-right corner, three tabs are available, which allow you to " +"customize the mosaic scene selection and export the final result:" msgstr "" #: ../../source/cookbook/optical_mosaic.rst:299 -msgid "If you can't see the image scene area, you probably have selected a small AOI. Zoom out on the map and you will see the number of available images in the circles." +msgid ":btn:``: auto-select scenes" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:302 -msgid "Select scenes" +#: ../../source/cookbook/optical_mosaic.rst:300 +msgid ":btn:``: clear selected scenes" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:304 -msgid "To create a mosaic, select the scenes that will be used to compute each pixel value of the mosaic. SEPAL provides a user-friendly interface that will guide you through the selection process. You don't have to select the stack for every pixel; instead, SEPAL will clip the AOI in smaller pieces called **Tiles**. These tiles correspond to the native tiling system of your dataset and are displayed on the map with circled numbers in their centroid. Each number corresponds to the number of scenes available to build the mosaic tile. Hover over these circles to see the tile boundaries appear." +#: ../../source/cookbook/optical_mosaic.rst:301 +msgid ":btn:``: retrieve mosaic" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:308 -msgid "Landsat and Sentinel datasets have a different grid system, which is why the selection process cannot be used if you have selected both of these datasets. If you have an idea related to the user interface (UI) that could make them work together, let us know in our `issue tracker `__." +#: ../../source/cookbook/optical_mosaic.rst:309 +msgid "" +"If you have not selected the option :guilabel:`Select scenes` in the " +":guilabel:`SCN` tab, the :icon:`fa-solid fa-wand-sparkles` button will be" +" disabled and the scene areas will be hidden as no scene selection needs " +"to be performed (see those with a number in a circle on the previous " +"screenshot)." msgstr "" #: ../../source/cookbook/optical_mosaic.rst:311 +msgid "" +"If you can't see the image scene area, you probably have selected a small" +" AOI. Zoom out on the map and you will see the number of available images" +" in the circles." +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:314 +msgid "Select scenes" +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:316 +msgid "" +"To create a mosaic, select the scenes that will be used to compute each " +"pixel value of the mosaic. SEPAL provides a user-friendly interface that " +"will guide you through the selection process. You don't have to select " +"the stack for every pixel; instead, SEPAL will clip the AOI in smaller " +"pieces called **Tiles**. These tiles correspond to the native tiling " +"system of your dataset and are displayed on the map with circled numbers " +"in their centroid. Each number corresponds to the number of scenes " +"available to build the mosaic tile. Hover over these circles to see the " +"tile boundaries appear." +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:320 +msgid "" +"Landsat and Sentinel datasets have a different grid system, which is why " +"the selection process cannot be used if you have selected both of these " +"datasets. If you have an idea related to the user interface (UI) that " +"could make them work together, let us know in our `issue tracker " +"`__." +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:323 msgid "Auto-select scene" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:313 -msgid "Selecting the :icon:`fa-solid fa-wand-magic` tab will open the **Auto-selection** pane." +#: ../../source/cookbook/optical_mosaic.rst:325 +msgid "" +"Selecting the :icon:`fa-solid fa-wand-sparkles` tab will open the **Auto-" +"selection** pane." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:315 -msgid "Move the sliders to select the minimum and the maximum number of scenes SEPAL should select in a tile. Then, select the :guilabel:`Validate` button to apply the auto-select method." +#: ../../source/cookbook/optical_mosaic.rst:327 +msgid "" +"Move the sliders to set the :code:`Minimum number of scenes` and the " +":code:`Maximum number of scenes` SEPAL should select in a tile. Then, " +"select the :guilabel:`Select scenes` button to apply the auto-select " +"method." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:317 -msgid "SEPAL will use the priority defined in the :guilabel:`SCN` tab to order the scene and collect the optimal number for your request." +#: ../../source/cookbook/optical_mosaic.rst:329 +msgid "" +"SEPAL will use the priority defined in the :guilabel:`SCN` tab to order " +"the scene and collect the optimal number for your request." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:321 -msgid "The result is never perfect but can be used as a starting point for the manual selection of scenes." +#: ../../source/cookbook/optical_mosaic.rst:333 +msgid "" +"The result is never perfect but can be used as a starting point for the " +"manual selection of scenes." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:328 +#: ../../source/cookbook/optical_mosaic.rst:340 msgid "Clear all scenes" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:330 -msgid "If at least one scene is selected, the :icon:`fa-solid fa-trash` tab will be available. Select it to open the **Clear** pane." +#: ../../source/cookbook/optical_mosaic.rst:342 +msgid "" +"If at least one scene is selected, the :icon:`fa-solid fa-trash` tab will" +" be available. Select it to open the **Clear** pane." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:332 -msgid "Select :guilabel:`Clear scenes` to remove all manually and automatically selected scenes." +#: ../../source/cookbook/optical_mosaic.rst:344 +msgid "" +"Select :guilabel:`Clear scenes` to remove all manually and automatically " +"selected scenes." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:339 +#: ../../source/cookbook/optical_mosaic.rst:351 msgid "Manual selection" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:341 -msgid "To open the **Scene selection** menu, hover over a tile circled-number and select it (**1**). The window will be divided into two sections:" +#: ../../source/cookbook/optical_mosaic.rst:353 +msgid "" +"To open the **Scene selection** menu, hover over a tile circled-number " +"and select it (**1**). The window will be divided into two sections:" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:343 -msgid "**Available scene** (**2**): All the available scenes according to the parameters you selected. These scenes are ordered using the :code:`priority` parameter you set in the :guilabel:`SCN` tab." +#: ../../source/cookbook/optical_mosaic.rst:355 +msgid "" +"**Available scene** (**2**): All the available scenes according to the " +"parameters you selected. These scenes are ordered using the " +":code:`priority` parameter you set in the :guilabel:`SCN` tab." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:344 +#: ../../source/cookbook/optical_mosaic.rst:356 msgid "**Selected scenes** (**3**): The scenes that are currently selected." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:350 -msgid "Each thumbnail represents a scene of the tile stack. You have the option to include them in the mosaic. The scenes located on the left side are the **Available scenes**; the **Selected scenes** are on the right side. In both cases, the following information can be found on the thumbnail:" +#: ../../source/cookbook/optical_mosaic.rst:362 +msgid "" +"Each thumbnail represents a scene of the tile stack. You have the option " +"to include them in the mosaic. The scenes located on the left side are " +"the **Available scenes**; the **Selected scenes** are on the right side. " +"In both cases, the following information can be found on the thumbnail:" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:352 -msgid "A small preview of the scene in the *red, blue, green* band combination." +#: ../../source/cookbook/optical_mosaic.rst:364 +msgid "" +"A small preview of the scene in the *red, green, blue* (true-colour) band" +" combination." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:353 +#: ../../source/cookbook/optical_mosaic.rst:365 msgid "The exact date in YYYY-MM-DD of the scene." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:354 +#: ../../source/cookbook/optical_mosaic.rst:366 msgid "The satellite name :icon:`fa-solid fa-satellite-dish`." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:355 -msgid "The cloud coverage of the scene in percent and its position in the stack values :icon:`fa-solid fa-cloud`." +#: ../../source/cookbook/optical_mosaic.rst:367 +msgid "" +"The cloud coverage of the scene in percent and its position in the stack " +"values :icon:`fa-solid fa-cloud`." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:356 -msgid "The distance from target day in days within the season and its position in the stack values :icon:`fa-solid fa-calendar-check`." +#: ../../source/cookbook/optical_mosaic.rst:368 +msgid "" +"The distance from target day in days within the season and its position " +"in the stack values :icon:`fa-solid fa-calendar-check`." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:368 -msgid "You can decide to move the scene to the **Selected scene** area by selecting :icon:`fa-solid fa-plus`:guilabel:`Add` or moving it back to **Available scene** pane by selecting :icon:`fa-solid fa-minus` :guilabel:`Remove`." +#: ../../source/cookbook/optical_mosaic.rst:380 +msgid "" +"You can decide to move the scene to the **Selected scene** area by " +"selecting :icon:`fa-solid fa-plus` :guilabel:`Add` or moving it back to " +"the **Available scene** pane by selecting :icon:`fa-solid fa-minus` " +":guilabel:`Remove`." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:382 -msgid "Scenes are moved from one side to the other so they are not duplicated and cannot be selected twice. Be careful if your connection is slow; wait for the thumbnail to move before clicking again (if you click too fast, you could select two different images instead of one)." +#: ../../source/cookbook/optical_mosaic.rst:394 +msgid "" +"Scenes are moved from one side to the other so they are not duplicated " +"and cannot be selected twice. Be careful if your connection is slow; wait" +" for the thumbnail to move before clicking again (if you click too fast, " +"you could select two different images instead of one)." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:384 -msgid "Once you are happy with your selection, select the :guilabel:`Apply` button to close the window and use the selected scenes to compute the mosaic on this tile. When the window is closed, SEPAL resets the rendering of all tiles." +#: ../../source/cookbook/optical_mosaic.rst:396 +msgid "" +"Once you are happy with your selection, select the :guilabel:`Apply` " +"button to close the window and use the selected scenes to compute the " +"mosaic on this tile. When the window is closed, SEPAL resets the " +"rendering of all tiles." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:387 +#: ../../source/cookbook/optical_mosaic.rst:399 msgid "Retrieve" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:391 -msgid "You cannot export a recipe as an asset or a :code:`.tiff` file without a small computation quota. If you are a new user, see :doc:`../setup/resource`." +#: ../../source/cookbook/optical_mosaic.rst:403 +msgid "" +"You cannot export a recipe as an asset or a :code:`.tif` file without a " +"small computation quota. If you are a new user, see " +":doc:`../setup/resource`." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:393 -msgid "Selecting the :icon:`fa-solid fa-cloud-arrow-down` tab will open the **Retrieve** pane where you can select the exportation parameters." +#: ../../source/cookbook/optical_mosaic.rst:405 +msgid "" +"Selecting the :icon:`fa-solid fa-cloud-arrow-down` tab will open the " +"**Retrieve** pane where you can select the exportation parameters." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:400 +#: ../../source/cookbook/optical_mosaic.rst:412 msgid "Bands" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:402 -msgid "You need to select the band(s) to export with the mosaic. There is no maximum number of bands, but exporting useless bands will only increase the size and time of the output. To discover the full list of available bands with SEPAL, see :doc:`../feature/bands`." +#: ../../source/cookbook/optical_mosaic.rst:414 +msgid "" +"You need to select the band(s) to export with the mosaic. There is no " +"maximum number of bands, but exporting useless bands will only increase " +"the size and time of the output. To discover the full list of available " +"bands with SEPAL, see :doc:`../feature/optical_bands`." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:406 -msgid "There is no fixed rule to the band selection. Each index is more adapted to a set of analyses in a defined biome. The knowledge of the study area, the evolution expected and the careful selection of an adapted band combination will improve the quality of downstream analysis." +#: ../../source/cookbook/optical_mosaic.rst:418 +msgid "" +"There is no fixed rule to the band selection. Each index is more adapted " +"to a set of analyses in a defined biome. The knowledge of the study area," +" the evolution expected and the careful selection of an adapted band " +"combination will improve the quality of downstream analysis." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:409 +#: ../../source/cookbook/optical_mosaic.rst:421 msgid "Dates" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:411 -msgid ":guilabel:`dayofyear`: the Julian calendar date (day of the year)" +#: ../../source/cookbook/optical_mosaic.rst:423 +msgid ":guilabel:`dayOfYear`: the Julian calendar date (day of the year)" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:412 -msgid ":guilabel:`dayfromtarget`: the distance to the target date within the season in days" +#: ../../source/cookbook/optical_mosaic.rst:424 +msgid "" +":guilabel:`daysFromTarget`: the distance to the target date within the " +"season in days" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:415 +#: ../../source/cookbook/optical_mosaic.rst:428 +msgid "" +"These metadata bands are only available when the :guilabel:`Medoid` " +"composing method is used (the :guilabel:`Median` method produces " +"artificial pixels that carry no metadata)." +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:431 msgid "Scale" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:417 -msgid "You can set a custom scale for exportation by changing the value of the slider in metres (m) (note that requesting a smaller resolution than images' native resolution will not improve the quality of the output – just its size – keep in mind that the native resolution of Sentinel data is 10 m, while Landsat is 30 m.)" +#: ../../source/cookbook/optical_mosaic.rst:433 +msgid "" +"You can set a custom scale for exportation by selecting a value in metres" +" (m) (note that requesting a smaller resolution than the images' native " +"resolution will not improve the quality of the output – just its size – " +"keep in mind that the native resolution of Sentinel data is 10 m, while " +"Landsat is 30 m)." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:420 +#: ../../source/cookbook/optical_mosaic.rst:436 msgid "Destination" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:422 -msgid "You can export the image to the :guilabel:`SEPAL workspace` or to the ;guilabel:`Google Earth Engine Asset` folder. The same image will be exported to both; however, for the former, you will find it in :code:`.tif` format in the :code:`Downloads` folder; for the latter, the image will be exported to your GEE account asset list." +#: ../../source/cookbook/optical_mosaic.rst:438 +msgid "Choose a single destination for the export:" +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:440 +msgid "" +":guilabel:`SEPAL workspace`: the image is written to your SEPAL files in " +":code:`.tif` format (by default in the :code:`Downloads` folder)." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:426 -msgid "If :guilabel:`Google Earth Engine Asset` is not displayed, it means that your GEE account is not connected to SEPAL. Please refer to `Connect SEPAL to GEE <../setup/gee.html>`__." +#: ../../source/cookbook/optical_mosaic.rst:441 +msgid "" +":guilabel:`Google Earth Engine asset`: the image is exported to your GEE " +"account as an asset. You can export it either as a single " +":guilabel:`Image` or as an :guilabel:`Image collection` (tiled, which is " +"better suited to large exports), and set its sharing to " +":guilabel:`Private` or :guilabel:`Public`." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:428 -msgid "Select :guilabel:`Apply` to start the download process." +#: ../../source/cookbook/optical_mosaic.rst:442 +msgid "" +":guilabel:`Google Drive`: the image is exported to the Google Drive of " +"the connected Google account." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:431 +#: ../../source/cookbook/optical_mosaic.rst:446 +msgid "" +"The :guilabel:`Google Earth Engine asset` and :guilabel:`Google Drive` " +"destinations are only displayed when a Google account is connected to " +"SEPAL. If they are missing, please refer to `Connect SEPAL to GEE " +"<../setup/gee.html>`__." +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:448 +msgid "Select :guilabel:`Retrieve` to start the export process." +msgstr "" + +#: ../../source/cookbook/optical_mosaic.rst:451 msgid "Exportation status" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:433 -msgid "In the **Tasks** tab (lower-left corner using the :icon:`fa-solid fa-list-check` or :icon:`fa-solid fa-spinner` buttons, depending on the loading status), you will see the list of the different loading tasks. The interface will provide you with information about task progress and display an error if the exportation has failed." +#: ../../source/cookbook/optical_mosaic.rst:453 +msgid "" +"In the **Tasks** tab (lower-left corner using the :icon:`fa-solid fa-" +"list-check` or :icon:`fa-solid fa-spinner` buttons, depending on the " +"loading status), you will see the list of the different loading tasks. " +"The interface will provide you with information about task progress and " +"display an error if the exportation has failed." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:435 -msgid "If you are unsatisfied with the way we present information, the task can also be monitored using the `GEE task manager `__." +#: ../../source/cookbook/optical_mosaic.rst:455 +msgid "" +"If you are unsatisfied with the way we present information, the task can " +"also be monitored using the `GEE task manager " +"`__." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:439 -msgid "This operation is running between GEE and SEPAL servers in the background. You can close the SEPAL page without stopping the process." +#: ../../source/cookbook/optical_mosaic.rst:459 +msgid "" +"This operation is running between GEE and SEPAL servers in the " +"background. You can close the SEPAL page without stopping the process." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:441 -msgid "When the task is finished, the frame will be displayed in green, as shown on the second image below." +#: ../../source/cookbook/optical_mosaic.rst:461 +msgid "" +"When the task is finished, the frame will be displayed in green, as shown" +" on the second image below." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:454 +#: ../../source/cookbook/optical_mosaic.rst:474 msgid "Access" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:456 -msgid "Once the download process is complete, you can access the data in your SEPAL folders. The data will be stored in the :code:`Downloads` folder using the following format:" +#: ../../source/cookbook/optical_mosaic.rst:476 +msgid "" +"Once the download process is complete, you can access the data in your " +"SEPAL folders. The data will be stored in the :code:`Downloads` folder " +"using the following format:" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:471 -msgid "Understanding how images are stored in an optical mosaic is only required if you want to manually use them. The SEPAL applications are bound to this tiling system and can digest the information for you." +#: ../../source/cookbook/optical_mosaic.rst:491 +msgid "" +"Understanding how images are stored in an optical mosaic is only required" +" if you want to manually use them. The SEPAL applications are bound to " +"this tiling system and can digest the information for you." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:473 -msgid "The data are stored in a folder using the name of the optical mosaic as it was created in the first section of this article. As the number of data is spatially too big to be exported at once, the data are divided into smaller pieces and brought back together in a :code:`_.vrt` file." +#: ../../source/cookbook/optical_mosaic.rst:493 +msgid "" +"The data are stored in a folder using the name of the optical mosaic as " +"it was created in the first section of this article. As the number of " +"data is spatially too big to be exported at once, the data are divided " +"into smaller pieces and brought back together in a :code:`_.vrt` file." msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:477 -msgid "The full folder with a consistent tree folder is required to read the `.vrt`" +#: ../../source/cookbook/optical_mosaic.rst:497 +msgid "" +"The full folder with a consistent tree folder is required to read the " +"`.vrt`" msgstr "" -#: ../../source/cookbook/optical_mosaic.rst:481 -msgid "Now that you have downloaded the optical mosaic to your SEPAL and/or GEE account, it can be downloaded to your computer using `FileZilla <../setup.filezilla.html>`__ or used in other SEPAL workflows." +#: ../../source/cookbook/optical_mosaic.rst:501 +msgid "" +"Now that you have exported the optical mosaic to your SEPAL workspace, it" +" can be downloaded to your computer using `file exchange options " +"<../setup/filezilla.html>`__ or used in other SEPAL workflows." msgstr "" #~ msgid "Optical mosaic" @@ -1794,3 +2201,539 @@ msgstr "" #~ " SEPAL workflows." #~ msgstr "" +#~ msgid "" +#~ "The first step is to change the" +#~ " name of the recipe. This name " +#~ "will be used to identify your " +#~ "files and recipes in SEPAL folders. " +#~ "Use the best-suited convention for " +#~ "your needs. Simply double-click the " +#~ "tab and write a new name. It " +#~ "will default to " +#~ ":code:`Optical_mosaic___`." +#~ msgstr "" + +#~ msgid "" +#~ "As mentioned in the introduction, a " +#~ "mosaic uses different raster datasets " +#~ "that can be obtained from multiple " +#~ "sources. SEPAL allows you to select " +#~ "data from multiple entry points. Below," +#~ " you can find a description of " +#~ "these sources (select a link to " +#~ "see the corresponding dataset information):" +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`L8`: `Landsat 8 Tier 1 " +#~ "`__. Landsat " +#~ "scenes with the highest available data" +#~ " quality are placed into **Tier 1**" +#~ " and considered suitable for time-" +#~ "series processing analysis. **Tier 1** " +#~ "includes Level-1 Precision Terrain (L1TP) " +#~ "processed data that have well-" +#~ "characterized radiometry and are " +#~ "intercalibrated across different Landsat " +#~ "sensors. The geo-registration of **Tier" +#~ " 1** scenes will be consistent and" +#~ " within prescribed tolerances (< = 12" +#~ " m root mean square error [RMSE])." +#~ " All **Tier 1** Landsat data can " +#~ "be considered consistent and intercalibrated" +#~ " (regardless of the sensor used) " +#~ "across the full collection." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`L8 T2`: `Landsat 8 Tier 2 " +#~ "`__. Scenes " +#~ "not meeting **Tier 1** criteria during" +#~ " processing are assigned to **Tier " +#~ "2**. This includes Systematic terrain " +#~ "(L1GT) and Systematic (L1GS) processed " +#~ "scenes, as well as any L1TP scenes" +#~ " that do not meet the **Tier " +#~ "1** specifications due to significant " +#~ "cloud cover, insufficient ground control " +#~ "and other factors. Users interested in" +#~ " **Tier 2** scenes can analyze the" +#~ " RMSE and other properties to " +#~ "determine the suitability for use in " +#~ "individual applications and studies." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`L7`: `Landsat 7 Tier 1 " +#~ "`__. Landsat " +#~ "scenes with the highest available data" +#~ " quality are placed into **Tier 1**" +#~ " and are considered suitable for " +#~ "time-series processing analysis. **Tier 1**" +#~ " includes Level-1 Precision Terrain (L1TP)" +#~ " processed data that have well-" +#~ "characterized radiometry and are " +#~ "intercalibrated across different Landsat " +#~ "sensors. The geo-registration of **Tier" +#~ " 1** scenes will be consistent and" +#~ " within prescribed tolerances (< = 12" +#~ " m RMSE). All **Tier 1** Landsat " +#~ "data can be considered consistent and" +#~ " intercalibrated across the full collection" +#~ " (regardless of the sensor used)." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`L7 T2`: `Landsat 7 Tier 2 " +#~ "`__. Scenes " +#~ "not meeting **Tier 1** criteria during" +#~ " processing are assigned to **Tier " +#~ "2**. This includes Systematic terrain " +#~ "(L1GT) and Systematic (L1GS) processed " +#~ "scenes, as well as any L1TP scenes" +#~ " that do not meet the **Tier " +#~ "1** specifications due to significant " +#~ "cloud cover, insufficient ground control " +#~ "and other factors. Users interested in" +#~ " **Tier 2** scenes can analyze the" +#~ " RMSE and other properties to " +#~ "determine the suitability for use in " +#~ "individual applications and studies." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`L4-5`: `Landsat 4 Tier 1 " +#~ "`__ combined " +#~ "with `Landsat 5 Tier 1 " +#~ "`__. Landsat " +#~ "scenes with the highest available data" +#~ " quality are placed into **Tier 1**" +#~ " and are considered suitable for " +#~ "time-series processing analysis. **Tier 1**" +#~ " includes Level-1 Precision Terrain (L1TP)" +#~ " processed data that have well-" +#~ "characterized radiometry and are " +#~ "intercalibrated across different Landsat " +#~ "sensors. The geo-registration of **Tier" +#~ " 1** scenes will be consistent and" +#~ " within prescribed tolerances (< = 12" +#~ " m RMSE). All **Tier 1** Landsat " +#~ "data can be considered consistent and" +#~ " intercalibrated across the full collection" +#~ " (regardless of the sensor used)." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`L4-5 T2`: `Landsat 4 TM Tier" +#~ " 2 `__ combined " +#~ "with `Landsat 5 TM Tier 2 " +#~ "`__. Scenes " +#~ "not meeting **Tier 1** criteria during" +#~ " processing are assigned to **Tier " +#~ "2**. This includes Systematic terrain " +#~ "(L1GT) and Systematic (L1GS) processed " +#~ "scenes, as well as any L1TP scenes" +#~ " that do not meet the **Tier " +#~ "1** specifications due to significant " +#~ "cloud cover, insufficient ground control " +#~ "and other factors. Users interested in" +#~ " **Tier 2** scenes can analyze the" +#~ " RMSE and other properties to " +#~ "determine the suitability for use in " +#~ "individual applications and studies." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`A+B`: `Sentinel-2 Multispectral " +#~ "instrument `__ is a " +#~ "wide-swath, high-resolution, multispectral " +#~ "imaging mission supporting Copernicus Land " +#~ "Monitoring studies, including the monitoring" +#~ " of vegetation, soil and water cover," +#~ " as well as the observation of " +#~ "inland waterways and coastal areas." +#~ msgstr "" + +#~ msgid "" +#~ "Choose :guilabel:`Select scenes` and choose" +#~ " one of the three available " +#~ ":code:`Priority` options, based on the " +#~ "needs of your analysis (SEPAL sorts " +#~ "the images available for each tile):" +#~ msgstr "" + +#~ msgid ":guilabel:`Cloud free`: Prioritizes images with zero or few clouds." +#~ msgstr "" + +#~ msgid ":guilabel:`Target date`: Prioritizes images that match the target date." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`Balanced`: Prioritizes images that " +#~ "maximize both cloud and target date." +#~ msgstr "" + +#~ msgid "This step is optional. SEPAL provides the following options by default:" +#~ msgstr "" + +#~ msgid "**Correction**: :guilabel:`SR`, :guilabel:`BRDF`" +#~ msgstr "" + +#~ msgid "**Pixel filters**: No filters" +#~ msgstr "" + +#~ msgid "**Cloud detection**: :guilabel:`QA bands`, :guilabel:`Cloud score`" +#~ msgstr "" + +#~ msgid "**Cloud buffering**: :guilabel:`None`" +#~ msgstr "" + +#~ msgid "**Snow masking**: :guilabel:`On`" +#~ msgstr "" + +#~ msgid "" +#~ "To create a mosaic, provide SEPAL " +#~ "with the compositing method to create" +#~ " the final image. See the following" +#~ " image for all possible compositing " +#~ "options available." +#~ msgstr "" + +#~ msgid "" +#~ "This will apply corrections on the " +#~ "stacked pixels to improve the quality" +#~ " of the mosaic." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`SR`: Surface reflectance improves " +#~ "comparison between multiple images over " +#~ "the same region by accounting for " +#~ "atmospheric effects such as aerosol " +#~ "scattering and thin clouds, which can" +#~ " help in the detection and " +#~ "characterization of Earth surface change. " +#~ "Top-of-atmosphere images are used " +#~ "if not selected." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`BRDF`: Uses a bidirectional " +#~ "reflectance distribution function (BRDF) model" +#~ " to characterize surface reflectance " +#~ "anisotropy. For a given land area, " +#~ "the BRDF is established based on " +#~ "selected multi-angular observations of " +#~ "surface reflectance." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`Calibrate`: Calibrates Sentinel and " +#~ "Landsat data to make them compatible." +#~ msgstr "" + +#~ msgid "Landsat and Sentinel data are mixed; and" +#~ msgstr "" + +#~ msgid "BRDF and surface reflectance (SR) corrections are disabled." +#~ msgstr "" + +#~ msgid "" +#~ "Activating any of the filters will " +#~ "remove some pixels from the stack. " +#~ "Removing pixels improves the quality of" +#~ " the mosaic, as they are not " +#~ "taken into account in the median " +#~ "value computation." +#~ msgstr "" + +#~ msgid "" +#~ "Each filter is applied iteratively (e.g." +#~ " if the normalized difference vegetation" +#~ " index [NDVI] is already filtering " +#~ "all pixels but one, there will be" +#~ " nothing left in the stack to " +#~ "be filtered by day of year)." +#~ msgstr "" + +#~ msgid "**Shadow**: Filters the XX percent darkest pixels of the stack." +#~ msgstr "" + +#~ msgid "" +#~ "**Haze**: Computes a haze index and " +#~ "filters the XX percent highest values." +#~ msgstr "" + +#~ msgid "" +#~ "**NDVI**: Computes the NDVI and only " +#~ "keeps the XX percent highest values." +#~ msgstr "" + +#~ msgid "" +#~ "**Day of the year**: Computes the " +#~ "distance from target day in days " +#~ "and filters out the XX percent " +#~ "farthest." +#~ msgstr "" + +#~ msgid "Cloud detection" +#~ msgstr "" + +#~ msgid "Refers to the algorithm used to detect clouds." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`QA bands`: Uses quality assessment" +#~ " (QA) bands to identify clouds in " +#~ "Sentinel data." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`Cloud score`: Uses the computed " +#~ "cloud score to identify clouds in " +#~ "Landsat data." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`Pino 26`: Uses the Pino_26 " +#~ "algorithm to identify clouds (for more" +#~ " information, see `D. Simonetti [2021] " +#~ "`__)." +#~ msgstr "" + +#~ msgid "" +#~ "This filter is only available for " +#~ "Sentinel exclusive source when both " +#~ ":guilabel:`BRDF` and :guilabel:`SR` correction " +#~ "are disabled." +#~ msgstr "" + +#~ msgid "" +#~ "Controls how clouds will be masked " +#~ "based on the cloud detection algorithm" +#~ " selected." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`off`: Uses cloud-free pixels " +#~ "if possible, but doesn't mask areas " +#~ "without cloud-free pixels." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`moderate`: Relies only on image " +#~ "source QA bands for cloud masking " +#~ "(a moderate threshold is used)." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`aggressive`: Relies on image source" +#~ " QA bands and a cloud scoring " +#~ "algorithm for cloud masking with an " +#~ "aggressive threshold (this will probably " +#~ "mask out some built-up areas and" +#~ " other bright features)." +#~ msgstr "" + +#~ msgid "" +#~ "When pixels are identified as clouds," +#~ " SEPAL can remove pixels in a " +#~ "small buffer around it to prevent " +#~ "hazy pixels at the borders of " +#~ "clouds to be included in the " +#~ "mosaic." +#~ msgstr "" + +#~ msgid "" +#~ "Buffering is done on the pixel " +#~ "level, so using this option will " +#~ "significantly increase the creation time " +#~ "of the mosaic." +#~ msgstr "" + +#~ msgid ":guilabel:`none`: Doesn't use cloud buffering." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`moderate`: Masks an additional " +#~ "**120 m** around each larger cloud." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`aggressive`: Masks an additional " +#~ "**600 m** around each larger cloud." +#~ msgstr "" + +#~ msgid "Snow masking" +#~ msgstr "" + +#~ msgid "Defines how snowy pixels will be masked." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`on`: Masks snow. This tends " +#~ "to leave some pixels with shadowy " +#~ "snow." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`off`: Doesn't mask snow. Note " +#~ "that some clouds might get misclassified" +#~ " as snow; therefore, disabling snow " +#~ "masking might lead to cloud artifacts." +#~ msgstr "" + +#~ msgid "" +#~ "After filtering the stack of pixels, " +#~ "SEPAL will compute the median value " +#~ "on the different bands of the " +#~ "image. The composing method will define" +#~ " how the final pixel value is " +#~ "extracted." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`Medoid`: Uses the closest pixel " +#~ "from the median value. As a real" +#~ " pixel from the stack, the final " +#~ "value will embed metadata (e.g. the " +#~ "date of observation)." +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`Median`: Uses the computed value" +#~ " of the median. If no pixel is" +#~ " matching this value, the pixel will" +#~ " not embed any metadata. It tends " +#~ "to produce smoother mosaics." +#~ msgstr "" + +#~ msgid ":btn:``: auto-select scenes" +#~ msgstr "" + +#~ msgid "" +#~ "If you have not selected the " +#~ "option :guilabel:`Select scenes` in the " +#~ ":guilabel:`SCN` tab, the :icon:`fa-solid " +#~ "fa-wand-magic` button will be " +#~ "disabled and the scene areas will " +#~ "be hidden as no scene selection " +#~ "needs to be performed (see those " +#~ "with a number in a circle on " +#~ "the previous screenshot)." +#~ msgstr "" + +#~ msgid "" +#~ "Selecting the :icon:`fa-solid fa-" +#~ "wand-magic` tab will open the " +#~ "**Auto-selection** pane." +#~ msgstr "" + +#~ msgid "" +#~ "Move the sliders to select the " +#~ "minimum and the maximum number of " +#~ "scenes SEPAL should select in a " +#~ "tile. Then, select the :guilabel:`Validate`" +#~ " button to apply the auto-select " +#~ "method." +#~ msgstr "" + +#~ msgid "" +#~ "A small preview of the scene in" +#~ " the *red, blue, green* band " +#~ "combination." +#~ msgstr "" + +#~ msgid "" +#~ "You can decide to move the scene" +#~ " to the **Selected scene** area by" +#~ " selecting :icon:`fa-solid fa-" +#~ "plus`:guilabel:`Add` or moving it back " +#~ "to **Available scene** pane by selecting" +#~ " :icon:`fa-solid fa-minus` " +#~ ":guilabel:`Remove`." +#~ msgstr "" + +#~ msgid "" +#~ "You cannot export a recipe as an" +#~ " asset or a :code:`.tiff` file " +#~ "without a small computation quota. If" +#~ " you are a new user, see " +#~ ":doc:`../setup/resource`." +#~ msgstr "" + +#~ msgid "" +#~ "You need to select the band(s) to" +#~ " export with the mosaic. There is " +#~ "no maximum number of bands, but " +#~ "exporting useless bands will only " +#~ "increase the size and time of the" +#~ " output. To discover the full list" +#~ " of available bands with SEPAL, see" +#~ " :doc:`../feature/bands`." +#~ msgstr "" + +#~ msgid ":guilabel:`dayofyear`: the Julian calendar date (day of the year)" +#~ msgstr "" + +#~ msgid "" +#~ ":guilabel:`dayfromtarget`: the distance to the" +#~ " target date within the season in " +#~ "days" +#~ msgstr "" + +#~ msgid "" +#~ "You can set a custom scale for " +#~ "exportation by changing the value of " +#~ "the slider in metres (m) (note " +#~ "that requesting a smaller resolution " +#~ "than images' native resolution will not" +#~ " improve the quality of the output" +#~ " – just its size – keep in " +#~ "mind that the native resolution of " +#~ "Sentinel data is 10 m, while " +#~ "Landsat is 30 m.)" +#~ msgstr "" + +#~ msgid "" +#~ "You can export the image to the" +#~ " :guilabel:`SEPAL workspace` or to the " +#~ ";guilabel:`Google Earth Engine Asset` folder." +#~ " The same image will be exported " +#~ "to both; however, for the former, " +#~ "you will find it in :code:`.tif` " +#~ "format in the :code:`Downloads` folder; " +#~ "for the latter, the image will be" +#~ " exported to your GEE account asset" +#~ " list." +#~ msgstr "" + +#~ msgid "" +#~ "If :guilabel:`Google Earth Engine Asset` " +#~ "is not displayed, it means that " +#~ "your GEE account is not connected " +#~ "to SEPAL. Please refer to `Connect " +#~ "SEPAL to GEE <../setup/gee.html>`__." +#~ msgstr "" + +#~ msgid "Select :guilabel:`Apply` to start the download process." +#~ msgstr "" + +#~ msgid "" +#~ "Now that you have downloaded the " +#~ "optical mosaic to your SEPAL and/or " +#~ "GEE account, it can be downloaded " +#~ "to your computer using `FileZilla " +#~ "<../setup.filezilla.html>`__ or used in other" +#~ " SEPAL workflows." +#~ msgstr "" + diff --git a/docs/source/_locale/zh/LC_MESSAGES/cookbook/time_series.po b/docs/source/_locale/zh/LC_MESSAGES/cookbook/time_series.po index 4a77490aae..2c9f75a13a 100644 --- a/docs/source/_locale/zh/LC_MESSAGES/cookbook/time_series.po +++ b/docs/source/_locale/zh/LC_MESSAGES/cookbook/time_series.po @@ -1,29 +1,27 @@ + msgid "" msgstr "" -"Project-Id-Version: sepal-doc\n" +"Project-Id-Version: sepal-doc\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-03-07 09:39+0100\n" -"PO-Revision-Date: 2024-03-07 09:05\n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: 2024-03-07 09:05+0000\n" "Last-Translator: \n" +"Language: zh_CN\n" "Language-Team: Chinese Simplified\n" +"Plural-Forms: nplurals=1; plural=0;\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.14.0\n" -"Plural-Forms: nplurals=1; plural=0;\n" -"X-Crowdin-Project: sepal-doc\n" -"X-Crowdin-Project-ID: 562097\n" -"X-Crowdin-Language: zh-CN\n" -"X-Crowdin-File: /main/docs/source/_locale/en/LC_MESSAGES/cookbook/time_series.po\n" -"X-Crowdin-File-ID: 75\n" -"Language: zh_CN\n" +"Generated-By: Babel 2.18.0\n" #: ../../source/cookbook/time_series.rst:2 msgid "Time series" msgstr "" #: ../../source/cookbook/time_series.rst:4 -msgid "*Create and retrieve SITS to study patterns and key changes in landscape evolution over time*" +msgid "" +"*Create and retrieve SITS to study patterns and key changes in landscape " +"evolution over time*" msgstr "" #: ../../source/cookbook/time_series.rst:7 @@ -31,23 +29,48 @@ msgid "Overview" msgstr "" #: ../../source/cookbook/time_series.rst:9 -msgid "A Satellite Image Time Series (SITS) is a set of satellite images taken of the same scene at different times. A SITS makes use of different satellite sources to obtain a larger data series with a short time interval between two images. In this case, it is fundamental to observe the spatial resolution and registration constraints." +msgid "" +"A Satellite Image Time Series (SITS) is a set of satellite images taken " +"of the same scene at different times. A SITS makes use of different " +"satellite sources to obtain a larger data series with a short time " +"interval between two images. In this case, it is fundamental to observe " +"the spatial resolution and registration constraints." msgstr "" #: ../../source/cookbook/time_series.rst:11 -msgid "Satellite observations offer opportunities for understanding how the Earth is changing, determining the causes of these changes and predicting future changes. Remotely sensed data, combined with information from ecosystem models, offer an opportunity for predicting and understanding the behaviour of Earth's ecosystems. Sensors with high spatial and temporal resolutions make the observation of precise spatio-temporal structures in dynamic scenes more accessible. Temporal components integrated with spectral and spatial dimensions allow the identification of complex patterns concerning applications connected with environmental monitoring and analysis of land cover dynamics." +msgid "" +"Satellite observations offer opportunities for understanding how the " +"Earth is changing, determining the causes of these changes and predicting" +" future changes. Remotely sensed data, combined with information from " +"ecosystem models, offer an opportunity for predicting and understanding " +"the behaviour of Earth's ecosystems. Sensors with high spatial and " +"temporal resolutions make the observation of precise spatio-temporal " +"structures in dynamic scenes more accessible. Temporal components " +"integrated with spectral and spatial dimensions allow the identification " +"of complex patterns concerning applications connected with environmental " +"monitoring and analysis of land cover dynamics." msgstr "" #: ../../source/cookbook/time_series.rst:13 -msgid "Change detection can only provide a \"before and after\" scenario; a time-series analysis provides an opportunity to study patterns and key changes in the landscape evolution over time." +msgid "" +"Change detection can only provide a \"before and after\" scenario; a " +"time-series analysis provides an opportunity to study patterns and key " +"changes in the landscape evolution over time." msgstr "" #: ../../source/cookbook/time_series.rst:15 -msgid "This SEPAL recipe allows users to create and retrieve SITS based on `Landsat `__ and `Copernicus `__ programmes' imagery using the Google Earth Engine (GEE) datacube." +msgid "" +"This SEPAL recipe allows users to create and retrieve SITS based on " +"`Landsat `__ and `Copernicus `__ programmes' " +"imagery using the Google Earth Engine (GEE) datacube." msgstr "" #: ../../source/cookbook/time_series.rst:19 -msgid "You won't be able to download images if your SEPAL and GEE account aren't connected. To learn more, go to `Connect SEPAL to GEE <../setup/gee.html>`__." +msgid "" +"You won't be able to download images if your SEPAL and GEE account aren't" +" connected. To learn more, go to `Connect SEPAL to GEE " +"<../setup/gee.html>`__." msgstr "" #: ../../source/cookbook/time_series.rst:22 @@ -55,15 +78,27 @@ msgid "Start" msgstr "" #: ../../source/cookbook/time_series.rst:24 -msgid "Once the **Time series** recipe is selected, SEPAL will open the recipe process in a new tab (see **1** in the following figure). The base map will change to Google high-resolution imagery and the **Area of interest (AOI)** selection window will appear in the lower right (**2**)." +msgid "" +"Once the **Time series** recipe is selected, SEPAL will open the recipe " +"process in a new tab (see **1** in the following figure). The base map " +"will change to Google high-resolution imagery and the **Area of interest " +"(AOI)** selection window will appear in the lower right (**2**)." msgstr "" #: ../../source/cookbook/time_series.rst:30 -msgid "The first step is to change the name of the recipe. This name will be used to identify your files and recipes in the SEPAL folders. Use the best-suited convention for your needs. Simply double-click the tab and enter a new name. It will default to :code:`Time_series___`." +msgid "" +"The first step is to change the name of the recipe. This name will be " +"used to identify your files and recipes in the SEPAL folders. Use the " +"best-suited convention for your needs. Simply double-click the tab and " +"enter a new name. It will default to " +":code:`Time_series___`." msgstr "" #: ../../source/cookbook/time_series.rst:42 -msgid "The SEPAL team recommends using the following naming convention: :code:`___` (e.g. :code:`sgp_2012-2018_ndfi_l78`)." +msgid "" +"The SEPAL team recommends using the following naming convention: " +":code:`___` (e.g. " +":code:`sgp_2012-2018_ndfi_l78`)." msgstr "" #: ../../source/cookbook/time_series.rst:45 @@ -72,7 +107,9 @@ msgid "Parameters" msgstr "" #: ../../source/cookbook/time_series.rst:47 -msgid "In the lower-right corner, four tabs are available, allowing you to customize the time series to your needs:" +msgid "" +"In the lower-right corner, four tabs are available, allowing you to " +"customize the time series to your needs:" msgstr "" #: ../../source/cookbook/time_series.rst:49 @@ -96,7 +133,9 @@ msgid "AOI selection" msgstr "" #: ../../source/cookbook/time_series.rst:61 -msgid "The data exported by the recipe will be confined to the bounds of the AOI. There are multiple ways to select the AOI in SEPAL:" +msgid "" +"The data exported by the recipe will be confined to the bounds of the " +"AOI. There are multiple ways to select the AOI in SEPAL:" msgstr "" #: ../../source/cookbook/time_series.rst:63 @@ -120,7 +159,12 @@ msgid "Dates" msgstr "" #: ../../source/cookbook/time_series.rst:76 -msgid "In the :guilabel:`DAT` tab, you will be asked to select the start date and end date of the time series. Select the **Date** text field to open a pop-up window. Choose the :btn:` Select` button to choose a date. When both dates have been chosen, select the :btn:` Apply` button." +msgid "" +"In the :guilabel:`DAT` tab, you will be asked to select the start date " +"and end date of the time series. Select the **Date** text field to open a" +" pop-up window. Choose the :btn:` Select` button to " +"choose a date. When both dates have been chosen, select the :btn:` Apply` button." msgstr "" #: ../../source/cookbook/time_series.rst:89 @@ -128,11 +172,18 @@ msgid "Sources" msgstr "" #: ../../source/cookbook/time_series.rst:91 -msgid "As mentioned in the introduction, a SITS makes use of different satellite sources to obtain a larger data series with a shorter time interval between the images. To meet this objective, SEPAL allows you to select data from multiple entry points. You can select multiple sources from :btn:`Radar`, :btn:`Optical` or :btn:`Planet` datasets." +msgid "" +"As mentioned in the introduction, a SITS makes use of different satellite" +" sources to obtain a larger data series with a shorter time interval " +"between the images. To meet this objective, SEPAL allows you to select " +"data from multiple entry points. You can select multiple sources from " +":btn:`Radar`, :btn:`Optical` or :btn:`Planet` datasets." msgstr "" #: ../../source/cookbook/time_series.rst:93 -msgid "When all of the data has been selected, select :btn:` Apply`." +msgid "" +"When all of the data has been selected, select :btn:` " +"Apply`." msgstr "" #: ../../source/cookbook/time_series.rst:100 @@ -160,7 +211,12 @@ msgid "Snow masking: :guilabel:`on`" msgstr "" #: ../../source/cookbook/time_series.rst:111 -msgid "Multiple pre-processing parameters can be set to improve the quality of the provided images. SEPAL has gathered four of them in the form of these interactive buttons. If you think others should be added, tell us in the `issue tracker `__." +msgid "" +"Multiple pre-processing parameters can be set to improve the quality of " +"the provided images. SEPAL has gathered four of them in the form of these" +" interactive buttons. If you think others should be added, tell us in the" +" `issue tracker " +"`__." msgstr "" #: ../../source/cookbook/time_series.rst:113 @@ -168,11 +224,15 @@ msgid "**Correction**" msgstr "" #: ../../source/cookbook/time_series.rst:115 -msgid ":guilabel:`Surface reflectance`: Use scenes' atmospherically corrected surface reflectance." +msgid "" +":guilabel:`Surface reflectance`: Use scenes' atmospherically corrected " +"surface reflectance." msgstr "" #: ../../source/cookbook/time_series.rst:116 -msgid ":guilabel:`BRDF correction`: Correct for bidirectional reflectance distribution function (BRDF) effects." +msgid "" +":guilabel:`BRDF correction`: Correct for bidirectional reflectance " +"distribution function (BRDF) effects." msgstr "" #: ../../source/cookbook/time_series.rst:118 @@ -180,7 +240,9 @@ msgid "**Cloud detection**" msgstr "" #: ../../source/cookbook/time_series.rst:120 -msgid ":guilabel:`QA bands`: Use previously created quality assessment (QA) bands from datasets." +msgid "" +":guilabel:`QA bands`: Use previously created quality assessment (QA) " +"bands from datasets." msgstr "" #: ../../source/cookbook/time_series.rst:121 @@ -192,11 +254,16 @@ msgid "**Cloud masking**" msgstr "" #: ../../source/cookbook/time_series.rst:125 -msgid ":guilabel:`Moderate`: Rely only on image source QA bands for cloud masking." +msgid "" +":guilabel:`Moderate`: Rely only on image source QA bands for cloud " +"masking." msgstr "" #: ../../source/cookbook/time_series.rst:126 -msgid ":guilabel:`Aggressive`: Rely on image source QA bands and a cloud-scoring algorithm for cloud masking (this will probably \"mask\" some built-up areas and other bright features)." +msgid "" +":guilabel:`Aggressive`: Rely on image source QA bands and a cloud-scoring" +" algorithm for cloud masking (this will probably \"mask\" some built-up " +"areas and other bright features)." msgstr "" #: ../../source/cookbook/time_series.rst:128 @@ -204,11 +271,16 @@ msgid "**Snow masking**" msgstr "" #: ../../source/cookbook/time_series.rst:130 -msgid ":guilabel:`On`: Mask snow (this tends to leave some pixels with shadowy snow)." +msgid "" +":guilabel:`On`: Mask snow (this tends to leave some pixels with shadowy " +"snow)." msgstr "" #: ../../source/cookbook/time_series.rst:131 -msgid ":guilabel:`Off`: Don't mask snow (some clouds might get misclassified as snow, and because of this, disabling snow masking might lead to cloud artefacts)." +msgid "" +":guilabel:`Off`: Don't mask snow (some clouds might get misclassified as " +"snow, and because of this, disabling snow masking might lead to cloud " +"artefacts)." msgstr "" #: ../../source/cookbook/time_series.rst:138 @@ -220,7 +292,11 @@ msgid "The wavelength of each band is dependent on the satellite used." msgstr "" #: ../../source/cookbook/time_series.rst:144 -msgid "The time series will use a single observation for each pixel. This observation can be one of the available bands in SEPAL. To discover the full list of available bands, see :doc:`../feature/bands`." +msgid "" +"The time series will use a single observation for each pixel. This " +"observation can be one of the available bands in SEPAL. To discover the " +"full list of available bands, see :doc:`../feature/optical_bands` and " +"`../feature/radar_bands`." msgstr "" #: ../../source/cookbook/time_series.rst:147 @@ -228,11 +304,16 @@ msgid "Analysis" msgstr "" #: ../../source/cookbook/time_series.rst:149 -msgid "Once all parameters are set, you can generate data from the recipe. Some can be directly generated on the fly from the interface; the rest require retrieving the data from SEPAL folders." +msgid "" +"Once all parameters are set, you can generate data from the recipe. Some " +"can be directly generated on the fly from the interface; the rest require" +" retrieving the data from SEPAL folders." msgstr "" #: ../../source/cookbook/time_series.rst:151 -msgid "The analysis icons can be found in the upper-right corner of the SEPAL interface:" +msgid "" +"The analysis icons can be found in the upper-right corner of the SEPAL " +"interface:" msgstr "" #: ../../source/cookbook/time_series.rst:153 @@ -244,7 +325,10 @@ msgid ":btn:``: Retrieve data." msgstr "" #: ../../source/cookbook/time_series.rst:162 -msgid "The **Download** icon is only enabled when the data parameters are complete. If the button is disabled, check your parameters, as some might be missing." +msgid "" +"The **Download** icon is only enabled when the data parameters are " +"complete. If the button is disabled, check your parameters, as some might" +" be missing." msgstr "" #: ../../source/cookbook/time_series.rst:165 @@ -252,7 +336,11 @@ msgid "Plot" msgstr "" #: ../../source/cookbook/time_series.rst:167 -msgid "Select :btn:`` to start the plotting tool. Move the pointer to the main map; the pointer will be transformed into a :icon:`fa-solid fa-plus`. Click anywhere in the AOI to plot data for this specific location in the following pop-up window." +msgid "" +"Select :btn:`` to start the plotting tool. Move " +"the pointer to the main map; the pointer will be transformed into a :icon" +":`fa-solid fa-plus`. Click anywhere in the AOI to plot data for this " +"specific location in the following pop-up window." msgstr "" #: ../../source/cookbook/time_series.rst:169 @@ -260,15 +348,23 @@ msgid "The plotting area is dynamic and can be customized by the user." msgstr "" #: ../../source/cookbook/time_series.rst:171 -msgid "Using the slider (1), the temporal width displayed can be changed. It cannot exceed the start and/or end date of the time series." +msgid "" +"Using the slider (1), the temporal width displayed can be changed. It " +"cannot exceed the start and/or end date of the time series." msgstr "" #: ../../source/cookbook/time_series.rst:173 -msgid "You can also select the observation feature by selecting one of the available measures in the dropdown selector in the upper-left corner (2). The available bands are the same as those described previously." +msgid "" +"You can also select the observation feature by selecting one of the " +"available measures in the dropdown selector in the upper-left corner (2)." +" The available bands are the same as those described previously." msgstr "" #: ../../source/cookbook/time_series.rst:175 -msgid "On the main graph, each point represents one valid observation (based on the pre-processing filters). Hover over the point to let the tooltip describe the value and date of the observation (3)." +msgid "" +"On the main graph, each point represents one valid observation (based on " +"the pre-processing filters). Hover over the point to let the tooltip " +"describe the value and date of the observation (3)." msgstr "" #: ../../source/cookbook/time_series.rst:179 @@ -276,7 +372,13 @@ msgid "The coordinates of the point are displayed at the top of the chart window msgstr "" #: ../../source/cookbook/time_series.rst:187 -msgid "Since the plot feature is retrieving information from GEE on the fly and presenting it in an interactive window, this operation can take time, depending on the number of available observations and the complexity of the selected pre-processing parameters. If a spinning wheel appears in the pop-up window, you may have to wait up to two minutes to see the data displayed." +msgid "" +"Since the plot feature is retrieving information from GEE on the fly and " +"presenting it in an interactive window, this operation can take time, " +"depending on the number of available observations and the complexity of " +"the selected pre-processing parameters. If a spinning wheel appears in " +"the pop-up window, you may have to wait up to two minutes to see the data" +" displayed." msgstr "" #: ../../source/cookbook/time_series.rst:194 @@ -284,27 +386,47 @@ msgid "Export" msgstr "" #: ../../source/cookbook/time_series.rst:196 -msgid "In order for the data generated by the recipe to be used in other workflows, it needs to be retrieved from GEE and uploaded to SEPAL." +msgid "" +"In order for the data generated by the recipe to be used in other " +"workflows, it needs to be retrieved from GEE and uploaded to SEPAL." msgstr "" #: ../../source/cookbook/time_series.rst:200 -msgid "You cannot export a recipe as an asset or a :code:`.tiff` file without a small computation quota. If you are a new user, see :doc:`../setup/resource`." +msgid "" +"You cannot export a recipe as an asset or a :code:`.tiff` file without a " +"small computation quota. If you are a new user, see " +":doc:`../setup/resource`." msgstr "" #: ../../source/cookbook/time_series.rst:204 -msgid "Select :btn:`` to open the **Download parameters** window. You will be able to select the measure to use on each observation of the time series. This measure can be selected in the list of available bands presented above in a previous section." +msgid "" +"Select :btn:`` to open the **Download " +"parameters** window. You will be able to select the measure to use on " +"each observation of the time series. This measure can be selected in the " +"list of available bands presented above in a previous section." msgstr "" #: ../../source/cookbook/time_series.rst:208 -msgid "There is no fixed rule to the measure selection. Each index is more adapted to a set of analyses in a defined biome. The knowledge of the study area, the evolution expected and the careful selection of an adapted measure will improve the quality of downstream analysis." +msgid "" +"There is no fixed rule to the measure selection. Each index is more " +"adapted to a set of analyses in a defined biome. The knowledge of the " +"study area, the evolution expected and the careful selection of an " +"adapted measure will improve the quality of downstream analysis." msgstr "" #: ../../source/cookbook/time_series.rst:210 -msgid "You can set a custom scale for exportation by changing the value of the slider in metres (m). Keep in mind that Sentinel data native resolution is 10 m and Landsat is 30 m." +msgid "" +"You can set a custom scale for exportation by changing the value of the " +"slider in metres (m). Keep in mind that Sentinel data native resolution " +"is 10 m and Landsat is 30 m." msgstr "" #: ../../source/cookbook/time_series.rst:212 -msgid "When all the data is selected, select the :btn:` apply` button. Notice that the task tab in the lower-left corner of the screen (1) will change from :btn:`` to :btn:``, meaning that the tasks are loading." +msgid "" +"When all the data is selected, select the :btn:` " +"apply` button. Notice that the task tab in the lower-left corner of the " +"screen (1) will change from :btn:`` to :btn:``, meaning that the tasks are loading." msgstr "" #: ../../source/cookbook/time_series.rst:220 @@ -312,15 +434,27 @@ msgid "Exportation status" msgstr "" #: ../../source/cookbook/time_series.rst:222 -msgid "By selecting the **Tasks** tab (lower-left corner using the :btn:`` or :btn:`` buttons, depending on the loading status), you will see the list of different tasks loading. The interface will provide you with information about the task progress and display an error if the exportation has failed. If you are unsatisfied with the way we present information, the task can also be monitored using the `GEE task manager `__." +msgid "" +"By selecting the **Tasks** tab (lower-left corner using the :btn:`` or :btn:`` buttons, depending " +"on the loading status), you will see the list of different tasks loading." +" The interface will provide you with information about the task progress " +"and display an error if the exportation has failed. If you are " +"unsatisfied with the way we present information, the task can also be " +"monitored using the `GEE task manager " +"`__." msgstr "" #: ../../source/cookbook/time_series.rst:226 -msgid "This operation is running between GEE and SEPAL servers in the background, so you can close the SEPAL page without ending the process." +msgid "" +"This operation is running between GEE and SEPAL servers in the " +"background, so you can close the SEPAL page without ending the process." msgstr "" #: ../../source/cookbook/time_series.rst:228 -msgid "When the task is finished, the frame will be displayed in green, as shown in the second image below." +msgid "" +"When the task is finished, the frame will be displayed in green, as shown" +" in the second image below." msgstr "" #: ../../source/cookbook/time_series.rst:241 @@ -328,43 +462,82 @@ msgid "Access" msgstr "" #: ../../source/cookbook/time_series.rst:243 -msgid "Once the download process is done, you can access the data in your **SEPAL folders** in :code:`Downloads`, using the following format:" +msgid "" +"Once the download process is done, you can access the data in your " +"**SEPAL folders** in :code:`Downloads`, using the following format:" msgstr "" #: ../../source/cookbook/time_series.rst:268 -msgid "Understanding how images are stored in a time series is only required if you want to manually use them. The SEPAL applications are bound to this tiling system and can digest this information for you." +msgid "" +"Understanding how images are stored in a time series is only required if " +"you want to manually use them. The SEPAL applications are bound to this " +"tiling system and can digest this information for you." msgstr "" #: ../../source/cookbook/time_series.rst:270 -msgid "The data are stored in a folder using the name of the time series as it was labeled in the first section of this document. The SEPAL team was forced to use this folder structure as GEE is unable to export an :code:`ee.ImageCollection`. As the data is spatially too big to be exported at once, they are divided into smaller pieces and reassembled in a :code:`stack.vrt` file." +msgid "" +"The data are stored in a folder using the name of the time series as it " +"was labeled in the first section of this document. The SEPAL team was " +"forced to use this folder structure as GEE is unable to export an " +":code:`ee.ImageCollection`. As the data is spatially too big to be " +"exported at once, they are divided into smaller pieces and reassembled in" +" a :code:`stack.vrt` file." msgstr "" #: ../../source/cookbook/time_series.rst:272 -msgid "The AOI provided by the user will be divided into multiple SEPAL tiles. The AOI is a :code:`ee.FeatureCollection`; each feature is downloaded in a different tile. If the tile is bigger than 2° x 2° (EPSG:4326), then the feature is divided again until all of the tiles are smaller than the maximum 2° size. The tiles are identified by their :code:``." +msgid "" +"The AOI provided by the user will be divided into multiple SEPAL tiles. " +"The AOI is a :code:`ee.FeatureCollection`; each feature is downloaded in " +"a different tile. If the tile is bigger than 2° x 2° (EPSG:4326), then " +"the feature is divided again until all of the tiles are smaller than the " +"maximum 2° size. The tiles are identified by their :code:``." msgstr "" #: ../../source/cookbook/time_series.rst:274 -msgid "To limit the size of the downloaded images, in each SEPAL tile, the time period is divided into **Chunks** of 3 months. They are identified by their :code:`_`. **Chunks** are image folders. As a SEPAL tile is still bigger than what GEE can download at once, the images are divided into GEE tiles. This tiling process uses its own identification system (000000xxxx-000000xxxx). Consequently, **Chunks** contain tile raster images. Each one of these images is composed of one band per observation date, with the value of the measure for each pixel. The bands are named with the date." +msgid "" +"To limit the size of the downloaded images, in each SEPAL tile, the time " +"period is divided into **Chunks** of 3 months. They are identified by " +"their :code:`_`. **Chunks** are image folders. As a " +"SEPAL tile is still bigger than what GEE can download at once, the images" +" are divided into GEE tiles. This tiling process uses its own " +"identification system (000000xxxx-000000xxxx). Consequently, **Chunks** " +"contain tile raster images. Each one of these images is composed of one " +"band per observation date, with the value of the measure for each pixel. " +"The bands are named with the date." msgstr "" #: ../../source/cookbook/time_series.rst:276 -msgid "To gather all these rasters together, a first aggregation on time is performed. One :code:`stack.vrt` is created per GEE tile, meaning that each :code:`stack.vrt` file contains all the :code:`*.tif` contained in each **Chunk**, reconstituting the full time period on the smallest spatial unit: the GEE tile. Each file is stored in a folder called :code:`tile-`." +msgid "" +"To gather all these rasters together, a first aggregation on time is " +"performed. One :code:`stack.vrt` is created per GEE tile, meaning that " +"each :code:`stack.vrt` file contains all the :code:`*.tif`" +" contained in each **Chunk**, reconstituting the full time period on the " +"smallest spatial unit: the GEE tile. Each file is stored in a folder " +"called :code:`tile-`." msgstr "" #: ../../source/cookbook/time_series.rst:278 -msgid "Finally, information is gathered spatially at the SEPAL tile level in the main :code:`stack.vrt` file." +msgid "" +"Finally, information is gathered spatially at the SEPAL tile level in the" +" main :code:`stack.vrt` file." msgstr "" #: ../../source/cookbook/time_series.rst:280 -msgid "The last file, :code:`date.csv`, gathers all the observation dates in chronological order." +msgid "" +"The last file, :code:`date.csv`, gathers all the observation dates in " +"chronological order." msgstr "" #: ../../source/cookbook/time_series.rst:284 -msgid "The dates contained in :code:`date.csv` can differ from one SEPAL tile to another, due to data availability and pre-processing filters." +msgid "" +"The dates contained in :code:`date.csv` can differ from one SEPAL tile to" +" another, due to data availability and pre-processing filters." msgstr "" #: ../../source/cookbook/time_series.rst:288 -msgid "The full folder with a consistent treefolder is required to read the `.vrt`" +msgid "" +"The full folder with a consistent treefolder is required to read the " +"`.vrt`" msgstr "" #: ../../source/cookbook/time_series.rst:290 @@ -372,7 +545,11 @@ msgid "Here is an example of a real TS folder:" msgstr "" #: ../../source/cookbook/time_series.rst:315 -msgid "Now that you have downloaded the TS to your SEPAL account, it can be downloaded to your computer using `FileZilla <../setup.filezilla.html>`__ or used in one of our `Time-series analysis modules <../modules/time-series.html>`__." +msgid "" +"Now that you have downloaded the TS to your SEPAL account, it can be " +"downloaded to your computer using `FileZilla <../setup.filezilla.html>`__" +" or used in one of our `Time-series analysis modules <../modules/time-" +"series.html>`__." msgstr "" #~ msgid "" @@ -961,3 +1138,12 @@ msgstr "" #~ "analysis modules <../modules/time-series.html>`__." #~ msgstr "" +#~ msgid "" +#~ "The time series will use a single" +#~ " observation for each pixel. This " +#~ "observation can be one of the " +#~ "available bands in SEPAL. To discover" +#~ " the full list of available bands," +#~ " see :doc:`../feature/bands`." +#~ msgstr "" + diff --git a/docs/source/_locale/zh/LC_MESSAGES/developers/apps/app_catalog.po b/docs/source/_locale/zh/LC_MESSAGES/developers/apps/app_catalog.po new file mode 100644 index 0000000000..9c9800a44b --- /dev/null +++ b/docs/source/_locale/zh/LC_MESSAGES/developers/apps/app_catalog.po @@ -0,0 +1,478 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: zh\n" +"Language-Team: zh \n" +"Plural-Forms: nplurals=1; plural=0;\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/developers/apps/app_catalog.rst:4 +msgid "Request a new app" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:5 +msgid "*Add your app to the SEPAL apps catalog so it appears on the platform*" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:8 +msgid "The catalog" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:10 +msgid "" +"The list of apps SEPAL runs lives in a dedicated repository, `dfguerrerom" +"/sepal-apps-catalog `__. For docker apps the catalog pins the exact commit SEPAL will" +" run; for jupyter apps it records the ``branch`` and SEPAL runs its tip. " +"Either way, adding or updating an app means opening a pull request " +"against this catalog, where a maintainer reviews the change before it " +"goes live." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:17 +msgid "The catalog ships two files:" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:19 +msgid "" +"``apps.test.json`` — apps available on test.sepal.io (the staging " +"environment used to validate changes before they reach end users)" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:21 +msgid "" +"``apps.prod.json`` — apps available on sepal.io (the production " +"environment)" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:23 +msgid "" +"New apps always land in ``apps.test.json`` first and are promoted to " +"``apps.prod.json`` only once they behave correctly on test.sepal.io." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:27 +msgid "Anatomy of a catalog entry" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:29 +msgid "" +"An app is a JSON object in the ``apps`` array. The schema only enforces " +"``id`` and ``label`` as universally required, plus a docker-specific " +"block — but the catalog convention is to **fill every field** so each " +"entry carries a complete dashboard listing. The only practical " +"exceptions:" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:34 +msgid "``port`` applies only to docker apps (and is required there)." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:35 +msgid "" +"For hidden kernel-only apps (see :ref:`developers_apps_kernels`) the " +"user-facing presentation fields (``description``, ``tagline``, " +"``logoRef``, ``projectLink``, ``author``, ``tags``) can be omitted, since" +" they are never shown." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:41 +msgid "Identification and routing" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:47 +#: ../../source/developers/apps/app_catalog.rst:84 +#: ../../source/developers/apps/app_catalog.rst:110 +#: ../../source/developers/apps/app_catalog.rst:144 +msgid "Field" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:48 +#: ../../source/developers/apps/app_catalog.rst:85 +#: ../../source/developers/apps/app_catalog.rst:111 +#: ../../source/developers/apps/app_catalog.rst:145 +msgid "When" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:49 +#: ../../source/developers/apps/app_catalog.rst:86 +#: ../../source/developers/apps/app_catalog.rst:112 +#: ../../source/developers/apps/app_catalog.rst:146 +msgid "Meaning" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:50 +msgid "``id``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:51 +#: ../../source/developers/apps/app_catalog.rst:54 +msgid "always (schema)" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:52 +msgid "Unique identifier across the catalog (``[A-Za-z0-9_.-]+``)." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:53 +msgid "``label``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:55 +msgid "Display name shown on the apps dashboard." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:56 +msgid "``endpoint``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:57 +#: ../../source/developers/apps/app_catalog.rst:62 +#: ../../source/developers/apps/app_catalog.rst:66 +#: ../../source/developers/apps/app_catalog.rst:69 +msgid "always" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:58 +msgid "" +"How SEPAL runs the app: ``jupyter`` or ``docker`` for new apps — " +"``shiny`` is legacy and ``rstudio`` is reserved for the built-in tool. " +"See :ref:`developers_apps_types`." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:61 +msgid "``repository``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:63 +msgid "" +"``https://github.com//`` of the app source. SEPAL clones it " +"to run the app." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:65 +msgid "``branch``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:67 +msgid "Branch the app tracks (commonly ``release``)." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:68 +msgid "``path``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:70 +msgid "" +"Entry point the app-launcher routes to. For jupyter, the Voila URL of the" +" notebook (e.g. " +"``/sandbox/jupyter/voila/render/shared/apps//ui.ipynb``); for " +"docker, **must equal** ``/api/app-launcher/`` exactly — the schema " +"enforces the prefix and ``check-docker-rules.js`` enforces that ```` " +"matches the entry's ``id``." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:78 +msgid "Docker-only fields" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:87 +msgid "``commit``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:88 +#: ../../source/developers/apps/app_catalog.rst:93 +msgid "docker only (schema)" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:89 +msgid "" +"Full 40-character lowercase commit SHA. Required for ``endpoint: " +"docker``; not allowed for other endpoints, which track the branch tip." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:92 +msgid "``port``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:94 +msgid "" +"Container port the docker app listens on. Integer 1–65535. Must be unique" +" across ``apps.test.json`` and ``apps.prod.json``; ``check-docker-" +"rules.js`` enforces this and prints ``Next free port: N`` on a violation." +" New apps take the next free port — ``max(existing_ports) + 1``." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:101 +msgid "Presentation" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:103 +msgid "" +"These fields populate the dashboard tile and the app's detail page. Skip " +"them *only* on hidden kernel-only entries." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:113 +msgid "``author``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:114 +#: ../../source/developers/apps/app_catalog.rst:117 +#: ../../source/developers/apps/app_catalog.rst:120 +#: ../../source/developers/apps/app_catalog.rst:123 +#: ../../source/developers/apps/app_catalog.rst:127 +#: ../../source/developers/apps/app_catalog.rst:130 +msgid "visible apps" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:115 +msgid "Who maintains the app (free-form string)." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:116 +msgid "``description``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:118 +msgid "Long-form description shown on the app's detail page." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:119 +msgid "``tagline``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:121 +msgid "One-line summary shown on the dashboard tile." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:122 +msgid "``logoRef``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:124 +msgid "Filename of the logo asset bundled with the catalog (e.g. ``my-app.svg``)." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:126 +msgid "``projectLink``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:128 +msgid "URL to the project's home page, docs, or upstream repository." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:129 +msgid "``tags``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:131 +msgid "" +"Array of tag values defined in the catalog's top-level ``tags`` block " +"(e.g. ``[\"TOOLS\", \"TIME_SERIES\"]``)." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:135 +msgid "Behaviour flags" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:137 +msgid "" +"Optional booleans that alter how the app is listed or launched. Defaults " +"are all ``false``." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:147 +msgid "``hidden``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:148 +#: ../../source/developers/apps/app_catalog.rst:152 +#: ../../source/developers/apps/app_catalog.rst:155 +#: ../../source/developers/apps/app_catalog.rst:158 +#: ../../source/developers/apps/app_catalog.rst:162 +msgid "optional" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:149 +msgid "" +"If ``true``, the app builds but does not show a dashboard tile. Used for " +"packaged kernels — see :ref:`developers_apps_kernels`." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:151 +msgid "``pinned``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:153 +msgid "Pin the app to the top of the dashboard." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:154 +msgid "``googleAccountRequired``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:156 +msgid "The app needs a connected Google account (e.g. for GEE)." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:157 +msgid "``single``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:159 +msgid "" +"Only one instance of this app can run at a time per user (used by the " +"built-in ``jupyter-notebook``, ``jupyter-lab`` and ``rstudio`` tools)." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:161 +msgid "``skip``" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:163 +msgid "Temporarily skip building/serving this app without removing the entry." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:165 +msgid "" +"A typical jupyter entry — every field a user sees on the dashboard is " +"filled in:" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:187 +msgid "" +"A docker entry adds the docker-only ``commit``, ``port`` and the schema-" +"enforced ``/api/app-launcher/`` path; the presentation fields are the" +" same:" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:213 +msgid "Adding the app" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:215 +msgid "" +"Open a pull request adding your entry to ``apps.test.json``. The fastest " +"way is to edit the file directly on GitHub: `edit apps.test.json " +"`__. For a docker app, ``commit`` must " +"be a full 40-character SHA that exists on the declared ``branch``." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:220 +msgid "" +"The ``Validate catalog`` and ``Review helper`` workflows run " +"automatically. Validation is a blocking gate (schema, canonical " +"formatting, and — for docker apps — a check that the commit is reachable " +"from its branch). The review helper posts a single PR comment with a per-" +"app diff and *risk flags* (new dependencies, network calls, shell-outs) " +"to help maintainers review safely." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:226 +msgid "" +"A SEPAL maintainer reviews and merges. Once merged, the app appears on " +"test.sepal.io within minutes." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:228 +msgid "" +"When you are happy with its behaviour on test.sepal.io, promote it to " +"production — see `Promoting to production`_." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:232 +msgid "Promoting to production" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:234 +msgid "" +"Promotion copies the *exact same pinned reference* (commit for docker, " +"branch for the others) from ``apps.test.json`` into ``apps.prod.json``. " +"Two paths, either of which produces the same promotion PR for a " +"maintainer to merge:" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:239 +msgid "Self-service ``/promote`` comment (recommended)" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:241 +msgid "" +"The catalog has a single pinned issue titled *\"Promotion requests — " +"comment ``/promote `` here\"*, labeled ``promote-request``. Find " +"it in the catalog's `issues tab `__ " +"(there is only ever one) and comment:" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:251 +msgid "" +"The ``Promote app on /promote comment`` workflow then verifies the " +"commenter is authorized for the app's source repository and, if so, opens" +" the promotion PR. Authorization uses public GitHub data only:" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:255 +msgid "If the source repo is owned by a User, the commenter must equal that user." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:256 +msgid "" +"If it is owned by an Organization, the commenter must be a **public** " +"member of that org. If your membership is private, make it public at " +"``https://github.com/orgs//people`` or use the manual-PR path below." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:260 +msgid "A maintainer still merges the PR." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:263 +msgid "Manual PR" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:265 +msgid "" +"Open a pull request copying the entry's ``commit`` (or whole object) from" +" ``apps.test.json`` into ``apps.prod.json``. The same validation and " +"review checks run; a maintainer merges." +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:270 +msgid "Working on the catalog locally" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:272 +msgid "" +"The catalog files use canonical ``JSON.stringify(parsed, null, 2)`` " +"formatting (2-space indent, one-element arrays expanded, trailing " +"newline). A ``.prettierignore`` keeps editor formatters off them, and CI " +"rejects PRs that don't match. Install the pre-commit hooks once so " +"problems are caught before they fail CI:" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:284 +msgid "To re-canonicalize a file before pushing:" +msgstr "" + +#: ../../source/developers/apps/app_catalog.rst:292 +msgid "" +"The catalog's own ``docs/contributing.md`` and ``docs/ci.md`` document " +"every workflow, check, and script in detail." +msgstr "" + diff --git a/docs/source/_locale/zh/LC_MESSAGES/developers/apps/app_types.po b/docs/source/_locale/zh/LC_MESSAGES/developers/apps/app_types.po new file mode 100644 index 0000000000..09e74de8b3 --- /dev/null +++ b/docs/source/_locale/zh/LC_MESSAGES/developers/apps/app_types.po @@ -0,0 +1,290 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: zh\n" +"Language-Team: zh \n" +"Plural-Forms: nplurals=1; plural=0;\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/developers/apps/app_types.rst:4 +msgid "Docker vs. Jupyter apps" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:5 +msgid "*The two endpoints you'll choose between, and where each one fits*" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:7 +msgid "" +"Every catalog entry declares an ``endpoint`` that tells SEPAL how to run " +"the app. For new apps the practical choice is between ``docker`` and " +"``jupyter``." +msgstr "" + +#: ../../source/developers/apps/app_types.rst:12 +msgid "" +"``shiny`` is a legacy endpoint and is no longer recommended for new apps " +"— package the same UX as a Jupyter/Voila app instead. ``rstudio`` is " +"reserved for the built-in RStudio tool. Both still work, but neither " +"should be picked for anything new." +msgstr "" + +#: ../../source/developers/apps/app_types.rst:18 +msgid "At a glance" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:25 +msgid "Docker app" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:26 +msgid "Jupyter app" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:27 +msgid "``endpoint``" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:28 +msgid "``docker``" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:29 +msgid "``jupyter``" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:30 +msgid "Where it runs" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:31 +msgid "Its own container, on its own port, on the shared SEPAL server" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:32 +msgid "Inside the user's own SEPAL instance (sandbox), served through Voila" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:33 +msgid "Where compute happens" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:34 +msgid "On the shared SEPAL server — all users hit the same instance" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:35 +msgid "On the user's own SEPAL instance, at the size they have provisioned" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:36 +msgid "Versioning" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:37 +msgid "Pinned to a commit SHA (required)" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:38 +msgid "Tracks the catalog's ``branch``; no commit pin" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:39 +msgid "Code location" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:40 +msgid "Cloned from ``repository`` into the container" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:41 +msgid "" +"Cloned from ``repository`` into the shared sandbox at ``/home/sepal-" +"user/shared/apps//``" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:43 +msgid "Isolation" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:44 +msgid "Strong — separate container and dependencies" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:45 +msgid "" +"Own micromamba kernel built from ``sepal_environment.yml`` (see " +":ref:`developers_apps_kernels`)" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:47 +msgid "Update trigger" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:48 +msgid "" +"Catalog PR bumps ``commit`` → app-launcher checks out that commit on the " +"next launch" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:50 +msgid "" +"app-manager refreshes the clone to the branch tip and rebuilds the kernel" +" if the env file changed" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:54 +msgid "Docker apps" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:56 +msgid "" +"A docker app lives in its own repository and runs in its own container " +"with a dedicated ``port`` on the shared SEPAL server. Because it is fully" +" isolated, the catalog schema requires ``repository``, ``branch``, " +"``commit``, ``port`` and ``path`` for every ``endpoint: docker`` entry." +msgstr "" + +#: ../../source/developers/apps/app_types.rst:61 +msgid "When SEPAL launches the app it runs the equivalent of:" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:68 +msgid "" +"That is why the pinned ``commit`` must be reachable from ``branch`` (see " +":ref:`developers_apps_releases`). The app's dependencies are baked into " +"its container, so its update cycle is independent of the rest of the " +"platform — it changes only when you bump its commit in the catalog." +msgstr "" + +#: ../../source/developers/apps/app_types.rst:73 +msgid "" +"Because the docker app runs on the shared SEPAL server, every user hits " +"the same instance. That makes docker a good fit for **lightweight, low-" +"compute apps that act as a single service for many users** — interfaces " +"over a small API, lookups, light visualizations, dashboards. It is *not* " +"a good fit for heavy per-user compute: there is only one container " +"backing all users." +msgstr "" + +#: ../../source/developers/apps/app_types.rst:80 +msgid "Jupyter apps" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:82 +msgid "" +"A jupyter app does not get its own container. Its code is cloned from the" +" ``repository`` into the shared sandbox under ``/home/sepal-" +"user/shared/apps//``, and its ``ui.ipynb`` notebook is rendered with" +" `Voila `__ (hence catalog paths such as " +"``/sandbox/jupyter/voila/render/shared/apps//ui.ipynb``). Crucially," +" it runs **inside each user's own SEPAL instance** — so the compute " +"budget is whatever the user has provisioned for themselves." +msgstr "" + +#: ../../source/developers/apps/app_types.rst:90 +msgid "" +"Versioning is by branch, not by commit: the app-manager keeps the cloned " +"``shared/apps//`` working tree on the tip of the catalog's " +"``branch`` and rebuilds the app's kernel whenever " +"``sepal_environment.yml`` (or ``requirements.txt``) changes — see " +":ref:`developers_apps_kernels`. Pushing to that branch is enough to ship " +"a new version; no catalog PR is required (the catalog PR is only needed " +"to *list* the app in the first place)." +msgstr "" + +#: ../../source/developers/apps/app_types.rst:97 +msgid "" +"Because compute lives on the user's instance, a jupyter app is the right " +"choice for **heavy, scalable, per-user workloads**: anything where the " +"user needs to be able to size their machine to the job — training " +"pipelines, large geospatial analyses, model inference, parallel " +"processing." +msgstr "" + +#: ../../source/developers/apps/app_types.rst:103 +msgid "When to use which" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:105 +msgid "A simple rule of thumb:" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:112 +msgid "Use ``docker``" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:113 +msgid "Use ``jupyter``" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:114 +msgid "Compute profile" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:115 +msgid "Light; same load no matter who is using it" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:116 +msgid "Heavy or variable; each user should be able to scale their own instance" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:118 +msgid "Usage pattern" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:119 +msgid "Single backend service serving many users" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:120 +msgid "Per-user notebook session, isolated per user" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:121 +msgid "Versioning needs" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:122 +msgid "You want strict, audited control of *exactly* which commit is live" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:123 +msgid "Push-to-branch is a fine release model" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:124 +msgid "Runtime needs" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:125 +msgid "Custom system stack, services, ports, or a non-Python runtime" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:126 +msgid "" +"Standard SEPAL geospatial / scientific Python stack (extended via " +"``sepal_environment.yml``)" +msgstr "" + +#: ../../source/developers/apps/app_types.rst:129 +msgid "" +"If the answer to most of these points the same way, that's your endpoint." +" If the app is genuinely a notebook UI doing heavy compute, jupyter is " +"almost always the right pick — that is the most common pattern on SEPAL." +msgstr "" + diff --git a/docs/source/_locale/zh/LC_MESSAGES/developers/apps/index.po b/docs/source/_locale/zh/LC_MESSAGES/developers/apps/index.po new file mode 100644 index 0000000000..dc2ee3de7b --- /dev/null +++ b/docs/source/_locale/zh/LC_MESSAGES/developers/apps/index.po @@ -0,0 +1,72 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: zh\n" +"Language-Team: zh \n" +"Plural-Forms: nplurals=1; plural=0;\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/developers/apps/index.rst:48 +msgid "Docker vs. Jupyter apps" +msgstr "" + +#: ../../source/developers/apps/index.rst:48 +msgid "Request a new app" +msgstr "" + +#: ../../source/developers/apps/index.rst:48 +msgid "Request a new kernel" +msgstr "" + +#: ../../source/developers/apps/index.rst:48 +msgid "Create a release" +msgstr "" + +#: ../../source/developers/apps/index.rst:4 +msgid "Develop apps" +msgstr "" + +#: ../../source/developers/apps/index.rst:5 +msgid "*Build, release and publish your own apps on the SEPAL platform*" +msgstr "" + +#: ../../source/developers/apps/index.rst:7 +msgid "" +"These pages explain how SEPAL decides which app code to run and how that " +"code reaches the platform — useful when you want to add an app, ship a " +"new version of an existing one, or package a reusable environment for a " +"notebook or workflow." +msgstr "" + +#: ../../source/developers/apps/index.rst:14 +msgid "" +"The set of apps SEPAL runs is curated in the `dfguerrerom/sepal-apps-" +"catalog `__ " +"repository. Getting an app onto SEPAL — or updating one — means opening a" +" pull request there. For docker apps, the catalog also pins the *exact " +"commit* SEPAL will run; for jupyter apps, the catalog records the " +"``branch`` and SEPAL still runs the tip of that branch. The pages below " +"walk through both flows." +msgstr "" + +#: ../../source/developers/apps/index.rst:23 +msgid "How an app reaches SEPAL" +msgstr "" + +#: ../../source/developers/apps/index.rst:46 +msgid "Contents" +msgstr "" + diff --git a/docs/source/_locale/zh/LC_MESSAGES/developers/apps/kernels.po b/docs/source/_locale/zh/LC_MESSAGES/developers/apps/kernels.po new file mode 100644 index 0000000000..1ce96e064a --- /dev/null +++ b/docs/source/_locale/zh/LC_MESSAGES/developers/apps/kernels.po @@ -0,0 +1,260 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: zh\n" +"Language-Team: zh \n" +"Plural-Forms: nplurals=1; plural=0;\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/developers/apps/kernels.rst:4 +msgid "Request a new kernel" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:5 +msgid "" +"*Package an environment once and share it with every SEPAL user as a " +"named Jupyter kernel*" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:7 +#, python-format +msgid "" +"A \"kernel\" in the SEPAL catalog is really just a special-purpose " +"jupyter app: the same catalog entry, the same :ref:`PR flow " +"`, the same :ref:`release lifecycle " +"`. The only difference is *intent* — " +"the deliverable is the environment (and, often, training notebooks and " +"data alongside it), not an app UI. If you have read " +":ref:`developers_apps_catalog`, you already know 90% of how to ship one." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:15 +msgid "Why request a kernel" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:17 +msgid "" +"Some notebooks need a large or unusual environment: a deep-learning " +"stack, a pinned GDAL build, a model with awkward native dependencies. " +"Asking every user — or every training participant — to build that " +"environment by hand is slow, fragile, and easy to get subtly wrong." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:22 +msgid "" +"A shared kernel solves that. You package the environment once, in a " +"repository; SEPAL builds it centrally and exposes it as a named Jupyter " +"kernel that lives in the shared sandbox. Every user then simply *selects*" +" that kernel for the relevant notebook — no per-user installation, and " +"everyone runs the same, reproducible environment." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:28 +msgid "This is the right approach when:" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:30 +msgid "" +"You are preparing a notebook or workflow for a training and want every " +"participant on an identical environment." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:32 +msgid "" +"A notebook needs heavy dependencies (GPU/ML, large geospatial stacks) " +"that are wasteful to rebuild per user." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:34 +msgid "You want a stable, named environment that several notebooks can share." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:36 +msgid "" +"It is *not* the right approach for quick, personal experiments. For an " +"environment only you need, build it yourself with :guilabel:`uv` or " +":guilabel:`micromamba` — see :ref:`env_management`." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:41 +msgid "It's the same flow as a jupyter app" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:43 +msgid "A kernel-only entry in the catalog is just a jupyter app that:" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:45 +msgid "has ``\"hidden\": true`` (no dashboard tile — see below), and" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:46 +msgid "ships a ``sepal_environment.yml`` at the root of its repository." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:48 +msgid "" +"Everything else — the PR against ``apps.test.json``, the validation and " +"review-helper workflows, the promotion to ``apps.prod.json`` — works " +"exactly as described in :ref:`developers_apps_catalog`." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:52 +msgid "" +"The one extra behaviour, which fires automatically whenever the app-" +"manager updates a jupyter app, is the kernel build itself: if the cloned " +"repository contains a ``sepal_environment.yml`` (or a legacy " +"``requirements.txt``), SEPAL builds an isolated environment from it and " +"registers it as a named Jupyter kernel. For a ``sepal_environment.yml`` " +"the build is, in essence:" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:63 +msgid "" +"The script then writes a ``kernel.json`` so the environment shows up in " +"JupyterLab as ``(venv) ``, and wires the geospatial " +"environment variables (``PROJ_LIB``, ``PROJ_DATA``, ``GDAL_DATA``) to the" +" environment's own data directories. The kernel is rebuilt only when the " +"environment file changes (the script compares timestamps against an " +"``.installed`` marker), so unchanged apps don't pay a rebuild cost on " +"every update." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:71 +msgid "Hiding the app" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:73 +msgid "" +"A packaged kernel usually has no dashboard UI of its own — it exists to " +"back *other* notebooks. Set ``\"hidden\": true`` on its catalog entry so " +"SEPAL builds the environment and registers the kernel without showing a " +"tile in the apps dashboard." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:81 +msgid "Ship notebooks and data alongside the kernel" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:83 +msgid "" +"The same clone the app-manager uses to build the kernel lands at ``/home" +"/sepal-user/shared/apps//`` **inside every user's sandbox**. " +"Anything you put in the repository is therefore reachable from every " +"user's JupyterLab — not just the ``sepal_environment.yml``." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:88 +msgid "" +"This makes the same mechanism useful for a second job: shipping " +"**training notebooks and supporting data** to a cohort of users. For a " +"workshop or a training, you can put the curriculum in the repo alongside " +"the environment file. Each participant gets the notebooks already on " +"their instance under ``shared/apps//``, with the matching " +"``(venv) `` kernel pre-built and ready to select — no per-" +"user clone, no per-user pip install, no \"it works on my machine\"." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:96 +msgid "Practical conventions for that case:" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:98 +msgid "" +"Keep notebook files at the top level (or in a clearly named subdirectory)" +" so participants can find them via ``shared/apps//``." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:100 +msgid "" +"Keep sample inputs in the repo only if they are small. For larger " +"datasets, point notebooks at a shared SEPAL location or an external URL " +"so the clone stays light." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:103 +msgid "" +"Tag a ``release`` branch for each cohort you run, so an in-flight push to" +" ``main`` does not surprise a session that is already underway. See " +":ref:`developers_apps_releases_branch`." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:107 +msgid "" +"The catalog entry itself stays the same — ``\"hidden\": true``, " +"``\"endpoint\": \"jupyter\"``, ``sepal_environment.yml`` in the repo. The" +" notebooks just ride along in the same clone." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:112 +msgid "Worked example: ``sepal-sam``" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:114 +msgid "" +"The catalog entry below is a real, hidden kernel app. Its description is " +"simply *\"SAM environment\"* — it ships the environment for SAM-based " +"notebooks and never appears in the dashboard:" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:130 +msgid "" +"Because the ``sepal-sam`` repository contains a " +"``sepal_environment.yml``, SEPAL builds its micromamba environment and " +"registers a ``(venv) Sepal SAM`` kernel. Any notebook a user opens can " +"then select that kernel and run against the SAM stack immediately." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:138 +msgid "Recommended: ``sepal_environment.yml``" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:140 +msgid "" +"Declare your kernel with a ``sepal_environment.yml`` at the root of the " +"app repository. It is a standard conda/micromamba environment file, and " +"it is the preferred way to define a SEPAL kernel because micromamba " +"bundles native libraries (GDAL, GEOS, CUDA, HDF5, …) inside the " +"environment — so it keeps working when SEPAL upgrades system-level " +"libraries. A plain ``requirements.txt`` is still supported for backward " +"compatibility, but it installs into a system-Python venv and can break on" +" platform upgrades." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:148 +msgid "A minimal example:" +msgstr "" + +#: ../../source/developers/apps/kernels.rst:164 +msgid "" +"You do not need to add ``ipykernel`` yourself — SEPAL installs it into " +"the environment when it builds the kernel." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:167 +msgid "" +"Once the file is in your repository and the app is in the catalog (see " +":ref:`developers_apps_catalog`), every release that changes " +"``sepal_environment.yml`` triggers a rebuild of the shared kernel on the " +"next update." +msgstr "" + +#: ../../source/developers/apps/kernels.rst:174 +msgid "" +":ref:`env_management` — managing your *own* environments and kernels " +"interactively, when you don't need a shared, centrally built one." +msgstr "" + diff --git a/docs/source/_locale/zh/LC_MESSAGES/developers/apps/releases.po b/docs/source/_locale/zh/LC_MESSAGES/developers/apps/releases.po new file mode 100644 index 0000000000..6d188221f3 --- /dev/null +++ b/docs/source/_locale/zh/LC_MESSAGES/developers/apps/releases.po @@ -0,0 +1,214 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: zh\n" +"Language-Team: zh \n" +"Plural-Forms: nplurals=1; plural=0;\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/developers/apps/releases.rst:4 +msgid "Create a release" +msgstr "" + +#: ../../source/developers/apps/releases.rst:5 +msgid "*Ship a new version of an app already in the SEPAL catalog*" +msgstr "" + +#: ../../source/developers/apps/releases.rst:7 +msgid "" +"Once your app is in the catalog (see :ref:`developers_apps_catalog`), the" +" way you ship a new version depends on the app's ``endpoint`` (see " +":ref:`developers_apps_types`):" +msgstr "" + +#: ../../source/developers/apps/releases.rst:11 +msgid "" +"**Jupyter apps** (and :ref:`kernels `, which are" +" just hidden jupyter apps) are not pinned to a commit. The app-manager " +"checks out the tip of the catalog's ``branch`` (defaulting to ``HEAD``) " +"every time the sandbox refreshes the app, so a release is just a push to " +"that branch in your source repository — no catalog change is needed." +msgstr "" + +#: ../../source/developers/apps/releases.rst:16 +msgid "" +"**Docker apps** are pinned in the catalog to an exact commit SHA. SEPAL " +"keeps running the old commit until that ``commit`` field is advanced, so " +"a release is, in practice, a pull request against the catalog." +msgstr "" + +#: ../../source/developers/apps/releases.rst:20 +msgid "The rest of this page describes each flow in turn." +msgstr "" + +#: ../../source/developers/apps/releases.rst:25 +msgid "Jupyter and kernel apps" +msgstr "" + +#: ../../source/developers/apps/releases.rst:27 +msgid "" +"These endpoints don't take a ``commit`` field in the catalog — only " +"``branch`` (which defaults to ``HEAD``). On every sandbox refresh the " +"app-manager runs the equivalent of ``git fetch`` + checkout of that " +"branch's tip, so whatever is at the head of the tracked branch is what " +"users get." +msgstr "" + +#: ../../source/developers/apps/releases.rst:33 +msgid "Releasing a new version" +msgstr "" + +#: ../../source/developers/apps/releases.rst:35 +msgid "" +"Push the change to the branch the catalog tracks for your app. The next " +"time the user's sandbox refreshes the app, the new tip is picked up " +"automatically. No catalog PR is required." +msgstr "" + +#: ../../source/developers/apps/releases.rst:42 +#: ../../source/developers/apps/releases.rst:68 +msgid "The release branch convention" +msgstr "" + +#: ../../source/developers/apps/releases.rst:44 +msgid "" +"Because every push to the tracked branch is effectively a release, most " +"contributors keep a dedicated ``release`` branch and pin ``\"branch\": " +"\"release\"`` in the catalog rather than ``main``. You develop on " +"``main`` and merge into ``release`` only when you intend to publish — " +"that way unreviewed work on ``main`` doesn't go live the moment it is " +"pushed." +msgstr "" + +#: ../../source/developers/apps/releases.rst:50 +msgid "" +"This is a convention, not a requirement. Any branch works; if you pin " +"``main``, every push to ``main`` is a release." +msgstr "" + +#: ../../source/developers/apps/releases.rst:56 +msgid "Docker apps" +msgstr "" + +#: ../../source/developers/apps/releases.rst:58 +msgid "" +"Docker apps carry a required ``commit`` SHA in the catalog. The app-" +"launcher runs ``git fetch origin `` followed by ``git checkout " +"--detach ``, so SEPAL only ever runs that exact commit — " +"regardless of what is at the tip of ``branch``. Shipping a new version " +"therefore means advancing the ``commit`` field in the catalog." +msgstr "" + +#: ../../source/developers/apps/releases.rst:64 +msgid "" +"There are two ways to do that: a manual pull request, or an automated " +"bump triggered when your source repository publishes a release." +msgstr "" + +#: ../../source/developers/apps/releases.rst:70 +msgid "" +"Many docker apps pin ``\"branch\": \"release\"`` rather than ``main``. " +"Since the catalog validation requires the pinned ``commit`` to be " +"reachable from ``branch``, keeping a dedicated ``release`` branch lets " +"you continue developing on ``main`` while controlling exactly which " +"commits are eligible to be pinned: you merge into ``release`` only when " +"you intend to publish, and that merge commit is the one you pin." +msgstr "" + +#: ../../source/developers/apps/releases.rst:77 +msgid "" +"This is a convention, not a requirement — any branch works as long as the" +" pinned commit is reachable from it." +msgstr "" + +#: ../../source/developers/apps/releases.rst:81 +msgid "Manual release" +msgstr "" + +#: ../../source/developers/apps/releases.rst:83 +msgid "" +"Push the code you want to ship and note the commit SHA on your release " +"branch." +msgstr "" + +#: ../../source/developers/apps/releases.rst:85 +msgid "" +"Open a PR against ``apps.test.json`` changing the ``commit`` field of " +"your app's entry (and ``branch`` if it moved)." +msgstr "" + +#: ../../source/developers/apps/releases.rst:87 +msgid "" +"The ``Review helper`` bot posts a compare link showing exactly what " +"changed upstream between the old and new commit, with risk flags. A " +"maintainer reviews and merges; the change goes live on test.sepal.io." +msgstr "" + +#: ../../source/developers/apps/releases.rst:90 +msgid "" +"Promote to sepal.io with a second PR against ``apps.prod.json`` (or the " +"``Promote app to production`` workflow)." +msgstr "" + +#: ../../source/developers/apps/releases.rst:95 +msgid "" +"Validation requires the new commit to be an *ancestor of* (or equal to) " +"the branch tip — exactly what the app-launcher needs, since it runs ``git" +" fetch origin `` then ``git checkout --detach ``. You can" +" spot-check this before opening the PR:" +msgstr "" + +#: ../../source/developers/apps/releases.rst:106 +msgid "Automated release from your source repo" +msgstr "" + +#: ../../source/developers/apps/releases.rst:108 +msgid "" +"The catalog can bump a docker app automatically when your repository " +"publishes a GitHub release. The catalog's ``update-from-release.yml`` " +"workflow listens for a ``repository_dispatch`` event of type ``bump-" +"app``; on receipt it updates the app's ``commit`` in ``apps.test.json`` " +"and opens a pull request for a maintainer to review." +msgstr "" + +#: ../../source/developers/apps/releases.rst:114 +msgid "" +"To wire this up, add a workflow to your app's repository that sends the " +"dispatch on release. The snippet below is a starting point — adjust the " +"app ``id`` and the catalog repository to match your setup:" +msgstr "" + +#: ../../source/developers/apps/releases.rst:139 +msgid "" +"The token must have permission to dispatch to the catalog repository. The" +" bump only updates ``commit`` — never ``branch`` — and still goes through" +" the normal validation, risk-flag review, and maintainer merge before " +"reaching test." +msgstr "" + +#: ../../source/developers/apps/releases.rst:145 +msgid "" +"The exact ``client_payload`` fields the catalog expects may evolve. " +"Confirm against the catalog's ``update-from-release.yml`` and " +"``docs/ci.md`` before relying on this in production." +msgstr "" + +#: ../../source/developers/apps/releases.rst:151 +msgid "" +"The end-to-end lifecycle diagram lives on the section landing page — " +":ref:`developers_apps`." +msgstr "" + diff --git a/docs/source/_locale/zh/LC_MESSAGES/developers/index.po b/docs/source/_locale/zh/LC_MESSAGES/developers/index.po new file mode 100644 index 0000000000..797e9bd940 --- /dev/null +++ b/docs/source/_locale/zh/LC_MESSAGES/developers/index.po @@ -0,0 +1,45 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: zh\n" +"Language-Team: zh \n" +"Plural-Forms: nplurals=1; plural=0;\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/developers/index.rst:11 +msgid "Command-line tools" +msgstr "" + +#: ../../source/developers/index.rst:11 +msgid "Develop apps" +msgstr "" + +#: ../../source/developers/index.rst:4 +msgid "For developers" +msgstr "" + +#: ../../source/developers/index.rst:5 +msgid "*Tools, conventions and workflows for building on the SEPAL platform*" +msgstr "" + +#: ../../source/developers/index.rst:7 +msgid "" +"This section is for developers and trainers working on SEPAL rather than " +"just using it: scripting against the sandbox from the command line, " +"packaging environments for shared use, and publishing apps that other " +"users can run." +msgstr "" + diff --git a/docs/source/_locale/zh/LC_MESSAGES/feature/index.po b/docs/source/_locale/zh/LC_MESSAGES/feature/index.po index 94f2391fd5..b989bc6ea3 100644 --- a/docs/source/_locale/zh/LC_MESSAGES/feature/index.po +++ b/docs/source/_locale/zh/LC_MESSAGES/feature/index.po @@ -1,33 +1,53 @@ + msgid "" msgstr "" -"Project-Id-Version: sepal-doc\n" +"Project-Id-Version: sepal-doc\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-03-07 09:39+0100\n" -"PO-Revision-Date: 2024-03-07 09:05\n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: 2024-03-07 09:05+0000\n" "Last-Translator: \n" +"Language: zh_CN\n" "Language-Team: Chinese Simplified\n" +"Plural-Forms: nplurals=1; plural=0;\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.14.0\n" -"Plural-Forms: nplurals=1; plural=0;\n" -"X-Crowdin-Project: sepal-doc\n" -"X-Crowdin-Project-ID: 562097\n" -"X-Crowdin-Language: zh-CN\n" -"X-Crowdin-File: /main/docs/source/_locale/en/LC_MESSAGES/feature/index.po\n" -"X-Crowdin-File-ID: 81\n" -"Language: zh_CN\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/feature/index.rst:9 +msgid "Organize recipes" +msgstr "" + +#: ../../source/feature/index.rst:9 +msgid "AOI selection" +msgstr "" + +#: ../../source/feature/index.rst:9 +msgid "Optical bands" +msgstr "" + +#: ../../source/feature/index.rst:9 +msgid "Radar bands" +msgstr "" + +#: ../../source/feature/index.rst:9 +msgid "Visualization" +msgstr "" #: ../../source/feature/index.rst:2 msgid "Features" msgstr "" #: ../../source/feature/index.rst:3 -msgid "*Analyse, combine and visualize different types of data with SEPAL features*" +msgid "" +"*Analyse, combine and visualize different types of data with SEPAL " +"features*" msgstr "" #: ../../source/feature/index.rst:5 -msgid "Since these features can be accessed across various recipes and modules, they are described extensively in this section of the documentation." +msgid "" +"Since these features can be accessed across various recipes and modules, " +"they are described extensively in this section of the documentation." msgstr "" #: ../../source/feature/index.rst:7 diff --git a/docs/source/_locale/zh/LC_MESSAGES/feature/optical_bands.po b/docs/source/_locale/zh/LC_MESSAGES/feature/optical_bands.po new file mode 100644 index 0000000000..b353570880 --- /dev/null +++ b/docs/source/_locale/zh/LC_MESSAGES/feature/optical_bands.po @@ -0,0 +1,953 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: zh\n" +"Language-Team: zh \n" +"Plural-Forms: nplurals=1; plural=0;\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/feature/optical_bands.rst:2 +msgid "Optical Satellite bands, transformations, and indices" +msgstr "" + +#: ../../source/feature/optical_bands.rst:4 +msgid "" +"When exporting an optical satellite image in SEPAL, you can choose from a" +" variety of bands, transformations, and indices to enhance your analysis " +"and visualization. Understanding the characteristics and applications of " +"different bands can help you optimize your image processing workflow and " +"extract valuable insights from satellite data." +msgstr "" + +#: ../../source/feature/optical_bands.rst:13 +msgid "Bands" +msgstr "" + +#: ../../source/feature/optical_bands.rst:15 +msgid "" +"Satellite imagery is composed of multiple bands, each capturing light in " +"specific wavelengths. Depending on the satellite sensor and mission, " +"SEPAL offers a range of bands that can be used for export and analysis." +msgstr "" + +#: ../../source/feature/optical_bands.rst:18 +msgid "Band" +msgstr "" + +#: ../../source/feature/optical_bands.rst:18 +msgid "Sentinel 2" +msgstr "" + +#: ../../source/feature/optical_bands.rst:18 +msgid "Landsat 9" +msgstr "" + +#: ../../source/feature/optical_bands.rst:18 +msgid "Landsat 8" +msgstr "" + +#: ../../source/feature/optical_bands.rst:18 +msgid "Landsat 7" +msgstr "" + +#: ../../source/feature/optical_bands.rst:18 +msgid "Landsat TM" +msgstr "" + +#: ../../source/feature/optical_bands.rst:20 +msgid "pan" +msgstr "" + +#: ../../source/feature/optical_bands.rst:20 +#: ../../source/feature/optical_bands.rst:22 +#: ../../source/feature/optical_bands.rst:32 +#: ../../source/feature/optical_bands.rst:34 +#: ../../source/feature/optical_bands.rst:36 +#: ../../source/feature/optical_bands.rst:38 +#: ../../source/feature/optical_bands.rst:44 +#: ../../source/feature/optical_bands.rst:46 +#: ../../source/feature/optical_bands.rst:48 +#: ../../source/feature/optical_bands.rst:50 +msgid "❌" +msgstr "" + +#: ../../source/feature/optical_bands.rst:20 +#: ../../source/feature/optical_bands.rst:22 +#: ../../source/feature/optical_bands.rst:24 +#: ../../source/feature/optical_bands.rst:26 +#: ../../source/feature/optical_bands.rst:28 +#: ../../source/feature/optical_bands.rst:30 +#: ../../source/feature/optical_bands.rst:32 +#: ../../source/feature/optical_bands.rst:34 +#: ../../source/feature/optical_bands.rst:36 +#: ../../source/feature/optical_bands.rst:38 +#: ../../source/feature/optical_bands.rst:40 +#: ../../source/feature/optical_bands.rst:42 +#: ../../source/feature/optical_bands.rst:44 +#: ../../source/feature/optical_bands.rst:46 +#: ../../source/feature/optical_bands.rst:48 +#: ../../source/feature/optical_bands.rst:50 +#: ../../source/feature/optical_bands.rst:52 +#: ../../source/feature/optical_bands.rst:54 +#: ../../source/feature/optical_bands.rst:56 +#: ../../source/feature/optical_bands.rst:58 +#: ../../source/feature/optical_bands.rst:60 +#: ../../source/feature/optical_bands.rst:62 +msgid "✅" +msgstr "" + +#: ../../source/feature/optical_bands.rst:22 +msgid "aerosol" +msgstr "" + +#: ../../source/feature/optical_bands.rst:24 +msgid "blue" +msgstr "" + +#: ../../source/feature/optical_bands.rst:26 +msgid "green" +msgstr "" + +#: ../../source/feature/optical_bands.rst:28 +msgid "red" +msgstr "" + +#: ../../source/feature/optical_bands.rst:30 +msgid "nir" +msgstr "" + +#: ../../source/feature/optical_bands.rst:32 +msgid "redEdge1" +msgstr "" + +#: ../../source/feature/optical_bands.rst:34 +msgid "redEdge2" +msgstr "" + +#: ../../source/feature/optical_bands.rst:36 +msgid "redEdge3" +msgstr "" + +#: ../../source/feature/optical_bands.rst:38 +msgid "redEdge4" +msgstr "" + +#: ../../source/feature/optical_bands.rst:40 +msgid "swir1" +msgstr "" + +#: ../../source/feature/optical_bands.rst:42 +msgid "swir2" +msgstr "" + +#: ../../source/feature/optical_bands.rst:44 +msgid "cirrus" +msgstr "" + +#: ../../source/feature/optical_bands.rst:46 +msgid "thermal" +msgstr "" + +#: ../../source/feature/optical_bands.rst:48 +msgid "thermal2" +msgstr "" + +#: ../../source/feature/optical_bands.rst:50 +msgid "waterVapor" +msgstr "" + +#: ../../source/feature/optical_bands.rst:52 +msgid "brightness" +msgstr "" + +#: ../../source/feature/optical_bands.rst:54 +msgid "greenness" +msgstr "" + +#: ../../source/feature/optical_bands.rst:56 +msgid "wetness" +msgstr "" + +#: ../../source/feature/optical_bands.rst:58 +msgid "fourth" +msgstr "" + +#: ../../source/feature/optical_bands.rst:60 +msgid "fifth" +msgstr "" + +#: ../../source/feature/optical_bands.rst:62 +msgid "sixth" +msgstr "" + +#: ../../source/feature/optical_bands.rst:66 +msgid "Description" +msgstr "" + +#: ../../source/feature/optical_bands.rst:68 +msgid "**Pan (Panchromatic)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:69 +msgid "" +"**Description**: Captures data in a single broad wavelength band, " +"offering higher spatial resolution." +msgstr "" + +#: ../../source/feature/optical_bands.rst:70 +#: ../../source/feature/optical_bands.rst:76 +#: ../../source/feature/optical_bands.rst:83 +#: ../../source/feature/optical_bands.rst:90 +#: ../../source/feature/optical_bands.rst:97 +#: ../../source/feature/optical_bands.rst:104 +#: ../../source/feature/optical_bands.rst:111 +#: ../../source/feature/optical_bands.rst:117 +#: ../../source/feature/optical_bands.rst:124 +#: ../../source/feature/optical_bands.rst:131 +#: ../../source/feature/optical_bands.rst:138 +#: ../../source/feature/optical_bands.rst:144 +msgid "**Wavelengths**:" +msgstr "" + +#: ../../source/feature/optical_bands.rst:71 +msgid "0.500-0.680 µm, only for Landsat." +msgstr "" + +#: ../../source/feature/optical_bands.rst:72 +msgid "**Usage**: High-resolution imaging for mapping and urban planning." +msgstr "" + +#: ../../source/feature/optical_bands.rst:74 +msgid "**Aerosol**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:75 +msgid "" +"**Description**: Used for detecting aerosols (tiny particles) in the " +"atmosphere, which can be crucial for air quality monitoring and climate " +"studies." +msgstr "" + +#: ../../source/feature/optical_bands.rst:77 +msgid "0.433-0.453 µm for Landsat 8 and 9." +msgstr "" + +#: ../../source/feature/optical_bands.rst:78 +msgid "0.443-0.463 µm for Sentinel-2." +msgstr "" + +#: ../../source/feature/optical_bands.rst:79 +msgid "**Usage**: Air pollution assessment, wildfire smoke tracking." +msgstr "" + +#: ../../source/feature/optical_bands.rst:81 +msgid "**Blue**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:82 +msgid "**Description**: Captures light in the blue wavelength." +msgstr "" + +#: ../../source/feature/optical_bands.rst:84 +msgid "0.450-0.510 µm for Landsat 8 and 9." +msgstr "" + +#: ../../source/feature/optical_bands.rst:85 +msgid "0.490-0.555 µm for Sentinel-2." +msgstr "" + +#: ../../source/feature/optical_bands.rst:86 +msgid "" +"**Usage**: Coastal water mapping, vegetation health monitoring, and " +"identification of shallow water bodies." +msgstr "" + +#: ../../source/feature/optical_bands.rst:88 +msgid "**Green**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:89 +msgid "**Description**: Captures light in the green wavelength." +msgstr "" + +#: ../../source/feature/optical_bands.rst:91 +msgid "0.530-0.590 µm for Landsat 8 and 9." +msgstr "" + +#: ../../source/feature/optical_bands.rst:92 +msgid "0.560-0.595 µm for Sentinel-2." +msgstr "" + +#: ../../source/feature/optical_bands.rst:93 +msgid "**Usage**: Mapping vegetation, water bodies, and urban areas." +msgstr "" + +#: ../../source/feature/optical_bands.rst:95 +msgid "**Red**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:96 +msgid "**Description**: Captures light in the red wavelength." +msgstr "" + +#: ../../source/feature/optical_bands.rst:98 +msgid "0.640-0.670 µm for Landsat 8 and 9." +msgstr "" + +#: ../../source/feature/optical_bands.rst:99 +msgid "0.665-0.695 µm for Sentinel-2." +msgstr "" + +#: ../../source/feature/optical_bands.rst:100 +msgid "" +"**Usage**: Vegetation analysis, especially in calculating vegetation " +"indices like NDVI." +msgstr "" + +#: ../../source/feature/optical_bands.rst:102 +msgid "**NIR (Near-Infrared)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:103 +msgid "**Description**: Captures light in the near-infrared spectrum." +msgstr "" + +#: ../../source/feature/optical_bands.rst:105 +msgid "0.850-0.880 µm for Landsat 8 and 9." +msgstr "" + +#: ../../source/feature/optical_bands.rst:106 +msgid "0.780-0.900 µm for Sentinel-2." +msgstr "" + +#: ../../source/feature/optical_bands.rst:107 +msgid "" +"**Usage**: Differentiating between vegetation and water, and monitoring " +"vegetation health." +msgstr "" + +#: ../../source/feature/optical_bands.rst:109 +msgid "**Red Edge (4)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:110 +msgid "" +"**Description**: 4 narrow Bands in the VNIR vegetation red edge spectral " +"domain: Red edge 1, Red edge 2, Red edge 3, Red edge 4, is a region of " +"the electromagnetic spectrum where the spectral reflectance of green " +"vegetation changes rapidly" +msgstr "" + +#: ../../source/feature/optical_bands.rst:112 +msgid "~704nm,~740nm, ~783nm and ~865nm, only for Sentinel-2." +msgstr "" + +#: ../../source/feature/optical_bands.rst:113 +msgid "" +"**Usage**: Detailed vegetation health monitoring, particularly for " +"precision agriculture." +msgstr "" + +#: ../../source/feature/optical_bands.rst:115 +msgid "**SWIR 1 (Shortwave Infrared 1)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:116 +#: ../../source/feature/optical_bands.rst:123 +msgid "**Description**: Captures light in the shortwave infrared spectrum." +msgstr "" + +#: ../../source/feature/optical_bands.rst:118 +msgid "1.570-1.650 µm for Landsat 8 and 9." +msgstr "" + +#: ../../source/feature/optical_bands.rst:119 +msgid "1.560-1.660 µm for Sentinel-2." +msgstr "" + +#: ../../source/feature/optical_bands.rst:120 +msgid "" +"**Usage**: Detecting moisture content in soil and vegetation, mapping " +"burned areas." +msgstr "" + +#: ../../source/feature/optical_bands.rst:122 +msgid "**SWIR 2 (Shortwave Infrared 2)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:125 +msgid "2.110-2.290 µm for Landsat 8 and 9." +msgstr "" + +#: ../../source/feature/optical_bands.rst:126 +msgid "2.100-2.280 µm for Sentinel-2." +msgstr "" + +#: ../../source/feature/optical_bands.rst:127 +msgid "" +"**Usage**: Distinguishing snow from clouds, mapping geological features, " +"and burn scars." +msgstr "" + +#: ../../source/feature/optical_bands.rst:129 +msgid "**Cirrus**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:130 +msgid "**Description**: A band designed to detect high-altitude cirrus clouds." +msgstr "" + +#: ../../source/feature/optical_bands.rst:132 +msgid "1.360-1.380 µm for Landsat 8 and 9." +msgstr "" + +#: ../../source/feature/optical_bands.rst:133 +msgid "1.360-1.390 µm for Sentinel-2." +msgstr "" + +#: ../../source/feature/optical_bands.rst:134 +msgid "" +"**Usage**: Cloud screening in high-altitude regions to improve " +"atmospheric correction." +msgstr "" + +#: ../../source/feature/optical_bands.rst:136 +msgid "**Thermal 1**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:137 +#: ../../source/feature/optical_bands.rst:143 +msgid "" +"**Description**: Measures thermal radiation emitted by the Earth's " +"surface." +msgstr "" + +#: ../../source/feature/optical_bands.rst:139 +msgid "10.60-11.19 µm for Landsat 8 and 9." +msgstr "" + +#: ../../source/feature/optical_bands.rst:140 +#: ../../source/feature/optical_bands.rst:146 +msgid "" +"**Usage**: Monitoring land surface temperature, detecting fires, and " +"assessing volcanic activity." +msgstr "" + +#: ../../source/feature/optical_bands.rst:142 +msgid "**Thermal 2**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:145 +msgid "11.50-12.51 µm for Landsat 8 and 9." +msgstr "" + +#: ../../source/feature/optical_bands.rst:148 +msgid "**Water Vapor**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:149 +msgid "" +"**Description**: Sensitive to atmospheric water vapor absorption, " +"commonly used for weather and climate studies." +msgstr "" + +#: ../../source/feature/optical_bands.rst:150 +msgid "**Usage**: Studying cloud formation, precipitation, and humidity levels." +msgstr "" + +#: ../../source/feature/optical_bands.rst:154 +msgid "Tasseled Cap Transformation" +msgstr "" + +#: ../../source/feature/optical_bands.rst:156 +msgid "" +"The Tasseled Cap Transformation is a method to transform satellite " +"imagery into three brightness components (Brightness, Greenness, and " +"Wetness) and three color components (Red, Green, and Blue). This " +"transformation is particularly useful for analyzing land cover changes, " +"vegetation health, and urban development over time." +msgstr "" + +#: ../../source/feature/optical_bands.rst:158 +msgid "**Brightness**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:159 +msgid "" +"**Description**: Measures the brightness band measures the overall " +"brightness of the image, specifically the soil." +msgstr "" + +#: ../../source/feature/optical_bands.rst:160 +msgid "" +"**Usage**: this band is often used to identify bare or partially covered " +"soil, man-made features, and natural features like asphalt, concrete, " +"gravel, and rock outcrops." +msgstr "" + +#: ../../source/feature/optical_bands.rst:162 +msgid "**Greenness**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:163 +msgid "" +"**Description**: Measures the density and health of vegetation by " +"capitalizing on the chlorophyll absorption in the red band and the high " +"reflectance in the near-infrared band. It enhances the contrast between " +"vegetated areas and non-vegetated areas." +msgstr "" + +#: ../../source/feature/optical_bands.rst:164 +msgid "" +"**Usage**: Widely used in assessing plant health, monitoring crop " +"conditions, tracking forest cover changes, and managing natural " +"resources." +msgstr "" + +#: ../../source/feature/optical_bands.rst:166 +msgid "**Wetness**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:167 +msgid "" +"**Description**: Captures moisture content in both soil and vegetation. " +"This band is sensitive to the moisture continuum from dry to wet " +"surfaces, helping to differentiate moist soils and saturated vegetation " +"from dry areas." +msgstr "" + +#: ../../source/feature/optical_bands.rst:168 +msgid "" +"**Usage**: Important for identifying wetlands, managing irrigation in " +"agriculture, detecting flood-prone areas, and conducting soil moisture " +"studies." +msgstr "" + +#: ../../source/feature/optical_bands.rst:170 +msgid "**Fourth Component**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:171 +msgid "" +"**Description**: Often calibrated to highlight additional properties of " +"vegetation or soil, such as senescence or specific soil types. The exact " +"nature of this band can vary depending on the coefficients and sensor " +"used." +msgstr "" + +#: ../../source/feature/optical_bands.rst:172 +msgid "" +"**Usage**: Can be used to differentiate between types of vegetation or " +"stages of crop maturity, and to detect stressed vegetation in forestry " +"and agriculture." +msgstr "" + +#: ../../source/feature/optical_bands.rst:174 +msgid "**Fifth Component**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:175 +msgid "" +"**Description**: Typically emphasizes land disturbance or variability in " +"land cover types, providing a finer distinction between different types " +"of ground cover and land use." +msgstr "" + +#: ../../source/feature/optical_bands.rst:176 +msgid "" +"**Usage**: Useful in monitoring land cover changes over time, detecting " +"disturbances like deforestation or urban expansion, and enhancing land " +"cover classification schemes." +msgstr "" + +#: ../../source/feature/optical_bands.rst:178 +msgid "**Sixth Component**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:179 +msgid "" +"**Description**: This band often captures more subtle or residual " +"information that the other bands do not emphasize. It can be less " +"directly interpretable and might be seen as highlighting noise or " +"anomalies in the data." +msgstr "" + +#: ../../source/feature/optical_bands.rst:180 +msgid "" +"**Usage**: Potentially useful for detecting subtle ecological changes, " +"analyzing noise in the data for improved image processing, and refining " +"classifications by providing additional context." +msgstr "" + +#: ../../source/feature/optical_bands.rst:184 +msgid "Vegetation Indices" +msgstr "" + +#: ../../source/feature/optical_bands.rst:186 +msgid "" +"Vegetation indices are mathematical transformations of satellite data " +"that highlight specific vegetation properties, such as chlorophyll " +"content, leaf area, or vegetation health. These indices are widely used " +"in agriculture, forestry, and environmental monitoring to assess plant " +"growth, detect stress, and monitor land cover changes." +msgstr "" + +#: ../../source/feature/optical_bands.rst:188 +msgid "**NDVI (Normalized Difference Vegetation Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:189 +msgid "" +"**Description**: Measures the density and health of vegetation by " +"calculating the difference between the near-infrared (NIR) and red light " +"reflected by vegetation. Healthy vegetation absorbs most of the visible " +"light and reflects a large portion of the NIR." +msgstr "" + +#: ../../source/feature/optical_bands.rst:190 +msgid "" +"**Usage**: Used to assess vegetation health, monitor drought, and manage " +"agricultural operations." +msgstr "" + +#: ../../source/feature/optical_bands.rst:191 +msgid "**Formula**: (NIR - Red) / (NIR + Red)" +msgstr "" + +#: ../../source/feature/optical_bands.rst:193 +msgid "**NDMI (Normalized Difference Moisture Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:194 +msgid "" +"**Description**: Highlights moisture content in vegetation by utilizing " +"the NIR and short-wave infrared (SWIR1) bands. It is sensitive to " +"moisture content in vegetation." +msgstr "" + +#: ../../source/feature/optical_bands.rst:195 +msgid "" +"**Usage**: Useful in monitoring vegetation hydration and managing " +"irrigation in agricultural contexts." +msgstr "" + +#: ../../source/feature/optical_bands.rst:196 +msgid "**Formula**: (NIR - SWIR1) / (NIR + SWIR1)" +msgstr "" + +#: ../../source/feature/optical_bands.rst:198 +msgid "**NDWI (Normalized Difference Water Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:199 +msgid "" +"**Description**: Designed to identify and monitor changes in water " +"content in vegetation, leveraging the green and NIR bands to maximize the" +" reflection differences." +msgstr "" + +#: ../../source/feature/optical_bands.rst:200 +msgid "" +"**Usage**: Employed in monitoring water stress in crops, detecting water " +"bodies, and managing wetland areas." +msgstr "" + +#: ../../source/feature/optical_bands.rst:201 +msgid "**Formula**: (Green - NIR) / (Green + NIR)" +msgstr "" + +#: ../../source/feature/optical_bands.rst:203 +msgid "**MNDWI (Modified Normalized Difference Water Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:204 +msgid "" +"**Description**: Enhances the detection of surface water by using the " +"green and SWIR1 bands, reducing the influence of built-up land that can " +"be confused with water in traditional NDWI." +msgstr "" + +#: ../../source/feature/optical_bands.rst:205 +msgid "" +"**Usage**: Used to map and monitor surface water bodies, crucial for " +"flood mapping and water resource management." +msgstr "" + +#: ../../source/feature/optical_bands.rst:206 +msgid "**Formula**: (Green - SWIR1) / (Green + SWIR1)" +msgstr "" + +#: ../../source/feature/optical_bands.rst:208 +msgid "**NDFI (Normalized Difference Fraction Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:209 +msgid "" +"**Description**: Typically used to distinguish between different types of" +" vegetation and non-vegetation elements, providing a measure of " +"vegetation cover fraction." +msgstr "" + +#: ../../source/feature/optical_bands.rst:210 +msgid "" +"**Usage**: Utilized in forest management and land cover classification " +"tasks." +msgstr "" + +#: ../../source/feature/optical_bands.rst:211 +msgid "**Formula**: Index-specific, varies based on application." +msgstr "" + +#: ../../source/feature/optical_bands.rst:213 +msgid "**EVI (Enhanced Vegetation Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:214 +msgid "" +"**Description**: Improves the NDVI by optimizing the vegetation signal " +"with improved sensitivity in high biomass regions and reducing background" +" and atmospheric noise." +msgstr "" + +#: ../../source/feature/optical_bands.rst:215 +msgid "" +"**Usage**: Frequently used in areas where vegetation monitoring requires " +"greater sensitivity to biomass." +msgstr "" + +#: ../../source/feature/optical_bands.rst:216 +msgid "**Formula**: 2.5 * (NIR - Red) / (NIR + 6 * Red - 7.5 * Blue + 1)" +msgstr "" + +#: ../../source/feature/optical_bands.rst:218 +msgid "**EVI2 (Enhanced Vegetation Index 2)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:219 +msgid "" +"**Description**: A refinement of EVI that uses only red and NIR bands, " +"designed for areas where blue band data may not be reliable." +msgstr "" + +#: ../../source/feature/optical_bands.rst:220 +msgid "" +"**Usage**: Ideal for vegetation monitoring through dense atmosphere or " +"where the blue band is unavailable." +msgstr "" + +#: ../../source/feature/optical_bands.rst:221 +msgid "**Formula**: 2.5 * (NIR - Red) / (NIR + 2.4 * Red + 1)" +msgstr "" + +#: ../../source/feature/optical_bands.rst:223 +msgid "**SAVI (Soil-Adjusted Vegetation Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:224 +msgid "" +"**Description**: Adjusts the NDVI for the influence of soil brightness, " +"particularly useful in areas with sparse vegetation where soil is " +"visible." +msgstr "" + +#: ../../source/feature/optical_bands.rst:225 +msgid "" +"**Usage**: Applied in semi-arid regions to improve the accuracy of " +"vegetation assessments." +msgstr "" + +#: ../../source/feature/optical_bands.rst:226 +msgid "**Formula**: (1.5 * (NIR - Red) / (NIR + Red + 0.5))" +msgstr "" + +#: ../../source/feature/optical_bands.rst:228 +msgid "**NBR (Normalized Burn Ratio)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:229 +msgid "" +"**Description**: Utilizes NIR and SWIR2 bands to assess the severity of " +"burn damage and the delineation of burned areas." +msgstr "" + +#: ../../source/feature/optical_bands.rst:230 +msgid "" +"**Usage**: Key for assessing post-fire recovery in forested areas and " +"mapping burn severity." +msgstr "" + +#: ../../source/feature/optical_bands.rst:231 +msgid "**Formula**: (NIR - SWIR2) / (NIR + SWIR2)" +msgstr "" + +#: ../../source/feature/optical_bands.rst:233 +msgid "**MVI (Mangrove Vegetation Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:234 +msgid "" +"**Description**: Specifically designed to enhance the detection and " +"monitoring of mangrove forests by using NIR and green bands." +msgstr "" + +#: ../../source/feature/optical_bands.rst:235 +msgid "" +"**Usage**: Used in coastal management and conservation of mangrove " +"ecosystems." +msgstr "" + +#: ../../source/feature/optical_bands.rst:236 +msgid "**Formula**: 0.1 * (NIR - Green) / abs(SWIR1 - Green)" +msgstr "" + +#: ../../source/feature/optical_bands.rst:238 +msgid "**UI (Urban Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:239 +msgid "" +"**Description**: Highlights urban areas by exploiting the differences in " +"reflection between SWIR2 and NIR bands." +msgstr "" + +#: ../../source/feature/optical_bands.rst:240 +msgid "" +"**Usage**: Useful for urban mapping and monitoring changes in urban land " +"use." +msgstr "" + +#: ../../source/feature/optical_bands.rst:241 +msgid "**Formula**: (SWIR2 - NIR) / (SWIR2 + NIR)" +msgstr "" + +#: ../../source/feature/optical_bands.rst:243 +msgid "**NDBI (Normalized Difference Built-up Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:244 +msgid "" +"**Description**: Differentiates urban and built-up areas from natural " +"land cover by using NIR and SWIR1 bands." +msgstr "" + +#: ../../source/feature/optical_bands.rst:245 +msgid "**Usage**: Employed in urban planning and studying urban heat islands." +msgstr "" + +#: ../../source/feature/optical_bands.rst:246 +msgid "**Formula**: (SWIR1 - NIR) / (SWIR1 + NIR)" +msgstr "" + +#: ../../source/feature/optical_bands.rst:248 +msgid "**IBI (Index-based Built-up Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:249 +msgid "" +"**Description**: Combines NDBI with SAVI and MNDWI to provide a more " +"comprehensive measure of built-up areas." +msgstr "" + +#: ../../source/feature/optical_bands.rst:250 +msgid "**Usage**: Useful in detailed urban analysis and land use classification." +msgstr "" + +#: ../../source/feature/optical_bands.rst:251 +msgid "**Formula**: (NDBI - (SAVI + MNDWI) / 2) / (NDBI + (SAVI + MNDWI) / 2)" +msgstr "" + +#: ../../source/feature/optical_bands.rst:253 +msgid "**NBI (New Built-up Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:254 +msgid "" +"**Description**: Employs red, NIR, and SWIR1 bands to enhance the " +"detection of built-up areas." +msgstr "" + +#: ../../source/feature/optical_bands.rst:255 +msgid "**Usage**: Applied in urban growth monitoring and land use planning." +msgstr "" + +#: ../../source/feature/optical_bands.rst:256 +msgid "**Formula**: Red * SWIR1 / NIR" +msgstr "" + +#: ../../source/feature/optical_bands.rst:258 +msgid "**EBBI (Enhanced Built-Up and Bareness Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:259 +msgid "" +"**Description**: Focuses on urban areas and bare land by incorporating " +"thermal and SWIR1 bands to detect built-up regions." +msgstr "" + +#: ../../source/feature/optical_bands.rst:260 +msgid "" +"**Usage**: Crucial for urban mapping and identifying heat-stressed areas " +"in cities." +msgstr "" + +#: ../../source/feature/optical_bands.rst:261 +msgid "**Formula**: (SWIR1 - NIR) / (10 * sqrt(SWIR1 + Thermal))" +msgstr "" + +#: ../../source/feature/optical_bands.rst:263 +msgid "**BUI (Built-Up Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:264 +msgid "" +"**Description**: Combines multiple SWIR bands to enhance the detection " +"and differentiation of built-up areas." +msgstr "" + +#: ../../source/feature/optical_bands.rst:265 +msgid "" +"**Usage**: Employed in urban and regional planning to delineate built-up " +"from natural areas." +msgstr "" + +#: ../../source/feature/optical_bands.rst:266 +msgid "" +"**Formula**: (Red - SWIR1) / (Red + SWIR1) + (SWIR2 - SWIR1) / (SWIR2 + " +"SWIR1)" +msgstr "" + +#: ../../source/feature/optical_bands.rst:268 +msgid "**KNDVI (Kernel Normalized Difference Vegetation Index)**" +msgstr "" + +#: ../../source/feature/optical_bands.rst:269 +msgid "" +"**Description**: Applies a kernel function to traditional NDVI to improve" +" sensitivity and accuracy in vegetation monitoring." +msgstr "" + +#: ../../source/feature/optical_bands.rst:270 +msgid "" +"**Usage**: Used in precision agriculture and detailed vegetation studies " +"where standard NDVI is not sufficient." +msgstr "" + +#: ../../source/feature/optical_bands.rst:271 +msgid "" +"**Formula**: Kernel-function applied to NDVI, specific implementation " +"details vary." +msgstr "" + diff --git a/docs/source/_locale/zh/LC_MESSAGES/feature/project.po b/docs/source/_locale/zh/LC_MESSAGES/feature/project.po index 711ac31342..535f57ef7d 100644 --- a/docs/source/_locale/zh/LC_MESSAGES/feature/project.po +++ b/docs/source/_locale/zh/LC_MESSAGES/feature/project.po @@ -1,33 +1,34 @@ + msgid "" msgstr "" -"Project-Id-Version: sepal-doc\n" +"Project-Id-Version: sepal-doc\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-03-07 09:39+0100\n" -"PO-Revision-Date: 2024-03-07 09:05\n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: 2024-03-07 09:05+0000\n" "Last-Translator: \n" +"Language: zh_CN\n" "Language-Team: Chinese Simplified\n" +"Plural-Forms: nplurals=1; plural=0;\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.14.0\n" -"Plural-Forms: nplurals=1; plural=0;\n" -"X-Crowdin-Project: sepal-doc\n" -"X-Crowdin-Project-ID: 562097\n" -"X-Crowdin-Language: zh-CN\n" -"X-Crowdin-File: /main/docs/source/_locale/en/LC_MESSAGES/feature/project.po\n" -"X-Crowdin-File-ID: 83\n" -"Language: zh_CN\n" +"Generated-By: Babel 2.18.0\n" #: ../../source/feature/project.rst:2 -msgid "Recipe projects" +msgid "Organize Recipes by projects" msgstr "" #: ../../source/feature/project.rst:4 -msgid "When interacting with SEPAL processes, a user creates **Recipes**, which can work together and be interconnected inside a single project (e.g. :code:`Mosaics` used in a :code:`Classification`)." +msgid "" +"When interacting with SEPAL processes, a user creates **Recipes**, which " +"can work together and be interconnected inside a single project (e.g. " +":code:`Mosaics` used in a :code:`Classification`)." msgstr "" #: ../../source/feature/project.rst:6 -msgid "To help with these interconnections, the SEPAL platform provides a :code:`Project` system to organize users' work." +msgid "" +"To help with these interconnections, the SEPAL platform provides a " +":code:`Project` system to organize users' work." msgstr "" #: ../../source/feature/project.rst:9 @@ -39,7 +40,9 @@ msgid "Go to the **Processes** interface of SEPAL (:btn:``)." msgstr "" #: ../../source/feature/project.rst:13 -msgid "(You should see the following. If you've already created recipes in previous releases, you will see a list of existing recipes)." +msgid "" +"(You should see the following. If you've already created recipes in " +"previous releases, you will see a list of existing recipes)." msgstr "" #: ../../source/feature/project.rst:20 @@ -67,7 +70,9 @@ msgid "Edit recipes" msgstr "" #: ../../source/feature/project.rst:28 -msgid "Read the following section to understand how users can create a new project and manage existing projects in the SEPAL platform." +msgid "" +"Read the following section to understand how users can create a new " +"project and manage existing projects in the SEPAL platform." msgstr "" #: ../../source/feature/project.rst:31 @@ -75,19 +80,29 @@ msgid "Project" msgstr "" #: ../../source/feature/project.rst:35 -msgid "Projects are personal. They cannot be shared and they are not visible to other users." +msgid "" +"Projects are personal. They cannot be shared and they are not visible to " +"other users." msgstr "" #: ../../source/feature/project.rst:39 -msgid "For every user, a :code:`[no project]` project is created during registration. This project will be the fallback for every recipe that was created before the publication of the feature. It cannot be deleted or renamed." +msgid "" +"For every user, a :code:`[no project]` project is created during " +"registration. This project will be the fallback for every recipe that was" +" created before the publication of the feature. It cannot be deleted or " +"renamed." msgstr "" #: ../../source/feature/project.rst:41 -msgid "To create a project, select :btn:` Projects`, which opens the interface (see figure below)." +msgid "" +"To create a project, select :btn:` Projects`, " +"which opens the interface (see figure below)." msgstr "" #: ../../source/feature/project.rst:43 -msgid "Then, select :btn:` Add` to create a new project. Enter the name and select :btn:` Apply`." +msgid "" +"Then, select :btn:` Add` to create a new project. " +"Enter the name and select :btn:` Apply`." msgstr "" #: ../../source/feature/project.rst:45 @@ -95,7 +110,10 @@ msgid "The newly created project will now appear in the list." msgstr "" #: ../../source/feature/project.rst:57 -msgid "To remove a project, select the :btn:`` icon (located beside its name), which will destroy all recipes included in the process as well." +msgid "" +"To remove a project, select the :btn:`` icon (located " +"beside its name), which will destroy all recipes included in the process " +"as well." msgstr "" #: ../../source/feature/project.rst:65 @@ -103,7 +121,11 @@ msgid "Recipes" msgstr "" #: ../../source/feature/project.rst:67 -msgid "When entering the **Process** interface, no projects are selected by default, meaning that users will see all recipes available in their SEPAL accounts. All recipes are displayed using the following prototype: :code:` / `." +msgid "" +"When entering the **Process** interface, no projects are selected by " +"default, meaning that users will see all recipes available in their SEPAL" +" accounts. All recipes are displayed using the following prototype: " +":code:` / `." msgstr "" #: ../../source/feature/project.rst:74 @@ -115,23 +137,36 @@ msgid "Filter recipes" msgstr "" #: ../../source/feature/project.rst:79 -msgid "Select (3) to filter recipes according to your project. Once selected, only the recipes included in the project will be displayed. The field is clearable (i.e. you can go back to the unfiltered state and select another project). Also, :code:`[no project]` can be selected." +msgid "" +"Select (3) to filter recipes according to your project. Once selected, " +"only the recipes included in the project will be displayed. The field is " +"clearable (i.e. you can go back to the unfiltered state and select " +"another project). Also, :code:`[no project]` can be selected." msgstr "" #: ../../source/feature/project.rst:86 -msgid "Once a project is selected, it will appear as **Current project** in the project list (see figure below)." +msgid "" +"Once a project is selected, it will appear as **Current project** in the " +"project list (see figure below)." msgstr "" #: ../../source/feature/project.rst:93 -msgid "Once a project is selected and a recipe is created, it will belong to the selected project." +msgid "" +"Once a project is selected and a recipe is created, it will belong to the" +" selected project." msgstr "" #: ../../source/feature/project.rst:97 -msgid "If you don't want your recipe to be associated with any project, unfilter the list before selecting :btn:` Add recipe`." +msgid "" +"If you don't want your recipe to be associated with any project, unfilter" +" the list before selecting :btn:` Add recipe`." msgstr "" #: ../../source/feature/project.rst:102 -msgid "Recipe behaviour can be edited directly from this view. Select the :btn:` Edit` button to open the **Editing** interface." +msgid "" +"Recipe behaviour can be edited directly from this view. Select the :btn" +":` Edit` button to open the **Editing** " +"interface." msgstr "" #: ../../source/feature/project.rst:109 @@ -139,11 +174,16 @@ msgid "From this interface, you can:" msgstr "" #: ../../source/feature/project.rst:111 -msgid ":btn:` Select`: Select/unselect all recipes shown on the screen. Any other editing operation will only be applied to the selected recipe(s)." +msgid "" +":btn:` Select`: Select/unselect all recipes shown on " +"the screen. Any other editing operation will only be applied to the " +"selected recipe(s)." msgstr "" #: ../../source/feature/project.rst:112 -msgid ":btn:` Move`: Move the selected recipe(s) to another project." +msgid "" +":btn:` Move`: Move the selected recipe(s) to another" +" project." msgstr "" #: ../../source/feature/project.rst:113 @@ -151,7 +191,9 @@ msgid ":btn:` Remove`: Delete the recipe(s) permanently." msgstr "" #: ../../source/feature/project.rst:117 -msgid "Before deleting individual recipes, make sure that they are not used as inputs in others." +msgid "" +"Before deleting individual recipes, make sure that they are not used as " +"inputs in others." msgstr "" #: ../../source/feature/project.rst:120 @@ -159,11 +201,18 @@ msgid "Connect recipes" msgstr "" #: ../../source/feature/project.rst:122 -msgid "When creating recipes such as :code:`Classification`, users can use other recipes as inputs for the process. To avoid flooding the dropdown list with too many values, only the recipes from the same project will be displayed (see following figure on the left)." +msgid "" +"When creating recipes such as :code:`Classification`, users can use other" +" recipes as inputs for the process. To avoid flooding the dropdown list " +"with too many values, only the recipes from the same project will be " +"displayed (see following figure on the left)." msgstr "" #: ../../source/feature/project.rst:124 -msgid "If one still wants to see all of the recipes in the dropdown list, select :btn:`All` and all recipes will be displayed using project names as headers (see following figure on right)." +msgid "" +"If one still wants to see all of the recipes in the dropdown list, select" +" :btn:`All` and all recipes will be displayed using project names as " +"headers (see following figure on right)." msgstr "" #~ msgid "" @@ -490,3 +539,6 @@ msgstr "" #~ " (see following figure on right)." #~ msgstr "" +#~ msgid "Recipe projects" +#~ msgstr "" + diff --git a/docs/source/_locale/zh/LC_MESSAGES/feature/radar_bands.po b/docs/source/_locale/zh/LC_MESSAGES/feature/radar_bands.po new file mode 100644 index 0000000000..cf78edeb0d --- /dev/null +++ b/docs/source/_locale/zh/LC_MESSAGES/feature/radar_bands.po @@ -0,0 +1,121 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: zh\n" +"Language-Team: zh \n" +"Plural-Forms: nplurals=1; plural=0;\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/feature/radar_bands.rst:2 +msgid "Sentinel-1 Radar Bands" +msgstr "" + +#: ../../source/feature/radar_bands.rst:4 +msgid "" +"When exporting a radar mosaic from the SEPAL platform, the following " +"radar band metrics are available for analysis:" +msgstr "" + +#: ../../source/feature/radar_bands.rst:13 +msgid "Basic Radar Metrics (VV and VH Polarizations)" +msgstr "" + +#: ../../source/feature/radar_bands.rst:15 +msgid "**Metrics Included**:" +msgstr "" + +#: ../../source/feature/radar_bands.rst:16 +msgid "" +"*VV_min, VV_max, VV_mean, VV_std, VV_med*: Statistics of the VV " +"polarization signal, covering minimum, maximum, mean, standard deviation," +" and median." +msgstr "" + +#: ../../source/feature/radar_bands.rst:17 +msgid "" +"*VH_min, VH_max, VH_mean, VH_std, VH_med*: Similar statistics for the VH " +"polarization." +msgstr "" + +#: ../../source/feature/radar_bands.rst:18 +msgid "" +"*ratio_VV_med_VH_med*: The ratio of the median values of VV to VH " +"polarizations, indicating surface roughness and moisture." +msgstr "" + +#: ../../source/feature/radar_bands.rst:19 +msgid "" +"*VV_cv, VH_cv*: Coefficient of variation for VV and VH, showing the " +"variability relative to the mean." +msgstr "" + +#: ../../source/feature/radar_bands.rst:20 +msgid "" +"*NDCV (Normalized Difference Coefficient of Variation)*: A normalized " +"measure that highlights differences in texture or moisture content " +"between VV and VH returns." +msgstr "" + +#: ../../source/feature/radar_bands.rst:21 +msgid "" +"*orbit*: The orbit direction (ascending or descending), which can affect " +"the radar's observation angle and thus the backscatter properties." +msgstr "" + +#: ../../source/feature/radar_bands.rst:23 +msgid "" +"**Description**: These metrics are essential for analyzing surface " +"features, moisture content, vegetation, and other land cover " +"characteristics using radar backscatter properties." +msgstr "" + +#: ../../source/feature/radar_bands.rst:24 +msgid "" +"**Usage**: Widely used in agricultural monitoring, flood mapping, forest " +"monitoring, and urban expansion studies." +msgstr "" + +#: ../../source/feature/radar_bands.rst:27 +msgid "Harmonic Analysis Metrics (Conditional on Data Availability)" +msgstr "" + +#: ../../source/feature/radar_bands.rst:29 +msgid "**Metrics Included** (Only if harmonic dependents are available):" +msgstr "" + +#: ../../source/feature/radar_bands.rst:30 +msgid "" +"*VV_phase, VV_amp, VV_res*: Phase, amplitude, and residuals of the VV " +"signal following harmonic analysis." +msgstr "" + +#: ../../source/feature/radar_bands.rst:31 +msgid "*VH_phase, VH_amp, VH_res*: Similar metrics for the VH signal." +msgstr "" + +#: ../../source/feature/radar_bands.rst:32 +msgid "" +"**Description**: Harmonic analysis metrics help in understanding seasonal" +" variations and temporal patterns in the radar signal, useful for long-" +"term monitoring." +msgstr "" + +#: ../../source/feature/radar_bands.rst:33 +msgid "" +"**Usage**: Ideal for studying seasonal changes in vegetation, detecting " +"changes in water bodies over time, and monitoring environmental changes." +msgstr "" + diff --git a/docs/source/_locale/zh/LC_MESSAGES/feature/visualization.po b/docs/source/_locale/zh/LC_MESSAGES/feature/visualization.po new file mode 100644 index 0000000000..e099745f52 --- /dev/null +++ b/docs/source/_locale/zh/LC_MESSAGES/feature/visualization.po @@ -0,0 +1,161 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: zh\n" +"Language-Team: zh \n" +"Plural-Forms: nplurals=1; plural=0;\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/feature/visualization.rst:2 +msgid "Visualization in SEPAL" +msgstr "" + +#: ../../source/feature/visualization.rst:4 +msgid "**Natural color: red, green, blue**" +msgstr "" + +#: ../../source/feature/visualization.rst:5 +msgid "" +"**Description**: Represents the true color of the terrain as human eyes " +"would see it, using the red, green, and blue bands." +msgstr "" + +#: ../../source/feature/visualization.rst:6 +msgid "" +"**Usage**: Used for general mapping and visual inspections where true " +"color representation is necessary." +msgstr "" + +#: ../../source/feature/visualization.rst:8 +msgid "**False color: nir, red, green**" +msgstr "" + +#: ../../source/feature/visualization.rst:9 +msgid "" +"**Description**: Uses near-infrared, red, and green bands. Vegetation " +"appears red due to the high reflection of NIR by healthy vegetation, " +"helpful for distinguishing vegetative areas." +msgstr "" + +#: ../../source/feature/visualization.rst:10 +msgid "" +"**Usage**: Commonly used in vegetation studies to easily distinguish live" +" green vegetation, which reflects NIR strongly." +msgstr "" + +#: ../../source/feature/visualization.rst:12 +msgid "**False color: nir, swir1, red**" +msgstr "" + +#: ../../source/feature/visualization.rst:13 +msgid "" +"**Description**: Combines near-infrared, short-wave infrared, and red " +"bands. This combination is effective in highlighting vegetation and " +"differentiating moisture levels and geological features." +msgstr "" + +#: ../../source/feature/visualization.rst:14 +msgid "" +"**Usage**: Useful in geological mapping, vegetation health assessment, " +"and moisture content analysis." +msgstr "" + +#: ../../source/feature/visualization.rst:16 +msgid "**False color: swir2, nir, red**" +msgstr "" + +#: ../../source/feature/visualization.rst:17 +msgid "" +"**Description**: Utilizes short-wave infrared, near-infrared, and red " +"bands. It enhances the differentiation between mineral types and can " +"indicate burn severity in post-fire assessments." +msgstr "" + +#: ../../source/feature/visualization.rst:18 +msgid "" +"**Usage**: Often used in mineralogical mapping, soil and rock " +"differentiation, and detecting burned areas." +msgstr "" + +#: ../../source/feature/visualization.rst:20 +msgid "**False color: swir2, swir1, red**" +msgstr "" + +#: ../../source/feature/visualization.rst:21 +msgid "" +"**Description**: Involves short-wave infrared bands and red band. This " +"setup enhances geological features and is sensitive to water content and " +"urban areas." +msgstr "" + +#: ../../source/feature/visualization.rst:22 +msgid "" +"**Usage**: Ideal for enhanced geological mapping, urban sprawl studies, " +"and discriminating between different water bodies." +msgstr "" + +#: ../../source/feature/visualization.rst:24 +msgid "**False color: swir2, nir, green**" +msgstr "" + +#: ../../source/feature/visualization.rst:25 +msgid "" +"**Description**: Features short-wave infrared, near-infrared, and green " +"bands. This visualization aids in the analysis of vegetation health and " +"soil/water interactions." +msgstr "" + +#: ../../source/feature/visualization.rst:26 +msgid "" +"**Usage**: Useful for detailed vegetation health monitoring and " +"differentiating water stress in plants." +msgstr "" + +#: ../../source/feature/visualization.rst:28 +msgid "**Tasseled cap: brightness, greenness, wetness**" +msgstr "" + +#: ../../source/feature/visualization.rst:29 +msgid "" +"**Description**: Applies the Tasseled Cap transformation to highlight " +"physical properties of the land surface such as brightness " +"(reflectivity), greenness (vegetation), and wetness (moisture content)." +msgstr "" + +#: ../../source/feature/visualization.rst:30 +msgid "" +"**Usage**: Extensively used in environmental monitoring, land cover " +"classification, and assessing vegetation and water content dynamics." +msgstr "" + +#: ../../source/feature/visualization.rst:32 +msgid "**Tasseled cap: fifth, sixth, fourth**" +msgstr "" + +#: ../../source/feature/visualization.rst:33 +msgid "" +"**Description**: Another Tasseled Cap visualization focusing on the " +"additional components that might reflect other surface properties not " +"captured by the primary three bands." +msgstr "" + +#: ../../source/feature/visualization.rst:34 +msgid "" +"**Usage**: Useful for specialized studies in vegetation dynamics, soil " +"properties, and other environmental monitoring where standard Tasseled " +"Cap indices might need supplementation." +msgstr "" + diff --git a/docs/source/_locale/zh/LC_MESSAGES/index.po b/docs/source/_locale/zh/LC_MESSAGES/index.po index 20893754f0..136fec2036 100644 --- a/docs/source/_locale/zh/LC_MESSAGES/index.po +++ b/docs/source/_locale/zh/LC_MESSAGES/index.po @@ -1,24 +1,20 @@ + msgid "" msgstr "" -"Project-Id-Version: sepal-doc\n" +"Project-Id-Version: sepal-doc\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-03-07 09:39+0100\n" -"PO-Revision-Date: 2024-03-07 09:06\n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: 2024-03-07 09:06+0000\n" "Last-Translator: \n" +"Language: zh_CN\n" "Language-Team: Chinese Simplified\n" +"Plural-Forms: nplurals=1; plural=0;\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.14.0\n" -"Plural-Forms: nplurals=1; plural=0;\n" -"X-Crowdin-Project: sepal-doc\n" -"X-Crowdin-Project-ID: 562097\n" -"X-Crowdin-Language: zh-CN\n" -"X-Crowdin-File: /main/docs/source/_locale/en/LC_MESSAGES/index.po\n" -"X-Crowdin-File-ID: 87\n" -"Language: zh_CN\n" +"Generated-By: Babel 2.18.0\n" -#: ../../source/index.rst:20 ../../source/index.rst:54 +#: ../../source/index.rst:20 ../../source/index.rst:55 msgid "Getting started" msgstr "" @@ -31,15 +27,19 @@ msgid "Modules" msgstr "" #: ../../source/index.rst:20 -msgid "CLI" +msgid "Workflows" +msgstr "" + +#: ../../source/index.rst:20 +msgid "Features" msgstr "" #: ../../source/index.rst:20 -msgid "Workflows" +msgid "Troubleshooting" msgstr "" #: ../../source/index.rst:20 -msgid "Features" +msgid "Developers" msgstr "" #: ../../source/index.rst:20 @@ -50,140 +50,176 @@ msgstr "" msgid "Documentation" msgstr "" -#: ../../source/index.rst:36 -msgid "The System for Earth Observation Data Access, Processing and Analysis for Land Monitoring (**SEPAL**) is an open-source project and platform empowering people around the world to gain a better understanding of land cover dynamics by facilitating the efficient access and use of Earth observation data – without the need of coding knowledge." +#: ../../source/index.rst:37 +msgid "" +"The System for Earth Observation Data Access, Processing and Analysis for" +" Land Monitoring (**SEPAL**) is an open-source project and platform " +"empowering people around the world to gain a better understanding of land" +" cover dynamics by facilitating the efficient access and use of Earth " +"observation data – without the need of coding knowledge." msgstr "" -#: ../../source/index.rst:47 +#: ../../source/index.rst:48 msgid "Learn how to use the platform with SEPAL documentation" msgstr "" -#: ../../source/index.rst:49 -msgid "The SEPAL team developed this GitHub page to help users get the most out of the interface." +#: ../../source/index.rst:50 +msgid "" +"The SEPAL team developed this GitHub page to help users get the most out " +"of the interface." msgstr "" -#: ../../source/index.rst:59 +#: ../../source/index.rst:60 msgid "Register to SEPAL" msgstr "" -#: ../../source/index.rst:62 +#: ../../source/index.rst:63 msgid "Set up your SEPAL account and request additional resources." msgstr "" -#: ../../source/index.rst:64 +#: ../../source/index.rst:65 msgid "Connect to GEE" msgstr "" -#: ../../source/index.rst:67 +#: ../../source/index.rst:68 msgid "Register with Google Earth Engine (GEE) and connect your account to SEPAL." msgstr "" -#: ../../source/index.rst:69 +#: ../../source/index.rst:70 msgid "Connect to NICFI–PlanetLab imagery" msgstr "" -#: ../../source/index.rst:72 -msgid "Sign up to use Norway’s International Climate and Forests Initiative (NICFI) – PlanetLab data and connect your account to GEE." +#: ../../source/index.rst:73 +msgid "" +"Sign up to use Norway’s International Climate and Forests Initiative " +"(NICFI) – PlanetLab data and connect your account to GEE." msgstr "" -#: ../../source/index.rst:77 +#: ../../source/index.rst:78 msgid "Recipes and modules" msgstr "" -#: ../../source/index.rst:82 +#: ../../source/index.rst:83 msgid "Start a recipe" msgstr "" -#: ../../source/index.rst:85 +#: ../../source/index.rst:86 msgid "Run analysis with recipes – the foundation of SEPAL processes." msgstr "" -#: ../../source/index.rst:87 +#: ../../source/index.rst:88 msgid "Start a module" msgstr "" -#: ../../source/index.rst:90 -msgid "Run integrated workflows with modules – no need of coding experience required." +#: ../../source/index.rst:91 +msgid "" +"Run integrated workflows with modules – no need of coding experience " +"required." msgstr "" -#: ../../source/index.rst:92 +#: ../../source/index.rst:93 msgid "Use the se.plan module" msgstr "" -#: ../../source/index.rst:95 -msgid "Compute your restoration index with se.plan, a spatially explicit online tool designed to support forest restoration planning decisions by restoration stakeholders." +#: ../../source/index.rst:96 +msgid "" +"Compute your restoration index with se.plan, a spatially explicit online " +"tool designed to support forest restoration planning decisions by " +"restoration stakeholders." msgstr "" -#: ../../source/index.rst:100 +#: ../../source/index.rst:101 msgid "Other resources" msgstr "" -#: ../../source/index.rst:105 +#: ../../source/index.rst:106 msgid "SEPAL website" msgstr "" -#: ../../source/index.rst:108 +#: ../../source/index.rst:109 msgid "Discover the impact of the project." msgstr "" -#: ../../source/index.rst:110 +#: ../../source/index.rst:111 msgid "SEPAL platform" msgstr "" -#: ../../source/index.rst:113 +#: ../../source/index.rst:114 msgid "Learn more about the interface." msgstr "" -#: ../../source/index.rst:115 +#: ../../source/index.rst:116 msgid "Open Foris" msgstr "" -#: ../../source/index.rst:118 +#: ../../source/index.rst:119 msgid "Browse the Suite of Tools." msgstr "" -#: ../../source/index.rst:123 +#: ../../source/index.rst:124 msgid "SEPAL is always improving" msgstr "" -#: ../../source/index.rst:125 -msgid "Encounter a problem? See an issue? Need help? Help our team members enhance user experience by improving the platform and its documentation." +#: ../../source/index.rst:126 +msgid "" +"Encounter a problem? See an issue? Need help? Help our team members " +"enhance user experience by improving the platform and its documentation." msgstr "" -#: ../../source/index.rst:132 +#: ../../source/index.rst:133 msgid "For general support, ask the Google Group community" msgstr "" -#: ../../source/index.rst:135 +#: ../../source/index.rst:136 msgid "For documentation improvement, use the GitHub Issue Tracker" msgstr "" -#: ../../source/index.rst:138 +#: ../../source/index.rst:139 msgid "For usage questions, ask the GIS StackExchange community" msgstr "" -#: ../../source/index.rst:141 -msgid "For training, register for the SEPAL Forest and Land Monitoring for Climate Action e-learning course" +#: ../../source/index.rst:142 +msgid "" +"For training, register for the SEPAL Forest and Land Monitoring for " +"Climate Action e-learning course" msgstr "" -#: ../../source/index.rst:147 +#: ../../source/index.rst:148 msgid "About the platform" msgstr "" -#: ../../source/index.rst:149 -msgid "SEPAL is part of the `Open Foris `__ Suite of Tools. The platform allows users to query and process satellite data quickly and efficiently, tailor their products for local needs, and produce sophisticated and relevant geospatial analyses. Harnessing cloud-based supercomputers and modern geospatial data infrastructures (e.g. GEE), the interface enables users to access and process historical satellite data as well as newer data from Landsat and higher-resolution data from Europe’s Copernicus programme." +#: ../../source/index.rst:150 +msgid "" +"SEPAL is part of the `Open Foris `__ Suite of " +"Tools. The platform allows users to query and process satellite data " +"quickly and efficiently, tailor their products for local needs, and " +"produce sophisticated and relevant geospatial analyses. Harnessing cloud-" +"based supercomputers and modern geospatial data infrastructures (e.g. " +"GEE), the interface enables users to access and process historical " +"satellite data as well as newer data from Landsat and higher-resolution " +"data from Europe’s Copernicus programme." msgstr "" -#: ../../source/index.rst:151 -msgid "SEPAL is a cloud computing-based platform for autonomous land monitoring using remotely sensed data. It is a combination of GEE and open-source software such as GDAL, Jupyter, the Open Foris Geospatial Toolkit, ORFEO Toolbox, Python, R, R Shiny Server, R Studio Server, and the SNAP Toolkit. The platform allows users to access powerful cloud-computing resources to query, access and process satellite data quickly and efficiently for conducting advanced analyses." +#: ../../source/index.rst:152 +msgid "" +"SEPAL is a cloud computing-based platform for autonomous land monitoring " +"using remotely sensed data. It is a combination of GEE and open-source " +"software such as GDAL, Jupyter, the Open Foris Geospatial Toolkit, ORFEO " +"Toolbox, Python, R, R Shiny Server, R Studio Server, and the SNAP " +"Toolkit. The platform allows users to access powerful cloud-computing " +"resources to query, access and process satellite data quickly and " +"efficiently for conducting advanced analyses." msgstr "" -#: ../../source/index.rst:156 +#: ../../source/index.rst:157 msgid "Supporting institutions" msgstr "" -#: ../../source/index.rst:158 -msgid "SEPAL is a project funded by the Government of Norway from the Forestry Department of the Food and Agriculture Organization of the United Nations (FAO)." +#: ../../source/index.rst:159 +msgid "" +"SEPAL is a project funded by the Government of Norway from the Forestry " +"Department of the Food and Agriculture Organization of the United Nations" +" (FAO)." msgstr "" #~ msgid "Modules" @@ -478,3 +514,6 @@ msgstr "" #~ "for creating advanced analyses." #~ msgstr "" +#~ msgid "CLI" +#~ msgstr "" + diff --git a/docs/source/_locale/zh/LC_MESSAGES/troubleshooting/fix_venvs.po b/docs/source/_locale/zh/LC_MESSAGES/troubleshooting/fix_venvs.po new file mode 100644 index 0000000000..b941d12a10 --- /dev/null +++ b/docs/source/_locale/zh/LC_MESSAGES/troubleshooting/fix_venvs.po @@ -0,0 +1,381 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: zh\n" +"Language-Team: zh \n" +"Plural-Forms: nplurals=1; plural=0;\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/troubleshooting/fix_venvs.rst:4 +msgid "Recovering broken Python environments" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:6 +msgid "" +"On 5 March 2026, SEPAL sandboxes upgraded from Ubuntu Jammy to Ubuntu " +"Noble. As part of this upgrade, the system Python changed from version " +"3.10 to 3.12. This was a deliberate and necessary change: Python 3.10 " +"reaches end of life in October 2026, meaning it will no longer receive " +"security patches, and an increasing number of libraries are dropping " +"support for it and requiring Python 3.11 or newer. Staying on 3.10 would " +"eventually mean being locked out of updated packages and exposed to " +"unpatched security issues." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:8 +msgid "" +"If you created Python virtual environments using ``python -m venv`` on " +"SEPAL before this upgrade, those environments are now broken. This page " +"explains why, and how to recover." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:12 +msgid "" +"This only affects environments created with ``python -m venv``. " +"Environments created with :guilabel:`uv` or :guilabel:`micromamba` are " +"not affected." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:14 +msgid "" +"See :ref:`env_management` for full guidance on using :guilabel:`uv` and " +":guilabel:`micromamba` — better alternatives that will not break when " +"SEPAL upgrades Python in the future." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:18 +msgid "" +"Python 3.10 reaches end of life on 4 October 2026. Rather than putting " +"effort into restoring environments on the old version, consider migrating" +" to Python 3.12 at the same time." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:23 +msgid "Why venvs break after a Python upgrade" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:25 +msgid "" +"A venv is not a fully self-contained copy of Python. It is a lightweight " +"directory structure that relies on the system Python being present at a " +"specific path. When you run ``python -m venv myenv``, it records the " +"exact path to the Python binary (e.g. ``/usr/bin/python3.10``) and " +"creates symbolic links inside the environment's ``bin/`` directory " +"pointing back to it. Installed packages land in a versioned subdirectory," +" for example ``lib/python3.10/site-packages/``." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:27 +msgid "" +"When the system Python changes from 3.10 to 3.12, two things go wrong " +"simultaneously:" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:29 +msgid "" +"The symlinks inside ``bin/`` now point to a Python binary that no longer " +"exists at the recorded path, so the environment cannot start correctly." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:30 +msgid "" +"Any packages with compiled C extensions (numpy, scipy, cryptography, " +"etc.) were built against the Python 3.10 ABI. Python 3.12 has a different" +" ABI, so those compiled ``.so`` files are no longer valid and will crash " +"or fail to load." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:32 +msgid "" +"The package files themselves — the pure Python code and the package " +"metadata — are still intact on disk. Only the wiring is broken, which is " +"why it is possible to extract a list of what was installed without " +"activating the environment." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:37 +msgid "Why Jupyter kernels disappear" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:39 +msgid "" +"When you register a venv as a Jupyter kernel using ``ipykernel``, Jupyter" +" saves a small ``kernel.json`` file under " +"``~/.local/share/jupyter/kernels//``. This file contains the " +"absolute path to the Python binary inside the environment." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:41 +msgid "" +"After the upgrade, Jupyter still finds the ``kernel.json`` file and may " +"still show the kernel in the launcher — but when you try to start it, it " +"attempts to launch the Python binary at the recorded path. Because that " +"binary no longer works, the kernel either fails to start or starts and " +"immediately crashes, which JupyterLab reports as the kernel repeatedly " +"dying." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:43 +msgid "" +"In some cases the kernel disappears from the launcher entirely. In others" +" it appears but cannot be used. Either way, notebooks that relied on it " +"cannot run." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:48 +msgid "Symptoms of a broken environment" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:50 +msgid "You may see any of the following:" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:52 +msgid "" +"A Jupyter kernel that was previously available has disappeared from the " +"launcher, or starts and immediately dies" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:53 +msgid "``ModuleNotFoundError: No module named 'pip'`` when running pip commands" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:54 +msgid "Packages that were previously installed fail to import" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:55 +msgid "Compiled packages (numpy, scipy, etc.) segfault or raise ``ImportError``" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:56 +msgid "" +"``python --version`` inside the activated environment shows 3.12 even " +"though it was created with 3.10" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:58 +msgid "" +"All of these have the same root cause: the environment's internal " +"symlinks and compiled extensions were built against Python 3.10 and are " +"no longer valid." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:63 +msgid "Recovery" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:68 +msgid "Extract your requirements" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:70 +msgid "" +"You cannot activate the broken environment, but the package metadata is " +"still readable on disk. SEPAL provides a script that extracts the list of" +" installed packages from a broken environment. Run it from the terminal:" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:76 +msgid "" +"This scans the package metadata inside the broken environment and writes " +"a ``requirements.txt`` with pinned versions. Verify the output:" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:85 +msgid "Recreate the environment with uv" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:87 +msgid "" +":guilabel:`uv` is a fast, modern Python package manager already installed" +" on SEPAL. Unlike venv, it manages its own Python versions independently " +"of the system, so future upgrades will not break your environments." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:91 +msgid "" +"See :ref:`env_management` for full guidance on :guilabel:`uv` and other " +"environment tools available on SEPAL." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:93 +msgid "You have two options:" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:98 +msgid "Option A — Recreate on Python 3.10" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:100 +msgid "" +"*Fewer compatibility issues — use this if you need to get back up and " +"running quickly and cannot yet deal with package compatibility on 3.12.*" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:110 +msgid "" +"The ``requirements.txt`` referenced here is the file you extracted in the" +" previous step." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:115 +msgid "Option B — Migrate to Python 3.12" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:117 +msgid "" +"*Better long-term choice — most pure-Python packages work on 3.12 without" +" any changes.*" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:127 +msgid "" +"The ``requirements.txt`` referenced here is the file you extracted in the" +" first step." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:132 +msgid "Handling package version conflicts (Option B)" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:134 +msgid "" +"When migrating to Python 3.12, the ``requirements.txt`` from the first " +"step contains fully pinned versions (e.g. ``numpy==1.23.4``). Some of " +"these may not have wheels available for Python 3.12. If installation " +"fails, try removing the version pins:" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:142 +msgid "" +"The following packages are known to cause issues when moving from 3.10 to" +" 3.12:" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:148 +msgid "Package" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:149 +msgid "Issue" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:150 +msgid "Fix" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:151 +msgid "``numpy < 1.24``" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:152 +#: ../../source/troubleshooting/fix_venvs.rst:155 +msgid "No Python 3.12 wheels available" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:153 +msgid "Unpin: ``numpy``" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:154 +msgid "``scipy < 1.11``" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:156 +msgid "Unpin: ``scipy``" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:157 +msgid "Packages using ``distutils``" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:158 +msgid "``distutils`` was removed in Python 3.12" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:159 +msgid "Upgrade or replace the package" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:160 +msgid "Old Cython extensions" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:161 +msgid "ABI mismatch, segfaults at import" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:162 +msgid "``uv pip install --force-reinstall ``" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:163 +msgid "``cryptography`` (old versions)" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:164 +msgid "Needs a recent version for the 3.12 ABI" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:165 +msgid "Unpin: ``cryptography``" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:170 +msgid "Re-register your Jupyter kernel" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:172 +msgid "" +"JupyterLab discovers environments through kernel specifications — small " +"JSON files that point to a specific Python binary. When you recreate an " +"environment, the old kernel specification still points to the broken " +"binary, so JupyterLab cannot find or use the new environment. You need to" +" remove the old specification and register a new one." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:174 +msgid "First, list existing kernels and remove the broken one:" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:184 +msgid "Then register the new environment as a kernel:" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:192 +msgid "" +"After restarting JupyterLab, the new kernel will appear in the launcher " +"and notebooks that reference it by name will work again." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:197 +msgid "Going forward" +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:199 +msgid "" +"To avoid this problem in the future, stop using venv. :guilabel:`uv` " +"manages Python versions independently of the system and will not break " +"when SEPAL upgrades Python." +msgstr "" + +#: ../../source/troubleshooting/fix_venvs.rst:201 +msgid "" +"See :ref:`env_management` for full guidance on creating and managing " +"environments, including how to add Jupyter kernels." +msgstr "" + diff --git a/docs/source/_locale/zh/LC_MESSAGES/troubleshooting/index.po b/docs/source/_locale/zh/LC_MESSAGES/troubleshooting/index.po new file mode 100644 index 0000000000..17f3d621f0 --- /dev/null +++ b/docs/source/_locale/zh/LC_MESSAGES/troubleshooting/index.po @@ -0,0 +1,42 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: zh\n" +"Language-Team: zh \n" +"Plural-Forms: nplurals=1; plural=0;\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/troubleshooting/index.rst:7 +msgid "Recovering broken Python environments" +msgstr "" + +#: ../../source/troubleshooting/index.rst:2 +msgid "Troubleshooting" +msgstr "" + +#: ../../source/troubleshooting/index.rst:3 +msgid "*Solve common issues on the SEPAL platform*" +msgstr "" + +#: ../../source/troubleshooting/index.rst:5 +msgid "" +"This section covers known issues and step-by-step solutions for problems " +"you may encounter while using SEPAL. If your issue is not listed here, " +"ask the `Google Group community `__ or report it on the `GitHub Issue Tracker " +"`__." +msgstr "" + diff --git a/docs/source/_locale/zh/LC_MESSAGES/workflows/mangrove_mapping.po b/docs/source/_locale/zh/LC_MESSAGES/workflows/mangrove_mapping.po new file mode 100644 index 0000000000..253c63431c --- /dev/null +++ b/docs/source/_locale/zh/LC_MESSAGES/workflows/mangrove_mapping.po @@ -0,0 +1,1850 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: zh\n" +"Language-Team: zh \n" +"Plural-Forms: nplurals=1; plural=0;\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/workflows/mangrove_mapping.rst:4 +msgid "Mangrove mapping with SEPAL" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:6 +msgid "" +"This article describes a complete workflow for mapping mangroves using " +"SEPAL — FAO's free, open-source, web-based cloud platform for satellite " +"data analysis. The approach combines multi-sensor satellite data, global " +"mangrove reference datasets, and machine learning classification to " +"produce locally relevant mangrove maps and detect change over time. An " +"optional extension covers above-ground biomass (AGB) mapping." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:10 +msgid "" +"**Author:** Erik Lindquist, Forestry Officer, Food and Agriculture " +"Organization of the United Nations (FAO)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:13 +msgid "Overview" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:15 +msgid "The workflow consists of the following stages:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:17 +msgid ":ref:`Registration and setup `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:18 +msgid ":ref:`Request SEPAL resources `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:19 +msgid ":ref:`Define the area of interest `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:20 +msgid ":ref:`Build an optical mosaic (optional) `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:21 +msgid ":ref:`Build a radar mosaic (optional) `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:22 +msgid ":ref:`Load global mangrove reference datasets `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:23 +msgid "" +":ref:`Create the high-confidence mangrove reference map `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:24 +msgid ":ref:`Generate training data `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:25 +msgid ":ref:`Incorporate Google Satellite Embeddings `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:26 +msgid ":ref:`Classify mangroves `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:27 +msgid ":ref:`Map above-ground biomass (optional) `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:28 +msgid ":ref:`Detect change using CCDC `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:29 +msgid ":ref:`Download and export results `" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:32 +msgid "Why use SEPAL for mangrove mapping?" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:34 +msgid "" +"SEPAL democratises access to satellite data and analysis tools, enabling " +"autonomous land monitoring without the need for local compute " +"infrastructure. For mangrove mapping specifically, SEPAL provides:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:36 +msgid "" +"**Multi-sensor data access** – seamless integration of optical " +"(Sentinel-2, Landsat, NICFI/Planet) and synthetic aperture radar (SAR) " +"(Sentinel-1 C-band, ALOS L-band) imagery" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:37 +msgid "" +"**Multi-temporal analysis** – time-series processing and change detection" +" using the Continuous Change Detection and Classification (CCDC) " +"algorithm" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:38 +msgid "" +"**Cloud-based classification** – machine learning classification recipes " +"powered by Google Earth Engine (GEE)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:39 +msgid "" +"**Global reference data** – integration with existing global mangrove " +"products to generate locally relevant training data automatically" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:40 +msgid "" +"**Team collaboration** – data saved as GEE assets can be shared across a " +"team, allowing one person to build a composite that all team members can " +"access and classify" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:45 +msgid "1. Registration and setup" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:47 +msgid "Before starting, create accounts on two platforms." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:50 +msgid "1.1 Google Earth Engine" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:52 +msgid "SEPAL's processing recipes run on GEE. A free GEE account is required." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:54 +msgid "Go to `earthengine.google.com `__." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:55 +msgid "Sign up using a Gmail account." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:56 +msgid "Wait for approval (usually within a few hours to a few days)." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:59 +msgid "1.2 SEPAL" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:61 +msgid "Go to `sepal.io `__ and register for a free account." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:62 +msgid "Connect the GEE account within SEPAL settings." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:66 +msgid "" +"For a step-by-step walkthrough of SEPAL setup, see " +":doc:`../setup/register`." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:71 +msgid "2. Request SEPAL resources" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:73 +msgid "" +"SEPAL is always free to use; however, downloading data and running high-" +"performance computing in the cloud requires resources to be allocated to " +"an account. Resources are requested via the **User report** button " +"(displayed as **$ 0/h**) in the lower-right corner of the **SEPAL " +"interface**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:75 +msgid "To request resources:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:77 +msgid "" +"Select the **User report** button in the lower-right corner of the " +"**SEPAL interface**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:78 +msgid "Select **Request additional resources**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:79 +msgid "" +"Enter the requested amounts. For most mapping work, the following is a " +"reasonable starting point:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:81 +msgid "**Processing:** $10 USD/month of cloud compute time" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:82 +msgid "**Storage:** $10 USD/month" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:83 +msgid "**Workspace:** 10 gigabytes (GB) of personal SEPAL workspace storage" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:85 +msgid "Enter a short message describing the work (e.g. \"Mangrove mapping\")." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:86 +msgid "Select **Apply**. The SEPAL team will review and approve the request." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:88 +msgid "" +"Once resources are approved, the **Download** button (displayed as a " +"cloud with an arrow icon) will become active in all recipes. Even $1 of " +"resources is sufficient to activate downloading to GEE or Google Drive." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:92 +msgid "" +"SEPAL supports requests for larger amounts of resources for intensive " +"work, such as training machine learning models. Describe the use case in " +"the request message if needed." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:97 +msgid "3. Define the area of interest" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:99 +msgid "" +"Use the same area of interest (AOI) for all downstream recipes to ensure " +"composites, reference layers, and classification outputs are spatially " +"aligned." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:101 +msgid "Open **Process** in the **SEPAL interface**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:102 +msgid "" +"Set the AOI using an administrative boundary, an uploaded geometry, or a " +"drawn polygon." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:107 +msgid "4. Build an optical mosaic (optional)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:111 +msgid "" +"This step is only required if Google Satellite Embeddings are **not** " +"used as the classification input (see :ref:`Section 9 `). If using embeddings, proceed directly to :ref:`Section 6 " +"`." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:113 +msgid "" +"A cloud-free optical mosaic provides the spectral bands used for " +"classification. In SEPAL, all processing starts with a *recipe*. Open a " +"new recipe from the recipe book by selecting the **+** button, then the " +"green **Add recipe** button." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:116 +msgid "Recommended data sources" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:122 +msgid "Source" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:123 +msgid "Spatial resolution" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:124 +msgid "Temporal resolution" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:125 +msgid "Bands" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:126 +#: ../../source/workflows/mangrove_mapping.rst:361 +msgid "Sentinel-2" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:127 +msgid "10 m" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:128 +msgid "5 days" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:129 +msgid "12" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:130 +msgid "Landsat (8/9)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:131 +msgid "30 m" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:132 +msgid "16 days" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:133 +msgid "8" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:134 +msgid "NICFI/Planet" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:135 +msgid "4.5 m" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:136 +msgid "Monthly" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:137 +msgid "4" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:140 +msgid "Recommended bands and indices" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:142 +msgid "" +"For Sentinel-2, include bands: **B2, B3, B4, B5, B6, B7, B8, B8A, B11, " +"B12**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:144 +msgid "Suggested derived indices:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:146 +msgid "normalized difference vegetation index (NDVI)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:147 +msgid "normalized difference moisture index (NDMI)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:148 +msgid "normalized difference water index (NDWI)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:149 +msgid "modified normalized difference water index (MNDWI)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:150 +msgid "red-edge NDVI variants" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:151 +msgid "Tasseled Cap Brightness, Greenness and Wetness" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:152 +msgid "short-wave infrared (SWIR) ratios (B11/B8, B12/B11)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:153 +msgid "enhanced vegetation index (EVI)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:157 +msgid "" +"Avoid the **Aerosol** band for vegetation mapping — it captures " +"atmospheric rather than surface conditions. The near-infrared (NIR) and " +"SWIR bands are particularly important for mangroves: NIR is sensitive to " +"chlorophyll and vegetation health; SWIR helps distinguish inundated " +"vegetation from upland forest and open water." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:160 +msgid "Composite method" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:162 +msgid "" +"Use the **Medoid** composite method, which selects actual observed pixel " +"values rather than statistical summaries, preserving spectral integrity. " +"Save the recipe with a meaningful name (e.g. ``Optical_Medoid_2023``) so " +"it can be referenced in the classification recipe." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:166 +msgid "" +"See :doc:`../cookbook/optical_mosaic` for full instructions on the SEPAL " +"optical mosaic recipe." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:171 +msgid "5. Build a radar mosaic (optional)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:175 +msgid "" +"This step is only required if Google Satellite Embeddings are **not** " +"used as the classification input." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:177 +msgid "" +"SAR data penetrates cloud cover and is sensitive to canopy structure and " +"soil moisture — making it a valuable complement to optical data in " +"tropical coastal environments where persistent cloud cover limits optical" +" data availability." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:180 +msgid "Recommended data source" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:182 +msgid "" +"The primary radar source used in this workflow is **Sentinel-1 C-band " +"SAR**:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:184 +msgid "spatial resolution: 10 m" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:185 +msgid "temporal resolution: 12 days" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:186 +msgid "bands: VV and VH polarisations" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:188 +msgid "" +"ALOS PALSAR L-band mosaics (25 m, yearly) can be added where available " +"for additional structural information." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:191 +msgid "Recommended statistics to include" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:197 +msgid "Band" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:198 +#: ../../source/workflows/mangrove_mapping.rst:448 +msgid "Description" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:199 +msgid "VV mean" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:200 +msgid "Average VV backscatter across the year" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:201 +msgid "VH mean" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:202 +msgid "Average VH backscatter across the year" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:203 +msgid "VV/VH ratio" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:204 +msgid "Structural differentiation" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:205 +msgid "VH standard deviation" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:206 +msgid "Seasonal variability; helps distinguish vegetation types" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:208 +msgid "Save the recipe as ``Radar_Mosaic_YYYY``." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:212 +msgid "" +"See :doc:`../cookbook/radar_mosaic` for full instructions on the SEPAL " +"radar mosaic recipe." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:217 +msgid "6. Load global mangrove reference datasets" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:219 +msgid "" +"Load three global datasets as **EE Asset** recipes in SEPAL to build the " +"high-confidence reference map in :ref:`Section 7 `. " +"Each dataset is available in the GEE catalog or the Awesome GEE Community" +" Catalog." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:221 +msgid "To add an **EE Asset** recipe:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:223 +#: ../../source/workflows/mangrove_mapping.rst:391 +msgid "Add a new recipe and select **EE Asset**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:224 +#: ../../source/workflows/mangrove_mapping.rst:392 +msgid "Set the AOI." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:225 +msgid "Search for the asset by name or paste the asset path." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:226 +#: ../../source/workflows/mangrove_mapping.rst:394 +msgid "Select **Done**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:227 +msgid "" +"To visualise, open the **Menu** (☰) → select **+** → select the band → " +"set min/max values → select **Apply**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:228 +msgid "Save the recipe with the name indicated below." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:231 +msgid "6.1 Global Mangrove Watch (GMW) v3 — 2020 extent" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:236 +#: ../../source/workflows/mangrove_mapping.rst:251 +#: ../../source/workflows/mangrove_mapping.rst:266 +#: ../../source/workflows/mangrove_mapping.rst:382 +msgid "**Asset path**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:237 +#: ../../source/workflows/mangrove_mapping.rst:683 +msgid "``projects/sat-io/open-datasets/GMW/extent/GMW_V3``" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:238 +#: ../../source/workflows/mangrove_mapping.rst:253 +#: ../../source/workflows/mangrove_mapping.rst:268 +#: ../../source/workflows/mangrove_mapping.rst:530 +msgid "**Band**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:239 +msgid "``b1`` (1 = mangrove, 0 = non-mangrove)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:240 +msgid "**Date filter**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:241 +msgid "2020-01-01 to 2020-12-31; select first image" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:242 +#: ../../source/workflows/mangrove_mapping.rst:257 +#: ../../source/workflows/mangrove_mapping.rst:270 +#: ../../source/workflows/mangrove_mapping.rst:388 +#: ../../source/workflows/mangrove_mapping.rst:534 +msgid "**Save as**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:243 +msgid "``GMW_2020_EEAsset``" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:246 +msgid "6.2 ESA WorldCover land cover — 2021" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:252 +#: ../../source/workflows/mangrove_mapping.rst:686 +msgid "``ESA/WorldCover/v200``" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:254 +msgid "``Map``" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:255 +msgid "**Mangrove class value**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:256 +msgid "95" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:258 +msgid "``WorldCover_2021_EEAsset``" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:261 +msgid "6.3 Digital elevation model (MERIT DEM)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:267 +#: ../../source/workflows/mangrove_mapping.rst:689 +msgid "``MERIT/DEM/v1_0_3``" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:269 +msgid "``dem``" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:271 +msgid "``MERIT_DEM_EEAsset``" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:273 +msgid "" +"The digital elevation model (DEM) provides an elevation constraint — " +"mangroves occupy low-lying intertidal zones, so pixels above 40 m " +"elevation are excluded from the high-confidence product in :ref:`Section " +"7 `." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:278 +msgid "7. Create the high-confidence mangrove reference map" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:280 +msgid "" +"This step converts the three global datasets into a single high-" +"confidence binary map of mangrove and non-mangrove, which is then used to" +" automatically generate training data for the local classification." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:282 +msgid "" +"If multiple independent global datasets agree that a pixel is mangrove " +"(or non-mangrove), confidence in that label is much higher than if only " +"one dataset indicates this. The elevation constraint further removes " +"unlikely mangrove locations." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:285 +msgid "Remapping rules" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:287 +msgid "In SEPAL, use the **Remapping** recipe with the following logic:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:293 +msgid "Output class" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:294 +msgid "Condition" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:295 +msgid "**Class 1 – Mangrove**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:296 +msgid "GMW ``b1`` = 1 **AND** WorldCover ``Map`` = 95 **AND** DEM ``dem`` < 40 m" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:297 +msgid "**Class 2 – Non-mangrove**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:298 +msgid "GMW ``b1`` = 0 **AND** WorldCover ``Map`` ≠ 95 **AND** DEM ``dem`` < 40 m" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:299 +msgid "*(No data)*" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:300 +msgid "Pixels that do not meet either condition are excluded" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:302 +msgid "**Output band:** ``class`` (1 = mangrove, 2 = non-mangrove)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:304 +msgid "**Save as:** ``Mangrove_HighConfidence_Remapping``" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:308 +msgid "" +"The DEM < 40 m filter restricts both mangrove and non-mangrove samples to" +" the intertidal zone, improving the relevance of the non-mangrove class " +"and avoiding confusion with upland forest." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:312 +msgid "" +"Use the divided interface (multi-view panel) to inspect the high-" +"confidence product against the optical and radar mosaics before " +"proceeding. Confirm that the mangrove extent looks reasonable for the " +"area." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:317 +msgid "8. Generate training data" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:319 +msgid "" +"With the high-confidence reference map produced, generate training data " +"automatically by stratified sampling — more efficiently and at greater " +"scale than manual digitising." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:321 +msgid "" +"In SEPAL, training data is generated within the **Classification** recipe" +" using the **Sample classification** option:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:323 +msgid "Open a new **Classification** recipe." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:324 +msgid "In the training data tab, select **Add** > **Sample classification**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:325 +msgid "" +"Set the sampling source to ``Mangrove_HighConfidence_Remapping`` (recipe " +"reference) or an exported GEE asset of the same (band: ``class``)." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:326 +msgid "Use balanced (stratified) sampling — equal numbers of samples per class." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:327 +msgid "Set a random seed for reproducibility." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:330 +msgid "Recommended sample sizes" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:336 +msgid "Area of interest" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:337 +msgid "Samples per class" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:338 +msgid "Small AOI" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:339 +msgid "300–800" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:340 +msgid "Subnational/national AOI" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:341 +msgid "1000–2000" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:342 +msgid "Very large or heterogeneous AOI" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:343 +msgid "5000–10000" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:345 +msgid "" +"After sampling, inspect the training points visually against the imagery " +"in the multi-view panel. If contaminated points are observed (e.g. " +"mangrove samples landing on water), resample or remove them before " +"running the classification." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:350 +msgid "9. Incorporate Google Satellite Embeddings (AlphaEarth Foundations)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:354 +msgid "" +"These are referred to as \"Alpha Earth Embeddings\" in some training " +"materials. They are now publicly available as the **Google Satellite " +"Embedding dataset**, powered by `AlphaEarth Foundations " +"`__ — a geospatial artificial " +"intelligence (AI) model developed by Google and Google DeepMind." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:357 +msgid "What are satellite embeddings?" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:359 +msgid "" +"Satellite embeddings are pre-computed, AI-generated feature vectors that " +"summarise multi-sensor, multi-temporal Earth observation data into a " +"compact representation. Each 10 m pixel is described by a 64-dimensional " +"embedding vector encoding a full year of observations from:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:362 +msgid "Landsat" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:363 +msgid "Sentinel-1 SAR" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:364 +msgid "Copernicus DEM (elevation)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:365 +msgid "ERA5 (climate)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:366 +msgid "GEDI LiDAR (vegetation structure)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:368 +msgid "Key advantages for mangrove mapping:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:370 +msgid "" +"**Fewer training samples needed** – embeddings encode rich spatial and " +"temporal context, reducing the labelled points required for accurate " +"classification;" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:371 +msgid "" +"**Cloud-robust** – embeddings summarise an entire year of acquisitions, " +"making them more robust to cloud contamination than single-date " +"composites;" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:372 +msgid "" +"**No deep learning infrastructure required** – pre-computed and analysis-" +"ready; compatible with SEPAL's built-in classifiers;" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:373 +msgid "" +"**Faster classification** – typically faster than classifying equivalent " +"optical and radar inputs separately; and" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:374 +msgid "**Temporal coverage** – annual embeddings available from 2017 onwards." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:377 +msgid "Loading embeddings as an EE Asset recipe" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:383 +#: ../../source/workflows/mangrove_mapping.rst:680 +msgid "``GOOGLE/SATELLITE_EMBEDDING/V1/ANNUAL``" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:384 +msgid "**Asset type**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:385 +msgid "ImageCollection — mosaic or select target year" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:386 +msgid "**Bands**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:387 +msgid "All 64 embedding bands" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:389 +msgid "``AlphaEarth_Embeddings_EEAsset``" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:393 +msgid "" +"Search for ``embeddings`` and select **Satellite Embeddings V1**, or " +"paste the asset path above." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:395 +msgid "" +"To confirm data is loading: open the **Menu** (☰) → select **+** → select" +" any band (e.g. ``Z00``) → select **Apply**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:396 +msgid "Save the recipe as ``AlphaEarth_Embeddings_EEAsset``." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:399 +msgid "When to use embeddings vs. optical/radar mosaics" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:401 +msgid "" +"Use **embeddings** when an annual classification is needed and good " +"results are required with limited training data or compute time. When " +"embeddings are used, optical and radar mosaics are **not** needed as " +"classifier inputs." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:402 +msgid "" +"Use **optical and radar mosaics** when classification at a specific sub-" +"annual time point is needed, or when within-year temporal detail is " +"important." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:403 +msgid "Both approaches can be combined if desired." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:407 +msgid "" +"`GEE Data Catalog: Satellite Embedding V1 `__" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:408 +msgid "" +"`GEE tutorial series: Introduction to Satellite Embeddings " +"`__" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:409 +msgid "Brown et al. (2025)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:414 +msgid "10. Classify mangroves" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:416 +msgid "" +"With training data and image inputs prepared, run the SEPAL " +"**Classification** recipe to produce a mangrove/non-mangrove map." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:419 +msgid "10.1 Set up the classification recipe" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:421 +msgid "Add a new recipe and select **Classification**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:422 +msgid "When asked which image to classify, choose one of the following:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:424 +msgid "" +"**Embeddings approach:** ``AlphaEarth_Embeddings_EEAsset`` only (do " +"**not** add optical or radar mosaics)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:425 +msgid "" +"**Optical/radar approach:** the optical mosaic recipe plus the radar " +"mosaic recipe" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:426 +msgid "**Combined approach:** embeddings plus optical and/or radar mosaics" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:429 +msgid "10.2 Select input bands" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:431 +msgid "For the **embeddings approach**, add all 64 embedding bands." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:433 +msgid "For the **optical/radar approach**, recommended bands are:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:435 +msgid "" +"Sentinel-2: B2, B3, B4, B5, B6, B7, B8, B8A, B11, B12, plus derived " +"indices (NDVI, NDMI, NDWI, Tasseled Cap)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:436 +msgid "Sentinel-1: VV mean, VH mean, VH standard deviation" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:439 +msgid "10.3 Define classification classes" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:441 +msgid "For mangrove mapping, a three-class legend is recommended:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:447 +msgid "Class" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:449 +msgid "Mangrove" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:450 +msgid "Mangrove forest" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:451 +msgid "Non-mangrove" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:452 +msgid "All other land cover" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:453 +msgid "Water" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:454 +msgid "Open water" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:456 +msgid "" +"Keep classes distinct — overlapping or ambiguous classes reduce " +"classification accuracy. Assign recognisable colours (e.g. green for " +"mangrove, blue for water)." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:459 +msgid "10.4 Add training data" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:461 +msgid "" +"Reference the ``Mangrove_HighConfidence_Remapping`` recipe (or exported " +"asset) generated in :ref:`Section 7 ` and sampled in " +":ref:`Section 8 `. In the training data tab, select " +"**Add** > **Sample classification**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:463 +msgid "" +"Add manual training points using the **Marker** icon if local knowledge " +"suggests corrections are needed." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:467 +msgid "" +"The classification updates in real time as training points are added or " +"modified, allowing the impact of each change to be seen immediately." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:470 +msgid "10.5 Configure the classifier" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:472 +msgid "SEPAL uses **Random Forest** by default. Recommended settings:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:478 +msgid "Parameter" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:479 +msgid "Recommended value" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:480 +msgid "Number of trees" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:481 +msgid "~300 (use 25 for exploration; increase for production)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:482 +msgid "Variables per split (mTry)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:483 +msgid "Default/auto" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:484 +msgid "Probability outputs" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:485 +msgid "Enable if available" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:488 +msgid "10.6 Interpret and refine results" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:490 +msgid "Use the **Menu** (☰) to switch between display bands:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:492 +msgid "**Class** – the final classified map (one class per pixel)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:493 +msgid "" +"**Mangrove percent** – the probability that each pixel belongs to the " +"mangrove class; more informative than the binary class map for " +"understanding model uncertainty" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:495 +msgid "To improve results, iterate by:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:497 +msgid "" +"tightening the high-confidence mask criteria in the **Remapping** recipe " +"(:ref:`Section 7 `) and resampling (:ref:`Section 8 " +"`);" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:498 +msgid "adding more training samples;" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:499 +msgid "increasing the number of Random Forest trees; or" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:500 +msgid "adjusting the input data stack." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:504 +msgid "" +"See :doc:`../cookbook/classification` for full instructions on the SEPAL " +"classification recipe." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:509 +msgid "11. Map above-ground biomass (optional)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:511 +msgid "" +"In addition to mangrove extent, SEPAL can produce wall-to-wall maps of " +"above-ground biomass (AGB) by combining point-based biomass measurements " +"with satellite embeddings using a **Regression** recipe." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:514 +msgid "11.1 Approach" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:516 +msgid "" +"Where biomass measurements are available (from field plots or GEDI " +"LiDAR), and where the 64 embedding bands are available, the known biomass" +" values can be statistically related to the embedding values and applied " +"to every pixel across the AOI — producing a continuous biomass estimate " +"map." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:519 +msgid "11.2 Option A – Using GEDI LiDAR data" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:521 +msgid "" +"The Global Ecosystem Dynamics Investigation (GEDI) is a full-waveform " +"LiDAR instrument on the International Space Station, capturing vegetation" +" height, canopy structure, and above-ground biomass density. GEDI data " +"are point samples rather than wall-to-wall, but can be used as training " +"data to produce a continuous biomass map." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:523 +msgid "To load GEDI L4A as an EE Asset recipe:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:528 +msgid "**Asset**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:529 +msgid "GEDI L4A Above Ground Biomass Density v2.1" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:531 +msgid "``AGBD`` (above-ground biomass density, Mg/ha)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:532 +msgid "**Visualisation**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:533 +msgid "Thermal colour palette, min = 0, max = ~194" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:535 +msgid "``GEDI_L4A_EEAsset``" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:537 +msgid "To run the biomass regression:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:539 +#: ../../source/workflows/mangrove_mapping.rst:564 +msgid "Add a new recipe and select **Regression**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:540 +#: ../../source/workflows/mangrove_mapping.rst:565 +msgid "Select ``AlphaEarth_Embeddings_EEAsset`` as the image (all 64 bands)." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:541 +msgid "In the training data tab, select **Add** > **Sample image**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:542 +msgid "" +"Select ``GEDI_L4A_EEAsset`` as the source, with ``AGBD`` as the target " +"band." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:543 +msgid "Set the number of samples (increase for production results)." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:544 +#: ../../source/workflows/mangrove_mapping.rst:569 +msgid "Select **Apply** and run." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:548 +msgid "" +"If the study area is changing rapidly, match the GEDI acquisition year to" +" the target image year. For more stable mangrove areas, using all " +"available GEDI data is acceptable." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:551 +msgid "11.3 Option B – Using field-collected AGB data" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:553 +msgid "" +"Field-collected plot data with geographic coordinates can be uploaded to " +"GEE as an asset table and used as training data in the **Regression** " +"recipe." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:555 +msgid "To upload field data to GEE:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:557 +msgid "In the GEE Code Editor, go to the **Assets** tab." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:558 +msgid "Select **New** > **CSV file**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:559 +msgid "Upload the data file — GEE handles reprojection automatically." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:560 +msgid "Note the asset ID from the asset details panel." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:562 +msgid "To run the regression using field data:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:566 +msgid "In the training data tab, select **Add** > **Earth Engine table**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:567 +msgid "Paste the field data table asset ID." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:568 +msgid "Select the AGB column as the target value band." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:572 +msgid "11.4 Interpreting biomass results" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:574 +#, python-format +msgid "" +"The regression produces a continuous map of estimated above-ground " +"biomass (Mg/ha). Results improve significantly with more training samples" +" and more trees in the Random Forest model. Consider reserving 20–30% of " +"samples for independent validation." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:579 +msgid "12. Detect change using CCDC" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:581 +msgid "" +"To map mangrove loss or gain over time, this workflow uses the Continuous" +" Change Detection and Classification (CCDC) algorithm (Zhu and Woodcock, " +"2014). CCDC fits a time-series model to each pixel using all available " +"satellite observations and detects structural breaks — making it well " +"suited to detecting mangrove conversion events." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:584 +msgid "12.1 Create a CCDC asset" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:586 +msgid "Add a new recipe and select **CCDC Asset**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:587 +msgid "Define the AOI and date range." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:588 +msgid "Select input imagery (Sentinel-2 and/or Landsat recommended)." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:589 +msgid "Run the recipe and save the result as a GEE asset." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:593 +msgid "" +"Pre-built CCDC assets for specific study areas may be shared by the SEPAL" +" team or colleagues as GEE asset links, avoiding the need to run this " +"computationally intensive step independently." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:597 +msgid "" +"See :doc:`../cookbook/ccdc_slice` for full instructions on creating a " +"CCDC asset." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:600 +msgid "12.2 Extract CCDC slices" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:602 +msgid "" +"A *CCDC slice* is a snapshot of the fitted time-series model at a " +"specific date — providing harmonised, cloud-free spectral values " +"consistent across dates. CCDC slices can be used:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:604 +msgid "" +"as additional input bands in the **Classification** recipe (:ref:`Section" +" 10 `) for improved accuracy using spatio-" +"temporal descriptors; or" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:605 +msgid "from two different dates to detect change between them." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:609 +msgid "" +"See :doc:`../cookbook/ccdc_slice` for full instructions on using CCDC " +"slices." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:612 +msgid "12.3 Run change detection" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:614 +msgid "**Option A – Index Change recipe (two-date comparison):**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:616 +msgid "Add a new recipe and select **Index Change**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:617 +msgid "Load CCDC slices from two target dates (e.g. 2015 and 2023)." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:618 +msgid "Run the recipe to produce a map of positive and negative spectral change." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:619 +msgid "Interpret positive and negative values as mangrove gain or loss." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:621 +msgid "**Option B – Near-real-time alert recipe:**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:623 +msgid "" +"SEPAL includes an alert recipe based on CCDC that compares the time-" +"series model to very recent observations (last few days to weeks), " +"enabling near-real-time detection of mangrove disturbance events for " +"operational monitoring." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:628 +msgid "13. Download and export results" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:631 +msgid "13.1 Export destinations" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:633 +msgid "" +"Select the **Download** button (cloud with arrow icon) in any recipe to " +"open the export dialog. Choose:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:635 +msgid "" +"**Bands to export** – e.g. ``class`` for a classified map, or " +"``mangrove_percent`` for a probability map;" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:636 +msgid "" +"**Scale** – spatial resolution in metres (e.g. 10 m for Sentinel-2 or " +"embeddings-based results); and" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:637 +msgid "**Destination:**" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:639 +msgid "" +"**Google Earth Engine asset** – exports to the GEE asset folder; " +"recommended for further analysis or sharing;" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:640 +msgid "**Google Drive** – exports to Google Drive for local download; or" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:641 +msgid "" +"**SEPAL workspace** – exports to the SEPAL workspace; use if running " +"further analysis inside SEPAL." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:644 +msgid "13.2 Monitor export tasks" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:646 +msgid "" +"After selecting **Retrieve**, a spinning icon appears on the purple task " +"button. A green check mark indicates completion. Monitor tasks in the GEE" +" Code Editor under the **Tasks** tab." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:649 +msgid "13.3 Upload data to GEE" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:651 +msgid "" +"To use local raster or vector data in SEPAL (e.g. field plots, " +"administrative boundaries, existing maps):" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:653 +msgid "In the GEE Code Editor, go to the **Assets** tab and select **New**." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:654 +msgid "Select the file type:" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:656 +msgid "**GeoTIFF** for raster data;" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:657 +msgid "" +"**Shapefile** – upload ``.shp``, ``.shx``, ``.dbf``, and ``.prj`` files " +"together; or" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:658 +msgid "**CSV** for tabular data with geographic coordinates." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:660 +msgid "GEE handles reprojection automatically." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:661 +msgid "" +"Copy the asset ID and use it in any SEPAL **EE Asset** recipe or training" +" data input." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:664 +msgid "Summary: recommended input data stack" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:670 +msgid "Layer" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:671 +msgid "Asset/source" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:672 +msgid "Purpose" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:673 +msgid "Optical mosaic (Medoid)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:674 +msgid "Sentinel-2 (B2–B12 + indices)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:675 +msgid "Spectral features (if not using embeddings)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:676 +msgid "Radar mosaic" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:677 +msgid "Sentinel-1 (VV mean, VH mean, VH STD)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:678 +msgid "Structural features (if not using embeddings)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:679 +msgid "Google Satellite Embeddings" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:681 +msgid "AI-derived multi-sensor features (64 bands)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:682 +msgid "Global Mangrove Watch v3" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:684 +msgid "Reference mangrove mask" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:685 +msgid "ESA WorldCover v2" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:687 +msgid "Reference land cover (mangrove class = 95)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:688 +msgid "MERIT DEM" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:690 +msgid "Elevation constraint (< 40 m)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:691 +msgid "High-confidence reference map" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:692 +msgid "Remapping recipe output" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:693 +msgid "Training data source" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:694 +msgid "GEDI L4A" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:695 +msgid "GEE catalog" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:696 +#: ../../source/workflows/mangrove_mapping.rst:699 +msgid "Biomass regression training (optional)" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:697 +msgid "Field AGB plots" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:698 +msgid "User-uploaded GEE table" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:700 +msgid "CCDC asset" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:701 +msgid "SEPAL CCDC Asset recipe" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:702 +msgid "Change detection" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:705 +msgid "Additional resources" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:711 +msgid "Resource" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:712 +msgid "Link" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:713 +msgid "SEPAL platform" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:714 +msgid "`sepal.io `__" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:715 +msgid "SEPAL documentation" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:716 +msgid "`docs.sepal.io `__" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:717 +msgid "SEPAL certified online course" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:718 +msgid "" +"`FAO SEPAL course `__" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:719 +msgid "FAO SEPAL brochure" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:720 +msgid "`fao.org/in-action/sepal `__" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:721 +msgid "Global Mangrove Watch v3.0" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:722 +msgid "" +"`JAXA GMW " +"`__" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:723 +msgid "ESA WorldCover" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:724 +msgid "`ESA WorldCover `__" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:725 +msgid "GEDI L4A AGB dataset" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:726 +msgid "" +"`GEDI L4A on GEE `__" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:727 +msgid "GEE Satellite Embeddings catalog" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:728 +msgid "" +"`GEE Data Catalog `__" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:729 +msgid "AlphaEarth Foundations" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:730 +msgid "" +"`Google DeepMind blog `__" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:731 +msgid "Contact" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:732 +msgid "sepal@fao.org" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:735 +msgid "References" +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:737 +msgid "" +"Brown, C.F., Kazmierski, M.R., Pasquarella, V.J., et al. 2025. AlphaEarth" +" Foundations: An embedding field model for accurate and efficient global " +"mapping from sparse label data. *arXiv preprint* arXiv:2507.22291." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:739 +msgid "" +"Simard, M., Fatoyinbo, L., Smetanka, C., Rivera-Monroy, V.H., Castañeda-" +"Moya, E., Thomas, N. and Van der Stocken, T. 2019. Mangrove canopy height" +" globally related to precipitation, temperature and cyclone frequency. " +"*Nature Geoscience*, 12: 40–45." +msgstr "" + +#: ../../source/workflows/mangrove_mapping.rst:741 +msgid "" +"Zhu, Z. and Woodcock, C.E. 2014. Continuous change detection and " +"classification of land cover using all available Landsat data. *Remote " +"Sensing of Environment*, 144: 152–171." +msgstr "" + diff --git a/docs/source/_locale/zh/LC_MESSAGES/workflows/proms.po b/docs/source/_locale/zh/LC_MESSAGES/workflows/proms.po new file mode 100644 index 0000000000..f3e550e6d1 --- /dev/null +++ b/docs/source/_locale/zh/LC_MESSAGES/workflows/proms.po @@ -0,0 +1,456 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2020-2026, the SEPAL development team +# This file is distributed under the same license as the SEPAL package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SEPAL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-23 10:07+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: zh\n" +"Language-Team: zh \n" +"Plural-Forms: nplurals=1; plural=0;\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../source/workflows/proms.rst:2 +msgid "Probability Map Subtraction (PROMS)" +msgstr "" + +#: ../../source/workflows/proms.rst:5 +msgid "Overview" +msgstr "" + +#: ../../source/workflows/proms.rst:7 +msgid "" +"This tutorial provides a step-by-step guide to estimate forest change " +"areas between two dates using an improved area estimation technique. The " +"method leverages a statistically optimized stratification of forest and " +"forest change areas using continuous probability layers and sample " +"allocation." +msgstr "" + +#: ../../source/workflows/proms.rst:17 +msgid "In lighter green optional data and steps." +msgstr "" + +#: ../../source/workflows/proms.rst:21 +msgid "Workflow Steps" +msgstr "" + +#: ../../source/workflows/proms.rst:24 +msgid "Input Data Collection for Time 1 and Time 2" +msgstr "" + +#: ../../source/workflows/proms.rst:25 +msgid "" +"Training data on Stable Forest and Stable Non-Forest between Time 1 And " +"Time 2" +msgstr "" + +#: ../../source/workflows/proms.rst:26 +msgid "Forest Probability Classification at Time 1 and Time 2" +msgstr "" + +#: ../../source/workflows/proms.rst:27 +msgid "Forest Change Probability Calculation" +msgstr "" + +#: ../../source/workflows/proms.rst:28 +msgid "Inclusive Forest Mask Application (Optional)" +msgstr "" + +#: ../../source/workflows/proms.rst:29 +msgid "Stratification" +msgstr "" + +#: ../../source/workflows/proms.rst:30 +msgid "Sample Allocation" +msgstr "" + +#: ../../source/workflows/proms.rst:31 +msgid "Sample Interpretation and analysis" +msgstr "" + +#: ../../source/workflows/proms.rst:35 +msgid "Summary Approach" +msgstr "" + +#: ../../source/workflows/proms.rst:37 +msgid "" +"In this tutorial, we will demonstrate the methodology applied to the " +"region of Alto Paraguay, aiming to estimate the forest change area " +"between the years 2018 (Time 1) and 2020 (Time 2)." +msgstr "" + +#: ../../source/workflows/proms.rst:40 +msgid "Step 1: Input Data" +msgstr "" + +#: ../../source/workflows/proms.rst:42 +msgid "" +"The first step is to select the input imagery for classification. A " +"minimum of one type of data source is required; however, for optimal " +"classification results, a combination of sensors is recommended. The " +"selection depends on data availability and quality for your study area. " +"To capture changes occurring between Time 1 and Time 2, it is recommended" +" to create annual composites for one year before and one year after each " +"respective time point. This approach includes all possible changes that " +"occurred during Time 1 and Time 2." +msgstr "" + +#: ../../source/workflows/proms.rst:45 +msgid "SEPAL Tools for Image Combination:" +msgstr "" + +#: ../../source/workflows/proms.rst:47 +msgid "" +"SEPAL offers several tools to combine images from several sensors into " +"single raster:" +msgstr "" + +#: ../../source/workflows/proms.rst:49 +msgid "" +"**Optical Mosaics**: For creating optical mosaics, refer to the `Optical " +"Mosaics tool " +"`__." +msgstr "" + +#: ../../source/workflows/proms.rst:50 +msgid "" +"**Radar Mosaics**: For creating radar mosaics, use the `Radar Mosaics " +"tool `__." +msgstr "" + +#: ../../source/workflows/proms.rst:51 +msgid "" +"**Planet Mosaic**: For creating optical mosaics with high-resolution " +"imagery, see the `Planet Mosaic tool " +"`__." +msgstr "" + +#: ../../source/workflows/proms.rst:53 +msgid "" +"For areas with seasonal vegetation variations (e.g., dry forests), " +"consider using Continuous Change Detection and Classification (CCDC). " +"Refer to `CCDC Asset Creation " +"`__ for" +" more information." +msgstr "" + +#: ../../source/workflows/proms.rst:56 +msgid "Case Study Data Preparation:" +msgstr "" + +#: ../../source/workflows/proms.rst:58 +msgid "In our case study, we created:" +msgstr "" + +#: ../../source/workflows/proms.rst:60 +msgid "Planet Mosaics, Sentinel-1 Time Scans, Sentinel-2 Mosaics in SEPAL." +msgstr "" + +#: ../../source/workflows/proms.rst:61 +msgid "" +"ALOS-2 Time Scans in Google Earth Engine (`Link to Script " +"`__)" +msgstr "" + +#: ../../source/workflows/proms.rst:63 +msgid "" +"These datasets were prepared for both years 2017 and 2021 (one year " +"before and one year after Time 1 and Time 2, respectively)." +msgstr "" + +#: ../../source/workflows/proms.rst:71 +msgid "Step 2: Training Data" +msgstr "" + +#: ../../source/workflows/proms.rst:73 +msgid "" +"Create training data on the presence and absence of forest for your " +"period of interest. Depending on availability, training data can be " +"sourced from:" +msgstr "" + +#: ../../source/workflows/proms.rst:75 +msgid "**Existing Maps**: Extract samples from global or regional forest maps." +msgstr "" + +#: ../../source/workflows/proms.rst:76 +msgid "**Field Data**: Use ground-truth data collected from field surveys." +msgstr "" + +#: ../../source/workflows/proms.rst:77 +msgid "**Other Sources**: Extract samples from datasets like GEDI or GLANCE." +msgstr "" + +#: ../../source/workflows/proms.rst:80 +msgid "Step 3: Forest Probability Classification" +msgstr "" + +#: ../../source/workflows/proms.rst:82 +msgid "" +"Obtain forest probability maps for Time 1 and Time 2 through supervised " +"classification of your input data, using training data on forest and non-" +"forest classes. It is preferable to use stable samples from the period " +"between Time 1 and Time 2." +msgstr "" + +#: ../../source/workflows/proms.rst:85 +msgid "Using SEPAL's Classification Tool:" +msgstr "" + +#: ../../source/workflows/proms.rst:87 +msgid "" +"SEPAL offers a user-friendly `Classification tool " +"`__ for " +"building supervised classifications." +msgstr "" + +#: ../../source/workflows/proms.rst:90 ../../source/workflows/proms.rst:215 +#: ../../source/workflows/proms.rst:256 +msgid "Case Study Implementation:" +msgstr "" + +#: ../../source/workflows/proms.rst:92 +msgid "" +"Auxiliary Data: Added terrain data from the `MERIT Digital Elevation " +"Model `__ to the " +"mosaic stack for both years. Classifier: Used a Random Forest Classifier " +"in probability output mode. Output: Generated forest probability maps for" +" 2017 and 2021." +msgstr "" + +#: ../../source/workflows/proms.rst:96 +msgid "" +"If the number of samples that changed class between Time 1 and Time 2 is " +"small relative to the total number, it won’t significantly affect Random " +"Forest results due to its multiple decision trees and bootstrapping " +"method." +msgstr "" + +#: ../../source/workflows/proms.rst:103 +msgid "Step 4: Forest Change Probability Calculation" +msgstr "" + +#: ../../source/workflows/proms.rst:105 +msgid "" +"Calculate the forest change probability map by finding the difference " +"between the forest probability maps of Time 1 and Time 2." +msgstr "" + +#: ../../source/workflows/proms.rst:108 +msgid "Using SEPAL's Band Math Tool:" +msgstr "" + +#: ../../source/workflows/proms.rst:110 +msgid "" +"The `Band Math tool " +"`__ allows for " +"mathematical operations on images from SEPAL or Google Earth Engine." +msgstr "" + +#: ../../source/workflows/proms.rst:113 +msgid "Case Study Calculation:" +msgstr "" + +#: ../../source/workflows/proms.rst:115 +msgid "" +"Operation: Subtracted the forest probability band (probability_1) of the " +"2021 image from the 2017 image as an absolute value." +msgstr "" + +#: ../../source/workflows/proms.rst:116 +msgid "" +"Result: High values indicate a high probability of forest change, both " +"possible ‘forest losses’ and ‘forest gains’; low values indicate " +"stability." +msgstr "" + +#: ../../source/workflows/proms.rst:124 +msgid "For Multiple Monitoring Dates:" +msgstr "" + +#: ../../source/workflows/proms.rst:126 +msgid "" +"When intermediate dates are available, calculate the maximum forest " +"change probability:" +msgstr "" + +#: ../../source/workflows/proms.rst:140 +#, python-brace-format +msgid "" +"\\text{Max Change Probability} = \\max(\\text{probabilities over all " +"dates}) - \\min(\\text{probabilities over all dates})\n" +"\n" +msgstr "" + +#: ../../source/workflows/proms.rst:147 +msgid "With only two dates:" +msgstr "" + +#: ../../source/workflows/proms.rst:149 +#, python-brace-format +msgid "" +"\\text{Change Probability} = |\\text{Probability at Time 1} - " +"\\text{Probability at Time 2}|\n" +"\n" +msgstr "" + +#: ../../source/workflows/proms.rst:157 +msgid "Step 5: Inclusive Forest Mask Application (optional)" +msgstr "" + +#: ../../source/workflows/proms.rst:159 +msgid "" +"Apply a ‘forest mask’ to exclude areas with very low forest probability, " +"focusing the stratification on relevant areas." +msgstr "" + +#: ../../source/workflows/proms.rst:163 +msgid "" +"This mask should not be regarded as a commonly used forest mask but " +"rather as a highly conservative one, designed to include all areas where " +"forest could potentially exist at both Time 1 and Time 2, while excluding" +" areas where forest is definitively absent, such as deserts, croplands, " +"or built-up areas, especially when these categories constitute a " +"significant portion of the total area)." +msgstr "" + +#: ../../source/workflows/proms.rst:166 +msgid "Using SEPAL’s Band Math Tool:" +msgstr "" + +#: ../../source/workflows/proms.rst:168 +msgid "" +"Calculate Maximum Forest Probability: Use the Band Math tool to find the " +"maximum probability across all dates (Time 1 and Time 2 in the case " +"study)." +msgstr "" + +#: ../../source/workflows/proms.rst:172 +msgid "Using SEPAL’s Remapping Tool:" +msgstr "" + +#: ../../source/workflows/proms.rst:174 +msgid "" +"Remap Values: With the Remapping tool, classify areas as 'forest' where " +"the maximum forest probability exceeds a specified threshold, and mask " +"out areas that fall below this threshold." +msgstr "" + +#: ../../source/workflows/proms.rst:182 +msgid "Case study implementation:" +msgstr "" + +#: ../../source/workflows/proms.rst:184 +msgid "" +"In our case study we used a 10% maximum forest probability threshold that" +" masked out cropland areas." +msgstr "" + +#: ../../source/workflows/proms.rst:188 +msgid "Using SEPAL’s Masking Tool:" +msgstr "" + +#: ../../source/workflows/proms.rst:190 +msgid "" +"Apply Mask: Use the Masking tool to apply the ‘forest mask’ to the forest" +" change probability layer." +msgstr "" + +#: ../../source/workflows/proms.rst:200 +msgid "Step 6: Stratification" +msgstr "" + +#: ../../source/workflows/proms.rst:203 +msgid "" +"Convert the continuous forest change probability map into a categorical " +"map using the SEPAL's `Unsupervised Classification tool " +"`__" +" tool to create a stratification layer." +msgstr "" + +#: ../../source/workflows/proms.rst:207 +msgid "Using SEPAL’s Unsupervised Classification tool" +msgstr "" + +#: ../../source/workflows/proms.rst:210 +msgid "" +"**Sampling**: Number of Samples: Use a high number (e.g., 100,000) for " +"better representation, especially when areas with high forest change " +"probability are small. Sampling Scale: Consider the forest definition " +"(e.g., 70 meters aligning with a 0.5-hectare MMU)." +msgstr "" + +#: ../../source/workflows/proms.rst:211 +msgid "" +"**Clusterer**: Algorithm: Use the k-means algorithm. Number of Clusters: " +"Five classes are recommended (Kozak, 2011)." +msgstr "" + +#: ../../source/workflows/proms.rst:217 +msgid "" +"Samples: 100,000 samples to train the clusterer. Sampling Scale: 70 " +"meters." +msgstr "" + +#: ../../source/workflows/proms.rst:225 +msgid "Apply to Forest Areas Only:" +msgstr "" + +#: ../../source/workflows/proms.rst:227 +msgid "" +"The stratification could be applied exclusively to areas where forest " +"could potentially exist during the period of interest (both stable and " +"changing) using the masked forest change probability map as input image." +msgstr "" + +#: ../../source/workflows/proms.rst:235 +msgid "Step 7: Sample allocation" +msgstr "" + +#: ../../source/workflows/proms.rst:237 +msgid "" +"Select the sample points for interpretation on the stratification layer " +"using Neyman's method. The samples are optimally distributed according to" +" the variability and area of each stratum:" +msgstr "" + +#: ../../source/workflows/proms.rst:239 +msgid "" +":math:`n_h = \\left( \\frac{\\text{sd} \\cdot \\text{área del " +"estrato}}{\\sum (\\text{sd} \\cdot \\text{área})} \\right) \\cdot " +"\\text{targetSampleSize}`" +msgstr "" + +#: ../../source/workflows/proms.rst:242 +msgid "Using Google Earth Engine" +msgstr "" + +#: ../../source/workflows/proms.rst:244 +msgid "" +"The sample allocation can be applied either to the unmasked " +"stratification layer (as shown in the image above) or to the masked " +"stratification layer (as depicted in the image below)." +msgstr "" + +#: ../../source/workflows/proms.rst:258 +msgid "Total number of samples to select: 3000. Spatial resolution: 70m." +msgstr "" + +#: ../../source/workflows/proms.rst:261 +msgid "Step 8: Sample interpretation and analysis" +msgstr "" + +#: ../../source/workflows/proms.rst:263 +msgid "Estimate the forest change area." +msgstr "" + diff --git a/docs/source/modules/dwn/bfast_r.rst b/docs/source/modules/dwn/bfast_r.rst index 01226f482d..ed0317b0bb 100644 --- a/docs/source/modules/dwn/bfast_r.rst +++ b/docs/source/modules/dwn/bfast_r.rst @@ -26,7 +26,7 @@ In the introduction section: the **Welcome**, **Intro to BFAST** and **Parameter The application is only currently available in English. French and Spanish translations will be available soon. If you are interested in translating the application into another language, contact remi.dannunzio@fao.org or yelena.finegold@fao.org -.. thumbnail:: https://raw.githubusercontent.com/12rambau/bfastspatial/master/www/tutorial/img/introduction.png +.. thumbnail:: https://raw.githubusercontent.com/sepal-contrib/bfastspatial/master/www/tutorial/img/introduction.png :group: bfastspatial Download the test dataset @@ -34,7 +34,7 @@ Download the test dataset If this is your first time using the time series analysis tool, the SEPAL team highly recommends using the example dataset first. This will help you understand the logic and parameters of the analysis with already well-prepared data; afterwards, you can apply it to your own data. The example dataset can be downloaded in the **Download test data** tab. -.. thumbnail:: https://raw.githubusercontent.com/12rambau/bfastspatial/master/www/tutorial/img/test_download.png +.. thumbnail:: https://raw.githubusercontent.com/sepal-contrib/bfastspatial/master/www/tutorial/img/test_download.png :group: bfastspatial Select :guilabel:`Download test dataset`. The data is downloaded into the :code:`bfast_data_test` folder in your root directory. The file location and information about the download will appear in the lower-right corner. @@ -44,30 +44,30 @@ Run time series analysis Select the **Process** tab in the left column. -.. thumbnail:: https://raw.githubusercontent.com/12rambau/bfastspatial/master/www/tutorial/img/process_tab.png +.. thumbnail:: https://raw.githubusercontent.com/sepal-contrib/bfastspatial/master/www/tutorial/img/process_tab.png :group: bfastspatial First, select the **Time series** folder. Select the **Time series** folder button to navigate to the folder with your downloaded data (either downloaded from the **SEPAL search option** or the **Test dataset**). Select the whole **Time series** folder in your download folder. If your area of interest (AOI) had different features, the application will ask you to select which one you want to process (you can select one, some of them, or all of them) (see the example below with 140 distinct features). -.. thumbnail:: https://raw.githubusercontent.com/12rambau/bfastspatial/master/www/tutorial/img/select_ts.png +.. thumbnail:: https://raw.githubusercontent.com/sepal-contrib/bfastspatial/master/www/tutorial/img/select_ts.png :group: bfastspatial -.. thumbnail:: https://raw.githubusercontent.com/12rambau/bfastspatial/master/www/tutorial/img/select_ts_tile.png +.. thumbnail:: https://raw.githubusercontent.com/sepal-contrib/bfastspatial/master/www/tutorial/img/select_ts_tile.png :group: bfastspatial There is an option to apply a mask and run **BFAST** only on areas inside the mask. You can select a file with 0 and 1 values (0 values will be excluded and 1 included in the computation). -.. thumbnail:: https://raw.githubusercontent.com/12rambau/bfastspatial/master/www/tutorial/img/select_mask.png +.. thumbnail:: https://raw.githubusercontent.com/sepal-contrib/bfastspatial/master/www/tutorial/img/select_mask.png :group: bfastspatial If you would like to use a mask, select the **FNF mask**. Then, select the raster file by selecting the **forest/non-forest mask** button and navigating to and selecting the mask file. -.. thumbnail:: https://raw.githubusercontent.com/12rambau/bfastspatial/master/www/tutorial/img/fnf_mask.png +.. thumbnail:: https://raw.githubusercontent.com/sepal-contrib/bfastspatial/master/www/tutorial/img/fnf_mask.png :group: bfastspatial -.. thumbnail:: https://raw.githubusercontent.com/12rambau/bfastspatial/master/www/tutorial/img/browse_mask.png +.. thumbnail:: https://raw.githubusercontent.com/sepal-contrib/bfastspatial/master/www/tutorial/img/browse_mask.png :group: bfastspatial Next, change the **Parameters** for your study area. At this stage, the BFAST Explorer described in **Section 2** can be very useful. You can use it to understand seasonal and interannual patterns of the land cover that you are analysing over your study area. You can do this over several pixels to have a better idea. @@ -76,7 +76,7 @@ Next, change the **Parameters** for your study area. At this stage, the BFAST Ex Remember that this module will define a historical period and a monitoring period, so it corresponds to the option “bfastmonitor” in the **BFAST Explorer** module. -.. thumbnail:: https://raw.githubusercontent.com/12rambau/bfastspatial/master/www/tutorial/img/parameters.png +.. thumbnail:: https://raw.githubusercontent.com/sepal-contrib/bfastspatial/master/www/tutorial/img/parameters.png :group: bfastspatial The parameters include: @@ -112,19 +112,19 @@ The parameters include: Once you have decided on your parameters, run BFAST by selecting the **Launch BFAST calculation** button in the **Results** box. -.. thumbnail:: https://raw.githubusercontent.com/12rambau/bfastspatial/master/www/tutorial/img/launch.png +.. thumbnail:: https://raw.githubusercontent.com/sepal-contrib/bfastspatial/master/www/tutorial/img/launch.png :group: bfastspatial Depending on the size of your area and the size of your instance, BFAST can take a long time run. It is not necessary to keep this application open for the results to be created; it is only necessary to make sure that the instance is running. -.. thumbnail:: https://raw.githubusercontent.com/12rambau/bfastspatial/master/www/tutorial/img/log.png +.. thumbnail:: https://raw.githubusercontent.com/sepal-contrib/bfastspatial/master/www/tutorial/img/log.png :group: bfastspatial If your AOI has multiple polygons and contains many numeric folders, it will run the BFAST calculation for each of the folders recursively. If you are running a large area or have a weak internet connection, which might cause the application to disconnect, you can go to your **User resources** in SEPAL and set the amount of time your session should stay open (see following image), which allows you to shut down SEPAL without stopping the calculation. -.. thumbnail:: https://raw.githubusercontent.com/12rambau/bfastspatial/master/www/tutorial/img/instance.png +.. thumbnail:: https://raw.githubusercontent.com/sepal-contrib/bfastspatial/master/www/tutorial/img/instance.png :group: bfastspatial .. tip:: @@ -133,7 +133,7 @@ If you are running a large area or have a weak internet connection, which might If you have a small study area or have the time, you can wait for the algorithm to finish running and view one of the outputs: the thresholded magnitude. -.. thumbnail:: https://raw.githubusercontent.com/12rambau/bfastspatial/master/www/tutorial/img/finished.png +.. thumbnail:: https://raw.githubusercontent.com/sepal-contrib/bfastspatial/master/www/tutorial/img/finished.png :group: bfastspatial When the calculation is complete, you will see the text: :code:`Done processing!!! Click on DISPLAY THE RESULTS`. Select the :guilabel:`Display BFAST results from this session` button to display the thresholded magnitude. @@ -142,7 +142,7 @@ By default, the output from BFAST includes 3 bands: the **breakpoint**, **magnit An additional output is calculated in this application, which is the **thresholded magnitude**. The thresholded magnitude is calculated using the magnitude output, calculating the mean magnitude value over the AOI and applying thresholds of up to +/- 4 standard deviations from the mean. This layer indicates the positive or negative intensity of change of each pixel. Above 2 standard deviations, you can interpret that a change has certainly occurred compared to the historical period modelled. -.. thumbnail:: https://raw.githubusercontent.com/12rambau/bfastspatial/master/www/tutorial/img/preview.png +.. thumbnail:: https://raw.githubusercontent.com/sepal-contrib/bfastspatial/master/www/tutorial/img/preview.png :group: bfastspatial .. note:: @@ -155,27 +155,27 @@ Here are some examples of how layers can be displayed: BFAST was computed over the following area in Indonesia over the years 2013–2019 (the years 2013–2016 were used as the historical period and 2016–2019 as the monitoring period). -.. thumbnail:: https://raw.githubusercontent.com/12rambau/bfastspatial/master/www/tutorial/img/result_rgb.png +.. thumbnail:: https://raw.githubusercontent.com/sepal-contrib/bfastspatial/master/www/tutorial/img/result_rgb.png :group: bfastspatial **Band_1** shows the date when the breakpoint was detected. The output is stored as a decimal date. -.. thumbnail:: https://raw.githubusercontent.com/12rambau/bfastspatial/master/www/tutorial/img/result_band_1.png +.. thumbnail:: https://raw.githubusercontent.com/sepal-contrib/bfastspatial/master/www/tutorial/img/result_band_1.png :group: bfastspatial **Band_2** shows the BFAST magnitude of change (in this case, the mean of the cumulative increase or decrease of NDMI since the monitoring period started). It would indicate pixels where vegetation has become wetter or drier. The values can be considered as relative changes, where units are related to the average deviation from the trend of NDMI. -.. thumbnail:: https://raw.githubusercontent.com/12rambau/bfastspatial/master/www/tutorial/img/result_band_2.png +.. thumbnail:: https://raw.githubusercontent.com/sepal-contrib/bfastspatial/master/www/tutorial/img/result_band_2.png :group: bfastspatial **Band_3** shows the errors (pixels where the algorithm did not locate enough data to compute the trends). -.. thumbnail:: https://raw.githubusercontent.com/12rambau/bfastspatial/master/www/tutorial/img/result_band_3.png +.. thumbnail:: https://raw.githubusercontent.com/sepal-contrib/bfastspatial/master/www/tutorial/img/result_band_3.png :group: bfastspatial Finally, you will find an additional layer called **Threshold**. The thresholded magnitude is calculated using the magnitude output, calculating the mean magnitude value over the AOI and applying thresholds of up to +/- 4 standard deviations from the mean. The layer is a thematic, classification map which has values ranging from 0–10, corresponding to the legend below (you can see how to name them in the following figure). -.. thumbnail:: https://raw.githubusercontent.com/12rambau/bfastspatial/master/www/tutorial/img/result_sigma.png +.. thumbnail:: https://raw.githubusercontent.com/sepal-contrib/bfastspatial/master/www/tutorial/img/result_sigma.png :group: bfastspatial diff --git a/docs/source/modules/dwn/seplan.rst b/docs/source/modules/dwn/seplan.rst index df7bf2b3f3..2b2bc81a8e 100644 --- a/docs/source/modules/dwn/seplan.rst +++ b/docs/source/modules/dwn/seplan.rst @@ -1088,6 +1088,11 @@ This tool has been developed by FAO in close collaboration with the Spatial Info :alt: sig-gis_logo :height: 130 +.. image:: https://raw.githubusercontent.com/12rambau/restoration_planning_module/master/utils/light/SilvaCarbon.png + :target: https://www.silvacarbon.org + :class: ma-1 + :alt: silvacarbon_logo + :height: 100 .. image:: https://raw.githubusercontent.com/12rambau/restoration_planning_module/master/utils/light/MAFF.png :target: https://www.maff.go.jp/e/