giswqs commited on
Commit
cbe193f
·
1 Parent(s): c5ce07d

Add union geojson

Browse files
Files changed (2) hide show
  1. pages/01_morocco.py +21 -6
  2. pages/02_libya.py +18 -2
pages/01_morocco.py CHANGED
@@ -4,11 +4,12 @@ import solara
4
  import ipyleaflet
5
  import ipywidgets as widgets
6
  import pandas as pd
 
7
 
8
- url = 'https://open.gishub.org/maxar-open-data'
 
9
  repo = 'https://github.com/opengeos/maxar-open-data/blob/master/datasets'
10
 
11
-
12
  def get_datasets():
13
  datasets = f'{url}/datasets.csv'
14
  df = pd.read_csv(datasets)
@@ -16,9 +17,16 @@ def get_datasets():
16
 
17
 
18
  def get_catalogs(name):
19
- dataset = f'{url}/datasets/{name}.tsv'
20
 
21
- dataset_df = pd.read_csv(dataset, sep='\t')
 
 
 
 
 
 
 
 
22
  catalog_ids = dataset_df['catalog_id'].unique().tolist()
23
  catalog_ids.sort()
24
  return catalog_ids
@@ -32,7 +40,7 @@ def add_widgets(m):
32
  dataset = widgets.Dropdown(
33
  options=datasets,
34
  description='Event:',
35
- value="Morocco-Earthquake-Sept-2023",
36
  style=style,
37
  layout=widgets.Layout(width="270px", padding=padding),
38
  )
@@ -129,7 +137,14 @@ class Map(leafmap.Map):
129
  self.add_tile_layer(**basemap, shown=False)
130
  self.add_layer_manager(opened=False)
131
  add_widgets(self)
132
- default_geojson = f'{url}/datasets/Morocco-Earthquake-Sept-2023.geojson'
 
 
 
 
 
 
 
133
  self.add_geojson(default_geojson, layer_name='Footprint', zoom_to_layer=True)
134
 
135
 
 
4
  import ipyleaflet
5
  import ipywidgets as widgets
6
  import pandas as pd
7
+ import tempfile
8
 
9
+ event = 'Morocco-Earthquake-Sept-2023'
10
+ url = 'https://raw.githubusercontent.com/opengeos/maxar-open-data/master'
11
  repo = 'https://github.com/opengeos/maxar-open-data/blob/master/datasets'
12
 
 
13
  def get_datasets():
14
  datasets = f'{url}/datasets.csv'
15
  df = pd.read_csv(datasets)
 
17
 
18
 
19
  def get_catalogs(name):
 
20
 
21
+ dataset = f'{url}/datasets/{name}.tsv'
22
+ basename = os.path.basename(dataset)
23
+ tempdir = tempfile.gettempdir()
24
+ tmp_dataset = os.path.join(tempdir, basename)
25
+ if os.path.exists(tmp_dataset):
26
+ dataset_df = pd.read_csv(tmp_dataset, sep='\t')
27
+ else:
28
+ dataset_df = pd.read_csv(dataset, sep='\t')
29
+ dataset_df.to_csv(tmp_dataset, sep='\t', index=False)
30
  catalog_ids = dataset_df['catalog_id'].unique().tolist()
31
  catalog_ids.sort()
32
  return catalog_ids
 
40
  dataset = widgets.Dropdown(
41
  options=datasets,
42
  description='Event:',
43
+ value=event,
44
  style=style,
45
  layout=widgets.Layout(width="270px", padding=padding),
46
  )
 
137
  self.add_tile_layer(**basemap, shown=False)
138
  self.add_layer_manager(opened=False)
139
  add_widgets(self)
140
+ default_geojson = f'{url}/datasets/{event}_union.geojson'
141
+ basename = os.path.basename(default_geojson)
142
+ tempdir = tempfile.gettempdir()
143
+ tmp_geojson = os.path.join(tempdir, basename)
144
+ if os.path.exists(tmp_geojson):
145
+ default_geojson = tmp_geojson
146
+ else:
147
+ leafmap.download_file(default_geojson, tmp_geojson, quiet=True)
148
  self.add_geojson(default_geojson, layer_name='Footprint', zoom_to_layer=True)
149
 
150
 
pages/02_libya.py CHANGED
@@ -4,6 +4,7 @@ import solara
4
  import ipyleaflet
5
  import ipywidgets as widgets
6
  import pandas as pd
 
7
 
8
  event = 'Libya-Floods-Sept-2023'
9
  url = 'https://raw.githubusercontent.com/opengeos/maxar-open-data/master'
@@ -16,8 +17,16 @@ def get_datasets():
16
 
17
 
18
  def get_catalogs(name):
 
19
  dataset = f'{url}/datasets/{name}.tsv'
20
- dataset_df = pd.read_csv(dataset, sep='\t')
 
 
 
 
 
 
 
21
  catalog_ids = dataset_df['catalog_id'].unique().tolist()
22
  catalog_ids.sort()
23
  return catalog_ids
@@ -128,7 +137,14 @@ class Map(leafmap.Map):
128
  self.add_tile_layer(**basemap, shown=False)
129
  self.add_layer_manager(opened=False)
130
  add_widgets(self)
131
- default_geojson = f'{url}/datasets/{event}.geojson'
 
 
 
 
 
 
 
132
  self.add_geojson(default_geojson, layer_name='Footprint', zoom_to_layer=True)
133
 
134
 
 
4
  import ipyleaflet
5
  import ipywidgets as widgets
6
  import pandas as pd
7
+ import tempfile
8
 
9
  event = 'Libya-Floods-Sept-2023'
10
  url = 'https://raw.githubusercontent.com/opengeos/maxar-open-data/master'
 
17
 
18
 
19
  def get_catalogs(name):
20
+
21
  dataset = f'{url}/datasets/{name}.tsv'
22
+ basename = os.path.basename(dataset)
23
+ tempdir = tempfile.gettempdir()
24
+ tmp_dataset = os.path.join(tempdir, basename)
25
+ if os.path.exists(tmp_dataset):
26
+ dataset_df = pd.read_csv(tmp_dataset, sep='\t')
27
+ else:
28
+ dataset_df = pd.read_csv(dataset, sep='\t')
29
+ dataset_df.to_csv(tmp_dataset, sep='\t', index=False)
30
  catalog_ids = dataset_df['catalog_id'].unique().tolist()
31
  catalog_ids.sort()
32
  return catalog_ids
 
137
  self.add_tile_layer(**basemap, shown=False)
138
  self.add_layer_manager(opened=False)
139
  add_widgets(self)
140
+ default_geojson = f'{url}/datasets/{event}_union.geojson'
141
+ basename = os.path.basename(default_geojson)
142
+ tempdir = tempfile.gettempdir()
143
+ tmp_geojson = os.path.join(tempdir, basename)
144
+ if os.path.exists(tmp_geojson):
145
+ default_geojson = tmp_geojson
146
+ else:
147
+ leafmap.download_file(default_geojson, tmp_geojson, quiet=True)
148
  self.add_geojson(default_geojson, layer_name='Footprint', zoom_to_layer=True)
149
 
150