thadk giswqs commited on
Commit
3d01e3d
·
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 +81 -0
  4. requirements.txt +3 -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,81 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import os
2
+ import streamlit as st
3
+ import pandas as pd
4
+ import leafmap.foliumap as leafmap
5
+
6
+ st.set_page_config(layout="wide")
7
+
8
+ url = 'https://open.gishub.org/maxar-open-data'
9
+ repo = 'https://github.com/opengeos/maxar-open-data/blob/master/datasets'
10
+
11
+ os.environ['GOOGLE_MAPS_API_KEY'] = 'API-KEY'
12
+ m = leafmap.Map()
13
+ m.add_basemap('SATELLITE')
14
+ m.add_basemap('ROADMAP')
15
+
16
+
17
+ @st.cache_data
18
+ def get_datasets():
19
+ datasets = f'{url}/datasets.csv'
20
+ df = pd.read_csv(datasets)
21
+ return df
22
+
23
+
24
+ @st.cache_data
25
+ def get_catalogs(name):
26
+ dataset = f'{url}/datasets/{name}.tsv'
27
+
28
+ dataset_df = pd.read_csv(dataset, sep='\t')
29
+ catalog_ids = dataset_df['catalog_id'].unique().tolist()
30
+ return catalog_ids
31
+
32
+
33
+ st.title('Visualizing Maxar Open Data')
34
+
35
+ col1, col2 = st.columns([1.2, 3.8])
36
+
37
+ with col1:
38
+ default = 'Morocco-Earthquake-Sept-2023'
39
+ datasets = get_datasets()['dataset'].tolist()
40
+ dataset = st.selectbox('Select a dataset', datasets, index=datasets.index(default))
41
+ catalog = st.selectbox('Select a COG mosaic', get_catalogs(dataset), index=get_catalogs(dataset).index('10300500E4F91900'))
42
+ geojson = f'{url}/datasets/{dataset}.geojson'
43
+ mosaic = f'{url}/datasets/{dataset}/{catalog}.json'
44
+ tsv = f'{repo}/{dataset}/{catalog}.tsv'
45
+ st.markdown(f'View metadata: [{catalog}.tsv]({tsv})')
46
+
47
+ with st.expander("Python code snippets"):
48
+ markdown = f"""
49
+ import leafmap.foliumap as leafmap
50
+ m = leafmap.Map()
51
+ geojson = '{geojson}'
52
+ mosaic = '{mosaic}'
53
+ m.add_geojson(geojson, layer_name='{dataset}', info_mode='on_click')
54
+ m.add_stac_layer(mosaic, name='{catalog}')
55
+ m
56
+ """
57
+ st.code(markdown)
58
+
59
+
60
+ style = {
61
+ 'weight': 1,
62
+ 'fillOpacity': 0
63
+ }
64
+ m.add_geojson(geojson, layer_name=dataset, style=style, info_mode='on_click')
65
+ m.add_stac_layer(mosaic, name=catalog)
66
+
67
+ st.info('About')
68
+ markdown = f"""
69
+ - [Web App Source Code](https://github.com/opengeos/maxar-open-data/blob/master/streamlit_app.py)
70
+ - [GitHub Repo](https://github.com/opengeos/maxar-open-data)
71
+ - [Notebook Example](https://github.com/opengeos/maxar-open-data/blob/master/examples/maxar_open_data.ipynb)
72
+ - [Maxar Open Data Program](https://www.maxar.com/open-data)
73
+ - [Maxar Open Data on AWS](https://registry.opendata.aws/maxar-open-data/)
74
+ - [Maxar Open Data on STAC Index](https://stacindex.org/catalogs/maxar-open-data-catalog-ard-format#/)
75
+ - [Maxar Open Data on STAC Browser](https://radiantearth.github.io/stac-browser/#/external/maxar-opendata.s3.amazonaws.com/events/catalog.json?.language=en)
76
+ - Contact: [Qiusheng Wu](https://github.com/giswqs)
77
+ """
78
+ st.markdown(markdown)
79
+
80
+ with col2:
81
+ m.to_streamlit(height=780)
requirements.txt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ leafmap
2
+ altair<5
3
+ geopandas