From 1a3465044fc356df0c05f8744bdf08cf8b3562fc Mon Sep 17 00:00:00 2001 From: NingetsuSama Date: Thu, 30 May 2024 19:52:29 +0200 Subject: [PATCH] ajout de la map --- package-lock.json | 32 +- package.json | 3 +- src/app/globals.css | 11 + src/app/page.js | 86 +- src/components/Body.js | 2 +- src/components/Carousel.js | 38 +- src/components/Map.js | 34 + src/components/Modal.js | 27 + src/components/Switch.js | 5 +- src/data.json | 64 - src/data/custom.geo.json | 3347 ++++++++++++++++++++++++++++++++++++ src/data/data.json | 462 +++++ src/utils.js | 11 + 13 files changed, 4013 insertions(+), 109 deletions(-) create mode 100644 src/components/Map.js create mode 100644 src/components/Modal.js delete mode 100644 src/data.json create mode 100644 src/data/custom.geo.json create mode 100644 src/data/data.json create mode 100644 src/utils.js diff --git a/package-lock.json b/package-lock.json index 3bcdd72..c3dcbaf 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,7 +11,8 @@ "bootstrap": "^5.3.3", "next": "14.2.3", "react": "^18", - "react-dom": "^18" + "react-dom": "^18", + "react-leaflet": "^4.2.1" }, "devDependencies": { "eslint": "^8", @@ -367,6 +368,16 @@ "url": "https://opencollective.com/popperjs" } }, + "node_modules/@react-leaflet/core": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@react-leaflet/core/-/core-2.1.0.tgz", + "integrity": "sha512-Qk7Pfu8BSarKGqILj4x7bCSZ1pjuAPZ+qmRwH5S7mDS91VSbVVsJSrW4qA+GPrro8t69gFYVMWb1Zc4yFmPiVg==", + "peerDependencies": { + "leaflet": "^1.9.0", + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, "node_modules/@rushstack/eslint-patch": { "version": "1.10.2", "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.10.2.tgz", @@ -2720,6 +2731,12 @@ "node": ">=0.10" } }, + "node_modules/leaflet": { + "version": "1.9.4", + "resolved": "https://registry.npmjs.org/leaflet/-/leaflet-1.9.4.tgz", + "integrity": "sha512-nxS1ynzJOmOlHp+iL3FyWqK89GtNL8U8rvlMOsQdTTssxZwCXh8N2NB3GDQOL+YR3XnWyZAxwQixURb+FA74PA==", + "peer": true + }, "node_modules/levn": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", @@ -3286,6 +3303,19 @@ "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", "dev": true }, + "node_modules/react-leaflet": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/react-leaflet/-/react-leaflet-4.2.1.tgz", + "integrity": "sha512-p9chkvhcKrWn/H/1FFeVSqLdReGwn2qmiobOQGO3BifX+/vV/39qhY8dGqbdcPh1e6jxh/QHriLXr7a4eLFK4Q==", + "dependencies": { + "@react-leaflet/core": "^2.1.0" + }, + "peerDependencies": { + "leaflet": "^1.9.0", + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, "node_modules/reflect.getprototypeof": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.6.tgz", diff --git a/package.json b/package.json index e4ce0bd..73c893a 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,8 @@ "bootstrap": "^5.3.3", "next": "14.2.3", "react": "^18", - "react-dom": "^18" + "react-dom": "^18", + "react-leaflet": "^4.2.1" }, "devDependencies": { "eslint": "^8", diff --git a/src/app/globals.css b/src/app/globals.css index 6b77dfa..3ec31a4 100644 --- a/src/app/globals.css +++ b/src/app/globals.css @@ -9,3 +9,14 @@ box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); } +.switch-container { + max-width: 85%; + height: max-content; + margin: 25px auto; + position: center; + padding: 10px; + background: #f9f9f9; + border-radius: 5px; + box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); +} + diff --git a/src/app/page.js b/src/app/page.js index ae2f146..69a8955 100644 --- a/src/app/page.js +++ b/src/app/page.js @@ -1,38 +1,84 @@ "use client"; -import { useState } from "react"; +import { useEffect, useState } from "react"; +import { updateCountryInfo } from "../utils.js"; import Body from "../components/Body.js"; import Switch from "../components/Switch.js"; -import Listing from "../components/Listing.js"; import Carousel from "../components/Carousel.js"; +import Map from "../components/Map.js"; +import Modal from "../components/Modal.js"; -import cancerData from "../data.json"; + +// Part to select the data to represent +function DataSelect({active, setActive}) { + return( +
+

Type of Cancer

+

Select a type of cancer to learn about its statistics :

+ +
+ ); +} + +// Part to represent the data chosen +function DataRepr({active}) { + + // Mode of representation (false: Graphs, true: Map) + const [mode, setMode] = useState(false); + // Information about the selected country + const [countryInfo, setCountryInfo] = useState(null); + + // Updates the information on countries when the active cancer changes + useEffect(() => { + if (countryInfo != null) { + updateCountryInfo(setCountryInfo, active, countryInfo.name, countryInfo.latlng) + } + }, [active]); + + return ( +
+ +

Statistics {active == null ? "" : "on " + (active.type).toLowerCase() + " cancer"}

