|
- import json
- import sys
- import subprocess
-
- config = json.load(open(sys.argv[1]))
- results = []
-
- for item in config["items"]:
- lon0 = item["lon0"]
- lat0 = item["lat0"]
- lon1 = item["lon1"]
- lat1 = item["lat1"]
-
- center_lat = (lat0 + lat1) / 2
- center_lon = (lon0 + lon1) / 2
-
- path = "../../" + config["directory"] + "/" + item["name"] + ".svg"
-
- CMD = """\
- mapshaper -i {7} \
- -rectangle bbox={0},{1},{2},{3} name=rect \
- -clip rect target=ne_10m_land \
- -proj crs="+proj=nsper +h=10000000 +lon_0={4} +lat_0={5}" target=ne_10m_land,rect \
- -each 'console.log(this.bounds.concat([this.area]))' target=rect \
- -o "{6}" target=ne_10m_land
- """
-
- prepared = CMD.format(lon0, lat0, lon1, lat1, center_lon, center_lat, path, config["shapefile"])
- print(prepared)
- result = subprocess.check_output(
- prepared,
- shell=True
- )
-
- data = json.loads(result.decode("utf-8"))
-
- height = data[3] - data[1]
- area = data[4]
-
- results.append([item["name"], area, height])
-
- print(json.dumps(results))
|