giswqs commited on
Commit
be44941
·
1 Parent(s): b536b04

Add time slider app

Browse files
Files changed (2) hide show
  1. pages/11_time_slider.py +57 -0
  2. requirements.txt +1 -1
pages/11_time_slider.py ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import os
2
+ import solara
3
+ import pandas as pd
4
+ import leafmap.maplibregl as leafmap
5
+ import ipywidgets as widgets
6
+
7
+
8
+ def create_map():
9
+
10
+ os.environ["TITILER_ENDPOINT"] = "https://titiler.xyz"
11
+ url = "https://huggingface.co/datasets/giswqs/NASA-OPERA/resolve/main/SanFrancisco_OPERA-DISP-S1/filenames.csv"
12
+ df = pd.read_csv(url)
13
+ dates = df["date"].to_list()
14
+ images = df["url"].to_list()
15
+
16
+ m = leafmap.Map(
17
+ projection="globe", sidebar_visible=True, layer_manager_expanded=False
18
+ )
19
+ m.add_basemap("USGS.Imagery")
20
+ vmin = -0.02
21
+ vmax = 0.02
22
+ palette = "seismic"
23
+ m.add_time_slider(
24
+ images,
25
+ labels=dates,
26
+ vmin=vmin,
27
+ vmax=vmax,
28
+ colormap_name=palette,
29
+ opacity=0.7,
30
+ expanded=True,
31
+ time_interval=1,
32
+ )
33
+ m.add_colorbar(vmin=vmin, vmax=vmax, palette=palette, label="Displacement (m)")
34
+ # m.set_terrain()
35
+
36
+ terrain_checkbox = widgets.Checkbox(
37
+ value=False,
38
+ description="Add 3D Terrain",
39
+ style={"description_width": "initial"},
40
+ )
41
+
42
+ def on_terrain_change(change):
43
+ if change["new"]:
44
+ m.set_terrain()
45
+ else:
46
+ m.remove_terrain()
47
+
48
+ terrain_checkbox.observe(on_terrain_change, names="value")
49
+
50
+ m.add_to_sidebar(terrain_checkbox, add_header=False)
51
+ return m
52
+
53
+
54
+ @solara.component
55
+ def Page():
56
+ m = create_map()
57
+ return m.to_solara()
requirements.txt CHANGED
@@ -1,7 +1,7 @@
1
  anymap
2
  fiona
3
  geopandas
4
- leafmap>=0.46.8
5
  mapclassify
6
  maplibre
7
  solara
 
1
  anymap
2
  fiona
3
  geopandas
4
+ leafmap>=0.49.2
5
  mapclassify
6
  maplibre
7
  solara