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..915b7f828d --- /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-02 08:36+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..2b41258237 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-02 08:36+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..33c8badb38 --- /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-02 08:36+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/optical_mosaic.po b/docs/source/_locale/ar/LC_MESSAGES/cookbook/optical_mosaic.po index bccd5de45b..964b037e1a 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-02 08:36+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..de6107294b 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-02 08:36+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..800840851f --- /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-02 08:36+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..5d827ad637 --- /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-02 08:36+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..664ff3c3ee --- /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-02 08:36+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..752f7aec5d --- /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-02 08:36+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..4d44133025 --- /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-02 08:36+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..21fffaf0e2 --- /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-02 08:36+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..14f677a7f3 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-02 08:36+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..f25b61ca29 --- /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-02 08:36+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..99dcd4f3b8 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-02 08:36+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..0446292a58 --- /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-02 08:36+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..3d45c7ee9f --- /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-02 08:36+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..f9de8a50c0 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-02 08:36+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..9b176f02c6 --- /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-02 08:36+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..729e33c0ac --- /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-02 08:36+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..0f8cd966bc --- /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-02 08:36+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..5b1fddf577 --- /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-02 08:36+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..2c68105a79 --- /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-02 08:36+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..d18067c68e 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-02 08:36+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..2f23ae6321 --- /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-02 08:36+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/optical_mosaic.po b/docs/source/_locale/en/LC_MESSAGES/cookbook/optical_mosaic.po index 265a37cd95..d30125235f 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-02 08:36+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..c33a194906 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-02 08:36+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..5954ae76ab --- /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-02 08:36+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..73f2cdab89 --- /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-02 08:36+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..9f493e7310 --- /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-02 08:36+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..3c0d0f6d6f --- /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-02 08:36+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..3d0f9b13a7 --- /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-02 08:36+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..45e8aba3b3 --- /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-02 08:36+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..9f52a190ec 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-02 08:36+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..f285b80b67 --- /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-02 08:36+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..5105c8f081 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-02 08:36+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..02e0b0953c --- /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-02 08:36+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..2cad5d88ac --- /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-02 08:36+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..3eadee4c0e 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-02 08:36+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..5e73844198 --- /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-02 08:36+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..2e17d0e1f2 --- /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-02 08:36+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..2734bfe8e4 --- /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-02 08:36+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..322aa93a02 --- /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-02 08:36+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..5231bef9f2 --- /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-02 08:36+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..898cb6d84a 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-02 08:36+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..78aa8fea28 --- /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-02 08:36+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/optical_mosaic.po b/docs/source/_locale/es/LC_MESSAGES/cookbook/optical_mosaic.po index 727511d74e..710627495b 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-02 08:36+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..2cc2ef4ba5 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-02 08:36+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..d9f439ae2b --- /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-02 08:36+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..c139011a67 --- /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-02 08:36+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..d61604949d --- /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-02 08:36+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..3bfc484d13 --- /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-02 08:36+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..e17e2df1f3 --- /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-02 08:36+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..e715b5c3b0 --- /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-02 08:36+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..aa874b5382 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-02 08:36+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..e0eca3d03b --- /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-02 08:36+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..06fa5e030a 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-02 08:36+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..5ec469ecdb --- /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-02 08:36+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..9ddaa3a72a --- /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-02 08:36+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..ecfdd950c4 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-02 08:36+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..29d1c470c0 --- /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-02 08:36+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..858a25adf6 --- /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-02 08:36+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..244cc0c302 --- /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-02 08:36+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..ab175da6c1 --- /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-02 08:36+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..834c1bd933 --- /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-02 08:36+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..65c4ff9cf5 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-02 08:36+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..b9fdd1735c --- /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-02 08:36+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/optical_mosaic.po b/docs/source/_locale/fr/LC_MESSAGES/cookbook/optical_mosaic.po index 37cdf481f7..3a90ed3ad1 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-02 08:36+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..b8f1435264 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-02 08:36+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..811213f566 --- /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-02 08:36+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..310222e93c --- /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-02 08:36+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..97a635cb45 --- /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-02 08:36+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..cf3e02c408 --- /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-02 08:36+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..d533925cac --- /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-02 08:36+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..c0636e3bda --- /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-02 08:36+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..0991426d57 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-02 08:36+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..13ecbc8771 --- /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-02 08:36+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..7294c8f44c 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-02 08:36+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..d52c0dce09 --- /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-02 08:36+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..8594349210 --- /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-02 08:36+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..b89b2a3d58 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-02 08:36+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..9ef4d1de8c --- /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-02 08:36+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..98753c3d13 --- /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-02 08:36+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..98154adcc2 --- /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-02 08:36+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..8cbdde10e2 --- /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-02 08:36+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..3badb98654 --- /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-02 08:36+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..39f9e4c782 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-02 08:36+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..cf464bbf80 --- /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-02 08:36+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/optical_mosaic.po b/docs/source/_locale/it/LC_MESSAGES/cookbook/optical_mosaic.po index 46a9b424e1..e121ab11c2 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-02 08:36+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..d85c4ddda6 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-02 08:36+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..c2401555cf --- /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-02 08:36+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..443a4d0ff9 --- /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-02 08:36+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..b9efba5d7e --- /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-02 08:36+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..1e76a22caa --- /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-02 08:36+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..d237aa6f0b --- /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-02 08:36+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..dfff19cad4 --- /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-02 08:36+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..be320290f2 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-02 08:36+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..99ee1c087f --- /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-02 08:36+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..7cf94ec34c 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-02 08:36+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..7aeaed7698 --- /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-02 08:36+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..9f34d08786 --- /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-02 08:36+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..8768e792ce 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-02 08:36+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..7a8cb25c8d --- /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-02 08:36+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..2c47f063fa --- /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-02 08:36+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..60cd079839 --- /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-02 08:36+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..52c1023bcf --- /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-02 08:36+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..473794bdd6 --- /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-02 08:36+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..b283596a2c 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-02 08:36+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..3ec503c83e --- /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-02 08:36+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/optical_mosaic.po b/docs/source/_locale/pt/LC_MESSAGES/cookbook/optical_mosaic.po index 75b9582caa..5379eae64c 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-02 08:36+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..023aa564f2 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-02 08:36+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..a06e3f2b8b --- /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-02 08:36+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..1ae0675dcb --- /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-02 08:36+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..badc16c7da --- /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-02 08:36+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..7ddd1767d2 --- /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-02 08:36+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..b483e8ad11 --- /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-02 08:36+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..3091291de9 --- /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-02 08:36+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..71b1b6da01 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-02 08:36+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..637c519805 --- /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-02 08:36+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..f8eae6264b 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-02 08:36+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..f3c32262e5 --- /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-02 08:36+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..9225975d7d --- /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-02 08:36+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..9145d4c108 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-02 08:36+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..88dbc71658 --- /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-02 08:36+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..66845cf44f --- /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-02 08:36+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..897af781e5 --- /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-02 08:36+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..aee460693d --- /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-02 08:36+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..cf23d40a82 --- /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-02 08:36+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..7b77064cb4 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-02 08:36+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..2104608e51 --- /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-02 08:36+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/optical_mosaic.po b/docs/source/_locale/ru/LC_MESSAGES/cookbook/optical_mosaic.po index b7fddc67d6..199041e4b7 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-02 08:36+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..dfc7921b26 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-02 08:36+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..f16a76752d --- /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-02 08:36+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..6bb7e9688b --- /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-02 08:36+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..e7fa7ecb0e --- /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-02 08:36+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..66b31190e4 --- /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-02 08:36+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..268e77dc99 --- /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-02 08:36+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..4824e9dcd6 --- /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-02 08:36+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..c17bbc5f18 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-02 08:36+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..8c4b506f60 --- /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-02 08:36+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..cf2438a84b 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-02 08:36+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..b54f3d894b --- /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-02 08:36+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..e787dbfebc --- /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-02 08:36+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..24b472f50f 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-02 08:36+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..3b71ca3d9a --- /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-02 08:36+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..cf8cd209e8 --- /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-02 08:36+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..67c5c29597 --- /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-02 08:36+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..c8a00025b3 --- /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-02 08:36+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..023e0cdb31 --- /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-02 08:36+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..bddd94da34 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-02 08:36+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..f4d4d2e151 --- /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-02 08:36+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/optical_mosaic.po b/docs/source/_locale/sv/LC_MESSAGES/cookbook/optical_mosaic.po index b77ab6c46d..a7afad5e62 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-02 08:36+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..ab9de77ce9 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-02 08:36+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..22ec5c76cc --- /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-02 08:36+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..56f7fdba89 --- /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-02 08:36+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..da3237c81f --- /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-02 08:36+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..b9ca5baf1e --- /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-02 08:36+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..140e37b68c --- /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-02 08:36+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..1d02fa741c --- /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-02 08:36+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..87626771c6 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-02 08:36+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..97ec74e2b1 --- /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-02 08:36+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..90b5351bc6 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-02 08:36+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..aa923f259d --- /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-02 08:36+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..c7132327dc --- /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-02 08:36+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..d49898a3d8 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-02 08:36+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..eb519da85a --- /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-02 08:36+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..99f9931e55 --- /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-02 08:36+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..13a2a530b6 --- /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-02 08:36+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..f7e67c09b0 --- /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-02 08:36+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..2a864d86db --- /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-02 08:36+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..4f177df9ea 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-02 08:36+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..eff83d6789 --- /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-02 08:36+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/optical_mosaic.po b/docs/source/_locale/zh/LC_MESSAGES/cookbook/optical_mosaic.po index 2eaa36048c..980b9a09b2 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-02 08:36+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..285e9ebaf2 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-02 08:36+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..776960f0a0 --- /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-02 08:36+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..f9bf09fa4d --- /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-02 08:36+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..c3f499a8c4 --- /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-02 08:36+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..2cd440779f --- /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-02 08:36+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..c3b13e5f8f --- /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-02 08:36+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..40016417f0 --- /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-02 08:36+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..7a1f5b06cc 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-02 08:36+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..932a871293 --- /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-02 08:36+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..73c013d381 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-02 08:36+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..0b1ba7abc4 --- /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-02 08:36+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..cb67bbc322 --- /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-02 08:36+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..2b5e54c1ac 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-02 08:36+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..c836d079d8 --- /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-02 08:36+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..353f6ea91b --- /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-02 08:36+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..459567c5e1 --- /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-02 08:36+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..0852eebc9d --- /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-02 08:36+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/