+
+
+
+ Graphs +
+
+ +
+
+ Map +
+
+
+ {mode ? : } +
+ ); +} export default function Page() { - const cancers = cancerData.cancers; + // The current cancer that is displayed const [currentCancer, setCurrentCancer] = useState(null); - const [mode, setMode] = useState(false); return ( -
-
+ <> -

Type of Cancer

-

Select a type of cancer to learn about its statistics :

- - {mode ? - - : - - } -
-
-

Cancer Stat Facts {currentCancer == null ? "" : ": " + currentCancer.type}

- {currentCancer == null ? null : } + + +
+ + {currentCancer === null ? null : }
- + + ); } \ No newline at end of file diff --git a/src/components/Body.js b/src/components/Body.js index 92bc79d..e4df6e7 100644 --- a/src/components/Body.js +++ b/src/components/Body.js @@ -1,4 +1,4 @@ -import cancerData from "../data"; +import cancerData from "../data/data.json"; export default function Body({active, setActive}) { diff --git a/src/components/Carousel.js b/src/components/Carousel.js index b2f7cdf..c69290e 100644 --- a/src/components/Carousel.js +++ b/src/components/Carousel.js @@ -1,31 +1,31 @@ +import { useState } from "react"; + export default function Carousel({ currentCancer }) { const isProd = process.env.NODE_ENV === 'production'; + const [activeImage, setActiveImage] = useState(0); + return ( -
-
-
- +
+ {activeImage === 0 ? : null } + {activeImage === 1 ? : null } + {activeImage === 2 ? : null } + {activeImage === 3 ? : null } +
+
+ setActiveImage(0)} src={(isProd ? "/TogetherAgainstCancer" : "") + "/graphs/" + (currentCancer.type).toLowerCase() + "/daly.png"} className="rounded mx-auto d-block w-100" />
-
- +
+ setActiveImage(1)} src={(isProd ? "/TogetherAgainstCancer" : "") + "/graphs/" + (currentCancer.type).toLowerCase() + "/hbar.png"} className="rounded mx-auto d-block w-100" />
-
- +
+ setActiveImage(2)} src={(isProd ? "/TogetherAgainstCancer" : "") + "/graphs/" + (currentCancer.type).toLowerCase() + "/time_series.png"} className="d-block w-100" />
-
- +
+ setActiveImage(3)} src={(isProd ? "/TogetherAgainstCancer" : "") + "/graphs/" + (currentCancer.type).toLowerCase() + "/vbar.png"} className="d-block w-100" />
- - -
+
); } \ No newline at end of file diff --git a/src/components/Map.js b/src/components/Map.js new file mode 100644 index 0000000..8bace02 --- /dev/null +++ b/src/components/Map.js @@ -0,0 +1,34 @@ +import { MapContainer, TileLayer, GeoJSON } from "react-leaflet"; +import geoData from "../data/custom.geo.json"; +import 'leaflet/dist/leaflet.css' +import { updateCountryInfo } from "../utils"; + + +// Map Component +export default function Map({ setCountryInfo, currentCancer }) { + + // Central Europe position + const position = [48.6908333333, 9.14055555556]; + + // Event Handler for each country + const countryHandler = (feature, layer) => { + layer.on({ + click: (e) => { + const country = feature.properties.name; + updateCountryInfo(setCountryInfo, currentCancer, country, e.latlng); + const modal = new bootstrap.Modal('#modalCountry', {}) + modal.show() + } + }); + }; + + return ( + + + + + ); +} \ No newline at end of file diff --git a/src/components/Modal.js b/src/components/Modal.js new file mode 100644 index 0000000..c6069ef --- /dev/null +++ b/src/components/Modal.js @@ -0,0 +1,27 @@ +export default function Modal({ countryInfo }) { + + if (countryInfo != null) { + console.log(countryInfo.deathRateMen); + } + + return ( + + ); +} \ No newline at end of file diff --git a/src/components/Switch.js b/src/components/Switch.js index d4302b1..204a522 100644 --- a/src/components/Switch.js +++ b/src/components/Switch.js @@ -5,15 +5,14 @@ export default function Switch({state, stateSetter}) { } return ( -
+
-
); } \ No newline at end of file diff --git a/src/data.json b/src/data.json deleted file mode 100644 index 131d88e..0000000 --- a/src/data.json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "cancers": [ - { - "id": 1, - "type": "Brain", - "point_pos": [70.5, 16], - "text_pos": [75, 15] - }, - { - "id": 2, - "type": "Breast", - "point_pos": [31, 35], - "text_pos": [36.5, 34] - }, - { - "id": 3, - "type": "Colon", - "point_pos": [70.5, 48], - "text_pos": [78, 60] - }, - { - "id": 4, - "type": "Kidney", - "point_pos": [73, 43], - "text_pos": [83, 39] - }, - { - "id": 5, - "type": "Liver", - "point_pos": [69, 39], - "text_pos": [49, 37] - }, - { - "id": 6, - "type": "Ovarian", - "point_pos": [28, 49], - "text_pos": [3, 46] - }, - { - "id": 7, - "type": "Pancreas", - "point_pos": [70, 42.5], - "text_pos": [40, 41] - }, - { - "id": 8, - "type": "Stomach", - "point_pos": [72, 40], - "text_pos": [83, 39] - }, - { - "id": 9, - "type": "Trachea", - "point_pos": [70.5, 27], - "text_pos": [50, 25] - }, - { - "id": 10, - "type": "Thyroid", - "point_pos": [28.5, 29], - "text_pos": [33, 27] - } - ] -} \ No newline at end of file diff --git a/src/data/custom.geo.json b/src/data/custom.geo.json new file mode 100644 index 0000000..3f6b096 --- /dev/null +++ b/src/data/custom.geo.json @@ -0,0 +1,3347 @@ +{ + "type": "FeatureCollection", + "features": [ + { + "type": "Feature", + "properties": { + "featurecla": "Admin-0 country", + "scalerank": 1, + "labelrank": 2, + "sovereignt": "France", + "sov_a3": "FR1", + "adm0_dif": 1, + "level": 2, + "type": "Country", + "tlc": "1", + "admin": "France", + "adm0_a3": "FRA", + "geou_dif": 0, + "geounit": "France", + "gu_a3": "FRA", + "su_dif": 0, + "subunit": "France", + "su_a3": "FRA", + "brk_diff": 0, + "name": "France", + "name_long": "France", + "brk_a3": "FRA", + "brk_name": "France", + "brk_group": null, + "abbrev": "Fr.", + "postal": "F", + "formal_en": "French Republic", + "formal_fr": null, + "name_ciawf": "France", + "note_adm0": null, + "note_brk": null, + "name_sort": "France", + "name_alt": null, + "mapcolor7": 7, + "mapcolor8": 5, + "mapcolor9": 9, + "mapcolor13": 11, + "pop_est": 67059887, + "pop_rank": 16, + "pop_year": 2019, + "gdp_md": 2715518, + "gdp_year": 2019, + "economy": "1. Developed region: G7", + "income_grp": "1. High income: OECD", + "fips_10": "FR", + "iso_a2": "-99", + "iso_a2_eh": "FR", + "iso_a3": "-99", + "iso_a3_eh": "FRA", + "iso_n3": "-99", + "iso_n3_eh": "250", + "un_a3": "250", + "wb_a2": "FR", + "wb_a3": "FRA", + "woe_id": -90, + "woe_id_eh": 23424819, + "woe_note": "Includes only Metropolitan France (including Corsica)", + "adm0_iso": "FRA", + "adm0_diff": null, + "adm0_tlc": "FRA", + "adm0_a3_us": "FRA", + "adm0_a3_fr": "FRA", + "adm0_a3_ru": "FRA", + "adm0_a3_es": "FRA", + "adm0_a3_cn": "FRA", + "adm0_a3_tw": "FRA", + "adm0_a3_in": "FRA", + "adm0_a3_np": "FRA", + "adm0_a3_pk": "FRA", + "adm0_a3_de": "FRA", + "adm0_a3_gb": "FRA", + "adm0_a3_br": "FRA", + "adm0_a3_il": "FRA", + "adm0_a3_ps": "FRA", + "adm0_a3_sa": "FRA", + "adm0_a3_eg": "FRA", + "adm0_a3_ma": "FRA", + "adm0_a3_pt": "FRA", + "adm0_a3_ar": "FRA", + "adm0_a3_jp": "FRA", + "adm0_a3_ko": "FRA", + "adm0_a3_vn": "FRA", + "adm0_a3_tr": "FRA", + "adm0_a3_id": "FRA", + "adm0_a3_pl": "FRA", + "adm0_a3_gr": "FRA", + "adm0_a3_it": "FRA", + "adm0_a3_nl": "FRA", + "adm0_a3_se": "FRA", + "adm0_a3_bd": "FRA", + "adm0_a3_ua": "FRA", + "adm0_a3_un": -99, + "adm0_a3_wb": -99, + "continent": "Europe", + "region_un": "Europe", + "subregion": "Western Europe", + "region_wb": "Europe & Central Asia", + "name_len": 6, + "long_len": 6, + "abbrev_len": 3, + "tiny": -99, + "homepart": 1, + "min_zoom": 0, + "min_label": 1.7, + "max_label": 6.7, + "label_x": 2.552275, + "label_y": 46.696113, + "ne_id": 1159320637, + "wikidataid": "Q142", + "name_ar": "فرنسا", + "name_bn": "ফ্রান্স", + "name_de": "Frankreich", + "name_en": "France", + "name_es": "Francia", + "name_fa": "فرانسه", + "name_fr": "France", + "name_el": "Γαλλία", + "name_he": "צרפת", + "name_hi": "फ़्रान्स", + "name_hu": "Franciaország", + "name_id": "Prancis", + "name_it": "Francia", + "name_ja": "フランス", + "name_ko": "프랑스", + "name_nl": "Frankrijk", + "name_pl": "Francja", + "name_pt": "França", + "name_ru": "Франция", + "name_sv": "Frankrike", + "name_tr": "Fransa", + "name_uk": "Франція", + "name_ur": "فرانس", + "name_vi": "Pháp", + "name_zh": "法国", + "name_zht": "法國", + "fclass_iso": "Admin-0 country", + "tlc_diff": null, + "fclass_tlc": "Admin-0 country", + "fclass_us": null, + "fclass_fr": null, + "fclass_ru": null, + "fclass_es": null, + "fclass_cn": null, + "fclass_tw": null, + "fclass_in": null, + "fclass_np": null, + "fclass_pk": null, + "fclass_de": null, + "fclass_gb": null, + "fclass_br": null, + "fclass_il": null, + "fclass_ps": null, + "fclass_sa": null, + "fclass_eg": null, + "fclass_ma": null, + "fclass_pt": null, + "fclass_ar": null, + "fclass_jp": null, + "fclass_ko": null, + "fclass_vn": null, + "fclass_tr": null, + "fclass_id": null, + "fclass_pl": null, + "fclass_gr": null, + "fclass_it": null, + "fclass_nl": null, + "fclass_se": null, + "fclass_bd": null, + "fclass_ua": null, + "filename": "FRA.geojson" + }, + "geometry": { + "type": "MultiPolygon", + "coordinates": [ + [ + [ + [ + -51.65779741067889, + 4.156232408053029 + ], + [ + -52.249337531123956, + 3.241094468596245 + ], + [ + -52.55642473001842, + 2.504705308437053 + ], + [ + -52.939657151894956, + 2.124857692875636 + ], + [ + -53.41846513529531, + 2.053389187015981 + ], + [ + -53.554839240113544, + 2.334896551925951 + ], + [ + -53.77852067728892, + 2.376702785650082 + ], + [ + -54.08806250671725, + 2.105556545414629 + ], + [ + -54.524754197799716, + 2.311848863123785 + ], + [ + -54.2697051662232, + 2.732391669115046 + ], + [ + -54.181726040246275, + 3.189779771330421 + ], + [ + -54.00693050801901, + 3.620037746592558 + ], + [ + -54.399542202356514, + 4.212611395683467 + ], + [ + -54.47863298197923, + 4.896755682795586 + ], + [ + -53.9580446030709, + 5.756548163267765 + ], + [ + -53.618452928264844, + 5.646529038918374 + ], + [ + -52.88214128275409, + 5.409850979021584 + ], + [ + -51.8233428615259, + 4.565768133966131 + ], + [ + -51.65779741067889, + 4.156232408053029 + ] + ] + ], + [ + [ + [ + 6.186320428094177, + 49.463802802114515 + ], + [ + 6.658229607783568, + 49.20195831969157 + ], + [ + 8.099278598674744, + 49.01778351500333 + ], + [ + 7.593676385131062, + 48.33301911070372 + ], + [ + 7.466759067422231, + 47.62058197691181 + ], + [ + 7.192202182655507, + 47.44976552997102 + ], + [ + 6.736571079138059, + 47.541801255882845 + ], + [ + 6.768713820023606, + 47.2877082383037 + ], + [ + 6.037388950229001, + 46.725778713561866 + ], + [ + 6.022609490593538, + 46.27298981382047 + ], + [ + 6.500099724970426, + 46.42967275652944 + ], + [ + 6.843592970414505, + 45.99114655210061 + ], + [ + 6.802355177445605, + 45.70857982032864 + ], + [ + 7.096652459347837, + 45.33309886329589 + ], + [ + 6.749955275101655, + 45.02851797136758 + ], + [ + 7.007562290076635, + 44.25476675066136 + ], + [ + 7.549596388386107, + 44.12790110938481 + ], + [ + 7.435184767291872, + 43.69384491634922 + ], + [ + 6.52924523278304, + 43.128892320318315 + ], + [ + 4.556962517931424, + 43.399650987311595 + ], + [ + 3.100410597352663, + 43.075200507167054 + ], + [ + 2.985998976258458, + 42.47301504166986 + ], + [ + 1.826793247087153, + 42.34338471126569 + ], + [ + 0.701590610363894, + 42.795734361332606 + ], + [ + 0.338046909190581, + 42.57954600683955 + ], + [ + -1.502770961910528, + 43.03401439063043 + ], + [ + -1.901351284177764, + 43.42280202897834 + ], + [ + -1.384225226232985, + 44.022610378590116 + ], + [ + -1.193797573237418, + 46.01491771095486 + ], + [ + -2.225724249673846, + 47.06436269793822 + ], + [ + -2.963276129559603, + 47.57032664650795 + ], + [ + -4.491554938159481, + 47.954954332056374 + ], + [ + -4.592349819344776, + 48.68416046812699 + ], + [ + -3.295813971357802, + 48.90169240985963 + ], + [ + -1.616510789384961, + 48.64442129169454 + ], + [ + -1.933494025063311, + 49.776341864615745 + ], + [ + -0.98946895995536, + 49.34737580016091 + ], + [ + 1.338761020522696, + 50.12717316344526 + ], + [ + 1.6390010921385, + 50.9466063502975 + ], + [ + 2.513573032246143, + 51.14850617126183 + ], + [ + 2.658422071960274, + 50.796848049515745 + ], + [ + 3.123251580425688, + 50.78036326761455 + ], + [ + 3.588184441755658, + 50.37899241800356 + ], + [ + 4.286022983425084, + 49.907496649772554 + ], + [ + 4.799221632515724, + 49.98537303323637 + ], + [ + 5.674051954784829, + 49.529483547557504 + ], + [ + 5.897759230176348, + 49.44266714130711 + ], + [ + 6.186320428094177, + 49.463802802114515 + ] + ] + ], + [ + [ + [ + 8.746009148807559, + 42.62812185319392 + ], + [ + 9.390000848028876, + 43.00998484961471 + ], + [ + 9.560016310269134, + 42.15249197037952 + ], + [ + 9.229752231491773, + 41.380006822264455 + ], + [ + 8.775723097375362, + 41.58361196549443 + ], + [ + 8.544212680707773, + 42.25651662858306 + ], + [ + 8.746009148807559, + 42.62812185319392 + ] + ] + ] + ] + } + }, + { + "type": "Feature", + "properties": { + "featurecla": "Admin-0 country", + "scalerank": 1, + "labelrank": 2, + "sovereignt": "Germany", + "sov_a3": "DEU", + "adm0_dif": 0, + "level": 2, + "type": "Sovereign country", + "tlc": "1", + "admin": "Germany", + "adm0_a3": "DEU", + "geou_dif": 0, + "geounit": "Germany", + "gu_a3": "DEU", + "su_dif": 0, + "subunit": "Germany", + "su_a3": "DEU", + "brk_diff": 0, + "name": "Germany", + "name_long": "Germany", + "brk_a3": "DEU", + "brk_name": "Germany", + "brk_group": null, + "abbrev": "Ger.", + "postal": "D", + "formal_en": "Federal Republic of Germany", + "formal_fr": null, + "name_ciawf": "Germany", + "note_adm0": null, + "note_brk": null, + "name_sort": "Germany", + "name_alt": null, + "mapcolor7": 2, + "mapcolor8": 5, + "mapcolor9": 5, + "mapcolor13": 1, + "pop_est": 83132799, + "pop_rank": 16, + "pop_year": 2019, + "gdp_md": 3861123, + "gdp_year": 2019, + "economy": "1. Developed region: G7", + "income_grp": "1. High income: OECD", + "fips_10": "GM", + "iso_a2": "DE", + "iso_a2_eh": "DE", + "iso_a3": "DEU", + "iso_a3_eh": "DEU", + "iso_n3": "276", + "iso_n3_eh": "276", + "un_a3": "276", + "wb_a2": "DE", + "wb_a3": "DEU", + "woe_id": 23424829, + "woe_id_eh": 23424829, + "woe_note": "Exact WOE match as country", + "adm0_iso": "DEU", + "adm0_diff": null, + "adm0_tlc": "DEU", + "adm0_a3_us": "DEU", + "adm0_a3_fr": "DEU", + "adm0_a3_ru": "DEU", + "adm0_a3_es": "DEU", + "adm0_a3_cn": "DEU", + "adm0_a3_tw": "DEU", + "adm0_a3_in": "DEU", + "adm0_a3_np": "DEU", + "adm0_a3_pk": "DEU", + "adm0_a3_de": "DEU", + "adm0_a3_gb": "DEU", + "adm0_a3_br": "DEU", + "adm0_a3_il": "DEU", + "adm0_a3_ps": "DEU", + "adm0_a3_sa": "DEU", + "adm0_a3_eg": "DEU", + "adm0_a3_ma": "DEU", + "adm0_a3_pt": "DEU", + "adm0_a3_ar": "DEU", + "adm0_a3_jp": "DEU", + "adm0_a3_ko": "DEU", + "adm0_a3_vn": "DEU", + "adm0_a3_tr": "DEU", + "adm0_a3_id": "DEU", + "adm0_a3_pl": "DEU", + "adm0_a3_gr": "DEU", + "adm0_a3_it": "DEU", + "adm0_a3_nl": "DEU", + "adm0_a3_se": "DEU", + "adm0_a3_bd": "DEU", + "adm0_a3_ua": "DEU", + "adm0_a3_un": -99, + "adm0_a3_wb": -99, + "continent": "Europe", + "region_un": "Europe", + "subregion": "Western Europe", + "region_wb": "Europe & Central Asia", + "name_len": 7, + "long_len": 7, + "abbrev_len": 4, + "tiny": -99, + "homepart": 1, + "min_zoom": 0, + "min_label": 1.7, + "max_label": 6.7, + "label_x": 9.678348, + "label_y": 50.961733, + "ne_id": 1159320539, + "wikidataid": "Q183", + "name_ar": "ألمانيا", + "name_bn": "জার্মানি", + "name_de": "Deutschland", + "name_en": "Germany", + "name_es": "Alemania", + "name_fa": "آلمان", + "name_fr": "Allemagne", + "name_el": "Γερμανία", + "name_he": "גרמניה", + "name_hi": "जर्मनी", + "name_hu": "Németország", + "name_id": "Jerman", + "name_it": "Germania", + "name_ja": "ドイツ", + "name_ko": "독일", + "name_nl": "Duitsland", + "name_pl": "Niemcy", + "name_pt": "Alemanha", + "name_ru": "Германия", + "name_sv": "Tyskland", + "name_tr": "Almanya", + "name_uk": "Німеччина", + "name_ur": "جرمنی", + "name_vi": "Đức", + "name_zh": "德国", + "name_zht": "德國", + "fclass_iso": "Admin-0 country", + "tlc_diff": null, + "fclass_tlc": "Admin-0 country", + "fclass_us": null, + "fclass_fr": null, + "fclass_ru": null, + "fclass_es": null, + "fclass_cn": null, + "fclass_tw": null, + "fclass_in": null, + "fclass_np": null, + "fclass_pk": null, + "fclass_de": null, + "fclass_gb": null, + "fclass_br": null, + "fclass_il": null, + "fclass_ps": null, + "fclass_sa": null, + "fclass_eg": null, + "fclass_ma": null, + "fclass_pt": null, + "fclass_ar": null, + "fclass_jp": null, + "fclass_ko": null, + "fclass_vn": null, + "fclass_tr": null, + "fclass_id": null, + "fclass_pl": null, + "fclass_gr": null, + "fclass_it": null, + "fclass_nl": null, + "fclass_se": null, + "fclass_bd": null, + "fclass_ua": null, + "filename": "DEU.geojson" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 14.119686313542559, + 53.75702912049104 + ], + [ + 14.353315463934138, + 53.24817129171297 + ], + [ + 14.074521111719434, + 52.98126251892535 + ], + [ + 14.437599725002201, + 52.62485016540839 + ], + [ + 14.685026482815687, + 52.0899474147552 + ], + [ + 14.607098422919535, + 51.74518809671997 + ], + [ + 15.01699588385867, + 51.10667409932158 + ], + [ + 14.570718214586066, + 51.002339382524276 + ], + [ + 14.307013380600637, + 51.117267767941414 + ], + [ + 14.056227654688172, + 50.9269176295943 + ], + [ + 13.338131951560285, + 50.73323436136435 + ], + [ + 12.966836785543194, + 50.484076443069085 + ], + [ + 12.240111118222558, + 50.266337795607285 + ], + [ + 12.415190870827445, + 49.96912079528057 + ], + [ + 12.521024204161193, + 49.547415269562734 + ], + [ + 13.031328973043431, + 49.30706818297324 + ], + [ + 13.595945672264437, + 48.87717194273715 + ], + [ + 13.243357374737, + 48.416114813829054 + ], + [ + 12.884102817443875, + 48.28914581968786 + ], + [ + 13.02585127122049, + 47.63758352313583 + ], + [ + 12.932626987365948, + 47.467645575544 + ], + [ + 12.620759718484493, + 47.67238760028441 + ], + [ + 12.141357456112788, + 47.703083401065776 + ], + [ + 11.426414015354737, + 47.523766181012974 + ], + [ + 10.544504021861599, + 47.5663992376538 + ], + [ + 10.402083774465211, + 47.30248769793916 + ], + [ + 9.89606814946319, + 47.580196845075704 + ], + [ + 9.59422610844635, + 47.52505809182027 + ], + [ + 8.522611932009767, + 47.83082754169129 + ], + [ + 8.317301466514095, + 47.61357982033627 + ], + [ + 7.466759067422231, + 47.62058197691181 + ], + [ + 7.593676385131062, + 48.33301911070372 + ], + [ + 8.099278598674744, + 49.01778351500333 + ], + [ + 6.658229607783568, + 49.20195831969157 + ], + [ + 6.186320428094177, + 49.463802802114515 + ], + [ + 6.242751092156993, + 49.90222565367873 + ], + [ + 6.043073357781111, + 50.128051662794235 + ], + [ + 6.15665815595878, + 50.80372101501058 + ], + [ + 5.988658074577813, + 51.851615709025054 + ], + [ + 6.589396599970826, + 51.852029120483394 + ], + [ + 6.842869500362383, + 52.22844025329755 + ], + [ + 7.092053256873896, + 53.144043280644894 + ], + [ + 6.905139601274129, + 53.48216217713065 + ], + [ + 7.100424838905269, + 53.69393219666267 + ], + [ + 7.936239454793963, + 53.74829580343379 + ], + [ + 8.121706170289485, + 53.52779246684429 + ], + [ + 8.800734490604668, + 54.020785630908904 + ], + [ + 8.57211795414537, + 54.39564647075406 + ], + [ + 8.526229282270208, + 54.96274363872516 + ], + [ + 9.282048780971138, + 54.830865383516176 + ], + [ + 9.921906365609118, + 54.98310415304803 + ], + [ + 9.9395797054529, + 54.596641954153256 + ], + [ + 10.950112338920519, + 54.363607082733154 + ], + [ + 10.93946699386845, + 54.00869334575259 + ], + [ + 11.956252475643282, + 54.19648550070116 + ], + [ + 12.518440382546714, + 54.470370591847995 + ], + [ + 13.647467075259499, + 54.0755109727059 + ], + [ + 14.119686313542559, + 53.75702912049104 + ] + ] + ] + } + }, + { + "type": "Feature", + "properties": { + "featurecla": "Admin-0 country", + "scalerank": 1, + "labelrank": 3, + "sovereignt": "Norway", + "sov_a3": "NOR", + "adm0_dif": 0, + "level": 2, + "type": "Sovereign country", + "tlc": null, + "admin": "Norway", + "adm0_a3": "NOR", + "geou_dif": 0, + "geounit": "Norway", + "gu_a3": "NOR", + "su_dif": 0, + "subunit": "Norway", + "su_a3": "NOR", + "brk_diff": 0, + "name": "Norway", + "name_long": "Norway", + "brk_a3": "NOR", + "brk_name": "Norway", + "brk_group": null, + "abbrev": "Nor.", + "postal": "N", + "formal_en": "Kingdom of Norway", + "formal_fr": null, + "name_ciawf": "Norway", + "note_adm0": null, + "note_brk": null, + "name_sort": "Norway", + "name_alt": null, + "mapcolor7": 5, + "mapcolor8": 3, + "mapcolor9": 8, + "mapcolor13": 12, + "pop_est": 5347896, + "pop_rank": 13, + "pop_year": 2019, + "gdp_md": 403336, + "gdp_year": 2019, + "economy": "2. Developed region: nonG7", + "income_grp": "1. High income: OECD", + "fips_10": "-99", + "iso_a2": "-99", + "iso_a2_eh": "NO", + "iso_a3": "-99", + "iso_a3_eh": "NOR", + "iso_n3": "-99", + "iso_n3_eh": "578", + "un_a3": "-99", + "wb_a2": "-99", + "wb_a3": "-99", + "woe_id": -90, + "woe_id_eh": 23424910, + "woe_note": "Does not include Svalbard, Jan Mayen, or Bouvet Islands (28289410).", + "adm0_iso": "NOR", + "adm0_diff": null, + "adm0_tlc": "NOR", + "adm0_a3_us": "NOR", + "adm0_a3_fr": "NOR", + "adm0_a3_ru": "NOR", + "adm0_a3_es": "NOR", + "adm0_a3_cn": "NOR", + "adm0_a3_tw": "NOR", + "adm0_a3_in": "NOR", + "adm0_a3_np": "NOR", + "adm0_a3_pk": "NOR", + "adm0_a3_de": "NOR", + "adm0_a3_gb": "NOR", + "adm0_a3_br": "NOR", + "adm0_a3_il": "NOR", + "adm0_a3_ps": "NOR", + "adm0_a3_sa": "NOR", + "adm0_a3_eg": "NOR", + "adm0_a3_ma": "NOR", + "adm0_a3_pt": "NOR", + "adm0_a3_ar": "NOR", + "adm0_a3_jp": "NOR", + "adm0_a3_ko": "NOR", + "adm0_a3_vn": "NOR", + "adm0_a3_tr": "NOR", + "adm0_a3_id": "NOR", + "adm0_a3_pl": "NOR", + "adm0_a3_gr": "NOR", + "adm0_a3_it": "NOR", + "adm0_a3_nl": "NOR", + "adm0_a3_se": "NOR", + "adm0_a3_bd": "NOR", + "adm0_a3_ua": "NOR", + "adm0_a3_un": -99, + "adm0_a3_wb": -99, + "continent": "Europe", + "region_un": "Europe", + "subregion": "Northern Europe", + "region_wb": "Europe & Central Asia", + "name_len": 6, + "long_len": 6, + "abbrev_len": 4, + "tiny": -99, + "homepart": 1, + "min_zoom": 0, + "min_label": 3, + "max_label": 7, + "label_x": 9.679975, + "label_y": 61.357092, + "ne_id": 1159321109, + "wikidataid": "Q20", + "name_ar": "النرويج", + "name_bn": "নরওয়ে", + "name_de": "Norwegen", + "name_en": "Norway", + "name_es": "Noruega", + "name_fa": "نروژ", + "name_fr": "Norvège", + "name_el": "Νορβηγία", + "name_he": "נורווגיה", + "name_hi": "नॉर्वे", + "name_hu": "Norvégia", + "name_id": "Norwegia", + "name_it": "Norvegia", + "name_ja": "ノルウェー", + "name_ko": "노르웨이", + "name_nl": "Noorwegen", + "name_pl": "Norwegia", + "name_pt": "Noruega", + "name_ru": "Норвегия", + "name_sv": "Norge", + "name_tr": "Norveç", + "name_uk": "Норвегія", + "name_ur": "ناروے", + "name_vi": "Na Uy", + "name_zh": "挪威", + "name_zht": "挪威", + "fclass_iso": "Unrecognized", + "tlc_diff": null, + "fclass_tlc": "Unrecognized", + "fclass_us": null, + "fclass_fr": null, + "fclass_ru": null, + "fclass_es": null, + "fclass_cn": null, + "fclass_tw": null, + "fclass_in": null, + "fclass_np": null, + "fclass_pk": null, + "fclass_de": null, + "fclass_gb": null, + "fclass_br": null, + "fclass_il": null, + "fclass_ps": null, + "fclass_sa": null, + "fclass_eg": null, + "fclass_ma": null, + "fclass_pt": null, + "fclass_ar": null, + "fclass_jp": null, + "fclass_ko": null, + "fclass_vn": null, + "fclass_tr": null, + "fclass_id": null, + "fclass_pl": null, + "fclass_gr": null, + "fclass_it": null, + "fclass_nl": null, + "fclass_se": null, + "fclass_bd": null, + "fclass_ua": null, + "filename": "NOR.geojson" + }, + "geometry": { + "type": "MultiPolygon", + "coordinates": [ + [ + [ + [ + 15.14282, + 79.67431 + ], + [ + 15.52255, + 80.01608 + ], + [ + 16.99085, + 80.05086 + ], + [ + 18.25183, + 79.70175 + ], + [ + 21.54383, + 78.95611 + ], + [ + 19.02737, + 78.5626 + ], + [ + 18.47172, + 77.82669 + ], + [ + 17.59441, + 77.63796 + ], + [ + 17.1182, + 76.80941 + ], + [ + 15.91315, + 76.77045 + ], + [ + 13.76259, + 77.38035 + ], + [ + 14.66956, + 77.73565 + ], + [ + 13.1706, + 78.02493 + ], + [ + 11.22231, + 78.8693 + ], + [ + 10.44453, + 79.65239 + ], + [ + 13.17077, + 80.01046 + ], + [ + 13.71852, + 79.66039 + ], + [ + 15.14282, + 79.67431 + ] + ] + ], + [ + [ + [ + 31.101042202597625, + 69.55810108805622 + ], + [ + 29.39955, + 69.15692000000013 + ], + [ + 28.591929559043194, + 69.06477692328666 + ], + [ + 29.015572950971972, + 69.76649119737799 + ], + [ + 27.732292107867863, + 70.16419302029625 + ], + [ + 26.179622023226244, + 69.82529897732614 + ], + [ + 25.689212680776365, + 69.09211375596904 + ], + [ + 24.735679152126725, + 68.64955678982146 + ], + [ + 23.66204959483076, + 68.89124746365054 + ], + [ + 22.356237827247412, + 68.84174144151491 + ], + [ + 21.244936150810673, + 69.37044302029308 + ], + [ + 20.645592889089528, + 69.10624726020087 + ], + [ + 20.025268995857886, + 69.0651386583127 + ], + [ + 19.878559604581255, + 68.40719432237258 + ], + [ + 17.993868442464333, + 68.56739126247736 + ], + [ + 17.729181756265348, + 68.01055186631628 + ], + [ + 16.768878614985482, + 68.0139366726314 + ], + [ + 16.108712192456778, + 67.30245555283689 + ], + [ + 15.108411492583002, + 66.19386688909547 + ], + [ + 13.55568973150909, + 64.78702769638151 + ], + [ + 13.919905226302204, + 64.44542064071608 + ], + [ + 13.571916131248713, + 64.04911408146971 + ], + [ + 12.579935336973934, + 64.06621898055833 + ], + [ + 11.930569288794231, + 63.12831757267698 + ], + [ + 11.992064243221563, + 61.80036245385655 + ], + [ + 12.631146681375185, + 61.293571682370136 + ], + [ + 12.3003658382749, + 60.11793284773003 + ], + [ + 11.468271925511146, + 59.43239329694604 + ], + [ + 11.027368605196868, + 58.85614940045936 + ], + [ + 10.356556837616067, + 59.469807033925356 + ], + [ + 8.382000359743586, + 58.313288479233215 + ], + [ + 7.048748406613271, + 58.078884182357285 + ], + [ + 5.665835402050419, + 58.5881554225937 + ], + [ + 5.308234490590678, + 59.663231919993834 + ], + [ + 4.992078077828978, + 61.97099803328432 + ], + [ + 5.912900424837886, + 62.614472968182724 + ], + [ + 8.553411085655739, + 63.45400828719648 + ], + [ + 10.527709181366758, + 64.4860383164975 + ], + [ + 12.358346795306373, + 65.87972585719318 + ], + [ + 14.761145867581604, + 67.81064158799516 + ], + [ + 16.435927361728943, + 68.56320547146173 + ], + [ + 19.18402835457846, + 69.81744415961778 + ], + [ + 21.378416375420585, + 70.2551693793461 + ], + [ + 23.023742303161526, + 70.2020718451662 + ], + [ + 24.546543409938465, + 71.03049673123722 + ], + [ + 26.37004967622181, + 70.98626170519539 + ], + [ + 28.165547316202943, + 71.18547435168055 + ], + [ + 31.293418409965454, + 70.4537877468599 + ], + [ + 30.005435011522792, + 70.18625885688489 + ], + [ + 31.101042202597625, + 69.55810108805622 + ] + ] + ], + [ + [ + [ + 27.407505730913446, + 80.05640574820042 + ], + [ + 25.92465050629815, + 79.51783397085451 + ], + [ + 23.024465773213617, + 79.40001170522903 + ], + [ + 20.075188429451828, + 79.56682322866722 + ], + [ + 19.897266473070914, + 79.84236196564747 + ], + [ + 18.462263624757867, + 79.85988027619443 + ], + [ + 17.368015170977458, + 80.31889618602698 + ], + [ + 20.45599205901064, + 80.59815562613225 + ], + [ + 21.907944777115404, + 80.35767934846204 + ], + [ + 22.91925255706738, + 80.65714427359343 + ], + [ + 25.447625359811866, + 80.40734039989452 + ], + [ + 27.407505730913446, + 80.05640574820042 + ] + ] + ], + [ + [ + [ + 24.72412, + 77.85385 + ], + [ + 22.49032, + 77.44493 + ], + [ + 20.72601, + 77.67704 + ], + [ + 21.41611, + 77.93504 + ], + [ + 20.8119, + 78.25463 + ], + [ + 22.88426, + 78.45494 + ], + [ + 23.28134, + 78.07954 + ], + [ + 24.72412, + 77.85385 + ] + ] + ] + ] + } + }, + { + "type": "Feature", + "properties": { + "featurecla": "Admin-0 country", + "scalerank": 1, + "labelrank": 2, + "sovereignt": "Spain", + "sov_a3": "ESP", + "adm0_dif": 0, + "level": 2, + "type": "Sovereign country", + "tlc": "1", + "admin": "Spain", + "adm0_a3": "ESP", + "geou_dif": 0, + "geounit": "Spain", + "gu_a3": "ESP", + "su_dif": 0, + "subunit": "Spain", + "su_a3": "ESP", + "brk_diff": 0, + "name": "Spain", + "name_long": "Spain", + "brk_a3": "ESP", + "brk_name": "Spain", + "brk_group": null, + "abbrev": "Sp.", + "postal": "E", + "formal_en": "Kingdom of Spain", + "formal_fr": null, + "name_ciawf": "Spain", + "note_adm0": null, + "note_brk": null, + "name_sort": "Spain", + "name_alt": null, + "mapcolor7": 4, + "mapcolor8": 5, + "mapcolor9": 5, + "mapcolor13": 5, + "pop_est": 47076781, + "pop_rank": 15, + "pop_year": 2019, + "gdp_md": 1393490, + "gdp_year": 2019, + "economy": "2. Developed region: nonG7", + "income_grp": "1. High income: OECD", + "fips_10": "SP", + "iso_a2": "ES", + "iso_a2_eh": "ES", + "iso_a3": "ESP", + "iso_a3_eh": "ESP", + "iso_n3": "724", + "iso_n3_eh": "724", + "un_a3": "724", + "wb_a2": "ES", + "wb_a3": "ESP", + "woe_id": 23424950, + "woe_id_eh": 23424950, + "woe_note": "Exact WOE match as country", + "adm0_iso": "ESP", + "adm0_diff": null, + "adm0_tlc": "ESP", + "adm0_a3_us": "ESP", + "adm0_a3_fr": "ESP", + "adm0_a3_ru": "ESP", + "adm0_a3_es": "ESP", + "adm0_a3_cn": "ESP", + "adm0_a3_tw": "ESP", + "adm0_a3_in": "ESP", + "adm0_a3_np": "ESP", + "adm0_a3_pk": "ESP", + "adm0_a3_de": "ESP", + "adm0_a3_gb": "ESP", + "adm0_a3_br": "ESP", + "adm0_a3_il": "ESP", + "adm0_a3_ps": "ESP", + "adm0_a3_sa": "ESP", + "adm0_a3_eg": "ESP", + "adm0_a3_ma": "ESP", + "adm0_a3_pt": "ESP", + "adm0_a3_ar": "ESP", + "adm0_a3_jp": "ESP", + "adm0_a3_ko": "ESP", + "adm0_a3_vn": "ESP", + "adm0_a3_tr": "ESP", + "adm0_a3_id": "ESP", + "adm0_a3_pl": "ESP", + "adm0_a3_gr": "ESP", + "adm0_a3_it": "ESP", + "adm0_a3_nl": "ESP", + "adm0_a3_se": "ESP", + "adm0_a3_bd": "ESP", + "adm0_a3_ua": "ESP", + "adm0_a3_un": -99, + "adm0_a3_wb": -99, + "continent": "Europe", + "region_un": "Europe", + "subregion": "Southern Europe", + "region_wb": "Europe & Central Asia", + "name_len": 5, + "long_len": 5, + "abbrev_len": 3, + "tiny": -99, + "homepart": 1, + "min_zoom": 0, + "min_label": 2, + "max_label": 7, + "label_x": -3.464718, + "label_y": 40.090953, + "ne_id": 1159320587, + "wikidataid": "Q29", + "name_ar": "إسبانيا", + "name_bn": "স্পেন", + "name_de": "Spanien", + "name_en": "Spain", + "name_es": "España", + "name_fa": "اسپانیا", + "name_fr": "Espagne", + "name_el": "Ισπανία", + "name_he": "ספרד", + "name_hi": "स्पेन", + "name_hu": "Spanyolország", + "name_id": "Spanyol", + "name_it": "Spagna", + "name_ja": "スペイン", + "name_ko": "스페인", + "name_nl": "Spanje", + "name_pl": "Hiszpania", + "name_pt": "Espanha", + "name_ru": "Испания", + "name_sv": "Spanien", + "name_tr": "İspanya", + "name_uk": "Іспанія", + "name_ur": "ہسپانیہ", + "name_vi": "Tây Ban Nha", + "name_zh": "西班牙", + "name_zht": "西班牙", + "fclass_iso": "Admin-0 country", + "tlc_diff": null, + "fclass_tlc": "Admin-0 country", + "fclass_us": null, + "fclass_fr": null, + "fclass_ru": null, + "fclass_es": null, + "fclass_cn": null, + "fclass_tw": null, + "fclass_in": null, + "fclass_np": null, + "fclass_pk": null, + "fclass_de": null, + "fclass_gb": null, + "fclass_br": null, + "fclass_il": null, + "fclass_ps": null, + "fclass_sa": null, + "fclass_eg": null, + "fclass_ma": null, + "fclass_pt": null, + "fclass_ar": null, + "fclass_jp": null, + "fclass_ko": null, + "fclass_vn": null, + "fclass_tr": null, + "fclass_id": null, + "fclass_pl": null, + "fclass_gr": null, + "fclass_it": null, + "fclass_nl": null, + "fclass_se": null, + "fclass_bd": null, + "fclass_ua": null, + "filename": "ESP.geojson" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + -7.453725551778092, + 37.09778758396607 + ], + [ + -7.537105475281024, + 37.42890432387624 + ], + [ + -7.166507941099865, + 37.803894354802225 + ], + [ + -7.029281175148796, + 38.07576406508977 + ], + [ + -7.374092169616318, + 38.37305858006492 + ], + [ + -7.098036668313128, + 39.03007274022379 + ], + [ + -7.498632371439726, + 39.62957103124181 + ], + [ + -7.066591559263529, + 39.711891587882775 + ], + [ + -7.026413133156595, + 40.184524237624245 + ], + [ + -6.864019944679385, + 40.33087189387483 + ], + [ + -6.851126674822552, + 41.11108266861753 + ], + [ + -6.389087693700915, + 41.381815497394655 + ], + [ + -6.668605515967656, + 41.883386949219584 + ], + [ + -7.251308966490824, + 41.91834605566505 + ], + [ + -7.422512986673795, + 41.79207469335984 + ], + [ + -8.013174607769912, + 41.790886135417125 + ], + [ + -8.263856980817792, + 42.28046865495034 + ], + [ + -8.67194576662672, + 42.13468943945496 + ], + [ + -9.034817674180246, + 41.880570583659676 + ], + [ + -8.984433152695672, + 42.59277517350627 + ], + [ + -9.392883673530648, + 43.0266246608127 + ], + [ + -7.97818966310831, + 43.74833771420099 + ], + [ + -6.754491746436756, + 43.567909450853925 + ], + [ + -5.411886359061597, + 43.57423981380968 + ], + [ + -4.347842779955783, + 43.40344920508504 + ], + [ + -3.517531704106091, + 43.4559007838613 + ], + [ + -1.901351284177764, + 43.42280202897834 + ], + [ + -1.502770961910528, + 43.03401439063043 + ], + [ + 0.338046909190581, + 42.57954600683955 + ], + [ + 0.701590610363894, + 42.795734361332606 + ], + [ + 1.826793247087153, + 42.34338471126569 + ], + [ + 2.985998976258458, + 42.47301504166986 + ], + [ + 3.039484083680549, + 41.892120266276905 + ], + [ + 2.091841668312185, + 41.226088568683096 + ], + [ + 0.810524529635188, + 41.01473196060934 + ], + [ + 0.721331007499401, + 40.678318386389236 + ], + [ + 0.106691521819869, + 40.12393362076202 + ], + [ + -0.278711310212941, + 39.30997813573272 + ], + [ + 0.111290724293838, + 38.73851430923304 + ], + [ + -0.467123582349103, + 38.29236583104115 + ], + [ + -0.683389451490598, + 37.642353827457825 + ], + [ + -1.438382127274849, + 37.44306366632422 + ], + [ + -2.146452602538119, + 36.67414419203729 + ], + [ + -3.415780808923387, + 36.65889964451118 + ], + [ + -4.368900926114719, + 36.677839056946155 + ], + [ + -4.995219285492212, + 36.32470815687964 + ], + [ + -5.377159796561457, + 35.946850083961465 + ], + [ + -5.866432257500904, + 36.02981659600606 + ], + [ + -6.236693894872175, + 36.367677110330334 + ], + [ + -6.520190802425404, + 36.94291331638732 + ], + [ + -7.453725551778092, + 37.09778758396607 + ] + ] + ] + } + }, + { + "type": "Feature", + "properties": { + "featurecla": "Admin-0 country", + "scalerank": 1, + "labelrank": 4, + "sovereignt": "Denmark", + "sov_a3": "DN1", + "adm0_dif": 1, + "level": 2, + "type": "Country", + "tlc": "1", + "admin": "Denmark", + "adm0_a3": "DNK", + "geou_dif": 0, + "geounit": "Denmark", + "gu_a3": "DNK", + "su_dif": 0, + "subunit": "Denmark", + "su_a3": "DNK", + "brk_diff": 0, + "name": "Denmark", + "name_long": "Denmark", + "brk_a3": "DNK", + "brk_name": "Denmark", + "brk_group": null, + "abbrev": "Den.", + "postal": "DK", + "formal_en": "Kingdom of Denmark", + "formal_fr": null, + "name_ciawf": "Denmark", + "note_adm0": null, + "note_brk": null, + "name_sort": "Denmark", + "name_alt": null, + "mapcolor7": 4, + "mapcolor8": 1, + "mapcolor9": 3, + "mapcolor13": 12, + "pop_est": 5818553, + "pop_rank": 13, + "pop_year": 2019, + "gdp_md": 350104, + "gdp_year": 2019, + "economy": "2. Developed region: nonG7", + "income_grp": "1. High income: OECD", + "fips_10": "DA", + "iso_a2": "DK", + "iso_a2_eh": "DK", + "iso_a3": "DNK", + "iso_a3_eh": "DNK", + "iso_n3": "208", + "iso_n3_eh": "208", + "un_a3": "208", + "wb_a2": "DK", + "wb_a3": "DNK", + "woe_id": 23424796, + "woe_id_eh": 23424796, + "woe_note": "Exact WOE match as country", + "adm0_iso": "DNK", + "adm0_diff": null, + "adm0_tlc": "DNK", + "adm0_a3_us": "DNK", + "adm0_a3_fr": "DNK", + "adm0_a3_ru": "DNK", + "adm0_a3_es": "DNK", + "adm0_a3_cn": "DNK", + "adm0_a3_tw": "DNK", + "adm0_a3_in": "DNK", + "adm0_a3_np": "DNK", + "adm0_a3_pk": "DNK", + "adm0_a3_de": "DNK", + "adm0_a3_gb": "DNK", + "adm0_a3_br": "DNK", + "adm0_a3_il": "DNK", + "adm0_a3_ps": "DNK", + "adm0_a3_sa": "DNK", + "adm0_a3_eg": "DNK", + "adm0_a3_ma": "DNK", + "adm0_a3_pt": "DNK", + "adm0_a3_ar": "DNK", + "adm0_a3_jp": "DNK", + "adm0_a3_ko": "DNK", + "adm0_a3_vn": "DNK", + "adm0_a3_tr": "DNK", + "adm0_a3_id": "DNK", + "adm0_a3_pl": "DNK", + "adm0_a3_gr": "DNK", + "adm0_a3_it": "DNK", + "adm0_a3_nl": "DNK", + "adm0_a3_se": "DNK", + "adm0_a3_bd": "DNK", + "adm0_a3_ua": "DNK", + "adm0_a3_un": -99, + "adm0_a3_wb": -99, + "continent": "Europe", + "region_un": "Europe", + "subregion": "Northern Europe", + "region_wb": "Europe & Central Asia", + "name_len": 7, + "long_len": 7, + "abbrev_len": 4, + "tiny": -99, + "homepart": 1, + "min_zoom": 0, + "min_label": 3, + "max_label": 8, + "label_x": 9.018163, + "label_y": 55.966965, + "ne_id": 1159320547, + "wikidataid": "Q35", + "name_ar": "الدنمارك", + "name_bn": "ডেনমার্ক", + "name_de": "Dänemark", + "name_en": "Denmark", + "name_es": "Dinamarca", + "name_fa": "دانمارک", + "name_fr": "Danemark", + "name_el": "Δανία", + "name_he": "דנמרק", + "name_hi": "डेनमार्क", + "name_hu": "Dánia", + "name_id": "Denmark", + "name_it": "Danimarca", + "name_ja": "デンマーク", + "name_ko": "덴마크", + "name_nl": "Denemarken", + "name_pl": "Dania", + "name_pt": "Dinamarca", + "name_ru": "Дания", + "name_sv": "Danmark", + "name_tr": "Danimarka", + "name_uk": "Данія", + "name_ur": "ڈنمارک", + "name_vi": "Đan Mạch", + "name_zh": "丹麦", + "name_zht": "丹麥", + "fclass_iso": "Admin-0 country", + "tlc_diff": null, + "fclass_tlc": "Admin-0 country", + "fclass_us": null, + "fclass_fr": null, + "fclass_ru": null, + "fclass_es": null, + "fclass_cn": null, + "fclass_tw": null, + "fclass_in": null, + "fclass_np": null, + "fclass_pk": null, + "fclass_de": null, + "fclass_gb": null, + "fclass_br": null, + "fclass_il": null, + "fclass_ps": null, + "fclass_sa": null, + "fclass_eg": null, + "fclass_ma": null, + "fclass_pt": null, + "fclass_ar": null, + "fclass_jp": null, + "fclass_ko": null, + "fclass_vn": null, + "fclass_tr": null, + "fclass_id": null, + "fclass_pl": null, + "fclass_gr": null, + "fclass_it": null, + "fclass_nl": null, + "fclass_se": null, + "fclass_bd": null, + "fclass_ua": null, + "filename": "DNK.geojson" + }, + "geometry": { + "type": "MultiPolygon", + "coordinates": [ + [ + [ + [ + 9.921906365609118, + 54.98310415304803 + ], + [ + 9.282048780971138, + 54.830865383516176 + ], + [ + 8.526229282270208, + 54.96274363872516 + ], + [ + 8.120310906617533, + 55.5177226833236 + ], + [ + 8.08997684086222, + 56.54001170513759 + ], + [ + 8.256581658571207, + 56.80996938743033 + ], + [ + 8.543437534223415, + 57.11000275331695 + ], + [ + 9.424469028367554, + 57.1720661484995 + ], + [ + 9.775558709358535, + 57.44794078228966 + ], + [ + 10.580005730846125, + 57.73001658795485 + ], + [ + 10.546105991262664, + 57.21573273378612 + ], + [ + 10.250000034230226, + 56.89001618105044 + ], + [ + 10.369992710011957, + 56.60998159446079 + ], + [ + 10.912181837618306, + 56.458621324277885 + ], + [ + 10.667803989310016, + 56.08138336854721 + ], + [ + 10.369992710011957, + 56.19000722922473 + ], + [ + 9.649984978889279, + 55.469999498102055 + ], + [ + 9.921906365609118, + 54.98310415304803 + ] + ] + ], + [ + [ + [ + 12.370904168353292, + 56.111407375708794 + ], + [ + 12.690006137755603, + 55.60999095318074 + ], + [ + 12.089991082414684, + 54.80001455343792 + ], + [ + 11.043543328504226, + 55.36486379660424 + ], + [ + 10.903913608451603, + 55.77995473898872 + ], + [ + 12.370904168353292, + 56.111407375708794 + ] + ] + ] + ] + } + }, + { + "type": "Feature", + "properties": { + "featurecla": "Admin-0 country", + "scalerank": 1, + "labelrank": 2, + "sovereignt": "United Kingdom", + "sov_a3": "GB1", + "adm0_dif": 1, + "level": 2, + "type": "Country", + "tlc": "1", + "admin": "United Kingdom", + "adm0_a3": "GBR", + "geou_dif": 0, + "geounit": "United Kingdom", + "gu_a3": "GBR", + "su_dif": 0, + "subunit": "United Kingdom", + "su_a3": "GBR", + "brk_diff": 0, + "name": "UK", + "name_long": "United Kingdom", + "brk_a3": "GBR", + "brk_name": "United Kingdom", + "brk_group": null, + "abbrev": "U.K.", + "postal": "GB", + "formal_en": "United Kingdom of Great Britain and Northern Ireland", + "formal_fr": null, + "name_ciawf": "United Kingdom", + "note_adm0": null, + "note_brk": null, + "name_sort": "United Kingdom", + "name_alt": null, + "mapcolor7": 6, + "mapcolor8": 6, + "mapcolor9": 6, + "mapcolor13": 3, + "pop_est": 66834405, + "pop_rank": 16, + "pop_year": 2019, + "gdp_md": 2829108, + "gdp_year": 2019, + "economy": "1. Developed region: G7", + "income_grp": "1. High income: OECD", + "fips_10": "UK", + "iso_a2": "GB", + "iso_a2_eh": "GB", + "iso_a3": "GBR", + "iso_a3_eh": "GBR", + "iso_n3": "826", + "iso_n3_eh": "826", + "un_a3": "826", + "wb_a2": "GB", + "wb_a3": "GBR", + "woe_id": -90, + "woe_id_eh": 23424975, + "woe_note": "Eh ID includes Channel Islands and Isle of Man. UK constituent countries of England (24554868), Wales (12578049), Scotland (12578048), and Northern Ireland (20070563).", + "adm0_iso": "GBR", + "adm0_diff": null, + "adm0_tlc": "GBR", + "adm0_a3_us": "GBR", + "adm0_a3_fr": "GBR", + "adm0_a3_ru": "GBR", + "adm0_a3_es": "GBR", + "adm0_a3_cn": "GBR", + "adm0_a3_tw": "GBR", + "adm0_a3_in": "GBR", + "adm0_a3_np": "GBR", + "adm0_a3_pk": "GBR", + "adm0_a3_de": "GBR", + "adm0_a3_gb": "GBR", + "adm0_a3_br": "GBR", + "adm0_a3_il": "GBR", + "adm0_a3_ps": "GBR", + "adm0_a3_sa": "GBR", + "adm0_a3_eg": "GBR", + "adm0_a3_ma": "GBR", + "adm0_a3_pt": "GBR", + "adm0_a3_ar": "GBR", + "adm0_a3_jp": "GBR", + "adm0_a3_ko": "GBR", + "adm0_a3_vn": "GBR", + "adm0_a3_tr": "GBR", + "adm0_a3_id": "GBR", + "adm0_a3_pl": "GBR", + "adm0_a3_gr": "GBR", + "adm0_a3_it": "GBR", + "adm0_a3_nl": "GBR", + "adm0_a3_se": "GBR", + "adm0_a3_bd": "GBR", + "adm0_a3_ua": "GBR", + "adm0_a3_un": -99, + "adm0_a3_wb": -99, + "continent": "Europe", + "region_un": "Europe", + "subregion": "Northern Europe", + "region_wb": "Europe & Central Asia", + "name_len": 14, + "long_len": 14, + "abbrev_len": 4, + "tiny": -99, + "homepart": 1, + "min_zoom": 0, + "min_label": 1.7, + "max_label": 6.7, + "label_x": -2.116346, + "label_y": 54.402739, + "ne_id": 1159320713, + "wikidataid": "Q145", + "name_ar": "المملكة المتحدة", + "name_bn": "যুক্তরাজ্য", + "name_de": "Vereinigtes Königreich", + "name_en": "United Kingdom", + "name_es": "Reino Unido", + "name_fa": "بریتانیا", + "name_fr": "Royaume-Uni", + "name_el": "Ηνωμένο Βασίλειο", + "name_he": "הממלכה המאוחדת", + "name_hi": "यूनाइटेड किंगडम", + "name_hu": "Egyesült Királyság", + "name_id": "Britania Raya", + "name_it": "Regno Unito", + "name_ja": "イギリス", + "name_ko": "영국", + "name_nl": "Verenigd Koninkrijk", + "name_pl": "Wielka Brytania", + "name_pt": "Reino Unido", + "name_ru": "Великобритания", + "name_sv": "Storbritannien", + "name_tr": "Birleşik Krallık", + "name_uk": "Велика Британія", + "name_ur": "مملکت متحدہ", + "name_vi": "Vương quốc Liên hiệp Anh và Bắc Ireland", + "name_zh": "英国", + "name_zht": "英國", + "fclass_iso": "Admin-0 country", + "tlc_diff": null, + "fclass_tlc": "Admin-0 country", + "fclass_us": null, + "fclass_fr": null, + "fclass_ru": null, + "fclass_es": null, + "fclass_cn": null, + "fclass_tw": null, + "fclass_in": null, + "fclass_np": null, + "fclass_pk": null, + "fclass_de": null, + "fclass_gb": null, + "fclass_br": null, + "fclass_il": null, + "fclass_ps": null, + "fclass_sa": null, + "fclass_eg": null, + "fclass_ma": null, + "fclass_pt": null, + "fclass_ar": null, + "fclass_jp": null, + "fclass_ko": null, + "fclass_vn": null, + "fclass_tr": null, + "fclass_id": null, + "fclass_pl": null, + "fclass_gr": null, + "fclass_it": null, + "fclass_nl": null, + "fclass_se": null, + "fclass_bd": null, + "fclass_ua": null, + "filename": "GBR.geojson" + }, + "geometry": { + "type": "MultiPolygon", + "coordinates": [ + [ + [ + [ + -6.197884894220991, + 53.867565009163364 + ], + [ + -6.953730231138067, + 54.073702297575636 + ], + [ + -7.572167934591064, + 54.059956366586 + ], + [ + -7.366030646178785, + 54.59584096945272 + ], + [ + -7.572167934591064, + 55.13162221945487 + ], + [ + -6.733847011736145, + 55.17286001242378 + ], + [ + -5.661948614921968, + 54.55460317648381 + ], + [ + -6.197884894220991, + 53.867565009163364 + ] + ] + ], + [ + [ + [ + -3.093830673788716, + 53.404547400669685 + ], + [ + -3.092079637047107, + 53.40444082296358 + ], + [ + -2.945008510744344, + 53.98499970154671 + ], + [ + -3.614700825433033, + 54.600936773292574 + ], + [ + -3.630005458989331, + 54.615012925833014 + ], + [ + -4.844169073903061, + 54.790971177786844 + ], + [ + -5.082526617849283, + 55.06160065369937 + ], + [ + -4.7191121077567, + 55.50847260194348 + ], + [ + -5.047980922862109, + 55.78398550070756 + ], + [ + -5.586397670911197, + 55.31114614523682 + ], + [ + -5.644998745130238, + 56.27501496034483 + ], + [ + -6.149980841486411, + 56.785009670633485 + ], + [ + -5.786824713555291, + 57.81884837506465 + ], + [ + -5.009998745127632, + 58.63001333275008 + ], + [ + -4.211494513353557, + 58.55084503847911 + ], + [ + -3.005004848635281, + 58.63500010846633 + ], + [ + -4.073828497728073, + 57.55302480735526 + ], + [ + -3.055001796877718, + 57.69001902936094 + ], + [ + -1.959280564776918, + 57.68479970969952 + ], + [ + -2.219988165689358, + 56.87001740175356 + ], + [ + -3.119003058271176, + 55.973793036515474 + ], + [ + -2.085009324543023, + 55.9099984808513 + ], + [ + -2.005675679673857, + 55.804902850350175 + ], + [ + -1.11499101399221, + 54.624986477265395 + ], + [ + -0.4304849918542, + 54.46437612570219 + ], + [ + 0.184981316742039, + 53.32501414653103 + ], + [ + 0.469976840831805, + 52.929999498092 + ], + [ + 1.681530795914682, + 52.739520168664 + ], + [ + 1.559987827164321, + 52.09999848083601 + ], + [ + 1.050561557630942, + 51.806760565795685 + ], + [ + 1.449865349950244, + 51.28942780212191 + ], + [ + 0.550333693045502, + 50.765738837275876 + ], + [ + -0.787517462558696, + 50.77498891865622 + ], + [ + -2.489997524414434, + 50.50001862243124 + ], + [ + -2.956273972984093, + 50.696879991247044 + ], + [ + -3.617448085942385, + 50.22835561787275 + ], + [ + -4.542507900399244, + 50.341837063185665 + ], + [ + -5.245023159191135, + 49.95999990498109 + ], + [ + -5.776566941745273, + 50.15967763935686 + ], + [ + -4.309989793301895, + 51.21000112568919 + ], + [ + -3.414850633142123, + 51.42600861266925 + ], + [ + -3.422719467108379, + 51.42684816740609 + ], + [ + -4.98436723471093, + 51.593466091511004 + ], + [ + -5.267295701508942, + 51.991400458374585 + ], + [ + -4.222346564134909, + 52.301355699261364 + ], + [ + -4.77001339356417, + 52.840004991255626 + ], + [ + -4.579999152026971, + 53.49500377055517 + ], + [ + -3.093830673788716, + 53.404547400669685 + ] + ] + ] + ] + } + }, + { + "type": "Feature", + "properties": { + "featurecla": "Admin-0 country", + "scalerank": 1, + "labelrank": 2, + "sovereignt": "Italy", + "sov_a3": "ITA", + "adm0_dif": 0, + "level": 2, + "type": "Sovereign country", + "tlc": "1", + "admin": "Italy", + "adm0_a3": "ITA", + "geou_dif": 0, + "geounit": "Italy", + "gu_a3": "ITA", + "su_dif": 0, + "subunit": "Italy", + "su_a3": "ITA", + "brk_diff": 0, + "name": "Italy", + "name_long": "Italy", + "brk_a3": "ITA", + "brk_name": "Italy", + "brk_group": null, + "abbrev": "Italy", + "postal": "I", + "formal_en": "Italian Republic", + "formal_fr": null, + "name_ciawf": "Italy", + "note_adm0": null, + "note_brk": null, + "name_sort": "Italy", + "name_alt": null, + "mapcolor7": 6, + "mapcolor8": 7, + "mapcolor9": 8, + "mapcolor13": 7, + "pop_est": 60297396, + "pop_rank": 16, + "pop_year": 2019, + "gdp_md": 2003576, + "gdp_year": 2019, + "economy": "1. Developed region: G7", + "income_grp": "1. High income: OECD", + "fips_10": "IT", + "iso_a2": "IT", + "iso_a2_eh": "IT", + "iso_a3": "ITA", + "iso_a3_eh": "ITA", + "iso_n3": "380", + "iso_n3_eh": "380", + "un_a3": "380", + "wb_a2": "IT", + "wb_a3": "ITA", + "woe_id": 23424853, + "woe_id_eh": 23424853, + "woe_note": "Exact WOE match as country", + "adm0_iso": "ITA", + "adm0_diff": null, + "adm0_tlc": "ITA", + "adm0_a3_us": "ITA", + "adm0_a3_fr": "ITA", + "adm0_a3_ru": "ITA", + "adm0_a3_es": "ITA", + "adm0_a3_cn": "ITA", + "adm0_a3_tw": "ITA", + "adm0_a3_in": "ITA", + "adm0_a3_np": "ITA", + "adm0_a3_pk": "ITA", + "adm0_a3_de": "ITA", + "adm0_a3_gb": "ITA", + "adm0_a3_br": "ITA", + "adm0_a3_il": "ITA", + "adm0_a3_ps": "ITA", + "adm0_a3_sa": "ITA", + "adm0_a3_eg": "ITA", + "adm0_a3_ma": "ITA", + "adm0_a3_pt": "ITA", + "adm0_a3_ar": "ITA", + "adm0_a3_jp": "ITA", + "adm0_a3_ko": "ITA", + "adm0_a3_vn": "ITA", + "adm0_a3_tr": "ITA", + "adm0_a3_id": "ITA", + "adm0_a3_pl": "ITA", + "adm0_a3_gr": "ITA", + "adm0_a3_it": "ITA", + "adm0_a3_nl": "ITA", + "adm0_a3_se": "ITA", + "adm0_a3_bd": "ITA", + "adm0_a3_ua": "ITA", + "adm0_a3_un": -99, + "adm0_a3_wb": -99, + "continent": "Europe", + "region_un": "Europe", + "subregion": "Southern Europe", + "region_wb": "Europe & Central Asia", + "name_len": 5, + "long_len": 5, + "abbrev_len": 5, + "tiny": -99, + "homepart": 1, + "min_zoom": 0, + "min_label": 2, + "max_label": 7, + "label_x": 11.076907, + "label_y": 44.732482, + "ne_id": 1159320919, + "wikidataid": "Q38", + "name_ar": "إيطاليا", + "name_bn": "ইতালি", + "name_de": "Italien", + "name_en": "Italy", + "name_es": "Italia", + "name_fa": "ایتالیا", + "name_fr": "Italie", + "name_el": "Ιταλία", + "name_he": "איטליה", + "name_hi": "इटली", + "name_hu": "Olaszország", + "name_id": "Italia", + "name_it": "Italia", + "name_ja": "イタリア", + "name_ko": "이탈리아", + "name_nl": "Italië", + "name_pl": "Włochy", + "name_pt": "Itália", + "name_ru": "Италия", + "name_sv": "Italien", + "name_tr": "İtalya", + "name_uk": "Італія", + "name_ur": "اطالیہ", + "name_vi": "Ý", + "name_zh": "意大利", + "name_zht": "義大利", + "fclass_iso": "Admin-0 country", + "tlc_diff": null, + "fclass_tlc": "Admin-0 country", + "fclass_us": null, + "fclass_fr": null, + "fclass_ru": null, + "fclass_es": null, + "fclass_cn": null, + "fclass_tw": null, + "fclass_in": null, + "fclass_np": null, + "fclass_pk": null, + "fclass_de": null, + "fclass_gb": null, + "fclass_br": null, + "fclass_il": null, + "fclass_ps": null, + "fclass_sa": null, + "fclass_eg": null, + "fclass_ma": null, + "fclass_pt": null, + "fclass_ar": null, + "fclass_jp": null, + "fclass_ko": null, + "fclass_vn": null, + "fclass_tr": null, + "fclass_id": null, + "fclass_pl": null, + "fclass_gr": null, + "fclass_it": null, + "fclass_nl": null, + "fclass_se": null, + "fclass_bd": null, + "fclass_ua": null, + "filename": "ITA.geojson" + }, + "geometry": { + "type": "MultiPolygon", + "coordinates": [ + [ + [ + [ + 10.44270145024663, + 46.89354625099743 + ], + [ + 11.048555942436536, + 46.75135854754634 + ], + [ + 11.16482791509327, + 46.94157949481273 + ], + [ + 12.153088006243054, + 47.11539317482645 + ], + [ + 12.376485223040817, + 46.76755910906985 + ], + [ + 13.806475457421527, + 46.509306138691215 + ], + [ + 13.698109978905478, + 46.01677806251735 + ], + [ + 13.937630242578308, + 45.59101593686462 + ], + [ + 13.141606479554296, + 45.73669179949542 + ], + [ + 12.32858117030625, + 45.381778062514826 + ], + [ + 12.383874952858548, + 44.885374253919096 + ], + [ + 12.261453484759102, + 44.600482082693986 + ], + [ + 12.589237094786455, + 44.09136587175446 + ], + [ + 13.526905958722494, + 43.587727362637864 + ], + [ + 14.029820997787029, + 42.761007798832466 + ], + [ + 15.142569614327925, + 41.95513967545685 + ], + [ + 15.926191033601896, + 41.961315009115715 + ], + [ + 16.169897088290384, + 41.74029490820339 + ], + [ + 15.889345737377797, + 41.541082261718216 + ], + [ + 16.785001661860548, + 41.17960561783656 + ], + [ + 17.51916873543118, + 40.87714345963222 + ], + [ + 18.37668745288252, + 40.35562490494263 + ], + [ + 18.48024702319543, + 40.16886627863981 + ], + [ + 18.293385044028042, + 39.810774441073264 + ], + [ + 17.738380161213314, + 40.277671006830346 + ], + [ + 16.869595981522338, + 40.44223460546381 + ], + [ + 16.448743116937322, + 39.79540070246644 + ], + [ + 17.17148969897147, + 39.42469981542068 + ], + [ + 17.052840610429314, + 38.90287120213735 + ], + [ + 16.635088331781816, + 38.843572496082416 + ], + [ + 16.100960727613, + 37.9858987493342 + ], + [ + 15.684086948314473, + 37.908849188787016 + ], + [ + 15.687962680736348, + 38.21459280044188 + ], + [ + 15.89198123542468, + 38.75094249119924 + ], + [ + 16.109332309644287, + 38.9645470240777 + ], + [ + 15.718813510814613, + 39.54407237401492 + ], + [ + 15.413612501698793, + 40.048356838535156 + ], + [ + 14.99849572109818, + 40.17294871679087 + ], + [ + 14.703268263414714, + 40.604550279292596 + ], + [ + 14.060671827865264, + 40.7863479680954 + ], + [ + 13.627985060285397, + 41.1882872584616 + ], + [ + 12.888081902730365, + 41.253089504555604 + ], + [ + 12.106682570044939, + 41.70453481705741 + ], + [ + 11.191906365614216, + 42.3554253199897 + ], + [ + 10.51194786951774, + 42.93146251074721 + ], + [ + 10.200028924203991, + 43.9200068222746 + ], + [ + 9.702488234097842, + 44.03627879493132 + ], + [ + 8.88894616052687, + 44.36633616797951 + ], + [ + 8.428560825238577, + 44.23122813575242 + ], + [ + 7.850766635783144, + 43.76714793555524 + ], + [ + 7.435184767291872, + 43.69384491634922 + ], + [ + 7.549596388386107, + 44.12790110938481 + ], + [ + 7.007562290076635, + 44.25476675066136 + ], + [ + 6.749955275101655, + 45.02851797136758 + ], + [ + 7.096652459347837, + 45.33309886329589 + ], + [ + 6.802355177445605, + 45.70857982032864 + ], + [ + 6.843592970414505, + 45.99114655210061 + ], + [ + 7.273850945676656, + 45.776947740250776 + ], + [ + 7.755992058959833, + 45.82449005795931 + ], + [ + 8.31662967289438, + 46.16364248309086 + ], + [ + 8.489952426801324, + 46.005150865251686 + ], + [ + 8.966305779667806, + 46.03693187111119 + ], + [ + 9.182881707403055, + 46.44021474871698 + ], + [ + 9.922836541390382, + 46.31489940040919 + ], + [ + 10.363378126678612, + 46.48357127540986 + ], + [ + 10.44270145024663, + 46.89354625099743 + ] + ] + ], + [ + [ + [ + 14.761249220446189, + 38.14387360285046 + ], + [ + 15.520376010813806, + 38.23115509699143 + ], + [ + 15.160242954171736, + 37.44404551853776 + ], + [ + 15.309897902089006, + 37.13421946873183 + ], + [ + 15.099988234119422, + 36.6199872909954 + ], + [ + 14.335228712631988, + 36.996630967754726 + ], + [ + 13.826732618879959, + 37.10453135838016 + ], + [ + 12.431003859108756, + 37.61294993748375 + ], + [ + 12.570943637755136, + 38.12638113051966 + ], + [ + 13.741156447004613, + 38.03496552179533 + ], + [ + 14.761249220446189, + 38.14387360285046 + ] + ] + ], + [ + [ + [ + 8.709990675500109, + 40.899984442705225 + ], + [ + 9.210011834356266, + 41.209991360024176 + ], + [ + 9.80997521326492, + 40.50000885676613 + ], + [ + 9.669518670295616, + 39.17737641047178 + ], + [ + 9.214817742559433, + 39.24047333430015 + ], + [ + 8.806935662479674, + 38.906617743478506 + ], + [ + 8.428302443077115, + 39.17184703221655 + ], + [ + 8.388253208050912, + 40.37831085871876 + ], + [ + 8.159998406617689, + 40.95000722916376 + ], + [ + 8.709990675500109, + 40.899984442705225 + ] + ] + ] + ] + } + }, + { + "type": "Feature", + "properties": { + "featurecla": "Admin-0 country", + "scalerank": 1, + "labelrank": 4, + "sovereignt": "Switzerland", + "sov_a3": "CHE", + "adm0_dif": 0, + "level": 2, + "type": "Sovereign country", + "tlc": "1", + "admin": "Switzerland", + "adm0_a3": "CHE", + "geou_dif": 0, + "geounit": "Switzerland", + "gu_a3": "CHE", + "su_dif": 0, + "subunit": "Switzerland", + "su_a3": "CHE", + "brk_diff": 0, + "name": "Switzerland", + "name_long": "Switzerland", + "brk_a3": "CHE", + "brk_name": "Switzerland", + "brk_group": null, + "abbrev": "Switz.", + "postal": "CH", + "formal_en": "Swiss Confederation", + "formal_fr": null, + "name_ciawf": "Switzerland", + "note_adm0": null, + "note_brk": null, + "name_sort": "Switzerland", + "name_alt": null, + "mapcolor7": 5, + "mapcolor8": 2, + "mapcolor9": 7, + "mapcolor13": 3, + "pop_est": 8574832, + "pop_rank": 13, + "pop_year": 2019, + "gdp_md": 703082, + "gdp_year": 2019, + "economy": "2. Developed region: nonG7", + "income_grp": "1. High income: OECD", + "fips_10": "SZ", + "iso_a2": "CH", + "iso_a2_eh": "CH", + "iso_a3": "CHE", + "iso_a3_eh": "CHE", + "iso_n3": "756", + "iso_n3_eh": "756", + "un_a3": "756", + "wb_a2": "CH", + "wb_a3": "CHE", + "woe_id": 23424957, + "woe_id_eh": 23424957, + "woe_note": "Exact WOE match as country", + "adm0_iso": "CHE", + "adm0_diff": null, + "adm0_tlc": "CHE", + "adm0_a3_us": "CHE", + "adm0_a3_fr": "CHE", + "adm0_a3_ru": "CHE", + "adm0_a3_es": "CHE", + "adm0_a3_cn": "CHE", + "adm0_a3_tw": "CHE", + "adm0_a3_in": "CHE", + "adm0_a3_np": "CHE", + "adm0_a3_pk": "CHE", + "adm0_a3_de": "CHE", + "adm0_a3_gb": "CHE", + "adm0_a3_br": "CHE", + "adm0_a3_il": "CHE", + "adm0_a3_ps": "CHE", + "adm0_a3_sa": "CHE", + "adm0_a3_eg": "CHE", + "adm0_a3_ma": "CHE", + "adm0_a3_pt": "CHE", + "adm0_a3_ar": "CHE", + "adm0_a3_jp": "CHE", + "adm0_a3_ko": "CHE", + "adm0_a3_vn": "CHE", + "adm0_a3_tr": "CHE", + "adm0_a3_id": "CHE", + "adm0_a3_pl": "CHE", + "adm0_a3_gr": "CHE", + "adm0_a3_it": "CHE", + "adm0_a3_nl": "CHE", + "adm0_a3_se": "CHE", + "adm0_a3_bd": "CHE", + "adm0_a3_ua": "CHE", + "adm0_a3_un": -99, + "adm0_a3_wb": -99, + "continent": "Europe", + "region_un": "Europe", + "subregion": "Western Europe", + "region_wb": "Europe & Central Asia", + "name_len": 11, + "long_len": 11, + "abbrev_len": 6, + "tiny": -99, + "homepart": 1, + "min_zoom": 0, + "min_label": 4, + "max_label": 9, + "label_x": 7.463965, + "label_y": 46.719114, + "ne_id": 1159320491, + "wikidataid": "Q39", + "name_ar": "سويسرا", + "name_bn": "সুইজারল্যান্ড", + "name_de": "Schweiz", + "name_en": "Switzerland", + "name_es": "Suiza", + "name_fa": "سوئیس", + "name_fr": "Suisse", + "name_el": "Ελβετία", + "name_he": "שווייץ", + "name_hi": "स्विट्ज़रलैण्ड", + "name_hu": "Svájc", + "name_id": "Swiss", + "name_it": "Svizzera", + "name_ja": "スイス", + "name_ko": "스위스", + "name_nl": "Zwitserland", + "name_pl": "Szwajcaria", + "name_pt": "Suíça", + "name_ru": "Швейцария", + "name_sv": "Schweiz", + "name_tr": "İsviçre", + "name_uk": "Швейцарія", + "name_ur": "سویٹزرلینڈ", + "name_vi": "Thụy Sĩ", + "name_zh": "瑞士", + "name_zht": "瑞士", + "fclass_iso": "Admin-0 country", + "tlc_diff": null, + "fclass_tlc": "Admin-0 country", + "fclass_us": null, + "fclass_fr": null, + "fclass_ru": null, + "fclass_es": null, + "fclass_cn": null, + "fclass_tw": null, + "fclass_in": null, + "fclass_np": null, + "fclass_pk": null, + "fclass_de": null, + "fclass_gb": null, + "fclass_br": null, + "fclass_il": null, + "fclass_ps": null, + "fclass_sa": null, + "fclass_eg": null, + "fclass_ma": null, + "fclass_pt": null, + "fclass_ar": null, + "fclass_jp": null, + "fclass_ko": null, + "fclass_vn": null, + "fclass_tr": null, + "fclass_id": null, + "fclass_pl": null, + "fclass_gr": null, + "fclass_it": null, + "fclass_nl": null, + "fclass_se": null, + "fclass_bd": null, + "fclass_ua": null, + "filename": "CHE.geojson" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 9.59422610844635, + 47.52505809182027 + ], + [ + 9.632931756232978, + 47.34760122332999 + ], + [ + 9.479969516649021, + 47.102809963563374 + ], + [ + 9.932448357796659, + 46.92072805438296 + ], + [ + 10.44270145024663, + 46.89354625099743 + ], + [ + 10.363378126678612, + 46.48357127540986 + ], + [ + 9.922836541390382, + 46.31489940040919 + ], + [ + 9.182881707403055, + 46.44021474871698 + ], + [ + 8.966305779667806, + 46.03693187111119 + ], + [ + 8.489952426801324, + 46.005150865251686 + ], + [ + 8.31662967289438, + 46.16364248309086 + ], + [ + 7.755992058959833, + 45.82449005795931 + ], + [ + 7.273850945676656, + 45.776947740250776 + ], + [ + 6.843592970414505, + 45.99114655210061 + ], + [ + 6.500099724970426, + 46.42967275652944 + ], + [ + 6.022609490593538, + 46.27298981382047 + ], + [ + 6.037388950229001, + 46.725778713561866 + ], + [ + 6.768713820023606, + 47.2877082383037 + ], + [ + 6.736571079138059, + 47.541801255882845 + ], + [ + 7.192202182655507, + 47.44976552997102 + ], + [ + 7.466759067422231, + 47.62058197691181 + ], + [ + 8.317301466514095, + 47.61357982033627 + ], + [ + 8.522611932009767, + 47.83082754169129 + ], + [ + 9.59422610844635, + 47.52505809182027 + ] + ] + ] + } + } + ] +} \ No newline at end of file diff --git a/src/data/data.json b/src/data/data.json new file mode 100644 index 0000000..362d5b5 --- /dev/null +++ b/src/data/data.json @@ -0,0 +1,462 @@ +{ + "cancers": [ + { + "id": 1, + "type": "Brain", + "point_pos": [ + 70.5, + 16 + ], + "text_pos": [ + 75, + 15 + ] + }, + { + "id": 2, + "type": "Breast", + "point_pos": [ + 31, + 35 + ], + "text_pos": [ + 36.5, + 34 + ] + }, + { + "id": 3, + "type": "Colon", + "point_pos": [ + 70.5, + 48 + ], + "text_pos": [ + 78, + 60 + ] + }, + { + "id": 4, + "type": "Kidney", + "point_pos": [ + 73, + 43 + ], + "text_pos": [ + 83, + 39 + ] + }, + { + "id": 5, + "type": "Liver", + "point_pos": [ + 69, + 39 + ], + "text_pos": [ + 49, + 37 + ] + }, + { + "id": 6, + "type": "Ovarian", + "point_pos": [ + 28, + 49 + ], + "text_pos": [ + 3, + 46 + ] + }, + { + "id": 7, + "type": "Pancreas", + "point_pos": [ + 70, + 42.5 + ], + "text_pos": [ + 40, + 41 + ] + }, + { + "id": 8, + "type": "Stomach", + "point_pos": [ + 72, + 40 + ], + "text_pos": [ + 83, + 39 + ] + }, + { + "id": 9, + "type": "Trachea", + "point_pos": [ + 70.5, + 27 + ], + "text_pos": [ + 50, + 25 + ] + }, + { + "id": 10, + "type": "Thyroid", + "point_pos": [ + 28.5, + 29 + ], + "text_pos": [ + 33, + 27 + ] + } + ], + "countryMeans": { + "DENMARK": { + "brain": { + "death_rate_men": 8.526235589129394, + "death_rate_women": 6.848056451915484 + }, + "breast": { + "death_rate_men": 0.33239494634879374, + "death_rate_women": 56.7232006440688 + }, + "colon": { + "death_rate_men": 41.22792352427787, + "death_rate_women": 42.51500763852013 + }, + "kidney": { + "death_rate_men": 7.120037822255703, + "death_rate_women": 4.816630661476525 + }, + "liver": { + "death_rate_men": 4.87944967596358, + "death_rate_women": 2.649699623500797 + }, + "ovarian": { + "death_rate_men": null, + "death_rate_women": 16.129721354644012 + }, + "pancreas": { + "death_rate_men": 15.172208788377615, + "death_rate_women": 16.69337708669705 + }, + "stomach": { + "death_rate_men": 14.21767687205364, + "death_rate_women": 9.979696339700805 + }, + "thyroid": { + "death_rate_men": 0.47021454819394687, + "death_rate_women": 0.8711093208907262 + }, + "trachea": { + "death_rate_men": 89.55992860179356, + "death_rate_women": 59.821216815428855 + } + }, + "FRANCE": { + "brain": { + "death_rate_men": 6.769290189013095, + "death_rate_women": 4.729081457498352 + }, + "breast": { + "death_rate_men": 0.6282964334383728, + "death_rate_women": 44.44202256113003 + }, + "colon": { + "death_rate_men": 38.72158083895421, + "death_rate_women": 34.708998884796266 + }, + "kidney": { + "death_rate_men": 8.316301747718432, + "death_rate_women": 4.303256167689031 + }, + "liver": { + "death_rate_men": 14.208969566954888, + "death_rate_women": 4.737678565730858 + }, + "ovarian": { + "death_rate_men": null, + "death_rate_women": 12.647737446895059 + }, + "pancreas": { + "death_rate_men": 15.577675164073312, + "death_rate_women": 14.30154422290005 + }, + "stomach": { + "death_rate_men": 16.98724248441552, + "death_rate_women": 11.112320964024272 + }, + "thyroid": { + "death_rate_men": 0.7945460885860663, + "death_rate_women": 1.1121582265931942 + }, + "trachea": { + "death_rate_men": 83.99466266772865, + "death_rate_women": 20.671335041129925 + } + }, + "GERMANY": { + "brain": { + "death_rate_men": 7.500512994446093, + "death_rate_women": 6.066758225237651 + }, + "breast": { + "death_rate_men": 0.3891174343907795, + "death_rate_women": 48.54464523633375 + }, + "colon": { + "death_rate_men": 38.72252480241867, + "death_rate_women": 41.8215547705607 + }, + "kidney": { + "death_rate_men": 9.571547678934436, + "death_rate_women": 5.896236365072856 + }, + "liver": { + "death_rate_men": 8.434955529823753, + "death_rate_women": 4.667509199770727 + }, + "ovarian": { + "death_rate_men": null, + "death_rate_women": 11.676762669938707 + }, + "pancreas": { + "death_rate_men": 17.585220995036316, + "death_rate_women": 18.745387666951377 + }, + "stomach": { + "death_rate_men": 21.56116796415274, + "death_rate_women": 18.487021682337424 + }, + "thyroid": { + "death_rate_men": 0.8759581882061259, + "death_rate_women": 1.4969470485605147 + }, + "trachea": { + "death_rate_men": 81.77914108337856, + "death_rate_women": 29.56025748991553 + } + }, + "ITALY": { + "brain": { + "death_rate_men": 7.569519026921244, + "death_rate_women": 5.720159364310526 + }, + "breast": { + "death_rate_men": 0.36484980129898215, + "death_rate_women": 44.61601937980872 + }, + "colon": { + "death_rate_men": 37.889695673521985, + "death_rate_women": 32.07520498026036 + }, + "kidney": { + "death_rate_men": 8.451737545876185, + "death_rate_women": 4.353899744813644 + }, + "liver": { + "death_rate_men": 13.636983337834439, + "death_rate_women": 6.699096335070684 + }, + "ovarian": { + "death_rate_men": null, + "death_rate_women": 11.676762669938707 + }, + "pancreas": { + "death_rate_men": 17.943688059390176, + "death_rate_women": 17.71890006665069 + }, + "stomach": { + "death_rate_men": 30.762392721853356, + "death_rate_women": 21.95763789554833 + }, + "thyroid": { + "death_rate_men": 0.8894850360718966, + "death_rate_women": 1.3659504989312332 + }, + "trachea": { + "death_rate_men": 95.2443872315907, + "death_rate_women": 24.669275597402713 + } + }, + "NORWAY": { + "brain": { + "death_rate_men": 8.13853319445986, + "death_rate_women": 6.228445329169419 + }, + "breast": { + "death_rate_men": 0.2497829750906315, + "death_rate_women": 34.99324541428654 + }, + "colon": { + "death_rate_men": 37.78657390286002, + "death_rate_women": 39.06832970923786 + }, + "kidney": { + "death_rate_men": 8.05260666122523, + "death_rate_women": 5.042930213561776 + }, + "liver": { + "death_rate_men": 3.738747862203124, + "death_rate_women": 2.884205636325589 + }, + "ovarian": { + "death_rate_men": null, + "death_rate_women": 14.84996393328338 + }, + "pancreas": { + "death_rate_men": 15.093969629676845, + "death_rate_women": 15.722406812636274 + }, + "stomach": { + "death_rate_men": 16.034902683627738, + "death_rate_women": 11.778091843585157 + }, + "thyroid": { + "death_rate_men": 0.6472404091240376, + "death_rate_women": 1.1704979561907867 + }, + "trachea": { + "death_rate_men": 53.12669284419864, + "death_rate_women": 30.539066144249535 + } + }, + "SPAIN": { + "brain": { + "death_rate_men": 7.1654770273147035, + "death_rate_women": 5.427349374871377 + }, + "breast": { + "death_rate_men": 0.33199525316885314, + "death_rate_women": 31.492432312627663 + }, + "colon": { + "death_rate_men": 36.799532560033356, + "death_rate_women": 28.925793482053695 + }, + "kidney": { + "death_rate_men": 5.780271977003436, + "death_rate_women": 2.9156743357378723 + }, + "liver": { + "death_rate_men": 11.34419157361826, + "death_rate_women": 5.9069187442502615 + }, + "ovarian": { + "death_rate_men": null, + "death_rate_women": 8.702795189224195 + }, + "pancreas": { + "death_rate_men": 12.61318900076869, + "death_rate_women": 11.560239288078227 + }, + "stomach": { + "death_rate_men": 22.91492901515521, + "death_rate_women": 15.318424583526191 + }, + "thyroid": { + "death_rate_men": 0.6222559731168494, + "death_rate_women": 0.9329124736549439 + }, + "trachea": { + "death_rate_men": 79.82183830682091, + "death_rate_women": 13.619242838636437 + } + }, + "SWITZERLAND": { + "brain": { + "death_rate_men": 5.7310907880352815, + "death_rate_women": 3.987650343244721 + }, + "breast": { + "death_rate_men": 0.2267992771270774, + "death_rate_women": 40.1669853562383 + }, + "colon": { + "death_rate_men": 25.645553730349384, + "death_rate_women": 23.393094443512044 + }, + "kidney": { + "death_rate_men": 4.425385484784342, + "death_rate_women": 2.5498449260293956 + }, + "liver": { + "death_rate_men": 10.167660375728351, + "death_rate_women": 3.716036854560425 + }, + "ovarian": { + "death_rate_men": null, + "death_rate_women": 9.785071285755592 + }, + "pancreas": { + "death_rate_men": 12.123985612114739, + "death_rate_women": 13.253397934723 + }, + "stomach": { + "death_rate_men": 15.804289543799, + "death_rate_women": 11.217030521079515 + }, + "thyroid": { + "death_rate_men": 0.6251703934516795, + "death_rate_women": 1.0917472532695691 + }, + "trachea": { + "death_rate_men": 59.327520436605504, + "death_rate_women": 25.606113134651093 + } + }, + "UK": { + "brain": { + "death_rate_men": 7.436166760567555, + "death_rate_women": 5.297584005179885 + }, + "breast": { + "death_rate_men": 0.30458861200747817, + "death_rate_women": 50.8272590633685 + }, + "colon": { + "death_rate_men": 36.2590223582528, + "death_rate_women": 34.73928405421647 + }, + "kidney": { + "death_rate_men": 7.546100427578486, + "death_rate_women": 4.748387661244473 + }, + "liver": { + "death_rate_men": 6.01525694380284, + "death_rate_women": 4.26062802412215 + }, + "ovarian": { + "death_rate_men": null, + "death_rate_women": 16.322628792264464 + }, + "pancreas": { + "death_rate_men": 14.500499856018228, + "death_rate_women": 15.484237531529553 + }, + "stomach": { + "death_rate_men": 18.727697108254844, + "death_rate_women": 12.753935131405322 + }, + "thyroid": { + "death_rate_men": 0.547137346961067, + "death_rate_women": 0.9037767973589781 + }, + "trachea": { + "death_rate_men": 85.56739873471204, + "death_rate_women": 49.85086889634743 + } + } + } +} \ No newline at end of file diff --git a/src/utils.js b/src/utils.js new file mode 100644 index 0000000..dc2bde3 --- /dev/null +++ b/src/utils.js @@ -0,0 +1,11 @@ +import cancerData from "./data/data.json"; + +export function updateCountryInfo(setter, cancer, country, latlng) { + const countryInfo = cancerData.countryMeans[country.trim().toUpperCase()] === undefined ? null : cancerData.countryMeans[country.trim().toUpperCase()][cancer.type.toLowerCase()]; + setter({ + name: country, + deathRateMen: countryInfo === null ? null : (countryInfo.death_rate_men === null ? null : countryInfo.death_rate_men), + deathRateWomen: countryInfo === null ? null : countryInfo.death_rate_women, + latlng: latlng + }) +} \ No newline at end of file