allknowingroger giswqs commited on
Commit
a2ae981
·
0 Parent(s):

Duplicate from giswqs/maxar-open-data

Browse files

Co-authored-by: Qiusheng Wu <[email protected]>

Files changed (4) hide show
  1. .gitattributes +34 -0
  2. README.md +15 -0
  3. app.py +76 -0
  4. requirements.txt +2 -0
.gitattributes ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ *.7z filter=lfs diff=lfs merge=lfs -text
2
+ *.arrow filter=lfs diff=lfs merge=lfs -text
3
+ *.bin filter=lfs diff=lfs merge=lfs -text
4
+ *.bz2 filter=lfs diff=lfs merge=lfs -text
5
+ *.ckpt filter=lfs diff=lfs merge=lfs -text
6
+ *.ftz filter=lfs diff=lfs merge=lfs -text
7
+ *.gz filter=lfs diff=lfs merge=lfs -text
8
+ *.h5 filter=lfs diff=lfs merge=lfs -text
9
+ *.joblib filter=lfs diff=lfs merge=lfs -text
10
+ *.lfs.* filter=lfs diff=lfs merge=lfs -text
11
+ *.mlmodel filter=lfs diff=lfs merge=lfs -text
12
+ *.model filter=lfs diff=lfs merge=lfs -text
13
+ *.msgpack filter=lfs diff=lfs merge=lfs -text
14
+ *.npy filter=lfs diff=lfs merge=lfs -text
15
+ *.npz filter=lfs diff=lfs merge=lfs -text
16
+ *.onnx filter=lfs diff=lfs merge=lfs -text
17
+ *.ot filter=lfs diff=lfs merge=lfs -text
18
+ *.parquet filter=lfs diff=lfs merge=lfs -text
19
+ *.pb filter=lfs diff=lfs merge=lfs -text
20
+ *.pickle filter=lfs diff=lfs merge=lfs -text
21
+ *.pkl filter=lfs diff=lfs merge=lfs -text
22
+ *.pt filter=lfs diff=lfs merge=lfs -text
23
+ *.pth filter=lfs diff=lfs merge=lfs -text
24
+ *.rar filter=lfs diff=lfs merge=lfs -text
25
+ *.safetensors filter=lfs diff=lfs merge=lfs -text
26
+ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
27
+ *.tar.* filter=lfs diff=lfs merge=lfs -text
28
+ *.tflite filter=lfs diff=lfs merge=lfs -text
29
+ *.tgz filter=lfs diff=lfs merge=lfs -text
30
+ *.wasm filter=lfs diff=lfs merge=lfs -text
31
+ *.xz filter=lfs diff=lfs merge=lfs -text
32
+ *.zip filter=lfs diff=lfs merge=lfs -text
33
+ *.zst filter=lfs diff=lfs merge=lfs -text
34
+ *tfevents* filter=lfs diff=lfs merge=lfs -text
README.md ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ title: Maxar Open Data
3
+ emoji: 😻
4
+ colorFrom: purple
5
+ colorTo: red
6
+ sdk: streamlit
7
+ sdk_version: 1.19.0
8
+ python_version: 3.9
9
+ app_file: app.py
10
+ pinned: false
11
+ license: mit
12
+ duplicated_from: giswqs/maxar-open-data
13
+ ---
14
+
15
+ Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
app.py ADDED
@@ -0,0 +1,76 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import streamlit as st
2
+ import pandas as pd
3
+ import leafmap.foliumap as leafmap
4
+
5
+ st.set_page_config(layout="wide")
6
+
7
+ url = 'https://opengeos.github.io/maxar-open-data'
8
+ repo = 'https://github.com/opengeos/maxar-open-data/blob/master/datasets'
9
+ m = leafmap.Map()
10
+
11
+
12
+ @st.cache_data
13
+ def get_datasets():
14
+ datasets = f'{url}/datasets.csv'
15
+ df = pd.read_csv(datasets)
16
+ return df
17
+
18
+
19
+ @st.cache_data
20
+ def get_catalogs(name):
21
+ dataset = f'{url}/datasets/{name}.tsv'
22
+
23
+ dataset_df = pd.read_csv(dataset, sep='\t')
24
+ catalog_ids = dataset_df['catalog_id'].unique().tolist()
25
+ return catalog_ids
26
+
27
+
28
+ st.title('Visualizing Maxar Open Data')
29
+
30
+ col1, col2 = st.columns([1.2, 3.8])
31
+
32
+ with col1:
33
+ default = 'Kahramanmaras-turkey-earthquake-23'
34
+ datasets = get_datasets()['dataset'].tolist()
35
+ dataset = st.selectbox('Select a dataset', datasets, index=datasets.index(default))
36
+ catalog = st.selectbox('Select a COG mosaic', get_catalogs(dataset))
37
+ geojson = f'{url}/datasets/{dataset}.geojson'
38
+ mosaic = f'{url}/datasets/{dataset}/{catalog}.json'
39
+ tsv = f'{repo}/{dataset}/{catalog}.tsv'
40
+ st.markdown(f'View metadata: [{catalog}.tsv]({tsv})')
41
+
42
+ with st.expander("Python code snippets"):
43
+ markdown = f"""
44
+ import leafmap.foliumap as leafmap
45
+ m = leafmap.Map()
46
+ geojson = '{geojson}'
47
+ mosaic = '{mosaic}'
48
+ m.add_geojson(geojson, layer_name='{dataset}', info_mode='on_click')
49
+ m.add_stac_layer(mosaic, name='{catalog}')
50
+ m
51
+ """
52
+ st.code(markdown)
53
+
54
+
55
+ style = {
56
+ 'weight': 1,
57
+ 'fillOpacity': 0
58
+ }
59
+ m.add_geojson(geojson, layer_name=dataset, style=style, info_mode='on_click')
60
+ m.add_stac_layer(mosaic, name=catalog)
61
+
62
+ st.info('About')
63
+ markdown = f"""
64
+ - [Web App Source Code](https://github.com/opengeos/maxar-open-data/blob/master/streamlit_app.py)
65
+ - [GitHub Repo](https://github.com/opengeos/maxar-open-data)
66
+ - [Notebook Example](https://github.com/opengeos/maxar-open-data/blob/master/examples/maxar_open_data.ipynb)
67
+ - [Maxar Open Data Program](https://www.maxar.com/open-data)
68
+ - [Maxar Open Data on AWS](https://registry.opendata.aws/maxar-open-data/)
69
+ - [Maxar Open Data on STAC Index](https://stacindex.org/catalogs/maxar-open-data-catalog-ard-format#/)
70
+ - [Maxar Open Data on STAC Browser](https://radiantearth.github.io/stac-browser/#/external/maxar-opendata.s3.amazonaws.com/events/catalog.json?.language=en)
71
+ - Contact: [Qiusheng Wu](https://github.com/giswqs)
72
+ """
73
+ st.markdown(markdown)
74
+
75
+ with col2:
76
+ m.to_streamlit(height=780)
requirements.txt ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ leafmap
2
+ altair<5