diff --git a/media/attribution.js b/media/attribution.js
index 5a95c526..461961c4 100644
--- a/media/attribution.js
+++ b/media/attribution.js
@@ -15706,6 +15706,13 @@ const attributionData = {
"naturalearth"
]
},
+ {
+ prefix: "./media/naturals/artificial-land",
+ all: "https://gadm.org/download_country_v3.html",
+ authors: [
+ "gadm"
+ ]
+ },
{
prefix: "./media/naturals/canals",
all: "https://www.naturalearthdata.com/downloads/10m-physical-vectors/",
@@ -21280,6 +21287,10 @@ const attributionData = {
"name": "Nolow",
"url": "https://twitter.com/Cheetahfluff/"
},
+ "gadm": {
+ "name": "Database of Global Administrative Areas",
+ "url": "https://gadm.org/"
+ },
}
}
diff --git a/media/naturals/artificial-land/Nakhlat Jabal Ali.svg b/media/naturals/artificial-land/Nakhlat Jabal Ali.svg
new file mode 100644
index 00000000..0b4c6ad5
--- /dev/null
+++ b/media/naturals/artificial-land/Nakhlat Jabal Ali.svg
@@ -0,0 +1,6 @@
+
+
\ No newline at end of file
diff --git a/media/naturals/artificial-land/Nakhlat Jumeira.svg b/media/naturals/artificial-land/Nakhlat Jumeira.svg
new file mode 100644
index 00000000..e9d3220e
--- /dev/null
+++ b/media/naturals/artificial-land/Nakhlat Jumeira.svg
@@ -0,0 +1,6 @@
+
+
\ No newline at end of file
diff --git a/media/naturals/artificial-land/Palm Deira.svg b/media/naturals/artificial-land/Palm Deira.svg
new file mode 100644
index 00000000..3db8917f
--- /dev/null
+++ b/media/naturals/artificial-land/Palm Deira.svg
@@ -0,0 +1,6 @@
+
+
\ No newline at end of file
diff --git a/media/naturals/artificial-land/World Islands.svg b/media/naturals/artificial-land/World Islands.svg
new file mode 100644
index 00000000..daac0c12
--- /dev/null
+++ b/media/naturals/artificial-land/World Islands.svg
@@ -0,0 +1,6 @@
+
+
\ No newline at end of file
diff --git a/presets/naturals.js b/presets/naturals.js
index 69ea9600..7b885cf5 100644
--- a/presets/naturals.js
+++ b/presets/naturals.js
@@ -900,7 +900,7 @@ const riverData = [['Rio Grande', 1343726.718946372], ['Amazon', 321654.37493351
const canalData = [['Suez Canal', 142645.14813263412]]
const famousPlaceData = [["Bermuda Triangle", 2912862312063.4375, 1701656.8370467045]]
const landData = [["0,0", 1.27560e+7], ["0,90", 1.27560e+7], ["0,180", 1.27560e+7], ["0,-90", 1.27560e+7]]
-
+const artificialLandData = [['Nakhlat Jabal Ali', 7161.263086713934], ['Nakhlat Jumeira', 5274.965892367926], ['World Islands', 8776.2656000156], ['Palm Deira', 10594.141235040714]];
function makePlanet(name, diameter, mass, image) {
return {
@@ -1173,6 +1173,15 @@ function makeNaturals() {
false
));
+
+ results.push(makeGIS(
+ artificialLandData.sort((c1, c2) => {
+ return c1[0].localeCompare(c2[0])
+ }),
+ "Artificial Land",
+ false
+ ));
+
results.sort((b1, b2) => {
e1 = b1.constructor();
e2 = b2.constructor();
diff --git a/scripts/mapshaper/.gitignore b/scripts/mapshaper/.gitignore
index 7bfce906..9e1ef8d5 100644
--- a/scripts/mapshaper/.gitignore
+++ b/scripts/mapshaper/.gitignore
@@ -1 +1,2 @@
-temp.*
\ No newline at end of file
+temp.*
+**/
diff --git a/scripts/mapshaper/map-coords.py b/scripts/mapshaper/map-coords.py
index f48696dc..40f71422 100644
--- a/scripts/mapshaper/map-coords.py
+++ b/scripts/mapshaper/map-coords.py
@@ -90,7 +90,7 @@ elif config["mode"] == "filter":
f"""mapshaper -i temp.shp """
f"""-filter "{config["base-filter"]}" """
f"""-filter "{item["filter"]}" """
- f"""-simplify interval=1000 """
+ f"""-simplify interval={config["simplify-size"]} """
f"""-proj "+proj=ortho +lat_0={lat} +lon_0={lon}" """
f"""-info """ +
f"""-style stroke-width={config["stroke-width"]} """
@@ -104,9 +104,10 @@ elif config["mode"] == "filter":
stderr=subprocess.STDOUT
)
except subprocess.CalledProcessError as exc:
- print(exc.output)
+ print(exc.output.decode("utf-8"))
continue
+ print(result.decode("utf-8"))
for line in result.decode("utf-8").split("\n"):
if "Bounds:" in line:
coords = list(map(float, line[7:].strip().split(",")))
diff --git a/scripts/mapshaper/uae-landmasses.json b/scripts/mapshaper/uae-landmasses.json
new file mode 100644
index 00000000..0433bc2f
--- /dev/null
+++ b/scripts/mapshaper/uae-landmasses.json
@@ -0,0 +1,15 @@
+{
+ "name": "Artificial Land",
+ "directory": "/media/naturals/artificial-land/",
+ "shapefile": "./uae-landmasses/gadm36_ARE_3.shp",
+ "mode": "filter",
+ "base-filter": "true",
+ "stroke-width": 1,
+ "simplify-size": 3,
+ "items": [
+ {"name": "Nakhlat Jabal Ali", "filter": "this.properties.NAME_3 == 'Nakhlat Jabal Ali'"},
+ {"name": "Nakhlat Jumeira", "filter": "this.properties.NAME_3 == 'Nakhlat Jumeira'"},
+ {"name": "World Islands", "filter": "this.properties.NAME_3 == 'World Islands'"},
+ {"name": "Palm Deira", "filter": "this.properties.NAME_3 == 'Palm Deira (Under Construction)'"}
+ ]
+}