diff --git a/macrovision.html b/macrovision.html
index 278f4b43..6a77beee 100644
--- a/macrovision.html
+++ b/macrovision.html
@@ -91,6 +91,8 @@
Character Submissions
+ Feedback
diff --git a/scripts/mapshaper/islands.json b/scripts/mapshaper/islands.json
new file mode 100644
index 00000000..a453edde
--- /dev/null
+++ b/scripts/mapshaper/islands.json
@@ -0,0 +1,79 @@
+{
+ "name": "Islands",
+ "directory": "/media/naturals/islands/",
+ "shapefile": "D:/GSHHS_shp/h/GSHHS_h_L1.shp",
+ "mode": "bounding-boxes",
+ "layer": "GSHHS_h_L1",
+ "items": [
+ {
+ "name": "Long Island",
+ "corner0": [-74.255,41.358],
+ "corner1": [-71.347,40.307]
+ },
+ {
+ "name": "Bermuda",
+ "corner0": [-64.9198,32.4254],
+ "corner1": [-64.6175,32.2227]
+ },
+ {
+ "name": "Sicily",
+ "corner0": [12.222,38.306],
+ "corner1": [15.607,36.527]
+ },
+ {
+ "name": "Tasmania",
+ "corner0": [143.519,-39.435],
+ "corner1": [148.903,-44.009]
+ },
+ {
+ "name": "Elba",
+ "corner0": [10.0588,42.9178],
+ "corner1": [10.4917,42.6677]
+ },
+ {
+ "name": "Saint Helena",
+ "corner0": [-5.8390,-15.8896],
+ "corner1": [-5.5959,-16.0670]
+ },
+ {
+ "name": "Galveston",
+ "corner0": [-95.1322,29.3641],
+ "corner1": [-94.6995,29.0599]
+ },
+ {
+ "name": "Falkland Islands",
+ "corner0": [-61.648,-50.847],
+ "corner1": [-57.521,-52.676]
+ },
+ {
+ "name": "Corsica",
+ "corner0": [8.384,43.115],
+ "corner1": [9.5991,41.3197]
+ },
+ {
+ "name": "Sardinia",
+ "corner0": [8.0122,41.3190],
+ "corner1": [9.936,38.723]
+ },
+ {
+ "name": "Vancouver Island",
+ "corner0": [-129.269,51.141],
+ "corner1": [-121.930,47.770]
+ },
+ {
+ "name": "Sakhalin",
+ "corner0": [141.580,54.634],
+ "corner1": [145.121,45.600]
+ },
+ {
+ "name": "Hainan Island",
+ "corner0": [108.346,20.183],
+ "corner1": [111.342,17.866]
+ },
+ {
+ "name": "Sokotra",
+ "corner0": [53.267,12.821],
+ "corner1": [54.655,12.225]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/scripts/mapshaper/map-coords.py b/scripts/mapshaper/map-coords.py
index 9494a4b8..f5659995 100644
--- a/scripts/mapshaper/map-coords.py
+++ b/scripts/mapshaper/map-coords.py
@@ -8,10 +8,10 @@ if config["mode"] == "bounding-boxes":
results = []
for item in config["items"]:
- lon0 = item["lon0"]
- lat0 = item["lat0"]
- lon1 = item["lon1"]
- lat1 = item["lat1"]
+ lon0 = item["corner0"][0]
+ lat0 = item["corner0"][1]
+ lon1 = item["corner1"][0]
+ lat1 = item["corner1"][1]
center_lat = (lat0 + lat1) / 2
center_lon = (lon0 + lon1) / 2
@@ -22,8 +22,8 @@ if config["mode"] == "bounding-boxes":
mapshaper -i {7} \
-rectangle bbox={0},{1},{2},{3} name=rect \
-clip rect target={8} \
- -proj crs="+proj=nsper +h=10000000 +lon_0={4} +lat_0={5}" target={8},rect \
- -each 'console.log(this.bounds.concat([this.area]))' target=rect \
+ -proj crs="+proj=ortho +lon_0={4} +lat_0={5}" target={8},rect \
+ -info target={8} \
-o "{6}" target={8}
"""
@@ -31,16 +31,19 @@ if config["mode"] == "bounding-boxes":
prepared = CMD.format(lon0, lat0, lon1, lat1, center_lon, center_lat, path, config["shapefile"], config["layer"])
result = subprocess.check_output(
prepared,
- shell=True
+ shell=True,
+ stderr=subprocess.STDOUT
)
- data = json.loads(result.decode("utf-8"))
+ for line in result.decode("utf-8").split("\n"):
+ if "Bounds:" in line:
+ data = [float(x) for x in line[8:].strip().split(",")]
height = data[3] - data[1]
- area = data[4]
- results.append([item["name"], area, height])
- except:
+ results.append([item["name"], height])
+ except Exception as e:
+ print(e)
print(result.decode("utf-8"))
print(json.dumps(results))