You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+20-11Lines changed: 20 additions & 11 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -16,34 +16,43 @@ Many thanks to banesullivan's [localtileserver](https://github.com/banesullivan/
16
16
<imgsrc="https://mybinder.org/badge_logo.svg"alt="Launch on Binder"height="28">
17
17
</a>
18
18
19
-
What happens when you click the button (suggested to right click -> open in new tab):
20
-
- A temporary, free session is launched on mybinder.org (a community, shared service) that builds a Docker image from this repo’s environment files.
21
-
- First launch after a change can take several minutes while the image builds. Subsequent launches are faster (cached), but caches may be evicted at any time.
22
-
- Sessions are ephemeral (typically 1–2 hours) and resources are limited. Your session will shut down if idle or when it times out.
19
+
What happens when you click the button:
20
+
- mybinder.org uses repo2docker to build a Docker image for this repo using binder/environment.yml and runtime.txt (Python 3.11 base)
21
+
- The conda environment is solved/installed with mamba from conda-forge; during the build, pip installs this repo in editable mode (-e .)
22
+
- The built image is cached by mybinder.org for the given Git ref; first builds can take several minutes, later builds are usually faster until the cache is evicted
23
+
- Sessions are ephemeral and resource-limited; they time out when idle (~10 mins) or after a short lifetime
23
24
24
25
## Notes and expectations
25
26
26
27
- First launch: building can take several minutes; please be patient.
27
-
- If you see “Building” or “Pending,” Binder is queuing your session or compiling the environment.
28
+
- If you see "Building' or "Pending," Binder is queuing your session or compiling the environment.
28
29
- If tiles don’t appear immediately after "Fetch & Display Data," wait a few seconds.
30
+
- Don't sample large areas -- this will drop performace. Less than 30km2 is a good bet.
29
31
- The app depends on external open data services; occasional slowdowns or gaps can occur.
30
32
31
33
## What you can do
32
34
33
35
- Pick a date range, draw an Area of Interest (blue) on the map, then click "Fetch & Display Data."
34
36
- Toggle layers in the layer control:
35
37
- RGB composite (Sentinel‑2) [lowest cloud coverage in date range is selected]
36
-
- NDVI and a basic built-up index [lowest cloud coverage in date range is selected]
37
38
- SAR backscatter (Sentinel‑1) [acquisition closest to Sentinel-2 image is selected]
39
+
- Coopernicus 30-GLO DEM Multidirectional Hillshade
38
40
- ESA WorldCover (classified land cover) [2021]
39
41
- Draw a red Region of Interest (ROI) to sample statistics from visible layers.
40
42
41
43
## How it works (high level)
42
44
43
-
- You draw an area; the app searches a STAC catalog (Microsoft Planetary Computer) for relevant items.
44
-
- It selects a recent, low‑cloud Sentinel‑2 scene and optionally a time‑aligned Sentinel‑1 scene.
45
-
- On the fly, it computes quicklook products (RGB, NDVI, built‑up index), and prepares tiles from in‑memory COGs.
46
-
- Tiles are served inside the session and displayed via ipyleaflet (no data leaves your browser other than tile requests to the Binder session)
45
+
- You draw an area; the app searches the Microsoft Planetary Computer STAC API for relevant items
46
+
- It selects a low‑cloud Sentinel‑2 scene and a time‑aligned Sentinel‑1 scene
47
+
- It computes quicklook products:
48
+
- Sentinel‑2 RGB
49
+
- Sentinel‑1 VV/VH in decibels
50
+
- Multidirectional hillshade from Copernicus GLO‑30
51
+
- ESA WorldCover mapped to RGB colors
52
+
- Rasters are written to in‑memory COGs and served by localtileserver running in your Binder session.
53
+
- ipyleaflet requests tiles via Jupyter Server Proxy (e.g., /proxy/{port}); the browser only talks to the Binder pod, while the pod fetches data from the Planetary Computer.
54
+
55
+
> **_NOTE:_** All layers / STAC endpoints are oprtional
47
56
48
57
## Contributing
49
58
@@ -56,4 +65,4 @@ What happens when you click the button (suggested to right click -> open in new
56
65
- Conda/mamba: create an environment similar to binder/environment.yml, then `pip install -e .`
57
66
- Or use your own stack and ensure GDAL/Rasterio/PROJ are consistent.
58
67
- Run notebooks locally with JupyterLab or launch the Voila app:
0 commit comments