easy-eo 0.3.0__tar.gz → 0.4.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {easy_eo-0.3.0 → easy_eo-0.4.0}/.gitignore +6 -0
- {easy_eo-0.3.0 → easy_eo-0.4.0}/PKG-INFO +37 -9
- {easy_eo-0.3.0 → easy_eo-0.4.0}/README.md +34 -7
- {easy_eo-0.3.0 → easy_eo-0.4.0}/eeo/__init__.py +4 -2
- {easy_eo-0.3.0 → easy_eo-0.4.0}/eeo/core/core.pyi +5 -0
- {easy_eo-0.3.0 → easy_eo-0.4.0}/eeo/datasets/_registry.py +42 -3
- {easy_eo-0.3.0 → easy_eo-0.4.0}/eeo/datasets/_samples.py +6 -0
- {easy_eo-0.3.0 → easy_eo-0.4.0}/eeo/io/__init__.py +6 -2
- easy_eo-0.4.0/eeo/io/_archive.py +392 -0
- easy_eo-0.4.0/eeo/io/_bands.py +417 -0
- easy_eo-0.4.0/eeo/io/_landsat.py +439 -0
- easy_eo-0.4.0/eeo/io/_sentinel2.py +458 -0
- easy_eo-0.4.0/eeo/io/_stacking.py +242 -0
- easy_eo-0.4.0/eeo/io/products.py +413 -0
- {easy_eo-0.3.0 → easy_eo-0.4.0}/eeo/io/stac.py +7 -140
- {easy_eo-0.3.0 → easy_eo-0.4.0}/eeo/io/xarray.py +3 -1
- {easy_eo-0.3.0 → easy_eo-0.4.0}/eeo/preprocessing/resample.py +13 -1
- {easy_eo-0.3.0 → easy_eo-0.4.0}/eeo/viz/plot.py +68 -11
- {easy_eo-0.3.0 → easy_eo-0.4.0}/pyproject.toml +8 -1
- {easy_eo-0.3.0 → easy_eo-0.4.0}/LICENSE +0 -0
- {easy_eo-0.3.0 → easy_eo-0.4.0}/eeo/_optional.py +0 -0
- {easy_eo-0.3.0 → easy_eo-0.4.0}/eeo/_show_versions.py +0 -0
- {easy_eo-0.3.0 → easy_eo-0.4.0}/eeo/analysis/__init__.py +0 -0
- {easy_eo-0.3.0 → easy_eo-0.4.0}/eeo/analysis/indices.py +0 -0
- {easy_eo-0.3.0 → easy_eo-0.4.0}/eeo/analysis/stats.py +0 -0
- {easy_eo-0.3.0 → easy_eo-0.4.0}/eeo/common.py +0 -0
- {easy_eo-0.3.0 → easy_eo-0.4.0}/eeo/core/__init__.py +0 -0
- {easy_eo-0.3.0 → easy_eo-0.4.0}/eeo/core/adapters/__init__.py +0 -0
- {easy_eo-0.3.0 → easy_eo-0.4.0}/eeo/core/adapters/base.py +0 -0
- {easy_eo-0.3.0 → easy_eo-0.4.0}/eeo/core/adapters/numpy.py +0 -0
- {easy_eo-0.3.0 → easy_eo-0.4.0}/eeo/core/adapters/rasterio.py +0 -0
- {easy_eo-0.3.0 → easy_eo-0.4.0}/eeo/core/core.py +0 -0
- {easy_eo-0.3.0 → easy_eo-0.4.0}/eeo/core/decorators.py +0 -0
- {easy_eo-0.3.0 → easy_eo-0.4.0}/eeo/core/exceptions.py +0 -0
- {easy_eo-0.3.0 → easy_eo-0.4.0}/eeo/core/loader.py +0 -0
- {easy_eo-0.3.0 → easy_eo-0.4.0}/eeo/core/plugins.py +0 -0
- {easy_eo-0.3.0 → easy_eo-0.4.0}/eeo/core/types.py +0 -0
- {easy_eo-0.3.0 → easy_eo-0.4.0}/eeo/datasets/__init__.py +0 -0
- {easy_eo-0.3.0 → easy_eo-0.4.0}/eeo/datasets/_cache.py +0 -0
- {easy_eo-0.3.0 → easy_eo-0.4.0}/eeo/ops/__init__.py +0 -0
- {easy_eo-0.3.0 → easy_eo-0.4.0}/eeo/ops/algebra.py +0 -0
- {easy_eo-0.3.0 → easy_eo-0.4.0}/eeo/ops/merge.py +0 -0
- {easy_eo-0.3.0 → easy_eo-0.4.0}/eeo/preprocessing/__init__.py +0 -0
- {easy_eo-0.3.0 → easy_eo-0.4.0}/eeo/preprocessing/clip.py +0 -0
- {easy_eo-0.3.0 → easy_eo-0.4.0}/eeo/preprocessing/normalize.py +0 -0
- {easy_eo-0.3.0 → easy_eo-0.4.0}/eeo/preprocessing/reproject.py +0 -0
- {easy_eo-0.3.0 → easy_eo-0.4.0}/eeo/py.typed +0 -0
- {easy_eo-0.3.0 → easy_eo-0.4.0}/eeo/viz/__init__.py +0 -0
|
@@ -21,6 +21,12 @@ others/
|
|
|
21
21
|
# Docs
|
|
22
22
|
docs/build/
|
|
23
23
|
|
|
24
|
+
# Generated by the dependency-audit, release, and linkcheck workflows
|
|
25
|
+
# (and by running any of them locally)
|
|
26
|
+
requirements-audit.txt
|
|
27
|
+
.smoke-venv/
|
|
28
|
+
.linkcheck/
|
|
29
|
+
|
|
24
30
|
# Tests
|
|
25
31
|
.pytest_cache/
|
|
26
32
|
.ruff_cache/
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.5
|
|
2
2
|
Name: easy-eo
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.4.0
|
|
4
4
|
Summary: A lightweight Earth Observation utilities library for chainable raster operations
|
|
5
5
|
Project-URL: Homepage, https://github.com/tommy-burns/easy-eo
|
|
6
6
|
Project-URL: Repository, https://github.com/tommy-burns/easy-eo
|
|
@@ -40,6 +40,7 @@ Classifier: Programming Language :: Python :: 3.12
|
|
|
40
40
|
Classifier: Programming Language :: Python :: 3.13
|
|
41
41
|
Classifier: Programming Language :: Python :: 3.14
|
|
42
42
|
Classifier: Topic :: Scientific/Engineering :: GIS
|
|
43
|
+
Classifier: Typing :: Typed
|
|
43
44
|
Requires-Python: >=3.10
|
|
44
45
|
Requires-Dist: geopandas<2,>=1.1
|
|
45
46
|
Requires-Dist: matplotlib>=3.8
|
|
@@ -65,13 +66,40 @@ Description-Content-Type: text/markdown
|
|
|
65
66
|
<img src="https://raw.githubusercontent.com/Tommy-Burns/easy-eo/main/.github/assets/eeo_logo.png" alt="Easy-EO logo" width="200">
|
|
66
67
|
</p>
|
|
67
68
|
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
[![PyPI]
|
|
71
|
-
[![
|
|
72
|
-
[![
|
|
73
|
-
[![Documentation
|
|
74
|
-
|
|
69
|
+
| | |
|
|
70
|
+
| :-- | :-- |
|
|
71
|
+
| **Install** | [![PyPI][pypi-badge]][pypi] [![conda-forge][conda-badge]][conda] [![Python versions][pyversions-badge]][pypi] [![Platforms][platforms-badge]][ci] |
|
|
72
|
+
| **Build & quality** | [![CI][ci-badge]][ci] [![Latest deps][latest-deps-badge]][latest-deps] [![Coverage][codecov-badge]][codecov] [![Ruff][ruff-badge]][ruff] [![Checked with mypy][mypy-badge]][mypy] |
|
|
73
|
+
| **Security** | [![CodeQL][codeql-badge]][codeql] [![OpenSSF Scorecard][scorecard-badge]][scorecard] |
|
|
74
|
+
| **Project** | [![Documentation][docs-badge]][docs] [![License: MIT][license-badge]][license] [![DOI][doi-badge]][doi] |
|
|
75
|
+
|
|
76
|
+
[pypi]: https://pypi.org/project/easy-eo/
|
|
77
|
+
[pypi-badge]: https://img.shields.io/pypi/v/easy-eo.svg
|
|
78
|
+
[conda]: https://anaconda.org/conda-forge/easy-eo
|
|
79
|
+
[conda-badge]: https://img.shields.io/conda/vn/conda-forge/easy-eo.svg
|
|
80
|
+
[pyversions-badge]: https://img.shields.io/pypi/pyversions/easy-eo.svg
|
|
81
|
+
[platforms-badge]: https://img.shields.io/badge/platform-linux%20%7C%20macOS%20%7C%20windows-lightgrey.svg
|
|
82
|
+
[ci]: https://github.com/Tommy-Burns/easy-eo/actions/workflows/ci.yml
|
|
83
|
+
[ci-badge]: https://github.com/Tommy-Burns/easy-eo/actions/workflows/ci.yml/badge.svg
|
|
84
|
+
[latest-deps]: https://github.com/Tommy-Burns/easy-eo/actions/workflows/latest-deps.yml
|
|
85
|
+
[latest-deps-badge]: https://github.com/Tommy-Burns/easy-eo/actions/workflows/latest-deps.yml/badge.svg
|
|
86
|
+
[codecov]: https://codecov.io/gh/Tommy-Burns/easy-eo
|
|
87
|
+
[codecov-badge]: https://codecov.io/gh/Tommy-Burns/easy-eo/branch/main/graph/badge.svg
|
|
88
|
+
[ruff]: https://github.com/astral-sh/ruff
|
|
89
|
+
[ruff-badge]: https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json
|
|
90
|
+
[mypy]: https://mypy-lang.org/
|
|
91
|
+
[mypy-badge]: https://img.shields.io/badge/mypy-checked-2a6db2.svg
|
|
92
|
+
[codeql]: https://github.com/Tommy-Burns/easy-eo/actions/workflows/codeql.yml
|
|
93
|
+
[codeql-badge]: https://github.com/Tommy-Burns/easy-eo/actions/workflows/codeql.yml/badge.svg
|
|
94
|
+
[scorecard]: https://scorecard.dev/viewer/?uri=github.com/Tommy-Burns/easy-eo
|
|
95
|
+
[scorecard-badge]: https://api.scorecard.dev/projects/github.com/Tommy-Burns/easy-eo/badge
|
|
96
|
+
[docs]: https://easy-eo.readthedocs.io/en/latest/?badge=latest
|
|
97
|
+
[docs-badge]: https://readthedocs.org/projects/easy-eo/badge/?version=latest
|
|
98
|
+
[license]: https://github.com/Tommy-Burns/easy-eo/blob/main/LICENSE
|
|
99
|
+
[license-badge]: https://img.shields.io/github/license/Tommy-Burns/easy-eo
|
|
100
|
+
[doi]: https://doi.org/10.5281/zenodo.21967655
|
|
101
|
+
[doi-badge]: https://zenodo.org/badge/DOI/10.5281/zenodo.21967655.svg
|
|
102
|
+
|
|
75
103
|
|
|
76
104
|
Easy-EO is a lightweight, extensible Python library for raster-based Earth
|
|
77
105
|
Observation (EO) analysis: chainable raster processing, band algebra, spectral indices,
|
|
@@ -4,13 +4,40 @@
|
|
|
4
4
|
<img src="https://raw.githubusercontent.com/Tommy-Burns/easy-eo/main/.github/assets/eeo_logo.png" alt="Easy-EO logo" width="200">
|
|
5
5
|
</p>
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
[![PyPI]
|
|
10
|
-
[![
|
|
11
|
-
[![
|
|
12
|
-
[![Documentation
|
|
13
|
-
|
|
7
|
+
| | |
|
|
8
|
+
| :-- | :-- |
|
|
9
|
+
| **Install** | [![PyPI][pypi-badge]][pypi] [![conda-forge][conda-badge]][conda] [![Python versions][pyversions-badge]][pypi] [![Platforms][platforms-badge]][ci] |
|
|
10
|
+
| **Build & quality** | [![CI][ci-badge]][ci] [![Latest deps][latest-deps-badge]][latest-deps] [![Coverage][codecov-badge]][codecov] [![Ruff][ruff-badge]][ruff] [![Checked with mypy][mypy-badge]][mypy] |
|
|
11
|
+
| **Security** | [![CodeQL][codeql-badge]][codeql] [![OpenSSF Scorecard][scorecard-badge]][scorecard] |
|
|
12
|
+
| **Project** | [![Documentation][docs-badge]][docs] [![License: MIT][license-badge]][license] [![DOI][doi-badge]][doi] |
|
|
13
|
+
|
|
14
|
+
[pypi]: https://pypi.org/project/easy-eo/
|
|
15
|
+
[pypi-badge]: https://img.shields.io/pypi/v/easy-eo.svg
|
|
16
|
+
[conda]: https://anaconda.org/conda-forge/easy-eo
|
|
17
|
+
[conda-badge]: https://img.shields.io/conda/vn/conda-forge/easy-eo.svg
|
|
18
|
+
[pyversions-badge]: https://img.shields.io/pypi/pyversions/easy-eo.svg
|
|
19
|
+
[platforms-badge]: https://img.shields.io/badge/platform-linux%20%7C%20macOS%20%7C%20windows-lightgrey.svg
|
|
20
|
+
[ci]: https://github.com/Tommy-Burns/easy-eo/actions/workflows/ci.yml
|
|
21
|
+
[ci-badge]: https://github.com/Tommy-Burns/easy-eo/actions/workflows/ci.yml/badge.svg
|
|
22
|
+
[latest-deps]: https://github.com/Tommy-Burns/easy-eo/actions/workflows/latest-deps.yml
|
|
23
|
+
[latest-deps-badge]: https://github.com/Tommy-Burns/easy-eo/actions/workflows/latest-deps.yml/badge.svg
|
|
24
|
+
[codecov]: https://codecov.io/gh/Tommy-Burns/easy-eo
|
|
25
|
+
[codecov-badge]: https://codecov.io/gh/Tommy-Burns/easy-eo/branch/main/graph/badge.svg
|
|
26
|
+
[ruff]: https://github.com/astral-sh/ruff
|
|
27
|
+
[ruff-badge]: https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json
|
|
28
|
+
[mypy]: https://mypy-lang.org/
|
|
29
|
+
[mypy-badge]: https://img.shields.io/badge/mypy-checked-2a6db2.svg
|
|
30
|
+
[codeql]: https://github.com/Tommy-Burns/easy-eo/actions/workflows/codeql.yml
|
|
31
|
+
[codeql-badge]: https://github.com/Tommy-Burns/easy-eo/actions/workflows/codeql.yml/badge.svg
|
|
32
|
+
[scorecard]: https://scorecard.dev/viewer/?uri=github.com/Tommy-Burns/easy-eo
|
|
33
|
+
[scorecard-badge]: https://api.scorecard.dev/projects/github.com/Tommy-Burns/easy-eo/badge
|
|
34
|
+
[docs]: https://easy-eo.readthedocs.io/en/latest/?badge=latest
|
|
35
|
+
[docs-badge]: https://readthedocs.org/projects/easy-eo/badge/?version=latest
|
|
36
|
+
[license]: https://github.com/Tommy-Burns/easy-eo/blob/main/LICENSE
|
|
37
|
+
[license-badge]: https://img.shields.io/github/license/Tommy-Burns/easy-eo
|
|
38
|
+
[doi]: https://doi.org/10.5281/zenodo.21967655
|
|
39
|
+
[doi-badge]: https://zenodo.org/badge/DOI/10.5281/zenodo.21967655.svg
|
|
40
|
+
|
|
14
41
|
|
|
15
42
|
Easy-EO is a lightweight, extensible Python library for raster-based Earth
|
|
16
43
|
Observation (EO) analysis: chainable raster processing, band algebra, spectral indices,
|
|
@@ -18,7 +18,7 @@ from .core import (
|
|
|
18
18
|
load_raster,
|
|
19
19
|
)
|
|
20
20
|
from .core.adapters import *
|
|
21
|
-
from .io import from_xarray, stac_search
|
|
21
|
+
from .io import from_xarray, load_landsat, load_sentinel2, stac_search
|
|
22
22
|
from .ops import *
|
|
23
23
|
from .preprocessing import *
|
|
24
24
|
from .viz import *
|
|
@@ -28,6 +28,8 @@ __all__ = [
|
|
|
28
28
|
"load_raster",
|
|
29
29
|
"load_array",
|
|
30
30
|
"stac_search",
|
|
31
|
+
"load_landsat",
|
|
32
|
+
"load_sentinel2",
|
|
31
33
|
"from_xarray",
|
|
32
34
|
"show_versions",
|
|
33
35
|
"EEOError",
|
|
@@ -38,4 +40,4 @@ __all__ = [
|
|
|
38
40
|
"MissingDependencyError",
|
|
39
41
|
]
|
|
40
42
|
|
|
41
|
-
__version__ = "0.
|
|
43
|
+
__version__ = "0.4.0"
|
|
@@ -227,6 +227,7 @@ class EEORasterDataset:
|
|
|
227
227
|
colorbar_label: str | None = ...,
|
|
228
228
|
title: str | None = ...,
|
|
229
229
|
save_path: StrPath | None = ...,
|
|
230
|
+
dpi: int = ...,
|
|
230
231
|
**imshow_kwargs,
|
|
231
232
|
) -> None: ...
|
|
232
233
|
def plot_composite(
|
|
@@ -239,6 +240,7 @@ class EEORasterDataset:
|
|
|
239
240
|
pmax: float = ...,
|
|
240
241
|
title: str | None = ...,
|
|
241
242
|
save_path: StrPath | None = ...,
|
|
243
|
+
dpi: int = ...,
|
|
242
244
|
) -> None: ...
|
|
243
245
|
def plot_histogram(
|
|
244
246
|
self,
|
|
@@ -251,6 +253,7 @@ class EEORasterDataset:
|
|
|
251
253
|
log: bool = ...,
|
|
252
254
|
title: str | None = ...,
|
|
253
255
|
save_path: StrPath | None = ...,
|
|
256
|
+
dpi: int = ...,
|
|
254
257
|
**hist_kwargs,
|
|
255
258
|
) -> None: ...
|
|
256
259
|
def plot_raster(
|
|
@@ -268,6 +271,7 @@ class EEORasterDataset:
|
|
|
268
271
|
colorbar_label: str | None = ...,
|
|
269
272
|
title: str | None = ...,
|
|
270
273
|
save_path: StrPath | None = ...,
|
|
274
|
+
dpi: int = ...,
|
|
271
275
|
**show_kwargs,
|
|
272
276
|
) -> None: ...
|
|
273
277
|
def plot_raster_with_histogram(
|
|
@@ -283,6 +287,7 @@ class EEORasterDataset:
|
|
|
283
287
|
colorbar: bool = ...,
|
|
284
288
|
colorbar_label: str | None = ...,
|
|
285
289
|
save_path: StrPath | None = ...,
|
|
290
|
+
dpi: int = ...,
|
|
286
291
|
title: str | None = ...,
|
|
287
292
|
) -> None: ...
|
|
288
293
|
def power(self, exponent: int | float) -> EEORasterDataset: ...
|
|
@@ -77,9 +77,8 @@ class SampleFile:
|
|
|
77
77
|
#: The curated samples, keyed by the attribute name they are exposed under on
|
|
78
78
|
#: :class:`eeo.datasets.SampleDataset`. Band files use the library's colour band
|
|
79
79
|
#: names. This is the single source of truth for both the download machinery and
|
|
80
|
-
#: the namespace attributes.
|
|
81
|
-
#:
|
|
82
|
-
#: would defeat the download verification.
|
|
80
|
+
#: the namespace attributes. Every raster published on the release has both a
|
|
81
|
+
#: plain and a Cloud-Optimized variant here, the latter suffixed ``_cog``.
|
|
83
82
|
SAMPLE_FILES: dict[str, SampleFile] = {
|
|
84
83
|
"sentinel2_stacked": SampleFile(
|
|
85
84
|
Asset(
|
|
@@ -111,6 +110,16 @@ SAMPLE_FILES: dict[str, SampleFile] = {
|
|
|
111
110
|
"Sentinel-2 L2A band B02 (blue), 1024x1024 @ 10 m, EPSG:32633.",
|
|
112
111
|
_S2_ATTRIBUTION,
|
|
113
112
|
),
|
|
113
|
+
"sentinel2_blue_cog": SampleFile(
|
|
114
|
+
Asset(
|
|
115
|
+
"B02_COG.tif",
|
|
116
|
+
"555f6fb67522148c05d7bb9a4f49d157cde2d9da00d1304ed953bfd383c9ead1",
|
|
117
|
+
2293197,
|
|
118
|
+
),
|
|
119
|
+
"raster",
|
|
120
|
+
"Cloud-Optimized GeoTIFF variant of the blue band (B02).",
|
|
121
|
+
_S2_ATTRIBUTION,
|
|
122
|
+
),
|
|
114
123
|
"sentinel2_green": SampleFile(
|
|
115
124
|
Asset(
|
|
116
125
|
"B03.tif",
|
|
@@ -121,6 +130,16 @@ SAMPLE_FILES: dict[str, SampleFile] = {
|
|
|
121
130
|
"Sentinel-2 L2A band B03 (green), 1024x1024 @ 10 m, EPSG:32633.",
|
|
122
131
|
_S2_ATTRIBUTION,
|
|
123
132
|
),
|
|
133
|
+
"sentinel2_green_cog": SampleFile(
|
|
134
|
+
Asset(
|
|
135
|
+
"B03_COG.tif",
|
|
136
|
+
"0f0e6cd16141725fe4dfd749a911f3846429b0cd7c222d543d90848ac1f95833",
|
|
137
|
+
2404804,
|
|
138
|
+
),
|
|
139
|
+
"raster",
|
|
140
|
+
"Cloud-Optimized GeoTIFF variant of the green band (B03).",
|
|
141
|
+
_S2_ATTRIBUTION,
|
|
142
|
+
),
|
|
124
143
|
"sentinel2_red": SampleFile(
|
|
125
144
|
Asset(
|
|
126
145
|
"B04.tif",
|
|
@@ -131,6 +150,16 @@ SAMPLE_FILES: dict[str, SampleFile] = {
|
|
|
131
150
|
"Sentinel-2 L2A band B04 (red), 1024x1024 @ 10 m, EPSG:32633.",
|
|
132
151
|
_S2_ATTRIBUTION,
|
|
133
152
|
),
|
|
153
|
+
"sentinel2_red_cog": SampleFile(
|
|
154
|
+
Asset(
|
|
155
|
+
"B04_COG.tif",
|
|
156
|
+
"5781624003c04ae978196df98dd54e742fe38d1bd5b56237ffc4162209eafc28",
|
|
157
|
+
2436025,
|
|
158
|
+
),
|
|
159
|
+
"raster",
|
|
160
|
+
"Cloud-Optimized GeoTIFF variant of the red band (B04).",
|
|
161
|
+
_S2_ATTRIBUTION,
|
|
162
|
+
),
|
|
134
163
|
"sentinel2_nir": SampleFile(
|
|
135
164
|
Asset(
|
|
136
165
|
"B08.tif",
|
|
@@ -141,6 +170,16 @@ SAMPLE_FILES: dict[str, SampleFile] = {
|
|
|
141
170
|
"Sentinel-2 L2A band B08 (nir), 1024x1024 @ 10 m, EPSG:32633.",
|
|
142
171
|
_S2_ATTRIBUTION,
|
|
143
172
|
),
|
|
173
|
+
"sentinel2_nir_cog": SampleFile(
|
|
174
|
+
Asset(
|
|
175
|
+
"B08_COG.tif",
|
|
176
|
+
"1488f68cad9f37a90ffef9eb62716e2cab77bd7c22954a08e2f2a5d06ce4014d",
|
|
177
|
+
2504710,
|
|
178
|
+
),
|
|
179
|
+
"raster",
|
|
180
|
+
"Cloud-Optimized GeoTIFF variant of the nir band (B08).",
|
|
181
|
+
_S2_ATTRIBUTION,
|
|
182
|
+
),
|
|
144
183
|
"copernicus_dem": SampleFile(
|
|
145
184
|
Asset(
|
|
146
185
|
"DEM.tif",
|
|
@@ -144,6 +144,8 @@ class SampleDataset:
|
|
|
144
144
|
Cloud-Optimized GeoTIFF variant of ``sentinel2_stacked``.
|
|
145
145
|
sentinel2_blue, sentinel2_green, sentinel2_red, sentinel2_nir : SamplePath
|
|
146
146
|
The four Sentinel-2 bands as separate single-band GeoTIFFs.
|
|
147
|
+
sentinel2_blue_cog, sentinel2_green_cog, sentinel2_red_cog, sentinel2_nir_cog : SamplePath
|
|
148
|
+
Cloud-Optimized GeoTIFF variants of the four single-band files.
|
|
147
149
|
copernicus_dem : SamplePath
|
|
148
150
|
Copernicus GLO-30 DEM warped onto the Sentinel-2 grid (float32 metres).
|
|
149
151
|
copernicus_dem_cog : SamplePath
|
|
@@ -156,9 +158,13 @@ class SampleDataset:
|
|
|
156
158
|
sentinel2_stacked: SamplePath
|
|
157
159
|
sentinel2_cog_stacked: SamplePath
|
|
158
160
|
sentinel2_blue: SamplePath
|
|
161
|
+
sentinel2_blue_cog: SamplePath
|
|
159
162
|
sentinel2_green: SamplePath
|
|
163
|
+
sentinel2_green_cog: SamplePath
|
|
160
164
|
sentinel2_red: SamplePath
|
|
165
|
+
sentinel2_red_cog: SamplePath
|
|
161
166
|
sentinel2_nir: SamplePath
|
|
167
|
+
sentinel2_nir_cog: SamplePath
|
|
162
168
|
copernicus_dem: SamplePath
|
|
163
169
|
copernicus_dem_cog: SamplePath
|
|
164
170
|
boundary: SamplePath
|
|
@@ -1,15 +1,19 @@
|
|
|
1
1
|
"""Data access and exchange beyond the local filesystem.
|
|
2
2
|
|
|
3
|
-
Holds STAC catalog access (:mod:`eeo.io.stac`, the ``stac`` extra)
|
|
4
|
-
|
|
3
|
+
Holds STAC catalog access (:mod:`eeo.io.stac`, the ``stac`` extra), loaders for
|
|
4
|
+
products downloaded to disk (:mod:`eeo.io.products`), and xarray interop
|
|
5
|
+
(:mod:`eeo.io.xarray`, the ``xarray`` extra). Importing this package
|
|
5
6
|
pulls in no optional dependency; an extra is only required when one of its
|
|
6
7
|
features actually runs.
|
|
7
8
|
"""
|
|
8
9
|
|
|
10
|
+
from .products import load_landsat, load_sentinel2
|
|
9
11
|
from .stac import PLANETARY_COMPUTER_STAC_URL, STACItem, STACSearchResult, stac_search
|
|
10
12
|
from .xarray import from_xarray
|
|
11
13
|
|
|
12
14
|
__all__ = [
|
|
15
|
+
"load_landsat",
|
|
16
|
+
"load_sentinel2",
|
|
13
17
|
"stac_search",
|
|
14
18
|
"STACItem",
|
|
15
19
|
"STACSearchResult",
|