-
Notifications
You must be signed in to change notification settings - Fork 12
/
select_admin1.py
41 lines (30 loc) · 1.44 KB
/
select_admin1.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
41
## Copyright 2018-2019 Tom Brown
## This program is free software; you can redistribute it and/or
## modify it under the terms of the GNU Affero General Public License as
## published by the Free Software Foundation; either version 3 of the
## License, or (at your option) any later version.
## This program is distributed in the hope that it will be useful,
## but WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
## GNU Affero General Public License for more details.
## License and more information at:
## https://github.com/PyPSA/whobs-server
import json
#from https://datahub.io/core/geo-ne-admin1
with open('static/admin1.geojson') as json_file:
data = json.load(json_file)
#only keep some countries to avoid very large file sizes
#select large countries and those with big populations
countries_to_keep = ["Australia","Germany","Russia","United States of America","India","China"]
regions_to_keep = []
for d in data["features"]:
country = d["properties"]["country"]
if country in countries_to_keep:
if d["properties"]["name"] is not None:
regions_to_keep.append(d)
else:
print("skipping region",d["properties"]["name"],"in",d["properties"]["country"])
regions_json = {"type" : "FeatureCollection",
"features" : regions_to_keep}
with open('static/selected_admin1.json', 'w') as fp:
json.dump(regions_json, fp)