-
Notifications
You must be signed in to change notification settings - Fork 2
/
write_biomass_layers.py
40 lines (35 loc) · 1.32 KB
/
write_biomass_layers.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#!git clone [email protected]:maap-project/biomass-dashboard-datasets
import csv
import json
import os
def write_biomass_layers():
data_dir = "biomass-dashboard-datasets/datasets/"
files = os.listdir(data_dir)
biomass_file = os.path.join(
os.path.dirname(__package__),
"data",
"biomass-layers.csv",
)
with open(biomass_file, "w", newline="") as csv_file:
fieldnames = ["Layer Name", "Tiles URL"]
writer = csv.DictWriter(csv_file, fieldnames=fieldnames)
writer.writeheader()
for filename in files:
with open(f"{data_dir}{filename}", "r") as file_obj:
data = json.loads(file_obj.read())
if data["source"].get("tiles"):
tile_url = data["source"]["tiles"][0]
tile_url = tile_url.replace("&color_formula=gamma r {gamma}", "")
tile_url = tile_url.replace(
"{titiler_server_url}", "https://titiler.maap-project.org"
)
file_obj.close()
writer.writerow(
{
fieldnames[0]: data["id"].capitalize().replace("_", " "),
fieldnames[1]: tile_url,
}
)
csv_file.close()
if __name__ == "__main__":
write_biomass_layers()