diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 00000000..3b510aa6 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,8 @@ +[*.{js,jsx,mjs,cjs,ts,tsx,mts,cts,vue,css,scss,sass,less,styl}] +charset = utf-8 +indent_size = 2 +indent_style = space +insert_final_newline = true +trim_trailing_whitespace = true +end_of_line = lf +max_line_length = 100 diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 00000000..6313b56c --- /dev/null +++ b/.gitattributes @@ -0,0 +1 @@ +* text=auto eol=lf diff --git a/.gitignore b/.gitignore index a547bf36..d22f97f6 100644 --- a/.gitignore +++ b/.gitignore @@ -8,17 +8,26 @@ pnpm-debug.log* lerna-debug.log* node_modules +.DS_Store dist dist-ssr +coverage *.local +/cypress/videos/ +/cypress/screenshots/ + # Editor directories and files .vscode/* !.vscode/extensions.json .idea -.DS_Store *.suo *.ntvs* *.njsproj *.sln *.sw? + +*.tsbuildinfo + +.claude/ +.crush/ diff --git a/.prettierrc.json b/.prettierrc.json new file mode 100644 index 00000000..29a2402e --- /dev/null +++ b/.prettierrc.json @@ -0,0 +1,6 @@ +{ + "$schema": "https://json.schemastore.org/prettierrc", + "semi": false, + "singleQuote": true, + "printWidth": 100 +} diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 00000000..c92168f5 --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,8 @@ +{ + "recommendations": [ + "Vue.volar", + "dbaeumer.vscode-eslint", + "EditorConfig.EditorConfig", + "esbenp.prettier-vscode" + ] +} diff --git a/CHANGELOG.md b/CHANGELOG.md index 4cd58dbf..128d7f0e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,35 +2,56 @@ All notable changes to this project will be documented in this file. -The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## [Unreleased] - -### Added - -- The machinery for a minimal viable prototype, including integration of EOxElements, a code editor, the style library BeerCSS and the necessary glue code to enable a basic experience of editing styles with auto-reloading for direct user feedback. -- Start using [human-readable changelogs](https://keepachangelog.com/en/1.1.0/) along with [Semantic Versioning](https://semver.org/spec/v2.0.0.html) and [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/). -- An app-wide error queue that gives user feedback through a snackbar at the bottom of the screen. -- A dialog component to import style files via file dialog, drag and drop or from a web address. + +## [0.1.0] - 2025-01-12 - \ No newline at end of file +### Added +- Vue 3 + Vite application with EOX web components integration +- Interactive map component using @eox/map (OpenLayers-based) +- Code editor with ACE integration via @eox/jsonform component +- Layer control panel for managing map layers (@eox/layercontrol) +- Resizable sidebar with drag-to-resize functionality using mouse events +- Responsive ACE editor with dynamic sizing based on container height +- Local IBM Plex Mono font integration for code editor +- FlatGeoBuf (.fgb) data format support with automatic extent calculation +- Greenland Ice Thickness example with complex styling and variable support +- URL query parameter support (?example=greenland-ice-thickness) for auto-loading examples +- Format registry system for extensible data format handling +- Layer generation utilities for creating eox-map compatible layers +- Style variable preprocessing system for OpenLayers expression support +- Git commit guidelines with Keep a Changelog format requirements + +### Changed +- Example structure now includes id, name, and format fields +- Layer control initialization to always render (hidden when not visible) for proper eox-map integration +- Layer styling pipeline to process variables before applying to map +- Example naming from "Cerulean FGB" to "Greenland Ice Thickness" + +### Fixed +- FlatGeoBuf extent calculation and automatic map centering +- Layer styling persistence during code editor changes +- Invalid nested expressions in style configuration (["get", ["var", "key"]] patterns) +- Layer sanitization logic to preserve essential properties for eox-map +- Style variable preprocessing to correctly replace ["var", "key"] expressions with actual values +- Layer colors now display correctly on both initial load and during style editing +- Layer ID assignment in format registry for proper eox-map layer identification + +### Technical Achievements +- Implemented prototype-based format handler pattern for extensible data processing +- Created complete layerConfig setup with schema, style, and legend properties for eox-map compatibility +- Established proper Vue 3 Composition API integration with web components +- Built responsive layout system with fixed positioning for complex UI arrangements +- Integrated ESLint + Prettier with auto-formatting on save +- Set up development workflow with hot module replacement via Vite \ No newline at end of file diff --git a/CLAUDE.md b/CLAUDE.md new file mode 100644 index 00000000..22ef841b --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1,284 @@ +# CLAUDE.md + +This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository. + +## Development Commands + +- **Start development server**: `npm run dev` +- **Build for production**: `npm run build` +- **Preview production build**: `npm run preview` +- **Lint code**: `npm run lint` (auto-fixes issues) +- **Format code**: `npm run format` + +## Project Architecture + +This is a Vue 3 + Vite application that provides a style editor for geospatial data visualization using EOX web components. + +### Core Components + +The application is built around three main EOX web components: +- `@eox/map` - Interactive map component (OpenLayers-based) +- `@eox/layercontrol` - Layer management UI +- `@eox/jsonform` - Form component with code editor capabilities + +### Application Structure + +- **Main Layout** (`src/App.vue`): Split-pane interface with resizable sidebar + - Left sidebar: Contains code editor (via `eox-jsonform`) and fixed overlay toolbar + - Right main area: Map view (`eox-map`) + - Top-right overlay: Layer control panel (`eox-layercontrol`) + +- **Sidebar Resizing**: Custom drag-to-resize implementation using mouse events and `requestAnimationFrame` + - CSS variable `--sidebar-width` is updated on document root for global access + - Fixed positioned components (EditorToolbar, CodeEditor) respond to width changes + +### Fixed Positioning Architecture + +**EditorToolbar.vue**: +- `position: fixed` with `z-index: 1000` +- Two-row overlay (80px total height) with white background +- Top row: Logo text and settings icon (space-between layout) +- Bottom row: Editor action buttons (copy, paste, etc.) +- Width responds to `--sidebar-width` CSS variable +- `pointer-events: none` on container, `pointer-events: auto` on content + +**CodeEditor.vue**: +- `position: fixed` starting at `top: 40px` (overlaps toolbar by 40px to hide eox-jsonform whitespace) +- Height: `calc(100vh - 80px)` to account for toolbar +- Width responds to `--sidebar-width` CSS variable +- No padding - toolbar overlays the blank eox-jsonform space + +### Style Examples System + +Examples are organized in `src/examples/`: +- Each example exports name, dataUrl, and style configuration +- Style definitions are stored as JSON files (e.g., `cerulean/style.json`) +- Examples are aggregated in `src/examples/examples.js` + +**Example Loading Architecture:** +- `useExamples.js` composable manages example state reactively +- MapToolbar dropdown triggers example selection via `setCurrentExample()` +- MapView component dynamically adds layers using format registry system +- CodeEditor displays example styles as formatted JSON in ACE editor with real-time updates +- Format handlers process layers with specialized logic (e.g., FGB extent calculation) + +**Data Format Support:** +- **FlatGeobuf** (`.fgb`) - Efficient binary vector format +- **GeoJSON** (`.geojson`, `.json`) - Standard vector format +- **GeoTIFF** (`.tif`, `.tiff`, `.geotiff`) - Raster imagery format +- Auto-detection based on URL/file extension with fallback to GeoJSON + +### Format Registry System + +**Architecture (`src/formats/formatRegistry.js`):** +- Prototype-based handler pattern using Object.create() +- HashMap registry for format-specific processing logic +- Extensible design for adding new format handlers + +**Format Handlers:** +- `FormatHandler` - Base prototype with `processLayer()` and `supports()` methods +- `FlatGeoBufHandler` - Specialized handler that calculates FGB extents using `getFgbExtent()` +- `GeoJSONHandler` - Handles GeoJSON extent calculation +- `GeoTIFFHandler` - Handles GeoTIFF extent calculation +- `DefaultHandler` - Fallback for unsupported formats + +**Key Functions:** +- `processLayers(layers, editorStyle)` - Processes layers with format handlers and applies editor style +- `getFormatHandler(sourceType)` - Returns appropriate handler for format +- `registerFormatHandler(sourceType, handler)` - Registers new format handlers + +**Benefits:** +- Eliminates duplicate URL fetching (extent calculation reuses layer data) +- Clean separation of format-specific logic +- Editor style always overrides example/layer styles +- Easy to extend for new data formats + +**FGB Processing Details:** +- `getFgbExtent()` handles FlatGeobuf deserialization correctly (iterates over features, not featureCollection.features) +- Transforms coordinates from EPSG:4326 to EPSG:3857 for proper extent calculation +- Robust error handling for malformed, empty, or inaccessible FGB data +- Graceful fallback when extent calculation fails - layers still load without extent + +### Key Technical Details + +- **Vite Configuration**: Optimizes EOX dependencies, uses `@` alias for `src/` +- **Component Lifecycle**: Uses `onMounted` + `nextTick` to ensure DOM ready before connecting layer control to map +- **Web Component Integration**: Direct property assignment for eox-map layers to avoid Vue attribute coercion +- **Layer Sanitization**: Deep clones layers to remove Vue reactivity proxies and ensures all layers have required properties for eox-map compatibility +- **Style Compatibility**: Detects complex custom styles and removes them to prevent OpenLayers errors, allowing eox-map to use default styling +- **Styling**: Mix of scoped component styles and fixed positioning for complex layout + +### Style Management Flow + +**Editor as Source of Truth:** +- CodeEditor captures real-time changes via direct ACE editor access +- `handleDirectAceChange()` parses JSON and calls `updateCurrentStyle()` on valid changes +- `useExamples.updateCurrentStyle()` **MUST always process from original example layers** (not already-processed layers) + - Original layers contain variable references like `["var", "strokeWidth"]` + - Already-processed layers have variables "burned in" (replaced with actual values) + - Processing from already-processed layers breaks variable updates + - Calculated extents should be preserved when reprocessing +- Both new layer definitions and legacy layers receive editor style override + +**Bidirectional Synchronization:** +- LayerControl form changes update style variables via `handleGenericChange` event handler +- CodeEditor watcher responds to external style changes and updates ACE editor content +- Variables are stored in `layerConfig.style.variables` for proper eox-layercontrol integration + +**Style Update Sequence:** +1. **Initial Load**: Example style → editor → layers (with format processing) +2. **User Edit**: Editor change → JSON parse → `updateCurrentStyle()` → layer re-processing from original layers +3. **Layer Update**: Format handlers apply editor style override to all data layers +4. **Map Refresh**: MapView computed property triggers with updated layers + +**Key Functions:** +- `setCurrentExample(example)` - Loads example and applies editor style to layers +- `updateCurrentStyle(newStyle)` - Re-processes all layers from **original example layers** with new editor style +- `processLayers(layers, editorStyle)` - Applies editor style override during format processing + +**CRITICAL: Variable Processing:** +- `updateVectorLayerStyle()` in `styleProcessor.js` replaces `["var", "key"]` expressions with actual values +- This is a one-way operation - once replaced, variable references are lost +- Therefore, `updateCurrentStyle()` MUST always start from `currentExample.value.layers` (not `dataLayers.value`) +- Only calculated extents should be copied from processed layers to avoid re-fetching data + +### ACE Editor Integration + +**Direct ACE Access Pattern:** +- Uses `querySelector("eox-jsonform").editor.editors["root.code"]["ace_editor_instance"]` for direct access +- Bypasses eox-jsonform event system for better performance and control +- Immediate folding application prevents Flash of Unwanted Structure (FOUS) + +**Code Folding Management:** +- `initializeDefaultFolds()` - Collapses JSON sections at depth > 1 immediately +- `collapseAllExcept(exemptRange)` - Auto-collapse behavior when expanding sections +- `handleFoldChange()` - Tracks fold state changes for interactive behavior +- **No delays**: Folding applied immediately to prevent visual glitches + +**Responsive Configuration:** +- CodeEditor uses ResizeObserver for dynamic dimension tracking +- ACE config calculated from container height: `fontSize * 1.4` line-height ratio +- Reactive `maxLines` and `maxPixelHeight` based on available space +- Font configuration: `fontSize: 15, fontFamily: "'IBM Plex Mono'"` +- Minimum constraints: 200px height, 10 lines to ensure usability +- Theme switching: monokai (dark) / textmate (light) based on system preference + +**Implementation Pattern:** +```javascript +const editorConfig = computed(() => { + const fontSize = 14 + const lineHeight = Math.ceil(fontSize * 1.4) + const availableHeight = containerHeight.value - padding + const maxLines = Math.floor(availableHeight / lineHeight) + + return { + maxPixelHeight: Math.max(200, availableHeight), + maxLines: Math.max(10, maxLines), + // ... other config + } +}) +``` + +**Event Handling:** +- **Debounced Updates**: 650ms debounce using lodash/debounce to prevent excessive style updates while typing +- **Real-time Feedback**: ACE editor `change` events provide immediate response without overwhelming the system +- **Focus Control**: Available via `.textInput.getElement().focus()` for programmatic focus management +- **Error Handling**: Graceful handling of JSON parse errors during editing (silently ignored until valid) + +## Dependencies + +### EOX Components +- `@eox/map`: Map visualization with dynamic layer support +- `@eox/layercontrol`: Layer management UI +- `@eox/jsonform`: Form/code editor with ACE integration + +**EOX Map Layer Configuration:** +- Supports multiple layer types: Vector (for geospatial vectors) and WebGLTile (for rasters) +- Base layers (OSM) + dynamic example layers managed through reactive arrays +- Layer structure: `{ type, source: { type, url, format }, id, title, style, properties }` +- **Deduplication Logic**: Automatically detects and prevents duplicate base layers (e.g., OSM) when examples include their own base layers +- **Vue Integration**: Uses direct property assignment (`mapRef.value.layers = layersArray`) to avoid Vue coercing arrays to strings in web components + +**Layer Generation Utilities (`src/utils/layerGenerator.js`):** +- `detectDataFormat(url)` - Auto-detects format from URL/extension +- `generateLayerSource(url, format)` - Creates appropriate source config +- `generateMapLayer(options)` - Complete layer with styling and properties +- `validateDataUrl(url)` - Async URL accessibility validation + +**Usage Pattern:** +```javascript +const layer = generateMapLayer({ + dataUrl: 'https://example.com/data.fgb', + name: 'My Layer', + style: { /* EOX style config */ }, + id: 'custom-layer-id' +}) +``` + +### Development Stack +- Vue 3 with Composition API +- Vite for build tooling +- ESLint + Prettier for code quality +- Vue DevTools integration + +## IDE Setup + +Recommended VS Code extensions (see `.vscode/extensions.json`): +- Vue.volar (Vue language support) +- ESLint +- Prettier +- EditorConfig + +Auto-formatting and ESLint fixes on save are enabled by default. + +## Development Philosophy + +**KISS Principle**: Start simple, iterate based on evidence, avoid over-engineering upfront. + +1. Log actual data structures before building complex logic +2. Make minimal, testable changes +3. Refine based on real behavior, not assumptions + +## Common Debugging Issues + +- **Variable updates not working**: Ensure `updateCurrentStyle()` processes from `currentExample.value.layers` (original layers with variable references), not `dataLayers.value` (processed layers with burned-in values) +- **Layout issues**: Remember that EditorToolbar and CodeEditor use fixed positioning and respond to `--sidebar-width` CSS variable changes +- **ACE editor issues**: Use direct access pattern rather than trying to work through eox-jsonform events +- **Code folding glitches**: Apply folding immediately without delays to prevent visual artifacts + +## Git Commit Guidelines + +When creating git commits, follow these conventions: + +### Commit Message Format +- **Main semantic commit line**: Use lowercase only (e.g., `feat: add new feature`, `fix: resolve styling issue`) +- **Structure**: `: ` where type is lowercase (feat, fix, docs, style, refactor, test, chore) + +### Changelog Format +Use [Keep a Changelog](https://keepachangelog.com/) format for detailing changes in commits: + +``` +- **Added** - for new features +- **Changed** - for changes in existing functionality +- **Deprecated** - for soon-to-be removed features +- **Removed** - for now removed features +- **Fixed** - for any bug fixes +- **Security** - in case of vulnerabilities +``` + +### Example Commit Message +``` +fix: resolve layer styling persistence during editing + +**Fixed:** +- Layer colors now persist when editing styles in code editor +- Variable preprocessing correctly replaces ["var", "key"] expressions +- Style updates maintain proper eox-map layer configuration + +**Added:** +- updateVectorLayerStyle function for processing style variables +- Variable preprocessing in formatRegistry and useExamples composables + +**Changed:** +- Layer styling pipeline now processes variables before applying to map +``` diff --git a/LICENSE b/LICENSE deleted file mode 100644 index a16a8e38..00000000 --- a/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2025 eodash - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/README.md b/README.md index 99ef062f..4bf00a0e 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,35 @@ -# eodash-style-editor +# vue-style-editor -`eodash-style-editor` is a tiny web-based IDE (integrated development environment) for OpenLayers styles that updates in real-time when the style definition is changed. +This template should help get you started developing with Vue 3 in Vite. -# Links +## Recommended IDE Setup -* [`flatgeobuf` NPM usage reference](https://github.com/flatgeobuf/flatgeobuf/tree/master/examples/node) +[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur). + +## Customize configuration + +See [Vite Configuration Reference](https://vite.dev/config/). + +## Project Setup + +```sh +npm install +``` + +### Compile and Hot-Reload for Development + +```sh +npm run dev +``` + +### Compile and Minify for Production + +```sh +npm run build +``` + +### Lint with [ESLint](https://eslint.org/) + +```sh +npm run lint +``` diff --git a/eslint.config.js b/eslint.config.js new file mode 100644 index 00000000..7807d8b3 --- /dev/null +++ b/eslint.config.js @@ -0,0 +1,26 @@ +import { defineConfig, globalIgnores } from 'eslint/config' +import globals from 'globals' +import js from '@eslint/js' +import pluginVue from 'eslint-plugin-vue' +import skipFormatting from '@vue/eslint-config-prettier/skip-formatting' + +export default defineConfig([ + { + name: 'app/files-to-lint', + files: ['**/*.{js,mjs,jsx,vue}'], + }, + + globalIgnores(['**/dist/**', '**/dist-ssr/**', '**/coverage/**']), + + { + languageOptions: { + globals: { + ...globals.browser, + }, + }, + }, + + js.configs.recommended, + ...pluginVue.configs['flat/essential'], + skipFormatting, +]) diff --git a/index.html b/index.html index 3ae2bdb9..97833863 100644 --- a/index.html +++ b/index.html @@ -1,31 +1,13 @@ - + - + - eodash-style-editor - - - - - - - - - - + Vue Style Editor - +
+ diff --git a/jsconfig.json b/jsconfig.json new file mode 100644 index 00000000..5a1f2d22 --- /dev/null +++ b/jsconfig.json @@ -0,0 +1,8 @@ +{ + "compilerOptions": { + "paths": { + "@/*": ["./src/*"] + } + }, + "exclude": ["node_modules", "dist"] +} diff --git a/package-lock.json b/package-lock.json index df3f63bb..af247e29 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,34 +1,38 @@ { - "name": "eox-style-editor", - "version": "0.0.0", + "name": "vue-style-editor", + "version": "0.1.0", "lockfileVersion": 3, "requires": true, "packages": { "": { - "name": "eox-style-editor", - "version": "0.0.0", + "name": "vue-style-editor", + "version": "0.1.0", "dependencies": { - "@eox/jsonform": "^1.3.3", + "@eox/jsonform": "^1.4.1", "@eox/layercontrol": "^1.1.2", - "@eox/layout": "^1.0.0", "@eox/map": "^1.25.0", - "@eox/ui": "^0.1.10", - "@nieuwlandgeo/sldreader": "^0.7.0", + "@eox/ui": "^0.4.0", + "@mdi/js": "^7.4.47", "color-legend-element": "^1.3.0", - "flatgeobuf": "^3.36.0", - "geotiff.js": "^1.0.1", + "flatgeobuf": "^4.2.0", "json-stringify-pretty-compact": "^4.0.0", - "lit": "^3.2.1", - "lodash.debounce": "^4.0.8", - "mustache": "^4.2.0", - "ol": "^10.6.1", - "ol-mapbox-style": "^13.0.1", - "ol-sld-styler": "^1.0.3", - "proj4": "^2.15.0" + "lodash": "^4.17.21", + "material-dynamic-colors": "^1.1.2", + "vue": "^3.5.18" }, "devDependencies": { - "sass": "^1.84.0", - "vite": "^6.0.5" + "@eslint/js": "^9.31.0", + "@vitejs/plugin-vue": "^6.0.1", + "@vue/eslint-config-prettier": "^10.2.0", + "eslint": "^9.31.0", + "eslint-plugin-vue": "~10.3.0", + "globals": "^16.3.0", + "prettier": "3.6.2", + "vite": "^7.0.6", + "vite-plugin-vue-devtools": "^8.0.0" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" } }, "node_modules/@asamuzakjp/css-color": { @@ -43,10 +47,467 @@ "lru-cache": "^10.4.3" } }, + "node_modules/@asamuzakjp/css-color/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==" + }, + "node_modules/@babel/code-frame": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz", + "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.27.1", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.4.tgz", + "integrity": "sha512-YsmSKC29MJwf0gF8Rjjrg5LQCmyh+j/nD8/eP7f+BeoQTKYqs9RoWbjGOdy0+1Ekr68RJZMUOPVQaQisnIo4Rw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.4.tgz", + "integrity": "sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@babel/generator": "^7.28.3", + "@babel/helper-compilation-targets": "^7.27.2", + "@babel/helper-module-transforms": "^7.28.3", + "@babel/helpers": "^7.28.4", + "@babel/parser": "^7.28.4", + "@babel/template": "^7.27.2", + "@babel/traverse": "^7.28.4", + "@babel/types": "^7.28.4", + "@jridgewell/remapping": "^2.3.5", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/generator": { + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.28.3.tgz", + "integrity": "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.28.3", + "@babel/types": "^7.28.2", + "@jridgewell/gen-mapping": "^0.3.12", + "@jridgewell/trace-mapping": "^0.3.28", + "jsesc": "^3.0.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.27.3", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.3.tgz", + "integrity": "sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.27.3" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.27.2", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz", + "integrity": "sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.27.2", + "@babel/helper-validator-option": "^7.27.1", + "browserslist": "^4.24.0", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.28.3.tgz", + "integrity": "sha512-V9f6ZFIYSLNEbuGA/92uOvYsGCJNsuA8ESZ4ldc09bWk/j8H8TKiPw8Mk1eG6olpnO0ALHJmYfZvF4MEE4gajg==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.3", + "@babel/helper-member-expression-to-functions": "^7.27.1", + "@babel/helper-optimise-call-expression": "^7.27.1", + "@babel/helper-replace-supers": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", + "@babel/traverse": "^7.28.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-class-features-plugin/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-globals": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz", + "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.27.1.tgz", + "integrity": "sha512-E5chM8eWjTp/aNoVpcbfM7mLxu9XGLWYise2eBKGQomAk/Mb4XoxyqXTZbuTohbsl8EKqdlMhnDI2CCLfcs9wA==", + "dev": true, + "dependencies": { + "@babel/traverse": "^7.27.1", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz", + "integrity": "sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==", + "dev": true, + "dependencies": { + "@babel/traverse": "^7.27.1", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.3.tgz", + "integrity": "sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.27.1", + "@babel/helper-validator-identifier": "^7.27.1", + "@babel/traverse": "^7.28.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.27.1.tgz", + "integrity": "sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz", + "integrity": "sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.27.1.tgz", + "integrity": "sha512-7EHz6qDZc8RYS5ElPoShMheWvEgERonFCs7IAonWLLUTXW59DP14bCZt89/GKyreYn8g3S83m21FelHKbeDCKA==", + "dev": true, + "dependencies": { + "@babel/helper-member-expression-to-functions": "^7.27.1", + "@babel/helper-optimise-call-expression": "^7.27.1", + "@babel/traverse": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.27.1.tgz", + "integrity": "sha512-Tub4ZKEXqbPjXgWLl2+3JpQAYBJ8+ikpQ2Ocj/q/r0LwE3UhENh7EUabyHjz2kCEsrRY83ew2DQdHluuiDQFzg==", + "dev": true, + "dependencies": { + "@babel/traverse": "^7.27.1", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz", + "integrity": "sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", + "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.4.tgz", + "integrity": "sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w==", + "dev": true, + "dependencies": { + "@babel/template": "^7.27.2", + "@babel/types": "^7.28.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.4.tgz", + "integrity": "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg==", + "dependencies": { + "@babel/types": "^7.28.4" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-proposal-decorators": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.28.0.tgz", + "integrity": "sha512-zOiZqvANjWDUaUS9xMxbMcK/Zccztbe/6ikvUXaG9nsPH3w6qh5UaPGAnirI/WhIbZ8m3OHU0ReyPrknG+ZKeg==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/plugin-syntax-decorators": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-decorators": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.27.1.tgz", + "integrity": "sha512-YMq8Z87Lhl8EGkmb0MwYkt36QnxC+fzCgrl66ereamPlYToRpIk5nUjKUY3QKLWq8mwUB1BgbeXcTJhZOCDg5A==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-attributes": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.27.1.tgz", + "integrity": "sha512-oFT0FrKHgF53f4vOsZGi2Hh3I35PfSmVs4IBFLFj4dnafP+hIWDLg3VyKmUHfLoLHlyxY4C7DGtmHuJgn+IGww==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.27.1.tgz", + "integrity": "sha512-y8YTNIeKoyhGd9O0Jiyzyyqk8gdjnumGTQPsz0xOZOQ2RmkVJeZ1vmmfIvFEKqucBG6axJGBZDE/7iI5suUI/w==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.27.1.tgz", + "integrity": "sha512-xfYCBMxveHrRMnAWl1ZlPXOZjzkN82THFvLhQhFXFt81Z5HnN+EtUkZhv/zcKpmT3fzmWZB0ywiBrbC3vogbwQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typescript": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.28.0.tgz", + "integrity": "sha512-4AEiDEBPIZvLQaWlc9liCavE0xRM0dNca41WtBeM3jgFptfUOSG9z0uteLhq6+3rq+WB6jIvUwKDTpXEHPJ2Vg==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.3", + "@babel/helper-create-class-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", + "@babel/plugin-syntax-typescript": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/template": { + "version": "7.27.2", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz", + "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@babel/parser": "^7.27.2", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.4.tgz", + "integrity": "sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@babel/generator": "^7.28.3", + "@babel/helper-globals": "^7.28.0", + "@babel/parser": "^7.28.4", + "@babel/template": "^7.27.2", + "@babel/types": "^7.28.4", + "debug": "^4.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.4.tgz", + "integrity": "sha512-bkFqkLhh3pMBUQQkpVgWDWq/lqzc2678eUyDlTBhRqhCHFguYYGM0Efga7tYk4TogG/3x0EEl66/OQ+WGbWB/Q==", + "dependencies": { + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@csstools/color-helpers": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/@csstools/color-helpers/-/color-helpers-5.0.2.tgz", - "integrity": "sha512-JqWH1vsgdGcw2RR6VliXXdA0/59LttzlU8UlRT/iUUsEeWfYq8I+K0yhihEUTTHLRm1EXvpsCx3083EU15ecsA==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@csstools/color-helpers/-/color-helpers-5.1.0.tgz", + "integrity": "sha512-S11EXWJyy0Mz5SYvRmY8nJYTFFd1LCNV+7cXyAgQtOOuzb4EsgfqDufL+9esx72/eLhsRdGZwaldu/h+E4t4BA==", "funding": [ { "type": "github", @@ -84,9 +545,9 @@ } }, "node_modules/@csstools/css-color-parser": { - "version": "3.0.10", - "resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-3.0.10.tgz", - "integrity": "sha512-TiJ5Ajr6WRd1r8HSiwJvZBiJOqtH86aHpUjq5aEKWHiII2Qfjqd/HCWKPOW8EP4vcspXbHnXrwIDlu5savQipg==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-3.1.0.tgz", + "integrity": "sha512-nbtKwh3a6xNVIp/VRuXV64yTKnb1IjTAEEh3irzS+HkKjAOYLTGNb9pmVNntZ8iVBHcWDA2Dof0QtPgFI1BaTA==", "funding": [ { "type": "github", @@ -98,7 +559,7 @@ } ], "dependencies": { - "@csstools/color-helpers": "^5.0.2", + "@csstools/color-helpers": "^5.1.0", "@csstools/css-calc": "^2.1.4" }, "engines": { @@ -164,10 +625,18 @@ "beercss": "3.11.11" } }, + "node_modules/@eox/elements-utils/node_modules/beercss": { + "version": "3.11.11", + "resolved": "https://registry.npmjs.org/beercss/-/beercss-3.11.11.tgz", + "integrity": "sha512-ir8odQRgseQl2H72ZJq3np1P2Kw53V/uxImxyVWgmkuehk+7NaJau5hRi4fJkRSHZTQ0iMRBVm5F0CJHpWO6iA==", + "dependencies": { + "material-dynamic-colors": "^1.1.2" + } + }, "node_modules/@eox/jsonform": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/@eox/jsonform/-/jsonform-1.3.3.tgz", - "integrity": "sha512-Ox63o2Xcb6BjeHNk1k2Lds0e+3bSpzuyzFgABd0rkM7B/CqVCgF2HTkZGCTzw7C/ExMEf/FCBVrInPVWcsIe6Q==", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/@eox/jsonform/-/jsonform-1.4.1.tgz", + "integrity": "sha512-OjyTC/BUWAW/3CcJ6Oyf2suGbkiGUH8AbxpvzubpyQwxA15z9bKbbH4pfMwzWI9B6DkHxJuzw1DMFrtcEso35w==", "dependencies": { "@eox/elements-utils": "^1.1.0", "@eox/ui": "^0.3.6", @@ -193,6 +662,14 @@ "beercss": "3.11.11" } }, + "node_modules/@eox/jsonform/node_modules/beercss": { + "version": "3.11.11", + "resolved": "https://registry.npmjs.org/beercss/-/beercss-3.11.11.tgz", + "integrity": "sha512-ir8odQRgseQl2H72ZJq3np1P2Kw53V/uxImxyVWgmkuehk+7NaJau5hRi4fJkRSHZTQ0iMRBVm5F0CJHpWO6iA==", + "dependencies": { + "material-dynamic-colors": "^1.1.2" + } + }, "node_modules/@eox/layercontrol": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/@eox/layercontrol/-/layercontrol-1.1.2.tgz", @@ -224,10 +701,13 @@ "beercss": "3.11.11" } }, - "node_modules/@eox/layout": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@eox/layout/-/layout-1.0.0.tgz", - "integrity": "sha512-+n5Ym18Bq9l6isyK0DexMrba/eD0uPhqLgtS2BPrFHyEQ0m/T8n3nTDl/wu7zI9V3Vf9mw9KurhrD/oJGth5gw==" + "node_modules/@eox/layercontrol/node_modules/beercss": { + "version": "3.11.11", + "resolved": "https://registry.npmjs.org/beercss/-/beercss-3.11.11.tgz", + "integrity": "sha512-ir8odQRgseQl2H72ZJq3np1P2Kw53V/uxImxyVWgmkuehk+7NaJau5hRi4fJkRSHZTQ0iMRBVm5F0CJHpWO6iA==", + "dependencies": { + "material-dynamic-colors": "^1.1.2" + } }, "node_modules/@eox/map": { "version": "1.25.0", @@ -256,17 +736,12 @@ "beercss": "3.11.11" } }, - "node_modules/@eox/map/node_modules/flatgeobuf": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/flatgeobuf/-/flatgeobuf-4.1.1.tgz", - "integrity": "sha512-+AvIwR8jBwIB7fBZIlU1wtzkRT8N7jlUM+zGkhXERGL7V4hKbU2vjcldj0QvMv/yRirqPFiMv9WMTzhUMO6P8g==", + "node_modules/@eox/map/node_modules/beercss": { + "version": "3.11.11", + "resolved": "https://registry.npmjs.org/beercss/-/beercss-3.11.11.tgz", + "integrity": "sha512-ir8odQRgseQl2H72ZJq3np1P2Kw53V/uxImxyVWgmkuehk+7NaJau5hRi4fJkRSHZTQ0iMRBVm5F0CJHpWO6iA==", "dependencies": { - "@repeaterjs/repeater": "3.0.6", - "flatbuffers": "24.12.23", - "slice-source": "0.4.1" - }, - "optionalDependencies": { - "ol": ">=3" + "material-dynamic-colors": "^1.1.2" } }, "node_modules/@eox/timecontrol": { @@ -295,15 +770,27 @@ "beercss": "3.11.11" } }, + "node_modules/@eox/timecontrol/node_modules/beercss": { + "version": "3.11.11", + "resolved": "https://registry.npmjs.org/beercss/-/beercss-3.11.11.tgz", + "integrity": "sha512-ir8odQRgseQl2H72ZJq3np1P2Kw53V/uxImxyVWgmkuehk+7NaJau5hRi4fJkRSHZTQ0iMRBVm5F0CJHpWO6iA==", + "peer": true, + "dependencies": { + "material-dynamic-colors": "^1.1.2" + } + }, "node_modules/@eox/ui": { - "version": "0.1.11", - "resolved": "https://registry.npmjs.org/@eox/ui/-/ui-0.1.11.tgz", - "integrity": "sha512-UQXndo+9kr2u/onhY/V6k2n4kdIvLcPmuTvCLlUh0gBc2UF+rzT7REMJ0/Ctsf9KnjRPSe9Nz22a5gWLrPqiTA==" + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@eox/ui/-/ui-0.4.0.tgz", + "integrity": "sha512-Ll4pdMU14cDDYvtk7wNOvqnGqBIIvb0+a1XdM7knY8axTv4o9PlBbDVo86p4ill1oBP/FhrXx8GCXb13pxPJLg==", + "dependencies": { + "beercss": "3.11.20" + } }, "node_modules/@esbuild/aix-ppc64": { - "version": "0.25.8", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.8.tgz", - "integrity": "sha512-urAvrUedIqEiFR3FYSLTWQgLu5tb+m0qZw0NBEasUeo6wuqatkMDaRT+1uABiGXEu5vqgPd7FGE1BhsAIy9QVA==", + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.9.tgz", + "integrity": "sha512-OaGtL73Jck6pBKjNIe24BnFE6agGl+6KxDtTfHhy1HmhthfKouEcOhqpSL64K4/0WCtbKFLOdzD/44cJ4k9opA==", "cpu": [ "ppc64" ], @@ -317,9 +804,9 @@ } }, "node_modules/@esbuild/android-arm": { - "version": "0.25.8", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.8.tgz", - "integrity": "sha512-RONsAvGCz5oWyePVnLdZY/HHwA++nxYWIX1atInlaW6SEkwq6XkP3+cb825EUcRs5Vss/lGh/2YxAb5xqc07Uw==", + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.9.tgz", + "integrity": "sha512-5WNI1DaMtxQ7t7B6xa572XMXpHAaI/9Hnhk8lcxF4zVN4xstUgTlvuGDorBguKEnZO70qwEcLpfifMLoxiPqHQ==", "cpu": [ "arm" ], @@ -333,9 +820,9 @@ } }, "node_modules/@esbuild/android-arm64": { - "version": "0.25.8", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.8.tgz", - "integrity": "sha512-OD3p7LYzWpLhZEyATcTSJ67qB5D+20vbtr6vHlHWSQYhKtzUYrETuWThmzFpZtFsBIxRvhO07+UgVA9m0i/O1w==", + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.9.tgz", + "integrity": "sha512-IDrddSmpSv51ftWslJMvl3Q2ZT98fUSL2/rlUXuVqRXHCs5EUF1/f+jbjF5+NG9UffUDMCiTyh8iec7u8RlTLg==", "cpu": [ "arm64" ], @@ -349,9 +836,9 @@ } }, "node_modules/@esbuild/android-x64": { - "version": "0.25.8", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.8.tgz", - "integrity": "sha512-yJAVPklM5+4+9dTeKwHOaA+LQkmrKFX96BM0A/2zQrbS6ENCmxc4OVoBs5dPkCCak2roAD+jKCdnmOqKszPkjA==", + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.9.tgz", + "integrity": "sha512-I853iMZ1hWZdNllhVZKm34f4wErd4lMyeV7BLzEExGEIZYsOzqDWDf+y082izYUE8gtJnYHdeDpN/6tUdwvfiw==", "cpu": [ "x64" ], @@ -365,9 +852,9 @@ } }, "node_modules/@esbuild/darwin-arm64": { - "version": "0.25.8", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.8.tgz", - "integrity": "sha512-Jw0mxgIaYX6R8ODrdkLLPwBqHTtYHJSmzzd+QeytSugzQ0Vg4c5rDky5VgkoowbZQahCbsv1rT1KW72MPIkevw==", + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.9.tgz", + "integrity": "sha512-XIpIDMAjOELi/9PB30vEbVMs3GV1v2zkkPnuyRRURbhqjyzIINwj+nbQATh4H9GxUgH1kFsEyQMxwiLFKUS6Rg==", "cpu": [ "arm64" ], @@ -381,9 +868,9 @@ } }, "node_modules/@esbuild/darwin-x64": { - "version": "0.25.8", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.8.tgz", - "integrity": "sha512-Vh2gLxxHnuoQ+GjPNvDSDRpoBCUzY4Pu0kBqMBDlK4fuWbKgGtmDIeEC081xi26PPjn+1tct+Bh8FjyLlw1Zlg==", + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.9.tgz", + "integrity": "sha512-jhHfBzjYTA1IQu8VyrjCX4ApJDnH+ez+IYVEoJHeqJm9VhG9Dh2BYaJritkYK3vMaXrf7Ogr/0MQ8/MeIefsPQ==", "cpu": [ "x64" ], @@ -397,9 +884,9 @@ } }, "node_modules/@esbuild/freebsd-arm64": { - "version": "0.25.8", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.8.tgz", - "integrity": "sha512-YPJ7hDQ9DnNe5vxOm6jaie9QsTwcKedPvizTVlqWG9GBSq+BuyWEDazlGaDTC5NGU4QJd666V0yqCBL2oWKPfA==", + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.9.tgz", + "integrity": "sha512-z93DmbnY6fX9+KdD4Ue/H6sYs+bhFQJNCPZsi4XWJoYblUqT06MQUdBCpcSfuiN72AbqeBFu5LVQTjfXDE2A6Q==", "cpu": [ "arm64" ], @@ -413,9 +900,9 @@ } }, "node_modules/@esbuild/freebsd-x64": { - "version": "0.25.8", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.8.tgz", - "integrity": "sha512-MmaEXxQRdXNFsRN/KcIimLnSJrk2r5H8v+WVafRWz5xdSVmWLoITZQXcgehI2ZE6gioE6HirAEToM/RvFBeuhw==", + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.9.tgz", + "integrity": "sha512-mrKX6H/vOyo5v71YfXWJxLVxgy1kyt1MQaD8wZJgJfG4gq4DpQGpgTB74e5yBeQdyMTbgxp0YtNj7NuHN0PoZg==", "cpu": [ "x64" ], @@ -429,9 +916,9 @@ } }, "node_modules/@esbuild/linux-arm": { - "version": "0.25.8", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.8.tgz", - "integrity": "sha512-FuzEP9BixzZohl1kLf76KEVOsxtIBFwCaLupVuk4eFVnOZfU+Wsn+x5Ryam7nILV2pkq2TqQM9EZPsOBuMC+kg==", + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.9.tgz", + "integrity": "sha512-HBU2Xv78SMgaydBmdor38lg8YDnFKSARg1Q6AT0/y2ezUAKiZvc211RDFHlEZRFNRVhcMamiToo7bDx3VEOYQw==", "cpu": [ "arm" ], @@ -445,9 +932,9 @@ } }, "node_modules/@esbuild/linux-arm64": { - "version": "0.25.8", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.8.tgz", - "integrity": "sha512-WIgg00ARWv/uYLU7lsuDK00d/hHSfES5BzdWAdAig1ioV5kaFNrtK8EqGcUBJhYqotlUByUKz5Qo6u8tt7iD/w==", + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.9.tgz", + "integrity": "sha512-BlB7bIcLT3G26urh5Dmse7fiLmLXnRlopw4s8DalgZ8ef79Jj4aUcYbk90g8iCa2467HX8SAIidbL7gsqXHdRw==", "cpu": [ "arm64" ], @@ -461,9 +948,9 @@ } }, "node_modules/@esbuild/linux-ia32": { - "version": "0.25.8", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.8.tgz", - "integrity": "sha512-A1D9YzRX1i+1AJZuFFUMP1E9fMaYY+GnSQil9Tlw05utlE86EKTUA7RjwHDkEitmLYiFsRd9HwKBPEftNdBfjg==", + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.9.tgz", + "integrity": "sha512-e7S3MOJPZGp2QW6AK6+Ly81rC7oOSerQ+P8L0ta4FhVi+/j/v2yZzx5CqqDaWjtPFfYz21Vi1S0auHrap3Ma3A==", "cpu": [ "ia32" ], @@ -477,9 +964,9 @@ } }, "node_modules/@esbuild/linux-loong64": { - "version": "0.25.8", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.8.tgz", - "integrity": "sha512-O7k1J/dwHkY1RMVvglFHl1HzutGEFFZ3kNiDMSOyUrB7WcoHGf96Sh+64nTRT26l3GMbCW01Ekh/ThKM5iI7hQ==", + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.9.tgz", + "integrity": "sha512-Sbe10Bnn0oUAB2AalYztvGcK+o6YFFA/9829PhOCUS9vkJElXGdphz0A3DbMdP8gmKkqPmPcMJmJOrI3VYB1JQ==", "cpu": [ "loong64" ], @@ -493,9 +980,9 @@ } }, "node_modules/@esbuild/linux-mips64el": { - "version": "0.25.8", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.8.tgz", - "integrity": "sha512-uv+dqfRazte3BzfMp8PAQXmdGHQt2oC/y2ovwpTteqrMx2lwaksiFZ/bdkXJC19ttTvNXBuWH53zy/aTj1FgGw==", + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.9.tgz", + "integrity": "sha512-YcM5br0mVyZw2jcQeLIkhWtKPeVfAerES5PvOzaDxVtIyZ2NUBZKNLjC5z3/fUlDgT6w89VsxP2qzNipOaaDyA==", "cpu": [ "mips64el" ], @@ -509,9 +996,9 @@ } }, "node_modules/@esbuild/linux-ppc64": { - "version": "0.25.8", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.8.tgz", - "integrity": "sha512-GyG0KcMi1GBavP5JgAkkstMGyMholMDybAf8wF5A70CALlDM2p/f7YFE7H92eDeH/VBtFJA5MT4nRPDGg4JuzQ==", + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.9.tgz", + "integrity": "sha512-++0HQvasdo20JytyDpFvQtNrEsAgNG2CY1CLMwGXfFTKGBGQT3bOeLSYE2l1fYdvML5KUuwn9Z8L1EWe2tzs1w==", "cpu": [ "ppc64" ], @@ -525,9 +1012,9 @@ } }, "node_modules/@esbuild/linux-riscv64": { - "version": "0.25.8", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.8.tgz", - "integrity": "sha512-rAqDYFv3yzMrq7GIcen3XP7TUEG/4LK86LUPMIz6RT8A6pRIDn0sDcvjudVZBiiTcZCY9y2SgYX2lgK3AF+1eg==", + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.9.tgz", + "integrity": "sha512-uNIBa279Y3fkjV+2cUjx36xkx7eSjb8IvnL01eXUKXez/CBHNRw5ekCGMPM0BcmqBxBcdgUWuUXmVWwm4CH9kg==", "cpu": [ "riscv64" ], @@ -541,9 +1028,9 @@ } }, "node_modules/@esbuild/linux-s390x": { - "version": "0.25.8", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.8.tgz", - "integrity": "sha512-Xutvh6VjlbcHpsIIbwY8GVRbwoviWT19tFhgdA7DlenLGC/mbc3lBoVb7jxj9Z+eyGqvcnSyIltYUrkKzWqSvg==", + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.9.tgz", + "integrity": "sha512-Mfiphvp3MjC/lctb+7D287Xw1DGzqJPb/J2aHHcHxflUo+8tmN/6d4k6I2yFR7BVo5/g7x2Monq4+Yew0EHRIA==", "cpu": [ "s390x" ], @@ -557,9 +1044,9 @@ } }, "node_modules/@esbuild/linux-x64": { - "version": "0.25.8", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.8.tgz", - "integrity": "sha512-ASFQhgY4ElXh3nDcOMTkQero4b1lgubskNlhIfJrsH5OKZXDpUAKBlNS0Kx81jwOBp+HCeZqmoJuihTv57/jvQ==", + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.9.tgz", + "integrity": "sha512-iSwByxzRe48YVkmpbgoxVzn76BXjlYFXC7NvLYq+b+kDjyyk30J0JY47DIn8z1MO3K0oSl9fZoRmZPQI4Hklzg==", "cpu": [ "x64" ], @@ -573,9 +1060,9 @@ } }, "node_modules/@esbuild/netbsd-arm64": { - "version": "0.25.8", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.8.tgz", - "integrity": "sha512-d1KfruIeohqAi6SA+gENMuObDbEjn22olAR7egqnkCD9DGBG0wsEARotkLgXDu6c4ncgWTZJtN5vcgxzWRMzcw==", + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.9.tgz", + "integrity": "sha512-9jNJl6FqaUG+COdQMjSCGW4QiMHH88xWbvZ+kRVblZsWrkXlABuGdFJ1E9L7HK+T0Yqd4akKNa/lO0+jDxQD4Q==", "cpu": [ "arm64" ], @@ -589,9 +1076,9 @@ } }, "node_modules/@esbuild/netbsd-x64": { - "version": "0.25.8", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.8.tgz", - "integrity": "sha512-nVDCkrvx2ua+XQNyfrujIG38+YGyuy2Ru9kKVNyh5jAys6n+l44tTtToqHjino2My8VAY6Lw9H7RI73XFi66Cg==", + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.9.tgz", + "integrity": "sha512-RLLdkflmqRG8KanPGOU7Rpg829ZHu8nFy5Pqdi9U01VYtG9Y0zOG6Vr2z4/S+/3zIyOxiK6cCeYNWOFR9QP87g==", "cpu": [ "x64" ], @@ -605,9 +1092,9 @@ } }, "node_modules/@esbuild/openbsd-arm64": { - "version": "0.25.8", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.8.tgz", - "integrity": "sha512-j8HgrDuSJFAujkivSMSfPQSAa5Fxbvk4rgNAS5i3K+r8s1X0p1uOO2Hl2xNsGFppOeHOLAVgYwDVlmxhq5h+SQ==", + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.9.tgz", + "integrity": "sha512-YaFBlPGeDasft5IIM+CQAhJAqS3St3nJzDEgsgFixcfZeyGPCd6eJBWzke5piZuZ7CtL656eOSYKk4Ls2C0FRQ==", "cpu": [ "arm64" ], @@ -621,9 +1108,9 @@ } }, "node_modules/@esbuild/openbsd-x64": { - "version": "0.25.8", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.8.tgz", - "integrity": "sha512-1h8MUAwa0VhNCDp6Af0HToI2TJFAn1uqT9Al6DJVzdIBAd21m/G0Yfc77KDM3uF3T/YaOgQq3qTJHPbTOInaIQ==", + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.9.tgz", + "integrity": "sha512-1MkgTCuvMGWuqVtAvkpkXFmtL8XhWy+j4jaSO2wxfJtilVCi0ZE37b8uOdMItIHz4I6z1bWWtEX4CJwcKYLcuA==", "cpu": [ "x64" ], @@ -637,9 +1124,9 @@ } }, "node_modules/@esbuild/openharmony-arm64": { - "version": "0.25.8", - "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.8.tgz", - "integrity": "sha512-r2nVa5SIK9tSWd0kJd9HCffnDHKchTGikb//9c7HX+r+wHYCpQrSgxhlY6KWV1nFo1l4KFbsMlHk+L6fekLsUg==", + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.9.tgz", + "integrity": "sha512-4Xd0xNiMVXKh6Fa7HEJQbrpP3m3DDn43jKxMjxLLRjWnRsfxjORYJlXPO4JNcXtOyfajXorRKY9NkOpTHptErg==", "cpu": [ "arm64" ], @@ -653,9 +1140,9 @@ } }, "node_modules/@esbuild/sunos-x64": { - "version": "0.25.8", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.8.tgz", - "integrity": "sha512-zUlaP2S12YhQ2UzUfcCuMDHQFJyKABkAjvO5YSndMiIkMimPmxA+BYSBikWgsRpvyxuRnow4nS5NPnf9fpv41w==", + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.9.tgz", + "integrity": "sha512-WjH4s6hzo00nNezhp3wFIAfmGZ8U7KtrJNlFMRKxiI9mxEK1scOMAaa9i4crUtu+tBr+0IN6JCuAcSBJZfnphw==", "cpu": [ "x64" ], @@ -669,9 +1156,9 @@ } }, "node_modules/@esbuild/win32-arm64": { - "version": "0.25.8", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.8.tgz", - "integrity": "sha512-YEGFFWESlPva8hGL+zvj2z/SaK+pH0SwOM0Nc/d+rVnW7GSTFlLBGzZkuSU9kFIGIo8q9X3ucpZhu8PDN5A2sQ==", + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.9.tgz", + "integrity": "sha512-mGFrVJHmZiRqmP8xFOc6b84/7xa5y5YvR1x8djzXpJBSv/UsNK6aqec+6JDjConTgvvQefdGhFDAs2DLAds6gQ==", "cpu": [ "arm64" ], @@ -685,9 +1172,9 @@ } }, "node_modules/@esbuild/win32-ia32": { - "version": "0.25.8", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.8.tgz", - "integrity": "sha512-hiGgGC6KZ5LZz58OL/+qVVoZiuZlUYlYHNAmczOm7bs2oE1XriPFi5ZHHrS8ACpV5EjySrnoCKmcbQMN+ojnHg==", + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.9.tgz", + "integrity": "sha512-b33gLVU2k11nVx1OhX3C8QQP6UHQK4ZtN56oFWvVXvz2VkDoe6fbG8TOgHFxEvqeqohmRnIHe5A1+HADk4OQww==", "cpu": [ "ia32" ], @@ -701,9 +1188,9 @@ } }, "node_modules/@esbuild/win32-x64": { - "version": "0.25.8", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.8.tgz", - "integrity": "sha512-cn3Yr7+OaaZq1c+2pe+8yxC8E144SReCQjN6/2ynubzYjvyqZjTXfQJpAcQpsdJq3My7XADANiYGHoFC69pLQw==", + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.9.tgz", + "integrity": "sha512-PPOl1mi6lpLNQxnGoyAfschAodRFYXJ+9fs6WHXz7CSWKbOqiMZsubC+BQsVKuul+3vKLuwTHsS2c2y9EoKwxQ==", "cpu": [ "x64" ], @@ -716,417 +1203,335 @@ "node": ">=18" } }, - "node_modules/@json-editor/json-editor": { - "version": "2.15.2", - "resolved": "https://registry.npmjs.org/@json-editor/json-editor/-/json-editor-2.15.2.tgz", - "integrity": "sha512-vUQ7Oy+7VfNIzu6irtPz5qfHbMNTlQWUbHJ7eunxFza+SBwUXfq2Uh5QYD2d6hLDhF22sYh8DPpLWFixQrt1+Q==", + "node_modules/@eslint-community/eslint-utils": { + "version": "4.9.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.0.tgz", + "integrity": "sha512-ayVFHdtZ+hsq1t2Dy24wCmGXGe4q9Gu3smhLYALJrr473ZH27MsnSL+LKUlimp4BWJqMDMLmPpx/Q9R3OAlL4g==", + "dev": true, "dependencies": { - "core-js": "^3.27.2" + "eslint-visitor-keys": "^3.4.3" }, "engines": { - "node": ">= 0.8.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" } }, - "node_modules/@lit-labs/ssr-dom-shim": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@lit-labs/ssr-dom-shim/-/ssr-dom-shim-1.4.0.tgz", - "integrity": "sha512-ficsEARKnmmW5njugNYKipTm4SFnbik7CXtoencDZzmzo/dQ+2Q0bgkzJuoJP20Aj0F+izzJjOqsnkd6F/o1bw==" - }, - "node_modules/@lit/reactive-element": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@lit/reactive-element/-/reactive-element-2.1.1.tgz", - "integrity": "sha512-N+dm5PAYdQ8e6UlywyyrgI2t++wFGXfHx+dSJ1oBrg6FAxUj40jId++EaRm80MKX5JnlH1sBsyZ5h0bcZKemCg==", - "dependencies": { - "@lit-labs/ssr-dom-shim": "^1.4.0" + "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/@mapbox/jsonlint-lines-primitives": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@mapbox/jsonlint-lines-primitives/-/jsonlint-lines-primitives-2.0.2.tgz", - "integrity": "sha512-rY0o9A5ECsTQRVhv7tL/OyDpGAoUB4tTvLiW1DSzQGq4bvTPhNw1VpSNjDJc5GFZ2XuyOtSWSVN05qOtcD71qQ==", + "node_modules/@eslint-community/regexpp": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", + "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==", + "dev": true, "engines": { - "node": ">= 0.6" + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } }, - "node_modules/@mapbox/mapbox-gl-style-spec": { - "version": "13.28.0", - "resolved": "https://registry.npmjs.org/@mapbox/mapbox-gl-style-spec/-/mapbox-gl-style-spec-13.28.0.tgz", - "integrity": "sha512-B8xM7Fp1nh5kejfIl4SWeY0gtIeewbuRencqO3cJDrCHZpaPg7uY+V8abuR+esMeuOjRl5cLhVTP40v+1ywxbg==", + "node_modules/@eslint/config-array": { + "version": "0.21.0", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.0.tgz", + "integrity": "sha512-ENIdc4iLu0d93HeYirvKmrzshzofPw6VkZRKQGe9Nv46ZnWUzcF1xV01dcvEg/1wXUR61OmmlSfyeyO7EvjLxQ==", + "dev": true, "dependencies": { - "@mapbox/jsonlint-lines-primitives": "~2.0.2", - "@mapbox/point-geometry": "^0.1.0", - "@mapbox/unitbezier": "^0.0.0", - "csscolorparser": "~1.0.2", - "json-stringify-pretty-compact": "^2.0.0", - "minimist": "^1.2.6", - "rw": "^1.3.3", - "sort-object": "^0.3.2" + "@eslint/object-schema": "^2.1.6", + "debug": "^4.3.1", + "minimatch": "^3.1.2" }, - "bin": { - "gl-style-composite": "bin/gl-style-composite.js", - "gl-style-format": "bin/gl-style-format.js", - "gl-style-migrate": "bin/gl-style-migrate.js", - "gl-style-validate": "bin/gl-style-validate.js" + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, - "node_modules/@mapbox/mapbox-gl-style-spec/node_modules/@mapbox/unitbezier": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/@mapbox/unitbezier/-/unitbezier-0.0.0.tgz", - "integrity": "sha512-HPnRdYO0WjFjRTSwO3frz1wKaU649OBFPX3Zo/2WZvuRi6zMiRGui8SnPQiQABgqCf8YikDe5t3HViTVw1WUzA==" - }, - "node_modules/@mapbox/mapbox-gl-style-spec/node_modules/json-stringify-pretty-compact": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/json-stringify-pretty-compact/-/json-stringify-pretty-compact-2.0.0.tgz", - "integrity": "sha512-WRitRfs6BGq4q8gTgOy4ek7iPFXjbra0H3PmDLKm2xnZ+Gh1HUhiKGgCZkSPNULlP7mvfu6FV/mOLhCarspADQ==" - }, - "node_modules/@mapbox/point-geometry": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/@mapbox/point-geometry/-/point-geometry-0.1.0.tgz", - "integrity": "sha512-6j56HdLTwWGO0fJPlrZtdU/B13q8Uwmo18Ck2GnGgN9PCFyKTZ3UbXeEdRFh18i9XQ92eH2VdtpJHpBD3aripQ==" - }, - "node_modules/@mapbox/unitbezier": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/@mapbox/unitbezier/-/unitbezier-0.0.1.tgz", - "integrity": "sha512-nMkuDXFv60aBr9soUG5q+GvZYL+2KZHVvsqFCzqnkGEf46U2fvmytHaEVc1/YZbiLn8X+eR3QzX1+dwDO1lxlw==" + "node_modules/@eslint/config-helpers": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.3.1.tgz", + "integrity": "sha512-xR93k9WhrDYpXHORXpxVL5oHj3Era7wo6k/Wd8/IsQNnZUTzkGS29lyn3nAT05v6ltUuTFVCCYDEGfy2Or/sPA==", + "dev": true, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } }, - "node_modules/@maplibre/maplibre-gl-style-spec": { - "version": "23.3.0", - "resolved": "https://registry.npmjs.org/@maplibre/maplibre-gl-style-spec/-/maplibre-gl-style-spec-23.3.0.tgz", - "integrity": "sha512-IGJtuBbaGzOUgODdBRg66p8stnwj9iDXkgbYKoYcNiiQmaez5WVRfXm4b03MCDwmZyX93csbfHFWEJJYHnn5oA==", + "node_modules/@eslint/core": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.15.2.tgz", + "integrity": "sha512-78Md3/Rrxh83gCxoUc0EiciuOHsIITzLy53m3d9UyiW8y9Dj2D29FeETqyKA+BRK76tnTp6RXWb3pCay8Oyomg==", + "dev": true, "dependencies": { - "@mapbox/jsonlint-lines-primitives": "~2.0.2", - "@mapbox/unitbezier": "^0.0.1", - "json-stringify-pretty-compact": "^4.0.0", - "minimist": "^1.2.8", - "quickselect": "^3.0.0", - "rw": "^1.3.3", - "tinyqueue": "^3.0.0" + "@types/json-schema": "^7.0.15" }, - "bin": { - "gl-style-format": "dist/gl-style-format.mjs", - "gl-style-migrate": "dist/gl-style-migrate.mjs", - "gl-style-validate": "dist/gl-style-validate.mjs" - } - }, - "node_modules/@material/material-color-utilities": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/@material/material-color-utilities/-/material-color-utilities-0.2.7.tgz", - "integrity": "sha512-0FCeqG6WvK4/Cc06F/xXMd/pv4FeisI0c1tUpBbfhA2n9Y8eZEv4Karjbmf2ZqQCPUWMrGp8A571tCjizxoTiQ==" - }, - "node_modules/@multiformats/base-x": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@multiformats/base-x/-/base-x-4.0.1.tgz", - "integrity": "sha512-eMk0b9ReBbV23xXU693TAIrLyeO5iTgBZGSJfpqriG8UkYvr/hC9u9pyMlAakDNHWmbhMZCDs6KQO0jzKD8OTw==" - }, - "node_modules/@nieuwlandgeo/sldreader": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/@nieuwlandgeo/sldreader/-/sldreader-0.7.0.tgz", - "integrity": "sha512-1RZzAG+x/cCVxNJ42j0jZzTFu9+M9H24yFDDx6Pf2t+uhpYpx0zCW3xu7SqzCeY+unsjhbpsPIiNvGqA5POHSg==", - "peerDependencies": { - "ol": ">= 6.15.0" + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, - "node_modules/@parcel/watcher": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.5.1.tgz", - "integrity": "sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg==", + "node_modules/@eslint/eslintrc": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.1.tgz", + "integrity": "sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==", "dev": true, - "hasInstallScript": true, - "optional": true, "dependencies": { - "detect-libc": "^1.0.3", - "is-glob": "^4.0.3", - "micromatch": "^4.0.5", - "node-addon-api": "^7.0.0" + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^10.0.1", + "globals": "^14.0.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" }, "engines": { - "node": ">= 10.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - }, - "optionalDependencies": { - "@parcel/watcher-android-arm64": "2.5.1", - "@parcel/watcher-darwin-arm64": "2.5.1", - "@parcel/watcher-darwin-x64": "2.5.1", - "@parcel/watcher-freebsd-x64": "2.5.1", - "@parcel/watcher-linux-arm-glibc": "2.5.1", - "@parcel/watcher-linux-arm-musl": "2.5.1", - "@parcel/watcher-linux-arm64-glibc": "2.5.1", - "@parcel/watcher-linux-arm64-musl": "2.5.1", - "@parcel/watcher-linux-x64-glibc": "2.5.1", - "@parcel/watcher-linux-x64-musl": "2.5.1", - "@parcel/watcher-win32-arm64": "2.5.1", - "@parcel/watcher-win32-ia32": "2.5.1", - "@parcel/watcher-win32-x64": "2.5.1" - } - }, - "node_modules/@parcel/watcher-android-arm64": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.1.tgz", - "integrity": "sha512-KF8+j9nNbUN8vzOFDpRMsaKBHZ/mcjEjMToVMJOhTozkDonQFFrRcfdLWn6yWKCmJKmdVxSgHiYvTCef4/qcBA==", - "cpu": [ - "arm64" - ], + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", + "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", "dev": true, - "optional": true, - "os": [ - "android" - ], "engines": { - "node": ">= 10.0.0" + "node": ">=18" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@parcel/watcher-darwin-arm64": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.1.tgz", - "integrity": "sha512-eAzPv5osDmZyBhou8PoF4i6RQXAfeKL9tjb3QzYuccXFMQU0ruIc/POh30ePnaOyD1UXdlKguHBmsTs53tVoPw==", - "cpu": [ - "arm64" - ], + "node_modules/@eslint/js": { + "version": "9.35.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.35.0.tgz", + "integrity": "sha512-30iXE9whjlILfWobBkNerJo+TXYsgVM5ERQwMcMKCHckHflCmf7wXDAHlARoWnh0s1U72WqlbeyE7iAcCzuCPw==", "dev": true, - "optional": true, - "os": [ - "darwin" - ], "engines": { - "node": ">= 10.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "url": "https://eslint.org/donate" } }, - "node_modules/@parcel/watcher-darwin-x64": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.1.tgz", - "integrity": "sha512-1ZXDthrnNmwv10A0/3AJNZ9JGlzrF82i3gNQcWOzd7nJ8aj+ILyW1MTxVk35Db0u91oD5Nlk9MBiujMlwmeXZg==", - "cpu": [ - "x64" - ], + "node_modules/@eslint/object-schema": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.6.tgz", + "integrity": "sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==", "dev": true, - "optional": true, - "os": [ - "darwin" - ], "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, - "node_modules/@parcel/watcher-freebsd-x64": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.1.tgz", - "integrity": "sha512-SI4eljM7Flp9yPuKi8W0ird8TI/JK6CSxju3NojVI6BjHsTyK7zxA9urjVjEKJ5MBYC+bLmMcbAWlZ+rFkLpJQ==", - "cpu": [ - "x64" - ], + "node_modules/@eslint/plugin-kit": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.3.5.tgz", + "integrity": "sha512-Z5kJ+wU3oA7MMIqVR9tyZRtjYPr4OC004Q4Rw7pgOKUOKkJfZ3O24nz3WYfGRpMDNmcOi3TwQOmgm7B7Tpii0w==", "dev": true, - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">= 10.0.0" + "dependencies": { + "@eslint/core": "^0.15.2", + "levn": "^0.4.1" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, - "node_modules/@parcel/watcher-linux-arm-glibc": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.1.tgz", - "integrity": "sha512-RCdZlEyTs8geyBkkcnPWvtXLY44BCeZKmGYRtSgtwwnHR4dxfHRG3gR99XdMEdQ7KeiDdasJwwvNSF5jKtDwdA==", - "cpu": [ - "arm" - ], + "node_modules/@humanfs/core": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", + "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", "dev": true, - "optional": true, - "os": [ - "linux" - ], "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "node": ">=18.18.0" } }, - "node_modules/@parcel/watcher-linux-arm-musl": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.1.tgz", - "integrity": "sha512-6E+m/Mm1t1yhB8X412stiKFG3XykmgdIOqhjWj+VL8oHkKABfu/gjFj8DvLrYVHSBNC+/u5PeNrujiSQ1zwd1Q==", - "cpu": [ - "arm" - ], + "node_modules/@humanfs/node": { + "version": "0.16.7", + "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.7.tgz", + "integrity": "sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==", "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10.0.0" + "dependencies": { + "@humanfs/core": "^0.19.1", + "@humanwhocodes/retry": "^0.4.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "engines": { + "node": ">=18.18.0" } }, - "node_modules/@parcel/watcher-linux-arm64-glibc": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.1.tgz", - "integrity": "sha512-LrGp+f02yU3BN9A+DGuY3v3bmnFUggAITBGriZHUREfNEzZh/GO06FF5u2kx8x+GBEUYfyTGamol4j3m9ANe8w==", - "cpu": [ - "arm64" - ], + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", "dev": true, - "optional": true, - "os": [ - "linux" - ], "engines": { - "node": ">= 10.0.0" + "node": ">=12.22" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "type": "github", + "url": "https://github.com/sponsors/nzakas" } }, - "node_modules/@parcel/watcher-linux-arm64-musl": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.1.tgz", - "integrity": "sha512-cFOjABi92pMYRXS7AcQv9/M1YuKRw8SZniCDw0ssQb/noPkRzA+HBDkwmyOJYp5wXcsTrhxO0zq1U11cK9jsFg==", - "cpu": [ - "arm64" - ], + "node_modules/@humanwhocodes/retry": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", + "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", "dev": true, - "optional": true, - "os": [ - "linux" - ], "engines": { - "node": ">= 10.0.0" + "node": ">=18.18" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "type": "github", + "url": "https://github.com/sponsors/nzakas" } }, - "node_modules/@parcel/watcher-linux-x64-glibc": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.1.tgz", - "integrity": "sha512-GcESn8NZySmfwlTsIur+49yDqSny2IhPeZfXunQi48DMugKeZ7uy1FX83pO0X22sHntJ4Ub+9k34XQCX+oHt2A==", - "cpu": [ - "x64" - ], + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.13", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" } }, - "node_modules/@parcel/watcher-linux-x64-musl": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.1.tgz", - "integrity": "sha512-n0E2EQbatQ3bXhcH2D1XIAANAcTZkQICBPVaxMeaCVBtOpBZpWJuf7LwyWPSBDITb7In8mqQgJ7gH8CILCURXg==", - "cpu": [ - "x64" - ], + "node_modules/@jridgewell/remapping": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", + "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" } }, - "node_modules/@parcel/watcher-win32-arm64": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.1.tgz", - "integrity": "sha512-RFzklRvmc3PkjKjry3hLF9wD7ppR4AKcWNzH7kXR7GUe0Igb3Nz8fyPwtZCSquGrhU5HhUNDr/mKBqj7tqA2Vw==", - "cpu": [ - "arm64" - ], + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", "dev": true, - "optional": true, - "os": [ - "win32" - ], "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "node": ">=6.0.0" } }, - "node_modules/@parcel/watcher-win32-ia32": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.1.tgz", - "integrity": "sha512-c2KkcVN+NJmuA7CGlaGD1qJh1cLfDnQsHjE89E60vUEMlqduHGCdCLJCID5geFVM0dOtA3ZiIO8BoEQmzQVfpQ==", - "cpu": [ - "ia32" - ], + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.31", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10.0.0" + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@json-editor/json-editor": { + "version": "2.15.2", + "resolved": "https://registry.npmjs.org/@json-editor/json-editor/-/json-editor-2.15.2.tgz", + "integrity": "sha512-vUQ7Oy+7VfNIzu6irtPz5qfHbMNTlQWUbHJ7eunxFza+SBwUXfq2Uh5QYD2d6hLDhF22sYh8DPpLWFixQrt1+Q==", + "dependencies": { + "core-js": "^3.27.2" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "engines": { + "node": ">= 0.8.0" } }, - "node_modules/@parcel/watcher-win32-x64": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.1.tgz", - "integrity": "sha512-9lHBdJITeNR++EvSQVUcaZoWupyHfXe1jZvGZ06O/5MflPcuPLtEphScIBL+AiCWBO46tDSHzWyD0uDmmZqsgA==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], + "node_modules/@lit-labs/ssr-dom-shim": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@lit-labs/ssr-dom-shim/-/ssr-dom-shim-1.4.0.tgz", + "integrity": "sha512-ficsEARKnmmW5njugNYKipTm4SFnbik7CXtoencDZzmzo/dQ+2Q0bgkzJuoJP20Aj0F+izzJjOqsnkd6F/o1bw==" + }, + "node_modules/@lit/reactive-element": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@lit/reactive-element/-/reactive-element-2.1.1.tgz", + "integrity": "sha512-N+dm5PAYdQ8e6UlywyyrgI2t++wFGXfHx+dSJ1oBrg6FAxUj40jId++EaRm80MKX5JnlH1sBsyZ5h0bcZKemCg==", + "dependencies": { + "@lit-labs/ssr-dom-shim": "^1.4.0" + } + }, + "node_modules/@mapbox/jsonlint-lines-primitives": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@mapbox/jsonlint-lines-primitives/-/jsonlint-lines-primitives-2.0.2.tgz", + "integrity": "sha512-rY0o9A5ECsTQRVhv7tL/OyDpGAoUB4tTvLiW1DSzQGq4bvTPhNw1VpSNjDJc5GFZ2XuyOtSWSVN05qOtcD71qQ==", "engines": { - "node": ">= 10.0.0" + "node": ">= 0.6" + } + }, + "node_modules/@mapbox/unitbezier": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/@mapbox/unitbezier/-/unitbezier-0.0.1.tgz", + "integrity": "sha512-nMkuDXFv60aBr9soUG5q+GvZYL+2KZHVvsqFCzqnkGEf46U2fvmytHaEVc1/YZbiLn8X+eR3QzX1+dwDO1lxlw==" + }, + "node_modules/@maplibre/maplibre-gl-style-spec": { + "version": "23.3.0", + "resolved": "https://registry.npmjs.org/@maplibre/maplibre-gl-style-spec/-/maplibre-gl-style-spec-23.3.0.tgz", + "integrity": "sha512-IGJtuBbaGzOUgODdBRg66p8stnwj9iDXkgbYKoYcNiiQmaez5WVRfXm4b03MCDwmZyX93csbfHFWEJJYHnn5oA==", + "dependencies": { + "@mapbox/jsonlint-lines-primitives": "~2.0.2", + "@mapbox/unitbezier": "^0.0.1", + "json-stringify-pretty-compact": "^4.0.0", + "minimist": "^1.2.8", + "quickselect": "^3.0.0", + "rw": "^1.3.3", + "tinyqueue": "^3.0.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "bin": { + "gl-style-format": "dist/gl-style-format.mjs", + "gl-style-migrate": "dist/gl-style-migrate.mjs", + "gl-style-validate": "dist/gl-style-validate.mjs" } }, + "node_modules/@material/material-color-utilities": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/@material/material-color-utilities/-/material-color-utilities-0.2.7.tgz", + "integrity": "sha512-0FCeqG6WvK4/Cc06F/xXMd/pv4FeisI0c1tUpBbfhA2n9Y8eZEv4Karjbmf2ZqQCPUWMrGp8A571tCjizxoTiQ==" + }, + "node_modules/@mdi/js": { + "version": "7.4.47", + "resolved": "https://registry.npmjs.org/@mdi/js/-/js-7.4.47.tgz", + "integrity": "sha512-KPnNOtm5i2pMabqZxpUz7iQf+mfrYZyKCZ8QNz85czgEt7cuHcGorWfdzUMWYA0SD+a6Hn4FmJ+YhzzzjkTZrQ==" + }, + "node_modules/@multiformats/base-x": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@multiformats/base-x/-/base-x-4.0.1.tgz", + "integrity": "sha512-eMk0b9ReBbV23xXU693TAIrLyeO5iTgBZGSJfpqriG8UkYvr/hC9u9pyMlAakDNHWmbhMZCDs6KQO0jzKD8OTw==" + }, "node_modules/@petamoriken/float16": { "version": "3.9.2", "resolved": "https://registry.npmjs.org/@petamoriken/float16/-/float16-3.9.2.tgz", "integrity": "sha512-VgffxawQde93xKxT3qap3OH+meZf7VaSB5Sqd4Rqc+FP5alWbpOyan/7tRbOAvynjpG3GpdtAuGU/NdhQpmrog==" }, + "node_modules/@pkgr/core": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.2.9.tgz", + "integrity": "sha512-QNqXyfVS2wm9hweSYD2O7F0G06uurj9kZ96TRQE5Y9hU7+tgdZwIkbAKc5Ocy1HxEY2kuDQa6cQ1WRs/O5LFKA==", + "dev": true, + "engines": { + "node": "^12.20.0 || ^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/pkgr" + } + }, + "node_modules/@polka/url": { + "version": "1.0.0-next.29", + "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.29.tgz", + "integrity": "sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==", + "dev": true + }, "node_modules/@radiantearth/stac-migrate": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/@radiantearth/stac-migrate/-/stac-migrate-2.0.2.tgz", @@ -1149,10 +1554,16 @@ "resolved": "https://registry.npmjs.org/@repeaterjs/repeater/-/repeater-3.0.6.tgz", "integrity": "sha512-Javneu5lsuhwNCryN+pXH93VPQ8g0dBX7wItHFgYiwQmzE1sVdg5tWHiOgHywzL2W21XQopa7IwIEnNbmeUJYA==" }, + "node_modules/@rolldown/pluginutils": { + "version": "1.0.0-beta.29", + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.29.tgz", + "integrity": "sha512-NIJgOsMjbxAXvoGq/X0gD7VPMQ8j9g0BiDaNjVNVjvl+iKXxL3Jre0v31RmBYeLEmkbj2s02v8vFTbUXi5XS2Q==", + "dev": true + }, "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.46.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.46.2.tgz", - "integrity": "sha512-Zj3Hl6sN34xJtMv7Anwb5Gu01yujyE/cLBDB2gnHTAHaWS1Z38L7kuSG+oAh0giZMqG060f/YBStXtMH6FvPMA==", + "version": "4.50.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.50.1.tgz", + "integrity": "sha512-HJXwzoZN4eYTdD8bVV22DN8gsPCAj3V20NHKOs8ezfXanGpmVPR7kalUHd+Y31IJp9stdB87VKPFbsGY3H/2ag==", "cpu": [ "arm" ], @@ -1163,9 +1574,9 @@ ] }, "node_modules/@rollup/rollup-android-arm64": { - "version": "4.46.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.46.2.tgz", - "integrity": "sha512-nTeCWY83kN64oQ5MGz3CgtPx8NSOhC5lWtsjTs+8JAJNLcP3QbLCtDDgUKQc/Ro/frpMq4SHUaHN6AMltcEoLQ==", + "version": "4.50.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.50.1.tgz", + "integrity": "sha512-PZlsJVcjHfcH53mOImyt3bc97Ep3FJDXRpk9sMdGX0qgLmY0EIWxCag6EigerGhLVuL8lDVYNnSo8qnTElO4xw==", "cpu": [ "arm64" ], @@ -1176,9 +1587,9 @@ ] }, "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.46.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.46.2.tgz", - "integrity": "sha512-HV7bW2Fb/F5KPdM/9bApunQh68YVDU8sO8BvcW9OngQVN3HHHkw99wFupuUJfGR9pYLLAjcAOA6iO+evsbBaPQ==", + "version": "4.50.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.50.1.tgz", + "integrity": "sha512-xc6i2AuWh++oGi4ylOFPmzJOEeAa2lJeGUGb4MudOtgfyyjr4UPNK+eEWTPLvmPJIY/pgw6ssFIox23SyrkkJw==", "cpu": [ "arm64" ], @@ -1189,9 +1600,9 @@ ] }, "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.46.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.46.2.tgz", - "integrity": "sha512-SSj8TlYV5nJixSsm/y3QXfhspSiLYP11zpfwp6G/YDXctf3Xkdnk4woJIF5VQe0of2OjzTt8EsxnJDCdHd2xMA==", + "version": "4.50.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.50.1.tgz", + "integrity": "sha512-2ofU89lEpDYhdLAbRdeyz/kX3Y2lpYc6ShRnDjY35bZhd2ipuDMDi6ZTQ9NIag94K28nFMofdnKeHR7BT0CATw==", "cpu": [ "x64" ], @@ -1202,9 +1613,9 @@ ] }, "node_modules/@rollup/rollup-freebsd-arm64": { - "version": "4.46.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.46.2.tgz", - "integrity": "sha512-ZyrsG4TIT9xnOlLsSSi9w/X29tCbK1yegE49RYm3tu3wF1L/B6LVMqnEWyDB26d9Ecx9zrmXCiPmIabVuLmNSg==", + "version": "4.50.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.50.1.tgz", + "integrity": "sha512-wOsE6H2u6PxsHY/BeFHA4VGQN3KUJFZp7QJBmDYI983fgxq5Th8FDkVuERb2l9vDMs1D5XhOrhBrnqcEY6l8ZA==", "cpu": [ "arm64" ], @@ -1215,9 +1626,9 @@ ] }, "node_modules/@rollup/rollup-freebsd-x64": { - "version": "4.46.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.46.2.tgz", - "integrity": "sha512-pCgHFoOECwVCJ5GFq8+gR8SBKnMO+xe5UEqbemxBpCKYQddRQMgomv1104RnLSg7nNvgKy05sLsY51+OVRyiVw==", + "version": "4.50.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.50.1.tgz", + "integrity": "sha512-A/xeqaHTlKbQggxCqispFAcNjycpUEHP52mwMQZUNqDUJFFYtPHCXS1VAG29uMlDzIVr+i00tSFWFLivMcoIBQ==", "cpu": [ "x64" ], @@ -1228,9 +1639,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.46.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.46.2.tgz", - "integrity": "sha512-EtP8aquZ0xQg0ETFcxUbU71MZlHaw9MChwrQzatiE8U/bvi5uv/oChExXC4mWhjiqK7azGJBqU0tt5H123SzVA==", + "version": "4.50.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.50.1.tgz", + "integrity": "sha512-54v4okehwl5TaSIkpp97rAHGp7t3ghinRd/vyC1iXqXMfjYUTm7TfYmCzXDoHUPTTf36L8pr0E7YsD3CfB3ZDg==", "cpu": [ "arm" ], @@ -1241,9 +1652,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.46.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.46.2.tgz", - "integrity": "sha512-qO7F7U3u1nfxYRPM8HqFtLd+raev2K137dsV08q/LRKRLEc7RsiDWihUnrINdsWQxPR9jqZ8DIIZ1zJJAm5PjQ==", + "version": "4.50.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.50.1.tgz", + "integrity": "sha512-p/LaFyajPN/0PUHjv8TNyxLiA7RwmDoVY3flXHPSzqrGcIp/c2FjwPPP5++u87DGHtw+5kSH5bCJz0mvXngYxw==", "cpu": [ "arm" ], @@ -1254,9 +1665,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.46.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.46.2.tgz", - "integrity": "sha512-3dRaqLfcOXYsfvw5xMrxAk9Lb1f395gkoBYzSFcc/scgRFptRXL9DOaDpMiehf9CO8ZDRJW2z45b6fpU5nwjng==", + "version": "4.50.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.50.1.tgz", + "integrity": "sha512-2AbMhFFkTo6Ptna1zO7kAXXDLi7H9fGTbVaIq2AAYO7yzcAsuTNWPHhb2aTA6GPiP+JXh85Y8CiS54iZoj4opw==", "cpu": [ "arm64" ], @@ -1267,9 +1678,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.46.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.46.2.tgz", - "integrity": "sha512-fhHFTutA7SM+IrR6lIfiHskxmpmPTJUXpWIsBXpeEwNgZzZZSg/q4i6FU4J8qOGyJ0TR+wXBwx/L7Ho9z0+uDg==", + "version": "4.50.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.50.1.tgz", + "integrity": "sha512-Cgef+5aZwuvesQNw9eX7g19FfKX5/pQRIyhoXLCiBOrWopjo7ycfB292TX9MDcDijiuIJlx1IzJz3IoCPfqs9w==", "cpu": [ "arm64" ], @@ -1280,9 +1691,9 @@ ] }, "node_modules/@rollup/rollup-linux-loongarch64-gnu": { - "version": "4.46.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.46.2.tgz", - "integrity": "sha512-i7wfGFXu8x4+FRqPymzjD+Hyav8l95UIZ773j7J7zRYc3Xsxy2wIn4x+llpunexXe6laaO72iEjeeGyUFmjKeA==", + "version": "4.50.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.50.1.tgz", + "integrity": "sha512-RPhTwWMzpYYrHrJAS7CmpdtHNKtt2Ueo+BlLBjfZEhYBhK00OsEqM08/7f+eohiF6poe0YRDDd8nAvwtE/Y62Q==", "cpu": [ "loong64" ], @@ -1293,9 +1704,9 @@ ] }, "node_modules/@rollup/rollup-linux-ppc64-gnu": { - "version": "4.46.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.46.2.tgz", - "integrity": "sha512-B/l0dFcHVUnqcGZWKcWBSV2PF01YUt0Rvlurci5P+neqY/yMKchGU8ullZvIv5e8Y1C6wOn+U03mrDylP5q9Yw==", + "version": "4.50.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.50.1.tgz", + "integrity": "sha512-eSGMVQw9iekut62O7eBdbiccRguuDgiPMsw++BVUg+1K7WjZXHOg/YOT9SWMzPZA+w98G+Fa1VqJgHZOHHnY0Q==", "cpu": [ "ppc64" ], @@ -1306,9 +1717,9 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.46.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.46.2.tgz", - "integrity": "sha512-32k4ENb5ygtkMwPMucAb8MtV8olkPT03oiTxJbgkJa7lJ7dZMr0GCFJlyvy+K8iq7F/iuOr41ZdUHaOiqyR3iQ==", + "version": "4.50.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.50.1.tgz", + "integrity": "sha512-S208ojx8a4ciIPrLgazF6AgdcNJzQE4+S9rsmOmDJkusvctii+ZvEuIC4v/xFqzbuP8yDjn73oBlNDgF6YGSXQ==", "cpu": [ "riscv64" ], @@ -1319,9 +1730,9 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-musl": { - "version": "4.46.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.46.2.tgz", - "integrity": "sha512-t5B2loThlFEauloaQkZg9gxV05BYeITLvLkWOkRXogP4qHXLkWSbSHKM9S6H1schf/0YGP/qNKtiISlxvfmmZw==", + "version": "4.50.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.50.1.tgz", + "integrity": "sha512-3Ag8Ls1ggqkGUvSZWYcdgFwriy2lWo+0QlYgEFra/5JGtAd6C5Hw59oojx1DeqcA2Wds2ayRgvJ4qxVTzCHgzg==", "cpu": [ "riscv64" ], @@ -1332,9 +1743,9 @@ ] }, "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.46.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.46.2.tgz", - "integrity": "sha512-YKjekwTEKgbB7n17gmODSmJVUIvj8CX7q5442/CK80L8nqOUbMtf8b01QkG3jOqyr1rotrAnW6B/qiHwfcuWQA==", + "version": "4.50.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.50.1.tgz", + "integrity": "sha512-t9YrKfaxCYe7l7ldFERE1BRg/4TATxIg+YieHQ966jwvo7ddHJxPj9cNFWLAzhkVsbBvNA4qTbPVNsZKBO4NSg==", "cpu": [ "s390x" ], @@ -1345,9 +1756,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.46.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.46.2.tgz", - "integrity": "sha512-Jj5a9RUoe5ra+MEyERkDKLwTXVu6s3aACP51nkfnK9wJTraCC8IMe3snOfALkrjTYd2G1ViE1hICj0fZ7ALBPA==", + "version": "4.50.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.50.1.tgz", + "integrity": "sha512-MCgtFB2+SVNuQmmjHf+wfI4CMxy3Tk8XjA5Z//A0AKD7QXUYFMQcns91K6dEHBvZPCnhJSyDWLApk40Iq/H3tA==", "cpu": [ "x64" ], @@ -1358,9 +1769,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.46.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.46.2.tgz", - "integrity": "sha512-7kX69DIrBeD7yNp4A5b81izs8BqoZkCIaxQaOpumcJ1S/kmqNFjPhDu1LHeVXv0SexfHQv5cqHsxLOjETuqDuA==", + "version": "4.50.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.50.1.tgz", + "integrity": "sha512-nEvqG+0jeRmqaUMuwzlfMKwcIVffy/9KGbAGyoa26iu6eSngAYQ512bMXuqqPrlTyfqdlB9FVINs93j534UJrg==", "cpu": [ "x64" ], @@ -1370,10 +1781,23 @@ "linux" ] }, + "node_modules/@rollup/rollup-openharmony-arm64": { + "version": "4.50.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.50.1.tgz", + "integrity": "sha512-RDsLm+phmT3MJd9SNxA9MNuEAO/J2fhW8GXk62G/B4G7sLVumNFbRwDL6v5NrESb48k+QMqdGbHgEtfU0LCpbA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "openharmony" + ] + }, "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.46.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.46.2.tgz", - "integrity": "sha512-wiJWMIpeaak/jsbaq2HMh/rzZxHVW1rU6coyeNNpMwk5isiPjSTx0a4YLSlYDwBH/WBvLz+EtsNqQScZTLJy3g==", + "version": "4.50.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.50.1.tgz", + "integrity": "sha512-hpZB/TImk2FlAFAIsoElM3tLzq57uxnGYwplg6WDyAxbYczSi8O2eQ+H2Lx74504rwKtZ3N2g4bCUkiamzS6TQ==", "cpu": [ "arm64" ], @@ -1384,9 +1808,9 @@ ] }, "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.46.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.46.2.tgz", - "integrity": "sha512-gBgaUDESVzMgWZhcyjfs9QFK16D8K6QZpwAaVNJxYDLHWayOta4ZMjGm/vsAEy3hvlS2GosVFlBlP9/Wb85DqQ==", + "version": "4.50.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.50.1.tgz", + "integrity": "sha512-SXjv8JlbzKM0fTJidX4eVsH+Wmnp0/WcD8gJxIZyR6Gay5Qcsmdbi9zVtnbkGPG8v2vMR1AD06lGWy5FLMcG7A==", "cpu": [ "ia32" ], @@ -1397,9 +1821,9 @@ ] }, "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.46.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.46.2.tgz", - "integrity": "sha512-CvUo2ixeIQGtF6WvuB87XWqPQkoFAFqW+HUo/WzHwuHDvIwZCtjdWXoYCcr06iKGydiqTclC4jU/TNObC/xKZg==", + "version": "4.50.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.50.1.tgz", + "integrity": "sha512-StxAO/8ts62KZVRAm4JZYq9+NqNsV7RvimNK+YM7ry//zebEH6meuugqW/P5OFUCjyQgui+9fUxT6d5NShvMvA==", "cpu": [ "x64" ], @@ -1409,6 +1833,24 @@ "win32" ] }, + "node_modules/@sec-ant/readable-stream": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@sec-ant/readable-stream/-/readable-stream-0.4.1.tgz", + "integrity": "sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==", + "dev": true + }, + "node_modules/@sindresorhus/merge-streams": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-4.0.0.tgz", + "integrity": "sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/@turf/bbox-polygon": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/@turf/bbox-polygon/-/bbox-polygon-7.2.0.tgz", @@ -1452,6 +1894,12 @@ "resolved": "https://registry.npmjs.org/@types/geojson/-/geojson-7946.0.16.tgz", "integrity": "sha512-6C8nqWur3j98U6+lXDfTUWIfgvZU+EumvpHKcYjujKH7woYyLj2sUmff0tRhrqM7BohUw7Pz3ZB1jj2gW9Fvmg==" }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true + }, "node_modules/@types/marked": { "version": "4.3.2", "resolved": "https://registry.npmjs.org/@types/marked/-/marked-4.3.2.tgz", @@ -1475,6 +1923,236 @@ "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz", "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==" }, + "node_modules/@vitejs/plugin-vue": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-6.0.1.tgz", + "integrity": "sha512-+MaE752hU0wfPFJEUAIxqw18+20euHHdxVtMvbFcOEpjEyfqXH/5DCoTHiVJ0J29EhTJdoTkjEv5YBKU9dnoTw==", + "dev": true, + "dependencies": { + "@rolldown/pluginutils": "1.0.0-beta.29" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "peerDependencies": { + "vite": "^5.0.0 || ^6.0.0 || ^7.0.0", + "vue": "^3.2.25" + } + }, + "node_modules/@vue/babel-helper-vue-transform-on": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@vue/babel-helper-vue-transform-on/-/babel-helper-vue-transform-on-1.5.0.tgz", + "integrity": "sha512-0dAYkerNhhHutHZ34JtTl2czVQHUNWv6xEbkdF5W+Yrv5pCWsqjeORdOgbtW2I9gWlt+wBmVn+ttqN9ZxR5tzA==", + "dev": true + }, + "node_modules/@vue/babel-plugin-jsx": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@vue/babel-plugin-jsx/-/babel-plugin-jsx-1.5.0.tgz", + "integrity": "sha512-mneBhw1oOqCd2247O0Yw/mRwC9jIGACAJUlawkmMBiNmL4dGA2eMzuNZVNqOUfYTa6vqmND4CtOPzmEEEqLKFw==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/plugin-syntax-jsx": "^7.27.1", + "@babel/template": "^7.27.2", + "@babel/traverse": "^7.28.0", + "@babel/types": "^7.28.2", + "@vue/babel-helper-vue-transform-on": "1.5.0", + "@vue/babel-plugin-resolve-type": "1.5.0", + "@vue/shared": "^3.5.18" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + } + } + }, + "node_modules/@vue/babel-plugin-resolve-type": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@vue/babel-plugin-resolve-type/-/babel-plugin-resolve-type-1.5.0.tgz", + "integrity": "sha512-Wm/60o+53JwJODm4Knz47dxJnLDJ9FnKnGZJbUUf8nQRAtt6P+undLUAVU3Ha33LxOJe6IPoifRQ6F/0RrU31w==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@babel/helper-module-imports": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/parser": "^7.28.0", + "@vue/compiler-sfc": "^3.5.18" + }, + "funding": { + "url": "https://github.com/sponsors/sxzz" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@vue/compiler-core": { + "version": "3.5.21", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.21.tgz", + "integrity": "sha512-8i+LZ0vf6ZgII5Z9XmUvrCyEzocvWT+TeR2VBUVlzIH6Tyv57E20mPZ1bCS+tbejgUgmjrEh7q/0F0bibskAmw==", + "dependencies": { + "@babel/parser": "^7.28.3", + "@vue/shared": "3.5.21", + "entities": "^4.5.0", + "estree-walker": "^2.0.2", + "source-map-js": "^1.2.1" + } + }, + "node_modules/@vue/compiler-dom": { + "version": "3.5.21", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.21.tgz", + "integrity": "sha512-jNtbu/u97wiyEBJlJ9kmdw7tAr5Vy0Aj5CgQmo+6pxWNQhXZDPsRr1UWPN4v3Zf82s2H3kF51IbzZ4jMWAgPlQ==", + "dependencies": { + "@vue/compiler-core": "3.5.21", + "@vue/shared": "3.5.21" + } + }, + "node_modules/@vue/compiler-sfc": { + "version": "3.5.21", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.21.tgz", + "integrity": "sha512-SXlyk6I5eUGBd2v8Ie7tF6ADHE9kCR6mBEuPyH1nUZ0h6Xx6nZI29i12sJKQmzbDyr2tUHMhhTt51Z6blbkTTQ==", + "dependencies": { + "@babel/parser": "^7.28.3", + "@vue/compiler-core": "3.5.21", + "@vue/compiler-dom": "3.5.21", + "@vue/compiler-ssr": "3.5.21", + "@vue/shared": "3.5.21", + "estree-walker": "^2.0.2", + "magic-string": "^0.30.18", + "postcss": "^8.5.6", + "source-map-js": "^1.2.1" + } + }, + "node_modules/@vue/compiler-ssr": { + "version": "3.5.21", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.21.tgz", + "integrity": "sha512-vKQ5olH5edFZdf5ZrlEgSO1j1DMA4u23TVK5XR1uMhvwnYvVdDF0nHXJUblL/GvzlShQbjhZZ2uvYmDlAbgo9w==", + "dependencies": { + "@vue/compiler-dom": "3.5.21", + "@vue/shared": "3.5.21" + } + }, + "node_modules/@vue/devtools-core": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/@vue/devtools-core/-/devtools-core-8.0.1.tgz", + "integrity": "sha512-Lf/+ambV3utWJ18r5TnpePbJ60IcIcqeZSQYLyNcFw2sFel0tGMnMyCdDtR1JNIdVZGAVaksTLhGh0FlrNu+sw==", + "dev": true, + "dependencies": { + "@vue/devtools-kit": "^8.0.1", + "@vue/devtools-shared": "^8.0.1", + "mitt": "^3.0.1", + "nanoid": "^5.1.5", + "pathe": "^2.0.3", + "vite-hot-client": "^2.1.0" + }, + "peerDependencies": { + "vue": "^3.0.0" + } + }, + "node_modules/@vue/devtools-core/node_modules/nanoid": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-5.1.5.tgz", + "integrity": "sha512-Ir/+ZpE9fDsNH0hQ3C68uyThDXzYcim2EqcZ8zn8Chtt1iylPT9xXJB0kPCnqzgcEGikO9RxSrh63MsmVCU7Fw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.js" + }, + "engines": { + "node": "^18 || >=20" + } + }, + "node_modules/@vue/devtools-kit": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/@vue/devtools-kit/-/devtools-kit-8.0.1.tgz", + "integrity": "sha512-7kiPhgTKNtNeXltEHnJJjIDlndlJP4P+UJvCw54uVHNDlI6JzwrSiRmW4cxKTug2wDbc/dkGaMnlZghcwV+aWA==", + "dev": true, + "dependencies": { + "@vue/devtools-shared": "^8.0.1", + "birpc": "^2.5.0", + "hookable": "^5.5.3", + "mitt": "^3.0.1", + "perfect-debounce": "^1.0.0", + "speakingurl": "^14.0.1", + "superjson": "^2.2.2" + } + }, + "node_modules/@vue/devtools-shared": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/@vue/devtools-shared/-/devtools-shared-8.0.1.tgz", + "integrity": "sha512-PqtWqPPRpMwZ9FjTzyugb5KeV9kmg2C3hjxZHwjl0lijT4QIJDd0z6AWcnbM9w2nayjDymyTt0+sbdTv3pVeNg==", + "dev": true, + "dependencies": { + "rfdc": "^1.4.1" + } + }, + "node_modules/@vue/eslint-config-prettier": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/@vue/eslint-config-prettier/-/eslint-config-prettier-10.2.0.tgz", + "integrity": "sha512-GL3YBLwv/+b86yHcNNfPJxOTtVFJ4Mbc9UU3zR+KVoG7SwGTjPT+32fXamscNumElhcpXW3mT0DgzS9w32S7Bw==", + "dev": true, + "dependencies": { + "eslint-config-prettier": "^10.0.1", + "eslint-plugin-prettier": "^5.2.2" + }, + "peerDependencies": { + "eslint": ">= 8.21.0", + "prettier": ">= 3.0.0" + } + }, + "node_modules/@vue/reactivity": { + "version": "3.5.21", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.5.21.tgz", + "integrity": "sha512-3ah7sa+Cwr9iiYEERt9JfZKPw4A2UlbY8RbbnH2mGCE8NwHkhmlZt2VsH0oDA3P08X3jJd29ohBDtX+TbD9AsA==", + "dependencies": { + "@vue/shared": "3.5.21" + } + }, + "node_modules/@vue/runtime-core": { + "version": "3.5.21", + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.5.21.tgz", + "integrity": "sha512-+DplQlRS4MXfIf9gfD1BOJpk5RSyGgGXD/R+cumhe8jdjUcq/qlxDawQlSI8hCKupBlvM+3eS1se5xW+SuNAwA==", + "dependencies": { + "@vue/reactivity": "3.5.21", + "@vue/shared": "3.5.21" + } + }, + "node_modules/@vue/runtime-dom": { + "version": "3.5.21", + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.5.21.tgz", + "integrity": "sha512-3M2DZsOFwM5qI15wrMmNF5RJe1+ARijt2HM3TbzBbPSuBHOQpoidE+Pa+XEaVN+czbHf81ETRoG1ltztP2em8w==", + "dependencies": { + "@vue/reactivity": "3.5.21", + "@vue/runtime-core": "3.5.21", + "@vue/shared": "3.5.21", + "csstype": "^3.1.3" + } + }, + "node_modules/@vue/server-renderer": { + "version": "3.5.21", + "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.5.21.tgz", + "integrity": "sha512-qr8AqgD3DJPJcGvLcJKQo2tAc8OnXRcfxhOJCPF+fcfn5bBGz7VCcO7t+qETOPxpWK1mgysXvVT/j+xWaHeMWA==", + "dependencies": { + "@vue/compiler-ssr": "3.5.21", + "@vue/shared": "3.5.21" + }, + "peerDependencies": { + "vue": "3.5.21" + } + }, + "node_modules/@vue/shared": { + "version": "3.5.21", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.21.tgz", + "integrity": "sha512-+2k1EQpnYuVuu3N7atWyG3/xoFWIVJZq4Mz8XNOdScFI0etES75fbny/oU4lKWk/577P1zmg0ioYvpGEDZ3DLw==" + }, "node_modules/@zxing/text-encoding": { "version": "0.9.0", "resolved": "https://registry.npmjs.org/@zxing/text-encoding/-/text-encoding-0.9.0.tgz", @@ -1482,9 +2160,30 @@ "optional": true }, "node_modules/ace-builds": { - "version": "1.43.2", - "resolved": "https://registry.npmjs.org/ace-builds/-/ace-builds-1.43.2.tgz", - "integrity": "sha512-3wzJUJX0RpMc03jo0V8Q3bSb/cKPnS7Nqqw8fVHsCCHweKMiTIxT3fP46EhjmVy6MCuxwP801ere+RW245phGw==" + "version": "1.43.3", + "resolved": "https://registry.npmjs.org/ace-builds/-/ace-builds-1.43.3.tgz", + "integrity": "sha512-MCl9rALmXwIty/4Qboijo/yNysx1r6hBTzG+6n/TiOm5LFhZpEvEIcIITPFiEOEFDfgBOEmxu+a4f54LEFM6Sg==" + }, + "node_modules/acorn": { + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", + "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } }, "node_modules/agent-base": { "version": "7.1.4", @@ -1494,6 +2193,22 @@ "node": ">= 14" } }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, "node_modules/ansi-regex": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", @@ -1516,6 +2231,21 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, + "node_modules/ansis": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansis/-/ansis-4.1.0.tgz", + "integrity": "sha512-BGcItUBWSMRgOCe+SVZJ+S7yTRG0eGt9cXAHev72yuGcY23hnLA7Bky5L/xLyPINoSN95geovfBkqoTlNZYa7w==", + "dev": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, "node_modules/available-typed-arrays": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", @@ -1530,25 +2260,90 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, "node_modules/beercss": { - "version": "3.11.11", - "resolved": "https://registry.npmjs.org/beercss/-/beercss-3.11.11.tgz", - "integrity": "sha512-ir8odQRgseQl2H72ZJq3np1P2Kw53V/uxImxyVWgmkuehk+7NaJau5hRi4fJkRSHZTQ0iMRBVm5F0CJHpWO6iA==", + "version": "3.11.20", + "resolved": "https://registry.npmjs.org/beercss/-/beercss-3.11.20.tgz", + "integrity": "sha512-rfoNFtiVoEwWvHSxxuojOfuADoR8NDU6ghfnDELzb3XIJnTacUya4yrXh06xpqACt7v5zNOFlD0EEgCKknkL2w==", "dependencies": { "material-dynamic-colors": "^1.1.2" } }, - "node_modules/braces": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "node_modules/birpc": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/birpc/-/birpc-2.5.0.tgz", + "integrity": "sha512-VSWO/W6nNQdyP520F1mhf+Lc2f8pjGQOtoHHm7Ze8Go1kX7akpVIrtTa0fn+HB0QJEDVacl6aO08YE0PgXfdnQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "dev": true + }, + "node_modules/brace-expansion": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", "dev": true, - "optional": true, "dependencies": { - "fill-range": "^7.1.1" + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/browserslist": { + "version": "4.25.4", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.25.4.tgz", + "integrity": "sha512-4jYpcjabC606xJ3kw2QwGEZKX0Aw7sgQdZCvIK9dhVSPh76BKo+C+btT1RRofH7B+8iNpEbgGNVWiLki5q93yg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001737", + "electron-to-chromium": "^1.5.211", + "node-releases": "^2.0.19", + "update-browserslist-db": "^1.1.3" + }, + "bin": { + "browserslist": "cli.js" }, "engines": { - "node": ">=8" + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/bundle-name": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-4.1.0.tgz", + "integrity": "sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==", + "dev": true, + "dependencies": { + "run-applescript": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/call-bind": { @@ -1595,19 +2390,49 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/chokidar": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", - "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001741", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001741.tgz", + "integrity": "sha512-QGUGitqsc8ARjLdgAfxETDhRbJ0REsP6O3I96TAth/mVjh2cYzN2u+3AzPP3aVSm2FehEItaJw1xd+IGBXWeSw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ] + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "dependencies": { - "readdirp": "^4.0.1" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">= 14.16.0" + "node": ">=10" }, "funding": { - "url": "https://paulmillr.com/funding/" + "url": "https://github.com/chalk/chalk?sponsor=1" } }, "node_modules/cliui": { @@ -1624,9 +2449,9 @@ } }, "node_modules/codemirror": { - "version": "5.65.19", - "resolved": "https://registry.npmjs.org/codemirror/-/codemirror-5.65.19.tgz", - "integrity": "sha512-+aFkvqhaAVr1gferNMuN8vkTSrWIFvzlMV9I2KBLCWS2WpZ2+UAkZjlMZmEuT+gcXTi6RrGQCkWq1/bDtGqhIA==" + "version": "5.65.20", + "resolved": "https://registry.npmjs.org/codemirror/-/codemirror-5.65.20.tgz", + "integrity": "sha512-i5dLDDxwkFCbhjvL2pNjShsojoL3XHyDwsGv1jqETUoW+lzpBKKqNTUWgQwVAOa0tUm4BwekT455ujafi8payA==" }, "node_modules/codemirror-spell-checker": { "version": "1.1.2", @@ -1675,20 +2500,68 @@ "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-3.6.0.tgz", "integrity": "sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA==" }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true + }, + "node_modules/copy-anything": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-3.0.5.tgz", + "integrity": "sha512-yCEafptTtb4bk7GLEQoM8KVJpxAfdBJYaXyzQEgQQQgYrZiDp8SJmGKlYza6CYjEDNstAdNdKA3UuoULlEbS6w==", + "dev": true, + "dependencies": { + "is-what": "^4.1.8" + }, + "engines": { + "node": ">=12.13" + }, + "funding": { + "url": "https://github.com/sponsors/mesqueeb" + } + }, "node_modules/core-js": { - "version": "3.45.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.45.0.tgz", - "integrity": "sha512-c2KZL9lP4DjkN3hk/an4pWn5b5ZefhRJnAc42n6LJ19kSnbeRbdQZE5dSeE2LBol1OwJD3X1BQvFTAsa8ReeDA==", + "version": "3.45.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.45.1.tgz", + "integrity": "sha512-L4NPsJlCfZsPeXukyzHFlg/i7IIVwHSItR0wg0FLNqYClJ4MQYTYLbC7EkjKYRLZF2iof2MUgN0EGy7MdQFChg==", "hasInstallScript": true, "funding": { "type": "opencollective", "url": "https://opencollective.com/core-js" } }, - "node_modules/csscolorparser": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/csscolorparser/-/csscolorparser-1.0.3.tgz", - "integrity": "sha512-umPSgYwZkdFoUrH5hIq5kf0wPSXiro51nPw0j2K/c83KflkPSTBGMz6NJvMB+07VlL0y7VPo6QJcDjcgKTTm3w==" + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true, + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } }, "node_modules/cssstyle": { "version": "4.6.0", @@ -1702,6 +2575,11 @@ "node": ">=18" } }, + "node_modules/csstype": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==" + }, "node_modules/d3-array": { "version": "3.2.4", "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-3.2.4.tgz", @@ -1810,9 +2688,9 @@ } }, "node_modules/dayjs": { - "version": "1.11.13", - "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.13.tgz", - "integrity": "sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==", + "version": "1.11.18", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.18.tgz", + "integrity": "sha512-zFBQ7WFRvVRhKcWoUh+ZA1g2HVgUbsZm9sbddh8EC5iv93sui8DVVz1Npvz+r6meo9VKfa8NyLWBsQK1VvIKPA==", "peer": true }, "node_modules/debug": { @@ -1836,6 +2714,40 @@ "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.6.0.tgz", "integrity": "sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg==" }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "node_modules/default-browser": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-5.2.1.tgz", + "integrity": "sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg==", + "dev": true, + "dependencies": { + "bundle-name": "^4.1.0", + "default-browser-id": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/default-browser-id": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-5.0.0.tgz", + "integrity": "sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/define-data-property": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", @@ -1852,17 +2764,16 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/detect-libc": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", - "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==", + "node_modules/define-lazy-prop": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", + "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==", "dev": true, - "optional": true, - "bin": { - "detect-libc": "bin/detect-libc.js" - }, "engines": { - "node": ">=0.10" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/dompurify": { @@ -1903,15 +2814,21 @@ "marked": "^4.1.0" } }, + "node_modules/electron-to-chromium": { + "version": "1.5.217", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.217.tgz", + "integrity": "sha512-Pludfu5iBxp9XzNl0qq2G87hdD17ZV7h5T4n6rQXDi3nCyloBV3jreE9+8GC6g4X/5yxqVgXEURpcLtM0WS4jA==", + "dev": true + }, "node_modules/emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" }, "node_modules/entities": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", - "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", "engines": { "node": ">=0.12" }, @@ -1919,6 +2836,15 @@ "url": "https://github.com/fb55/entities?sponsor=1" } }, + "node_modules/error-stack-parser-es": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/error-stack-parser-es/-/error-stack-parser-es-1.0.5.tgz", + "integrity": "sha512-5qucVt2XcuGMcEGgWI7i+yZpmpByQ8J1lHhcL7PwqCwu9FPP3VUXzT4ltHe5i2z9dePwEHcDVOAfSnHsOlCXRA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, "node_modules/es-define-property": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", @@ -1947,70 +2873,416 @@ } }, "node_modules/esbuild": { - "version": "0.25.8", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.8.tgz", - "integrity": "sha512-vVC0USHGtMi8+R4Kz8rt6JhEWLxsv9Rnu/lGYbPR8u47B+DCBksq9JarW0zOO7bs37hyOK1l2/oqtbciutL5+Q==", + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.9.tgz", + "integrity": "sha512-CRbODhYyQx3qp7ZEwzxOk4JBqmD/seJrzPa/cGjY1VtIn5E09Oi9/dB4JwctnfZ8Q8iT7rioVv5k/FNT/uf54g==", "dev": true, "hasInstallScript": true, "bin": { "esbuild": "bin/esbuild" }, "engines": { - "node": ">=18" - }, - "optionalDependencies": { - "@esbuild/aix-ppc64": "0.25.8", - "@esbuild/android-arm": "0.25.8", - "@esbuild/android-arm64": "0.25.8", - "@esbuild/android-x64": "0.25.8", - "@esbuild/darwin-arm64": "0.25.8", - "@esbuild/darwin-x64": "0.25.8", - "@esbuild/freebsd-arm64": "0.25.8", - "@esbuild/freebsd-x64": "0.25.8", - "@esbuild/linux-arm": "0.25.8", - "@esbuild/linux-arm64": "0.25.8", - "@esbuild/linux-ia32": "0.25.8", - "@esbuild/linux-loong64": "0.25.8", - "@esbuild/linux-mips64el": "0.25.8", - "@esbuild/linux-ppc64": "0.25.8", - "@esbuild/linux-riscv64": "0.25.8", - "@esbuild/linux-s390x": "0.25.8", - "@esbuild/linux-x64": "0.25.8", - "@esbuild/netbsd-arm64": "0.25.8", - "@esbuild/netbsd-x64": "0.25.8", - "@esbuild/openbsd-arm64": "0.25.8", - "@esbuild/openbsd-x64": "0.25.8", - "@esbuild/openharmony-arm64": "0.25.8", - "@esbuild/sunos-x64": "0.25.8", - "@esbuild/win32-arm64": "0.25.8", - "@esbuild/win32-ia32": "0.25.8", - "@esbuild/win32-x64": "0.25.8" + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.25.9", + "@esbuild/android-arm": "0.25.9", + "@esbuild/android-arm64": "0.25.9", + "@esbuild/android-x64": "0.25.9", + "@esbuild/darwin-arm64": "0.25.9", + "@esbuild/darwin-x64": "0.25.9", + "@esbuild/freebsd-arm64": "0.25.9", + "@esbuild/freebsd-x64": "0.25.9", + "@esbuild/linux-arm": "0.25.9", + "@esbuild/linux-arm64": "0.25.9", + "@esbuild/linux-ia32": "0.25.9", + "@esbuild/linux-loong64": "0.25.9", + "@esbuild/linux-mips64el": "0.25.9", + "@esbuild/linux-ppc64": "0.25.9", + "@esbuild/linux-riscv64": "0.25.9", + "@esbuild/linux-s390x": "0.25.9", + "@esbuild/linux-x64": "0.25.9", + "@esbuild/netbsd-arm64": "0.25.9", + "@esbuild/netbsd-x64": "0.25.9", + "@esbuild/openbsd-arm64": "0.25.9", + "@esbuild/openbsd-x64": "0.25.9", + "@esbuild/openharmony-arm64": "0.25.9", + "@esbuild/sunos-x64": "0.25.9", + "@esbuild/win32-arm64": "0.25.9", + "@esbuild/win32-ia32": "0.25.9", + "@esbuild/win32-x64": "0.25.9" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint": { + "version": "9.35.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.35.0.tgz", + "integrity": "sha512-QePbBFMJFjgmlE+cXAlbHZbHpdFVS2E/6vzCy7aKlebddvl1vadiC4JFV5u/wqTkNUwEV8WrQi257jf5f06hrg==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.8.0", + "@eslint-community/regexpp": "^4.12.1", + "@eslint/config-array": "^0.21.0", + "@eslint/config-helpers": "^0.3.1", + "@eslint/core": "^0.15.2", + "@eslint/eslintrc": "^3.3.1", + "@eslint/js": "9.35.0", + "@eslint/plugin-kit": "^0.3.5", + "@humanfs/node": "^0.16.6", + "@humanwhocodes/module-importer": "^1.0.1", + "@humanwhocodes/retry": "^0.4.2", + "@types/estree": "^1.0.6", + "@types/json-schema": "^7.0.15", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.6", + "debug": "^4.3.2", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^8.4.0", + "eslint-visitor-keys": "^4.2.1", + "espree": "^10.4.0", + "esquery": "^1.5.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^8.0.0", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://eslint.org/donate" + }, + "peerDependencies": { + "jiti": "*" + }, + "peerDependenciesMeta": { + "jiti": { + "optional": true + } + } + }, + "node_modules/eslint-config-prettier": { + "version": "10.1.8", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-10.1.8.tgz", + "integrity": "sha512-82GZUjRS0p/jganf6q1rEO25VSoHH0hKPCTrgillPjdI/3bgBhAE1QzHrHTizjpRvy6pGAvKjDJtk2pF9NDq8w==", + "dev": true, + "bin": { + "eslint-config-prettier": "bin/cli.js" + }, + "funding": { + "url": "https://opencollective.com/eslint-config-prettier" + }, + "peerDependencies": { + "eslint": ">=7.0.0" + } + }, + "node_modules/eslint-plugin-prettier": { + "version": "5.5.4", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.5.4.tgz", + "integrity": "sha512-swNtI95SToIz05YINMA6Ox5R057IMAmWZ26GqPxusAp1TZzj+IdY9tXNWWD3vkF/wEqydCONcwjTFpxybBqZsg==", + "dev": true, + "dependencies": { + "prettier-linter-helpers": "^1.0.0", + "synckit": "^0.11.7" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint-plugin-prettier" + }, + "peerDependencies": { + "@types/eslint": ">=8.0.0", + "eslint": ">=8.0.0", + "eslint-config-prettier": ">= 7.0.0 <10.0.0 || >=10.1.0", + "prettier": ">=3.0.0" + }, + "peerDependenciesMeta": { + "@types/eslint": { + "optional": true + }, + "eslint-config-prettier": { + "optional": true + } + } + }, + "node_modules/eslint-plugin-vue": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-10.3.0.tgz", + "integrity": "sha512-A0u9snqjCfYaPnqqOaH6MBLVWDUIN4trXn8J3x67uDcXvR7X6Ut8p16N+nYhMCQ9Y7edg2BIRGzfyZsY0IdqoQ==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.4.0", + "natural-compare": "^1.4.0", + "nth-check": "^2.1.1", + "postcss-selector-parser": "^6.0.15", + "semver": "^7.6.3", + "xml-name-validator": "^4.0.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^7.0.0 || ^8.0.0", + "eslint": "^8.57.0 || ^9.0.0", + "vue-eslint-parser": "^10.0.0" + }, + "peerDependenciesMeta": { + "@typescript-eslint/parser": { + "optional": true + } + } + }, + "node_modules/eslint-scope": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.4.0.tgz", + "integrity": "sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", + "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", + "dev": true, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/espree": { + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz", + "integrity": "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==", + "dev": true, + "dependencies": { + "acorn": "^8.15.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^4.2.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esquery": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", + "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", + "dev": true, + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/execa": { + "version": "9.6.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-9.6.0.tgz", + "integrity": "sha512-jpWzZ1ZhwUmeWRhS7Qv3mhpOhLfwI+uAX4e5fOcXqwMR7EcJ0pj2kV1CVzHVMX/LphnKWD3LObjZCoJ71lKpHw==", + "dev": true, + "dependencies": { + "@sindresorhus/merge-streams": "^4.0.0", + "cross-spawn": "^7.0.6", + "figures": "^6.1.0", + "get-stream": "^9.0.0", + "human-signals": "^8.0.1", + "is-plain-obj": "^4.1.0", + "is-stream": "^4.0.1", + "npm-run-path": "^6.0.0", + "pretty-ms": "^9.2.0", + "signal-exit": "^4.1.0", + "strip-final-newline": "^4.0.0", + "yoctocolors": "^2.1.1" + }, + "engines": { + "node": "^18.19.0 || >=20.5.0" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/fast-diff": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz", + "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==", + "dev": true + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, + "node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "dev": true, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/fflate": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.8.2.tgz", + "integrity": "sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==" + }, + "node_modules/figures": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-6.1.0.tgz", + "integrity": "sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg==", + "dev": true, + "dependencies": { + "is-unicode-supported": "^2.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/file-entry-cache": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", + "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", + "dev": true, + "dependencies": { + "flat-cache": "^4.0.0" + }, + "engines": { + "node": ">=16.0.0" } }, - "node_modules/escalade": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", - "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, "engines": { - "node": ">=6" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/fflate": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.8.2.tgz", - "integrity": "sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==" - }, - "node_modules/fill-range": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", - "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "node_modules/flat-cache": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", + "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", "dev": true, - "optional": true, "dependencies": { - "to-regex-range": "^5.0.1" + "flatted": "^3.2.9", + "keyv": "^4.5.4" }, "engines": { - "node": ">=8" + "node": ">=16" } }, "node_modules/flatbuffers": { @@ -2019,9 +3291,9 @@ "integrity": "sha512-dLVCAISd5mhls514keQzmEG6QHmUUsNuWsb4tFafIUwvvgDjXhtfAYSKOzt5SWOy+qByV5pbsDZ+Vb7HUOBEdA==" }, "node_modules/flatgeobuf": { - "version": "3.38.0", - "resolved": "https://registry.npmjs.org/flatgeobuf/-/flatgeobuf-3.38.0.tgz", - "integrity": "sha512-2BLAF81ZT19t3cVRxiNAU2LUrwfMUo4ASBvRtguPUAUJjmyPpnlkBDCrSyswYBg5MrC+ByhdE9SvZIPAgYhwgA==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/flatgeobuf/-/flatgeobuf-4.2.0.tgz", + "integrity": "sha512-Uauls7eBIxttVEZYMMuUF23SBjXgC3t/QZWCDEEbF2tXu8R/ozChcnOe15tWo9S+NA3r/McNSDGcgasF/IRMQQ==", "dependencies": { "@repeaterjs/repeater": "3.0.6", "flatbuffers": "24.12.23", @@ -2031,6 +3303,12 @@ "ol": ">=3" } }, + "node_modules/flatted": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", + "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", + "dev": true + }, "node_modules/for-each": { "version": "0.3.5", "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz", @@ -2067,6 +3345,15 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/geotiff": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/geotiff/-/geotiff-2.1.3.tgz", @@ -2085,20 +3372,6 @@ "node": ">=10.19" } }, - "node_modules/geotiff.js": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/geotiff.js/-/geotiff.js-1.0.1.tgz", - "integrity": "sha512-zf9unbKZQQnLk/Jq2F0+aCClBLZdiLN29UJreU12QB163HzuY1WjHiAbrig8Hl/FeIhFzd8GBfa/6M/rlaLqMg==", - "dependencies": { - "pako": "^1.0.3", - "xmldom": "0.1.*" - } - }, - "node_modules/geotiff/node_modules/pako": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/pako/-/pako-2.1.0.tgz", - "integrity": "sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==" - }, "node_modules/get-caller-file": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", @@ -2142,6 +3415,46 @@ "node": ">= 0.4" } }, + "node_modules/get-stream": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-9.0.1.tgz", + "integrity": "sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==", + "dev": true, + "dependencies": { + "@sec-ant/readable-stream": "^0.4.1", + "is-stream": "^4.0.1" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/globals": { + "version": "16.4.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-16.4.0.tgz", + "integrity": "sha512-ob/2LcVVaVGCYN+r14cnwnoDPUufjiYgSqRhiFD0Q1iI4Odora5RE8Iv1D24hAz5oMophRGkGz+yuvQmmUMnMw==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/gopd": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", @@ -2153,6 +3466,15 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/has-property-descriptors": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", @@ -2200,6 +3522,12 @@ "node": ">= 0.4" } }, + "node_modules/hookable": { + "version": "5.5.3", + "resolved": "https://registry.npmjs.org/hookable/-/hookable-5.5.3.tgz", + "integrity": "sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==", + "dev": true + }, "node_modules/html-encoding-sniffer": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-4.0.0.tgz", @@ -2235,6 +3563,15 @@ "node": ">= 14" } }, + "node_modules/human-signals": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-8.0.1.tgz", + "integrity": "sha512-eKCa6bwnJhvxj14kZk5NCPc6Hb6BdsU9DZcOnmQKSnO1VKrfV0zCvtttPZUsBvjmNDn8rpcJfpwSYnHBjc95MQ==", + "dev": true, + "engines": { + "node": ">=18.18.0" + } + }, "node_modules/iconv-lite": { "version": "0.6.3", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", @@ -2246,30 +3583,39 @@ "node": ">=0.10.0" } }, - "node_modules/ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] + "node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "dev": true, + "engines": { + "node": ">= 4" + } }, - "node_modules/immutable": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-5.1.3.tgz", - "integrity": "sha512-+chQdDfvscSF1SJqv2gn4SRO2ZyS3xL3r7IW/wWEEzrzLisnOlKiQu5ytC/BVNcS15C39WT2Hg/bjKjDMcu+zg==", - "dev": true + "node_modules/import-fresh": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", + "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "engines": { + "node": ">=0.8.19" + } }, "node_modules/inherits": { "version": "2.0.4", @@ -2311,12 +3657,26 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-docker": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", + "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", + "dev": true, + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", "dev": true, - "optional": true, "engines": { "node": ">=0.10.0" } @@ -2351,7 +3711,6 @@ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "dev": true, - "optional": true, "dependencies": { "is-extglob": "^2.1.1" }, @@ -2359,14 +3718,34 @@ "node": ">=0.10.0" } }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "node_modules/is-inside-container": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", + "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", + "dev": true, + "dependencies": { + "is-docker": "^3.0.0" + }, + "bin": { + "is-inside-container": "cli.js" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-plain-obj": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", + "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", "dev": true, - "optional": true, "engines": { - "node": ">=0.12.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/is-potential-custom-element-name": { @@ -2391,6 +3770,18 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-stream": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-4.0.1.tgz", + "integrity": "sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/is-typed-array": { "version": "1.1.15", "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz", @@ -2405,6 +3796,51 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-unicode-supported": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-2.1.0.tgz", + "integrity": "sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-what": { + "version": "4.1.16", + "resolved": "https://registry.npmjs.org/is-what/-/is-what-4.1.16.tgz", + "integrity": "sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A==", + "dev": true, + "engines": { + "node": ">=12.13" + }, + "funding": { + "url": "https://github.com/sponsors/mesqueeb" + } + }, + "node_modules/is-wsl": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.0.tgz", + "integrity": "sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==", + "dev": true, + "dependencies": { + "is-inside-container": "^1.0.0" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, "node_modules/isomorphic-dompurify": { "version": "2.26.0", "resolved": "https://registry.npmjs.org/isomorphic-dompurify/-/isomorphic-dompurify-2.26.0.tgz", @@ -2417,6 +3853,24 @@ "node": ">=18" } }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, "node_modules/jsdom": { "version": "26.1.0", "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-26.1.0.tgz", @@ -2455,16 +3909,94 @@ } } }, + "node_modules/jsdom/node_modules/xml-name-validator": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-5.0.0.tgz", + "integrity": "sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==", + "engines": { + "node": ">=18" + } + }, + "node_modules/jsesc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true + }, "node_modules/json-stringify-pretty-compact": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/json-stringify-pretty-compact/-/json-stringify-pretty-compact-4.0.0.tgz", "integrity": "sha512-3CNZ2DnrpByG9Nqj6Xo8vqbjT4F6N+tb4Gb28ESAZjYZ5yqvmc56J+/kuIwkaAMOyblTQhUW7PxMkUb8Q36N3Q==" }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/kolorist": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/kolorist/-/kolorist-1.8.0.tgz", + "integrity": "sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==", + "dev": true + }, "node_modules/lerc": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/lerc/-/lerc-3.0.0.tgz", "integrity": "sha512-Rm4J/WaHhRa93nCN2mwWDZFoRVF18G1f47C+kvQWyHGEZxFpTUi73p7lMVSAndyxGt6lJ2/CFbOcf9ra5p8aww==" }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, "node_modules/lit": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/lit/-/lit-3.3.1.tgz", @@ -2493,6 +4025,26 @@ "@types/trusted-types": "^2.0.2" } }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, "node_modules/lodash.debounce": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", @@ -2504,15 +4056,33 @@ "integrity": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==", "deprecated": "This package is deprecated. Use require('node:util').isDeepStrictEqual instead." }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, "node_modules/lodash.throttle": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz", "integrity": "sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==" }, "node_modules/lru-cache": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", - "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==" + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/magic-string": { + "version": "0.30.19", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.19.tgz", + "integrity": "sha512-2N21sPY9Ws53PZvsEpVtNuSW+ScYbQdp4b9qUaL+9QkHUrGFKo56Lg9Emg5s9V/qrtNBmiR01sYhUOwu3H+VOw==", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.5" + } }, "node_modules/mapbox-to-css-font": { "version": "3.2.0", @@ -2554,18 +4124,16 @@ "resolved": "https://registry.npmjs.org/mgrs/-/mgrs-1.0.0.tgz", "integrity": "sha512-awNbTOqCxK1DBGjalK3xqWIstBZgN6fxsMSiXLs9/spqWkF2pAhb2rrYCFSsr1/tT7PhcDGjZndG8SWYn0byYA==" }, - "node_modules/micromatch": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", - "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, - "optional": true, "dependencies": { - "braces": "^3.0.3", - "picomatch": "^2.3.1" + "brace-expansion": "^1.1.7" }, "engines": { - "node": ">=8.6" + "node": "*" } }, "node_modules/minimist": { @@ -2576,6 +4144,21 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/mitt": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mitt/-/mitt-3.0.1.tgz", + "integrity": "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==", + "dev": true + }, + "node_modules/mrmime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.1.tgz", + "integrity": "sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==", + "dev": true, + "engines": { + "node": ">=10" + } + }, "node_modules/ms": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", @@ -2614,19 +4197,10 @@ "npm": ">=6.0.0" } }, - "node_modules/mustache": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/mustache/-/mustache-4.2.0.tgz", - "integrity": "sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==", - "bin": { - "mustache": "bin/mustache" - } - }, "node_modules/nanoid": { "version": "3.3.11", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", - "dev": true, "funding": [ { "type": "github", @@ -2640,17 +4214,68 @@ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, - "node_modules/node-addon-api": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", - "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==", + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "node_modules/node-releases": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.20.tgz", + "integrity": "sha512-7gK6zSXEH6neM212JgfYFXe+GmZQM+fia5SsusuBIUgnPheLFBmIPhtFoAQRj8/7wASYQnbDlHPVwY0BefoFgA==", + "dev": true + }, + "node_modules/npm-run-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-6.0.0.tgz", + "integrity": "sha512-9qny7Z9DsQU8Ou39ERsPU4OZQlSTP47ShQzuKZ6PRXpYLtIFgl/DEBYEXKlvcEa+9tHVcK8CF81Y2V72qaZhWA==", + "dev": true, + "dependencies": { + "path-key": "^4.0.0", + "unicorn-magic": "^0.3.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm-run-path/node_modules/path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", "dev": true, - "optional": true + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "dev": true, + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } }, "node_modules/nwsapi": { - "version": "2.2.21", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.21.tgz", - "integrity": "sha512-o6nIY3qwiSXl7/LuOU0Dmuctd34Yay0yeuZRLFmDPrrdHpXKFndPj3hM+YEPVHYC5fx2otBx4Ilc/gyYSAUaIA==" + "version": "2.2.22", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.22.tgz", + "integrity": "sha512-ujSMe1OWVn55euT1ihwCI1ZcAaAU3nxUiDwfDQldc51ZXaB9m2AyOn6/jh1BLe2t/G8xd6uKG1UBF2aZJeg2SQ==" + }, + "node_modules/ohash": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/ohash/-/ohash-2.0.11.tgz", + "integrity": "sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ==", + "dev": true }, "node_modules/ol": { "version": "10.6.1", @@ -2669,9 +4294,9 @@ } }, "node_modules/ol-mapbox-style": { - "version": "13.0.1", - "resolved": "https://registry.npmjs.org/ol-mapbox-style/-/ol-mapbox-style-13.0.1.tgz", - "integrity": "sha512-NEUT4rpsOCQz5y8qwJikU7UTdX/U8uGvW1we1urZ6NkONFjPRRxqg+PVit7m2AvBeIyrTL3iYd8mHZw8VJEOyw==", + "version": "13.1.0", + "resolved": "https://registry.npmjs.org/ol-mapbox-style/-/ol-mapbox-style-13.1.0.tgz", + "integrity": "sha512-aT1ELGTTbYpvkNalSu6M6BiLBisLWGHfObaAGv9eH82d6K2on7YirtkSrOdzc7f5lLENnQwlGNleJIUrAfZ+Sw==", "dependencies": { "@maplibre/maplibre-gl-style-spec": "^23.1.0", "mapbox-to-css-font": "^3.2.0" @@ -2691,110 +4316,121 @@ "ol": ">=9.0.0" } }, - "node_modules/ol-sld-styler": { + "node_modules/ol-stac": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/ol-sld-styler/-/ol-sld-styler-1.0.3.tgz", - "integrity": "sha512-O/hchOHbcsCaLpdcVGucbNdQXyAny7gobKBpXSmQqCnidORsjNbhoUw9rkvidYjKhM7m3eluX1Lgho00vTniaw==", + "resolved": "https://registry.npmjs.org/ol-stac/-/ol-stac-1.0.3.tgz", + "integrity": "sha512-sAvXA2cVRo/IcTfM4ePXqqeVe6YdTllN6yE/E14RTnwGV20uEnSJhNiXmh2G+bDtNqFglVPYQMX+T6kj7QFK2Q==", "dependencies": { - "@nieuwlandgeo/sldreader": "^0.2.13", - "ol": "^7.0.0" - } - }, - "node_modules/ol-sld-styler/node_modules/@nieuwlandgeo/sldreader": { - "version": "0.2.19", - "resolved": "https://registry.npmjs.org/@nieuwlandgeo/sldreader/-/sldreader-0.2.19.tgz", - "integrity": "sha512-tdVkWKpwhJ/V9IYXFd/eDCSiaEarqelCNiEymGTq8vq/c4EhfItMsXrtp6yd3hL4qp4mfED5ZpiQNOa/MFpUxw==", + "ol-pmtiles": "^2.0.0", + "stac-js": "~0.1.6" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/m-mohr" + }, "peerDependencies": { - "ol": ">= 5.3.0" + "ol": "*" } }, - "node_modules/ol-sld-styler/node_modules/earcut": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/earcut/-/earcut-2.2.4.tgz", - "integrity": "sha512-/pjZsA1b4RPHbeWZQn66SWS8nZZWLQQ23oE3Eam7aroEFGEvwKAsJfZ9ytiEMycfzXWpca4FA9QIOehf7PocBQ==" - }, - "node_modules/ol-sld-styler/node_modules/mapbox-to-css-font": { - "version": "2.4.5", - "resolved": "https://registry.npmjs.org/mapbox-to-css-font/-/mapbox-to-css-font-2.4.5.tgz", - "integrity": "sha512-VJ6nB8emkO9VODI0Fk+TQ/0zKBTqmf/Pkt8Xv0kHstoc0iXRajA00DAid4Kc3K5xeFIOoiZrVxijEzj0GLVO2w==" - }, - "node_modules/ol-sld-styler/node_modules/ol": { - "version": "7.5.2", - "resolved": "https://registry.npmjs.org/ol/-/ol-7.5.2.tgz", - "integrity": "sha512-HJbb3CxXrksM6ct367LsP3N+uh+iBBMdP3DeGGipdV9YAYTP0vTJzqGnoqQ6C2IW4qf8krw9yuyQbc9fjOIaOQ==", + "node_modules/open": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/open/-/open-10.2.0.tgz", + "integrity": "sha512-YgBpdJHPyQ2UE5x+hlSXcnejzAvD0b22U2OuAP+8OnlJT+PjWPxtgmGqKKc+RgTM63U9gN0YzrYc71R2WT/hTA==", + "dev": true, "dependencies": { - "earcut": "^2.2.3", - "geotiff": "^2.0.7", - "ol-mapbox-style": "^10.1.0", - "pbf": "3.2.1", - "rbush": "^3.0.1" + "default-browser": "^5.2.1", + "define-lazy-prop": "^3.0.0", + "is-inside-container": "^1.0.0", + "wsl-utils": "^0.1.0" + }, + "engines": { + "node": ">=18" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/openlayers" - } - }, - "node_modules/ol-sld-styler/node_modules/ol-mapbox-style": { - "version": "10.7.0", - "resolved": "https://registry.npmjs.org/ol-mapbox-style/-/ol-mapbox-style-10.7.0.tgz", - "integrity": "sha512-S/UdYBuOjrotcR95Iq9AejGYbifKeZE85D9VtH11ryJLQPTZXZSW1J5bIXcr4AlAH6tyjPPHTK34AdkwB32Myw==", - "dependencies": { - "@mapbox/mapbox-gl-style-spec": "^13.23.1", - "mapbox-to-css-font": "^2.4.1", - "ol": "^7.3.0" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/ol-sld-styler/node_modules/pbf": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/pbf/-/pbf-3.2.1.tgz", - "integrity": "sha512-ClrV7pNOn7rtmoQVF4TS1vyU0WhYRnP92fzbfF75jAIwpnzdJXf8iTd4CMEqO4yUenH6NDqLiwjqlh6QgZzgLQ==", + "node_modules/optionator": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", + "dev": true, "dependencies": { - "ieee754": "^1.1.12", - "resolve-protobuf-schema": "^2.1.0" + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.5" }, - "bin": { - "pbf": "bin/pbf" + "engines": { + "node": ">= 0.8.0" } }, - "node_modules/ol-sld-styler/node_modules/quickselect": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/quickselect/-/quickselect-2.0.0.tgz", - "integrity": "sha512-RKJ22hX8mHe3Y6wH/N3wCM6BWtjaxIyyUIkpHOvfFnxdI4yD4tBXEBKSbriGujF6jnSVkJrffuo6vxACiSSxIw==" - }, - "node_modules/ol-sld-styler/node_modules/rbush": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/rbush/-/rbush-3.0.1.tgz", - "integrity": "sha512-XRaVO0YecOpEuIvbhbpTrZgoiI6xBlz6hnlr6EHhd+0x9ase6EmeN+hdwwUaJvLcsFFQ8iWVF1GAK1yB0BWi0w==", + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, "dependencies": { - "quickselect": "^2.0.0" + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/ol-stac": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/ol-stac/-/ol-stac-1.0.2.tgz", - "integrity": "sha512-PsXupPE7nvdQUOE49aScIdqJTTURfd7nrqXGgZVYlliK+csgOPz1ksyvKGd/hly+1M5AeMF+eulf9Nz4dX8vPw==", + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, "dependencies": { - "ol-pmtiles": "^2.0.0", - "stac-js": "~0.1.6" + "p-limit": "^3.0.2" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/m-mohr" + "engines": { + "node": ">=10" }, - "peerDependencies": { - "ol": "*" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/pako": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", - "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==" + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/pako/-/pako-2.1.0.tgz", + "integrity": "sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==" + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } }, "node_modules/parse-headers": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.6.tgz", "integrity": "sha512-Tz11t3uKztEW5FEVZnj1ox8GKblWn+PvHY9TmJV5Mll2uHEwRdR/5Li1OlXoECjLYkApdhWy44ocONwXLiKO5A==" }, + "node_modules/parse-ms": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-4.0.0.tgz", + "integrity": "sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/parse5": { "version": "7.3.0", "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.3.0.tgz", @@ -2806,6 +4442,41 @@ "url": "https://github.com/inikulin/parse5?sponsor=1" } }, + "node_modules/parse5/node_modules/entities": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", + "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/pathe": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", + "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", + "dev": true + }, "node_modules/pbf": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/pbf/-/pbf-4.0.1.tgz", @@ -2817,20 +4488,24 @@ "pbf": "bin/pbf" } }, + "node_modules/perfect-debounce": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/perfect-debounce/-/perfect-debounce-1.0.0.tgz", + "integrity": "sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==", + "dev": true + }, "node_modules/picocolors": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", - "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", - "dev": true + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==" }, "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", "dev": true, - "optional": true, "engines": { - "node": ">=8.6" + "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/jonschlinkert" @@ -2856,7 +4531,6 @@ "version": "8.5.6", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", - "dev": true, "funding": [ { "type": "opencollective", @@ -2880,6 +4554,70 @@ "node": "^10 || ^12 || >=14" } }, + "node_modules/postcss-selector-parser": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", + "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", + "dev": true, + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prettier": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.6.2.tgz", + "integrity": "sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==", + "dev": true, + "bin": { + "prettier": "bin/prettier.cjs" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/prettier-linter-helpers": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", + "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", + "dev": true, + "dependencies": { + "fast-diff": "^1.1.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/pretty-ms": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-9.2.0.tgz", + "integrity": "sha512-4yf0QO/sllf/1zbZWYnvWw3NxCQwLXKzIj0G849LSufP15BXKM0rbD2Z3wVnkMfjdn/CB0Dpp444gYAACdsplg==", + "dev": true, + "dependencies": { + "parse-ms": "^4.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/proj4": { "version": "2.19.10", "resolved": "https://registry.npmjs.org/proj4/-/proj4-2.19.10.tgz", @@ -2929,19 +4667,6 @@ "quickselect": "^3.0.0" } }, - "node_modules/readdirp": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", - "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", - "dev": true, - "engines": { - "node": ">= 14.18.0" - }, - "funding": { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - }, "node_modules/require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", @@ -2950,6 +4675,15 @@ "node": ">=0.10.0" } }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, "node_modules/resolve-protobuf-schema": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/resolve-protobuf-schema/-/resolve-protobuf-schema-2.1.0.tgz", @@ -2958,10 +4692,16 @@ "protocol-buffers-schema": "^3.3.1" } }, + "node_modules/rfdc": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz", + "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==", + "dev": true + }, "node_modules/rollup": { - "version": "4.46.2", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.46.2.tgz", - "integrity": "sha512-WMmLFI+Boh6xbop+OAGo9cQ3OgX9MIg7xOQjn+pTCwOkk+FNDAeAemXkJ3HzDJrVXleLOFVa1ipuc1AmEx1Dwg==", + "version": "4.50.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.50.1.tgz", + "integrity": "sha512-78E9voJHwnXQMiQdiqswVLZwJIzdBKJ1GdI5Zx6XwoFKUIk09/sSrr+05QFzvYb8q6Y9pPV45zzDuYa3907TZA==", "dev": true, "dependencies": { "@types/estree": "1.0.8" @@ -2974,26 +4714,27 @@ "npm": ">=8.0.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.46.2", - "@rollup/rollup-android-arm64": "4.46.2", - "@rollup/rollup-darwin-arm64": "4.46.2", - "@rollup/rollup-darwin-x64": "4.46.2", - "@rollup/rollup-freebsd-arm64": "4.46.2", - "@rollup/rollup-freebsd-x64": "4.46.2", - "@rollup/rollup-linux-arm-gnueabihf": "4.46.2", - "@rollup/rollup-linux-arm-musleabihf": "4.46.2", - "@rollup/rollup-linux-arm64-gnu": "4.46.2", - "@rollup/rollup-linux-arm64-musl": "4.46.2", - "@rollup/rollup-linux-loongarch64-gnu": "4.46.2", - "@rollup/rollup-linux-ppc64-gnu": "4.46.2", - "@rollup/rollup-linux-riscv64-gnu": "4.46.2", - "@rollup/rollup-linux-riscv64-musl": "4.46.2", - "@rollup/rollup-linux-s390x-gnu": "4.46.2", - "@rollup/rollup-linux-x64-gnu": "4.46.2", - "@rollup/rollup-linux-x64-musl": "4.46.2", - "@rollup/rollup-win32-arm64-msvc": "4.46.2", - "@rollup/rollup-win32-ia32-msvc": "4.46.2", - "@rollup/rollup-win32-x64-msvc": "4.46.2", + "@rollup/rollup-android-arm-eabi": "4.50.1", + "@rollup/rollup-android-arm64": "4.50.1", + "@rollup/rollup-darwin-arm64": "4.50.1", + "@rollup/rollup-darwin-x64": "4.50.1", + "@rollup/rollup-freebsd-arm64": "4.50.1", + "@rollup/rollup-freebsd-x64": "4.50.1", + "@rollup/rollup-linux-arm-gnueabihf": "4.50.1", + "@rollup/rollup-linux-arm-musleabihf": "4.50.1", + "@rollup/rollup-linux-arm64-gnu": "4.50.1", + "@rollup/rollup-linux-arm64-musl": "4.50.1", + "@rollup/rollup-linux-loongarch64-gnu": "4.50.1", + "@rollup/rollup-linux-ppc64-gnu": "4.50.1", + "@rollup/rollup-linux-riscv64-gnu": "4.50.1", + "@rollup/rollup-linux-riscv64-musl": "4.50.1", + "@rollup/rollup-linux-s390x-gnu": "4.50.1", + "@rollup/rollup-linux-x64-gnu": "4.50.1", + "@rollup/rollup-linux-x64-musl": "4.50.1", + "@rollup/rollup-openharmony-arm64": "4.50.1", + "@rollup/rollup-win32-arm64-msvc": "4.50.1", + "@rollup/rollup-win32-ia32-msvc": "4.50.1", + "@rollup/rollup-win32-x64-msvc": "4.50.1", "fsevents": "~2.3.2" } }, @@ -3002,6 +4743,18 @@ "resolved": "https://registry.npmjs.org/rrweb-cssom/-/rrweb-cssom-0.8.0.tgz", "integrity": "sha512-guoltQEx+9aMf2gDZ0s62EcV8lsXR+0w8915TC3ITdn2YueuNjdAYh/levpU9nFaoChh9RUS5ZdQMrKfVEN9tw==" }, + "node_modules/run-applescript": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-7.1.0.tgz", + "integrity": "sha512-DPe5pVFaAsinSaV6QjQ6gdiedWDcRCbUuiQfQa2wmWV7+xC9bGulGI8+TdRmoFkAPaBXk8CrAbnlY2ISniJ47Q==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/rw": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz", @@ -3028,26 +4781,6 @@ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, - "node_modules/sass": { - "version": "1.90.0", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.90.0.tgz", - "integrity": "sha512-9GUyuksjw70uNpb1MTYWsH9MQHOHY6kwfnkafC24+7aOMZn9+rVMBxRbLvw756mrBFbIsFg6Xw9IkR2Fnn3k+Q==", - "dev": true, - "dependencies": { - "chokidar": "^4.0.0", - "immutable": "^5.0.2", - "source-map-js": ">=0.6.2 <2.0.0" - }, - "bin": { - "sass": "sass.js" - }, - "engines": { - "node": ">=14.0.0" - }, - "optionalDependencies": { - "@parcel/watcher": "^2.4.1" - } - }, "node_modules/saxes": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", @@ -3059,6 +4792,18 @@ "node": ">=v12.22.7" } }, + "node_modules/semver": { + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/set-function-length": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", @@ -3075,39 +4820,58 @@ "node": ">= 0.4" } }, - "node_modules/slice-source": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/slice-source/-/slice-source-0.4.1.tgz", - "integrity": "sha512-YiuPbxpCj4hD9Qs06hGAz/OZhQ0eDuALN0lRWJez0eD/RevzKqGdUx1IOMUnXgpr+sXZLq3g8ERwbAH0bCb8vg==" + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } }, - "node_modules/sort-asc": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/sort-asc/-/sort-asc-0.1.0.tgz", - "integrity": "sha512-jBgdDd+rQ+HkZF2/OHCmace5dvpos/aWQpcxuyRs9QUbPRnkEJmYVo81PIGpjIdpOcsnJ4rGjStfDHsbn+UVyw==", + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/sort-desc": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/sort-desc/-/sort-desc-0.1.1.tgz", - "integrity": "sha512-jfZacW5SKOP97BF5rX5kQfJmRVZP5/adDUTY8fCSPvNcXDVpUEe2pr/iKGlcyZzchRJZrswnp68fgk3qBXgkJw==", + "node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/sort-object": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/sort-object/-/sort-object-0.3.2.tgz", - "integrity": "sha512-aAQiEdqFTTdsvUFxXm3umdo04J7MRljoVGbBlkH7BgNsMvVNAJyGj7C/wV1A8wHWAJj/YikeZbfuCKqhggNWGA==", + "node_modules/sirv": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/sirv/-/sirv-3.0.2.tgz", + "integrity": "sha512-2wcC/oGxHis/BoHkkPwldgiPSYcpZK3JU28WoMVv55yHJgcZ8rlXvuG9iZggz+sU1d4bRgIGASwyWqjxu3FM0g==", + "dev": true, "dependencies": { - "sort-asc": "^0.1.0", - "sort-desc": "^0.1.1" + "@polka/url": "^1.0.0-next.24", + "mrmime": "^2.0.0", + "totalist": "^3.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=18" } }, + "node_modules/slice-source": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/slice-source/-/slice-source-0.4.1.tgz", + "integrity": "sha512-YiuPbxpCj4hD9Qs06hGAz/OZhQ0eDuALN0lRWJez0eD/RevzKqGdUx1IOMUnXgpr+sXZLq3g8ERwbAH0bCb8vg==" + }, "node_modules/sortablejs": { "version": "1.15.6", "resolved": "https://registry.npmjs.org/sortablejs/-/sortablejs-1.15.6.tgz", @@ -3117,15 +4881,23 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/speakingurl": { + "version": "14.0.1", + "resolved": "https://registry.npmjs.org/speakingurl/-/speakingurl-14.0.1.tgz", + "integrity": "sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/stac-js": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/stac-js/-/stac-js-0.1.6.tgz", - "integrity": "sha512-8+At70QpC2YFa5JP6KyYiSS/xl7zxD9h0YEPOlzTUB8SC1A1p6Nv0CTDStp3OSAEli1dwyaLCCPdMhmbNI/QHw==", + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/stac-js/-/stac-js-0.1.8.tgz", + "integrity": "sha512-YkZFKUfcQwnlNc5AK1qJCO15T+we4Vasww61R0szNBQxXcj7NtMgrHoSoNrTAO6Gnrz/WU4p6BESY5NBudDZAQ==", "dependencies": { "@radiantearth/stac-migrate": "^2.0.2", "urijs": "^1.19.11" @@ -3159,51 +4931,88 @@ "node": ">=8" } }, + "node_modules/strip-final-newline": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-4.0.0.tgz", + "integrity": "sha512-aulFJcD6YK8V1G7iRB5tigAP4TsHBZZrOV8pjV++zdUwmeV8uzbY7yn6h9MswN62adStNZFuCIx4haBnRuMDaw==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/superjson": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/superjson/-/superjson-2.2.2.tgz", + "integrity": "sha512-5JRxVqC8I8NuOUjzBbvVJAKNM8qoVuH0O77h4WInc/qC2q5IreqKxYwgkga3PfA22OayK2ikceb/B26dztPl+Q==", + "dev": true, + "dependencies": { + "copy-anything": "^3.0.2" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/symbol-tree": { "version": "3.2.4", "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==" }, - "node_modules/tinyglobby": { - "version": "0.2.14", - "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.14.tgz", - "integrity": "sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==", + "node_modules/synckit": { + "version": "0.11.11", + "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.11.11.tgz", + "integrity": "sha512-MeQTA1r0litLUf0Rp/iisCaL8761lKAZHaimlbGK4j0HysC4PLfqygQj9srcs0m2RdtDYnF8UuYyKpbjHYp7Jw==", "dev": true, "dependencies": { - "fdir": "^6.4.4", - "picomatch": "^4.0.2" + "@pkgr/core": "^0.2.9" }, "engines": { - "node": ">=12.0.0" + "node": "^14.18.0 || >=16.0.0" }, "funding": { - "url": "https://github.com/sponsors/SuperchupuDev" + "url": "https://opencollective.com/synckit" } }, - "node_modules/tinyglobby/node_modules/fdir": { - "version": "6.4.6", - "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.6.tgz", - "integrity": "sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==", + "node_modules/tinyglobby": { + "version": "0.2.15", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", + "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", "dev": true, - "peerDependencies": { - "picomatch": "^3 || ^4" + "dependencies": { + "fdir": "^6.5.0", + "picomatch": "^4.0.3" }, - "peerDependenciesMeta": { - "picomatch": { - "optional": true - } - } - }, - "node_modules/tinyglobby/node_modules/picomatch": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", - "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", - "dev": true, "engines": { - "node": ">=12" + "node": ">=12.0.0" }, "funding": { - "url": "https://github.com/sponsors/jonschlinkert" + "url": "https://github.com/sponsors/SuperchupuDev" } }, "node_modules/tinyqueue": { @@ -3227,24 +5036,20 @@ "resolved": "https://registry.npmjs.org/tldts-core/-/tldts-core-6.1.86.tgz", "integrity": "sha512-Je6p7pkk+KMzMv2XXKmAE3McmolOQFdxkKw0R8EYNr7sELW46JqnNeTX8ybPiQgvg1ymCoF8LXs5fzFaZvJPTA==" }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "optional": true, - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, "node_modules/toolcool-range-slider": { "version": "4.0.28", "resolved": "https://registry.npmjs.org/toolcool-range-slider/-/toolcool-range-slider-4.0.28.tgz", "integrity": "sha512-DDZAEJ9hItgSbGWY6DkjvMoUBLZG9J3X6qvBzAruvGzcPwrZKRt3EB2ixPqFmrpEy98SyyM+WZbKL0+TR4fOkg==" }, + "node_modules/totalist": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz", + "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, "node_modules/tough-cookie": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-5.1.2.tgz", @@ -3272,10 +5077,22 @@ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, "node_modules/typo-js": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/typo-js/-/typo-js-1.3.0.tgz", - "integrity": "sha512-ERVoYp5PG7jpj7+kzKmFZfp5+IYMOOQM3etNnlYu06Z2CL5UmC9ekT8Z/JVYpR7e7sXB4bOFq1fz/budv++Z0g==" + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/typo-js/-/typo-js-1.3.1.tgz", + "integrity": "sha512-elJkpCL6Z77Ghw0Lv0lGnhBAjSTOQ5FhiVOCfOuxhaoTT2xtLVbqikYItK5HHchzPbHEUFAcjOH669T2ZzeCbg==" }, "node_modules/uint8arrays": { "version": "2.1.10", @@ -3285,6 +5102,73 @@ "multiformats": "^9.4.2" } }, + "node_modules/unicorn-magic": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.3.0.tgz", + "integrity": "sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/unplugin-utils": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/unplugin-utils/-/unplugin-utils-0.3.0.tgz", + "integrity": "sha512-JLoggz+PvLVMJo+jZt97hdIIIZ2yTzGgft9e9q8iMrC4ewufl62ekeW7mixBghonn2gVb/ICjyvlmOCUBnJLQg==", + "dev": true, + "dependencies": { + "pathe": "^2.0.3", + "picomatch": "^4.0.3" + }, + "engines": { + "node": ">=20.19.0" + }, + "funding": { + "url": "https://github.com/sponsors/sxzz" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz", + "integrity": "sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "escalade": "^3.2.0", + "picocolors": "^1.1.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, "node_modules/urijs": { "version": "1.19.11", "resolved": "https://registry.npmjs.org/urijs/-/urijs-1.19.11.tgz", @@ -3302,29 +5186,35 @@ "which-typed-array": "^1.1.2" } }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true + }, "node_modules/varint": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/varint/-/varint-6.0.0.tgz", "integrity": "sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg==" }, "node_modules/vite": { - "version": "6.3.5", - "resolved": "https://registry.npmjs.org/vite/-/vite-6.3.5.tgz", - "integrity": "sha512-cZn6NDFE7wdTpINgs++ZJ4N49W2vRp8LCKrn3Ob1kYNtOo21vfDoaV5GzBfLU4MovSAB8uNRm4jgzVQZ+mBzPQ==", + "version": "7.1.5", + "resolved": "https://registry.npmjs.org/vite/-/vite-7.1.5.tgz", + "integrity": "sha512-4cKBO9wR75r0BeIWWWId9XK9Lj6La5X846Zw9dFfzMRw38IlTk2iCcUt6hsyiDRcPidc55ZParFYDXi0nXOeLQ==", "dev": true, "dependencies": { "esbuild": "^0.25.0", - "fdir": "^6.4.4", - "picomatch": "^4.0.2", - "postcss": "^8.5.3", - "rollup": "^4.34.9", - "tinyglobby": "^0.2.13" + "fdir": "^6.5.0", + "picomatch": "^4.0.3", + "postcss": "^8.5.6", + "rollup": "^4.43.0", + "tinyglobby": "^0.2.15" }, "bin": { "vite": "bin/vite.js" }, "engines": { - "node": "^18.0.0 || ^20.0.0 || >=22.0.0" + "node": "^20.19.0 || >=22.12.0" }, "funding": { "url": "https://github.com/vitejs/vite?sponsor=1" @@ -3333,14 +5223,14 @@ "fsevents": "~2.3.3" }, "peerDependencies": { - "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", + "@types/node": "^20.19.0 || >=22.12.0", "jiti": ">=1.21.0", - "less": "*", + "less": "^4.0.0", "lightningcss": "^1.21.0", - "sass": "*", - "sass-embedded": "*", - "stylus": "*", - "sugarss": "*", + "sass": "^1.70.0", + "sass-embedded": "^1.70.0", + "stylus": ">=0.54.8", + "sugarss": "^5.0.0", "terser": "^5.16.0", "tsx": "^4.8.1", "yaml": "^2.4.2" @@ -3381,30 +5271,154 @@ } } }, - "node_modules/vite/node_modules/fdir": { - "version": "6.4.6", - "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.6.tgz", - "integrity": "sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==", + "node_modules/vite-dev-rpc": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/vite-dev-rpc/-/vite-dev-rpc-1.1.0.tgz", + "integrity": "sha512-pKXZlgoXGoE8sEKiKJSng4hI1sQ4wi5YT24FCrwrLt6opmkjlqPPVmiPWWJn8M8byMxRGzp1CrFuqQs4M/Z39A==", "dev": true, + "dependencies": { + "birpc": "^2.4.0", + "vite-hot-client": "^2.1.0" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, "peerDependencies": { - "picomatch": "^3 || ^4" + "vite": "^2.9.0 || ^3.0.0-0 || ^4.0.0-0 || ^5.0.0-0 || ^6.0.1 || ^7.0.0-0" + } + }, + "node_modules/vite-hot-client": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/vite-hot-client/-/vite-hot-client-2.1.0.tgz", + "integrity": "sha512-7SpgZmU7R+dDnSmvXE1mfDtnHLHQSisdySVR7lO8ceAXvM0otZeuQQ6C8LrS5d/aYyP/QZ0hI0L+dIPrm4YlFQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "vite": "^2.6.0 || ^3.0.0 || ^4.0.0 || ^5.0.0-0 || ^6.0.0-0 || ^7.0.0-0" + } + }, + "node_modules/vite-plugin-inspect": { + "version": "11.3.3", + "resolved": "https://registry.npmjs.org/vite-plugin-inspect/-/vite-plugin-inspect-11.3.3.tgz", + "integrity": "sha512-u2eV5La99oHoYPHE6UvbwgEqKKOQGz86wMg40CCosP6q8BkB6e5xPneZfYagK4ojPJSj5anHCrnvC20DpwVdRA==", + "dev": true, + "dependencies": { + "ansis": "^4.1.0", + "debug": "^4.4.1", + "error-stack-parser-es": "^1.0.5", + "ohash": "^2.0.11", + "open": "^10.2.0", + "perfect-debounce": "^2.0.0", + "sirv": "^3.0.1", + "unplugin-utils": "^0.3.0", + "vite-dev-rpc": "^1.1.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "vite": "^6.0.0 || ^7.0.0-0" }, "peerDependenciesMeta": { - "picomatch": { + "@nuxt/kit": { "optional": true } } }, - "node_modules/vite/node_modules/picomatch": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", - "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "node_modules/vite-plugin-inspect/node_modules/perfect-debounce": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/perfect-debounce/-/perfect-debounce-2.0.0.tgz", + "integrity": "sha512-fkEH/OBiKrqqI/yIgjR92lMfs2K8105zt/VT6+7eTjNwisrsh47CeIED9z58zI7DfKdH3uHAn25ziRZn3kgAow==", + "dev": true + }, + "node_modules/vite-plugin-vue-devtools": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/vite-plugin-vue-devtools/-/vite-plugin-vue-devtools-8.0.1.tgz", + "integrity": "sha512-ecm/Xvtg5xsFPfY7SJ38Zb6NfmVrHxBhLMk/3nm5ZDAd7n8Dk2BV8JBuq1L5wRMVfvCth01vtzJViZC9TAC6qg==", "dev": true, + "dependencies": { + "@vue/devtools-core": "^8.0.1", + "@vue/devtools-kit": "^8.0.1", + "@vue/devtools-shared": "^8.0.1", + "execa": "^9.6.0", + "sirv": "^3.0.1", + "vite-plugin-inspect": "^11.3.0", + "vite-plugin-vue-inspector": "^5.3.2" + }, "engines": { - "node": ">=12" + "node": ">=v14.21.3" + }, + "peerDependencies": { + "vite": "^6.0.0 || ^7.0.0-0" + } + }, + "node_modules/vite-plugin-vue-inspector": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/vite-plugin-vue-inspector/-/vite-plugin-vue-inspector-5.3.2.tgz", + "integrity": "sha512-YvEKooQcSiBTAs0DoYLfefNja9bLgkFM7NI2b07bE2SruuvX0MEa9cMaxjKVMkeCp5Nz9FRIdcN1rOdFVBeL6Q==", + "dev": true, + "dependencies": { + "@babel/core": "^7.23.0", + "@babel/plugin-proposal-decorators": "^7.23.0", + "@babel/plugin-syntax-import-attributes": "^7.22.5", + "@babel/plugin-syntax-import-meta": "^7.10.4", + "@babel/plugin-transform-typescript": "^7.22.15", + "@vue/babel-plugin-jsx": "^1.1.5", + "@vue/compiler-dom": "^3.3.4", + "kolorist": "^1.8.0", + "magic-string": "^0.30.4" + }, + "peerDependencies": { + "vite": "^3.0.0-0 || ^4.0.0-0 || ^5.0.0-0 || ^6.0.0-0 || ^7.0.0-0" + } + }, + "node_modules/vue": { + "version": "3.5.21", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.5.21.tgz", + "integrity": "sha512-xxf9rum9KtOdwdRkiApWL+9hZEMWE90FHh8yS1+KJAiWYh+iGWV1FquPjoO9VUHQ+VIhsCXNNyZ5Sf4++RVZBA==", + "dependencies": { + "@vue/compiler-dom": "3.5.21", + "@vue/compiler-sfc": "3.5.21", + "@vue/runtime-dom": "3.5.21", + "@vue/server-renderer": "3.5.21", + "@vue/shared": "3.5.21" + }, + "peerDependencies": { + "typescript": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/vue-eslint-parser": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-10.2.0.tgz", + "integrity": "sha512-CydUvFOQKD928UzZhTp4pr2vWz1L+H99t7Pkln2QSPdvmURT0MoC4wUccfCnuEaihNsu9aYYyk+bep8rlfkUXw==", + "dev": true, + "peer": true, + "dependencies": { + "debug": "^4.4.0", + "eslint-scope": "^8.2.0", + "eslint-visitor-keys": "^4.2.0", + "espree": "^10.3.0", + "esquery": "^1.6.0", + "semver": "^7.6.3" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { - "url": "https://github.com/sponsors/jonschlinkert" + "url": "https://github.com/sponsors/mysticatea" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0" } }, "node_modules/w3c-xmlserializer": { @@ -3418,6 +5432,14 @@ "node": ">=18" } }, + "node_modules/w3c-xmlserializer/node_modules/xml-name-validator": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-5.0.0.tgz", + "integrity": "sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==", + "engines": { + "node": ">=18" + } + }, "node_modules/web-encoding": { "version": "1.1.5", "resolved": "https://registry.npmjs.org/web-encoding/-/web-encoding-1.1.5.tgz", @@ -3473,6 +5495,21 @@ "node": ">=18" } }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, "node_modules/which-typed-array": { "version": "1.1.19", "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.19.tgz", @@ -3506,6 +5543,15 @@ "wmscapabilities": "bin/wmscapabilities" } }, + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/wrap-ansi": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", @@ -3542,12 +5588,28 @@ } } }, - "node_modules/xml-name-validator": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-5.0.0.tgz", - "integrity": "sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==", + "node_modules/wsl-utils": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/wsl-utils/-/wsl-utils-0.1.0.tgz", + "integrity": "sha512-h3Fbisa2nKGPxCpm89Hk33lBLsnaGBvctQopaBSOW/uIs6FTe1ATyAnKFJrzVs9vpGdsTe73WF3V4lIsk4Gacw==", + "dev": true, + "dependencies": { + "is-wsl": "^3.1.0" + }, "engines": { "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/xml-name-validator": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz", + "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==", + "dev": true, + "engines": { + "node": ">=12" } }, "node_modules/xml-utils": { @@ -3560,15 +5622,6 @@ "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==" }, - "node_modules/xmldom": { - "version": "0.1.31", - "resolved": "https://registry.npmjs.org/xmldom/-/xmldom-0.1.31.tgz", - "integrity": "sha512-yS2uJflVQs6n+CyjHoaBmVSqIDevTAWrzMmjG1Gc7h1qQ7uVozNhEPJAwZXWyGQ/Gafo3fCwrcaokezLPupVyQ==", - "deprecated": "Deprecated due to CVE-2021-21366 resolved in 0.5.0", - "engines": { - "node": ">=0.1" - } - }, "node_modules/y18n": { "version": "5.0.8", "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", @@ -3577,6 +5630,12 @@ "node": ">=10" } }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + }, "node_modules/yargs": { "version": "17.7.2", "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", @@ -3602,6 +5661,30 @@ "node": ">=12" } }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/yoctocolors": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yoctocolors/-/yoctocolors-2.1.2.tgz", + "integrity": "sha512-CzhO+pFNo8ajLM2d2IW/R93ipy99LWjtwblvC1RsoSUMZgyLbYFr221TnSNT7GjGdYui6P459mw9JH/g/zW2ug==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/zstddec": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/zstddec/-/zstddec-0.1.0.tgz", diff --git a/package.json b/package.json index d4d492b1..9eb9a86e 100644 --- a/package.json +++ b/package.json @@ -1,34 +1,40 @@ { - "name": "eox-style-editor", + "name": "vue-style-editor", + "version": "0.1.0", "private": true, - "version": "0.0.0", "type": "module", + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, "scripts": { "dev": "vite", "build": "vite build", - "preview": "vite preview" + "preview": "vite preview", + "lint": "eslint . --fix", + "format": "prettier --write src/" }, "dependencies": { - "@eox/jsonform": "^1.3.3", + "@eox/jsonform": "^1.4.1", "@eox/layercontrol": "^1.1.2", - "@eox/layout": "^1.0.0", "@eox/map": "^1.25.0", - "@eox/ui": "^0.1.10", - "@nieuwlandgeo/sldreader": "^0.7.0", + "@eox/ui": "^0.4.0", + "@mdi/js": "^7.4.47", "color-legend-element": "^1.3.0", - "flatgeobuf": "^3.36.0", - "geotiff.js": "^1.0.1", + "flatgeobuf": "^4.2.0", "json-stringify-pretty-compact": "^4.0.0", - "lit": "^3.2.1", - "lodash.debounce": "^4.0.8", - "mustache": "^4.2.0", - "ol": "^10.6.1", - "ol-mapbox-style": "^13.0.1", - "ol-sld-styler": "^1.0.3", - "proj4": "^2.15.0" + "lodash": "^4.17.21", + "material-dynamic-colors": "^1.1.2", + "vue": "^3.5.18" }, "devDependencies": { - "sass": "^1.84.0", - "vite": "^6.0.5" + "@eslint/js": "^9.31.0", + "@vitejs/plugin-vue": "^6.0.1", + "@vue/eslint-config-prettier": "^10.2.0", + "eslint": "^9.31.0", + "eslint-plugin-vue": "~10.3.0", + "globals": "^16.3.0", + "prettier": "3.6.2", + "vite": "^7.0.6", + "vite-plugin-vue-devtools": "^8.0.0" } } diff --git a/public/EOX_Eye.svg b/public/EOX_Eye.svg deleted file mode 100644 index be4ef694..00000000 --- a/public/EOX_Eye.svg +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/public/EOX_logo.svg b/public/EOX_logo.svg deleted file mode 100644 index 9d5eb91e..00000000 --- a/public/EOX_logo.svg +++ /dev/null @@ -1,73 +0,0 @@ - - - -image/svg+xml \ No newline at end of file diff --git a/public/data/fgb/202501200900_SouthEast_RIC-processed.fgb b/public/data/fgb/202501200900_SouthEast_RIC-processed.fgb new file mode 100644 index 00000000..f88359cd Binary files /dev/null and b/public/data/fgb/202501200900_SouthEast_RIC-processed.fgb differ diff --git a/public/data/geojson/africa.json b/public/data/geojson/africa.json new file mode 100644 index 00000000..b179213b --- /dev/null +++ b/public/data/geojson/africa.json @@ -0,0 +1,17246 @@ +{ + "type": "FeatureCollection", + "features": [ + { + "type": "Feature", + "properties": { + "scalerank": 1, + "featurecla": "Admin-0 country", + "labelrank": 3, + "sovereignt": "Ivory Coast", + "sov_a3": "CIV", + "adm0_dif": 0, + "level": 2, + "type": "Sovereign country", + "admin": "Ivory Coast", + "adm0_a3": "CIV", + "geou_dif": 0, + "geounit": "Ivory Coast", + "gu_a3": "CIV", + "su_dif": 0, + "subunit": "Ivory Coast", + "su_a3": "CIV", + "brk_diff": 0, + "name": "Côte d'Ivoire", + "name_long": "Côte d'Ivoire", + "brk_a3": "CIV", + "brk_name": "Côte d'Ivoire", + "brk_group": null, + "abbrev": "I.C.", + "postal": "CI", + "formal_en": "Republic of Ivory Coast", + "formal_fr": "Republic of Cote D'Ivoire", + "note_adm0": null, + "note_brk": null, + "name_sort": "Côte d'Ivoire", + "name_alt": null, + "mapcolor7": 4, + "mapcolor8": 6, + "mapcolor9": 3, + "mapcolor13": 3, + "pop_est": 20617068, + "gdp_md_est": 33850, + "pop_year": -99, + "lastcensus": 1998, + "gdp_year": -99, + "economy": "6. Developing region", + "income_grp": "4. Lower middle income", + "wikipedia": -99, + "fips_10": null, + "iso_a2": "CI", + "iso_a3": "CIV", + "iso_n3": "384", + "un_a3": "384", + "wb_a2": "CI", + "wb_a3": "CIV", + "woe_id": -99, + "adm0_a3_is": "CIV", + "adm0_a3_us": "CIV", + "adm0_a3_un": -99, + "adm0_a3_wb": -99, + "continent": "Africa", + "region_un": "Africa", + "subregion": "Western Africa", + "region_wb": "Sub-Saharan Africa", + "name_len": 13, + "long_len": 13, + "abbrev_len": 4, + "tiny": -99, + "homepart": 1, + "filename": "CIV.geojson" + }, + "geometry": { + "type": "MultiPolygon", + "coordinates": [ + [ + [ + [-3.08671875, 5.128320312500023], + [-3.114013671875028, 5.088671875000031], + [-3.246386718749988, 5.114062499999959], + [-3.21489257812496, 5.147216796875056], + [-3.08671875, 5.128320312500023] + ] + ], + [ + [ + [-6.230664062500011, 10.597509765625018], + [-6.239746093749999, 10.558105468749986], + [-6.217773437499943, 10.476269531250011], + [-6.190673828124943, 10.400292968749994], + [-6.192626953124972, 10.369433593750003], + [-6.214990234374994, 10.322363281250006], + [-6.241308593749949, 10.279199218750007], + [-6.238378906249976, 10.26162109374998], + [-6.196875, 10.232128906250011], + [-6.117187499999971, 10.201904296874984], + [-6.034570312499937, 10.194824218750055], + [-5.98867187499999, 10.23911132812502], + [-5.940673828125, 10.275097656249969], + [-5.907568359375005, 10.307226562500034], + [-5.896191406249983, 10.354736328125028], + [-5.843847656249977, 10.389550781250023], + [-5.694287109374983, 10.433203125000034], + [-5.556591796874983, 10.439941406249986], + [-5.52353515624992, 10.426025390624986], + [-5.46127929687492, 10.35957031250004], + [-5.382275390625011, 10.314013671875003], + [-5.262304687499977, 10.319677734374991], + [-5.175292968749943, 10.292626953124994], + [-5.099853515625028, 10.241601562499994], + [-5.049316406249943, 10.128320312500009], + [-4.994042968749966, 10.046484375000034], + [-4.969921874999926, 9.930078125000023], + [-4.882714843750023, 9.868945312500003], + [-4.814453124999972, 9.841162109375034], + [-4.72177734374992, 9.756542968750026], + [-4.625830078125006, 9.713574218749969], + [-4.526611328124943, 9.723486328125034], + [-4.480273437500016, 9.679248046875003], + [-4.406201171874926, 9.647998046875031], + [-4.332226562499955, 9.645703125], + [-4.267187499999949, 9.743261718749977], + [-4.18115234375, 9.781738281249998], + [-3.963476562499977, 9.859619140624972], + [-3.877636718749983, 9.894921874999966], + [-3.790625, 9.917187499999983], + [-3.581152343749977, 9.924316406250014], + [-3.38627929687496, 9.900292968749994], + [-3.289697265625023, 9.882226562500051], + [-3.223535156249937, 9.895458984374997], + [-3.160693359374932, 9.849169921874974], + [-3.095800781249949, 9.752099609375007], + [-3.042626953124937, 9.72089843750004], + [-2.988281249999972, 9.687353515624961], + [-2.948144531249966, 9.61074218749998], + [-2.900878906249943, 9.534619140625026], + [-2.875146484374937, 9.500927734374997], + [-2.816748046874949, 9.425830078124974], + [-2.766601562499943, 9.424707031250009], + [-2.7171875, 9.457128906250048], + [-2.695849609374989, 9.481347656250009], + [-2.686132812499977, 9.43173828125002], + [-2.705761718749983, 9.351367187499989], + [-2.701806640624966, 9.301660156249994], + [-2.674218749999937, 9.282617187500023], + [-2.689208984374972, 9.218603515625034], + [-2.746679687499977, 9.109619140625028], + [-2.74692382812492, 9.04511718750004], + [-2.689892578124955, 9.02509765625004], + [-2.649218750000017, 8.956591796875031], + [-2.624902343749937, 8.839599609375], + [-2.600390625000017, 8.800439453125023], + [-2.597998046874949, 8.7763671875], + [-2.556884765624943, 8.493017578125006], + [-2.505859375000028, 8.208740234375], + [-2.538281249999955, 8.171630859374986], + [-2.582763671874972, 8.160791015624994], + [-2.61171875, 8.147558593749963], + [-2.619970703125006, 8.12109375], + [-2.600976562499937, 8.082226562499983], + [-2.613378906249977, 8.046679687500017], + [-2.668847656249994, 8.022216796875014], + [-2.789746093749955, 7.931933593750003], + [-2.79814453124996, 7.895996093750056], + [-2.830126953124989, 7.819042968750011], + [-2.856884765624955, 7.772070312500034], + [-2.896337890624977, 7.685009765624969], + [-2.959082031249977, 7.454541015624996], + [-2.982324218750023, 7.263623046875011], + [-2.985791015624926, 7.204882812500031], + [-3.01015625, 7.16376953125001], + [-3.03769531249992, 7.104589843750034], + [-3.168896484374926, 6.940966796875003], + [-3.235791015624955, 6.80722656250002], + [-3.227148437499977, 6.749121093749991], + [-3.224121093749972, 6.690771484375005], + [-3.243896484375, 6.648681640625057], + [-3.240283203124989, 6.535644531250028], + [-3.224023437499966, 6.441064453125037], + [-3.200585937499966, 6.348242187500033], + [-3.105566406249977, 6.085644531250011], + [-3.056152343749943, 5.926269531250043], + [-3.025292968749965, 5.797753906249979], + [-2.998291015624972, 5.711328125000051], + [-2.972802734374937, 5.676269531250013], + [-2.96225585937492, 5.643017578124983], + [-2.821191406249966, 5.619189453125017], + [-2.793652343749954, 5.600097656250028], + [-2.754980468749977, 5.432519531249994], + [-2.761914062499955, 5.356933593750057], + [-2.789599609375017, 5.328222656249977], + [-2.788671875, 5.264111328124969], + [-2.795214843749989, 5.184521484375011], + [-2.815673828125, 5.153027343749997], + [-2.894726562499926, 5.149023437499977], + [-2.94833984374992, 5.11884765625004], + [-3.019140624999948, 5.130810546874997], + [-3.02587890625, 5.150537109375022], + [-3.063964843749943, 5.157714843749972], + [-3.168701171874972, 5.203027343749966], + [-3.151416015624989, 5.34829101562498], + [-3.199951171874943, 5.3544921875], + [-3.23759765624996, 5.335400390625025], + [-3.312011718749943, 5.16079101562498], + [-3.347558593749994, 5.130664062499959], + [-3.870605468749971, 5.220703125000014], + [-3.984179687499931, 5.293164062500025], + [-4.120166015625017, 5.309716796875023], + [-4.357275390625006, 5.301416015625023], + [-4.552832031249949, 5.279882812499991], + [-4.60888671875, 5.235888671875003], + [-4.115185546874955, 5.261621093749994], + [-4.062060546874989, 5.25664062499996], + [-4.037207031249977, 5.23012695312498], + [-4.661523437499994, 5.172558593749969], + [-4.899707031249932, 5.138330078125023], + [-4.970117187499966, 5.147753906249989], + [-5.023681640624943, 5.203613281249999], + [-5.282373046874994, 5.210253906250017], + [-5.335449218749972, 5.19199218750002], + [-5.36752929687492, 5.15078125], + [-5.265771484374994, 5.159716796875017], + [-5.104882812499966, 5.162158203124989], + [-5.061816406249988, 5.130664062499959], + [-5.564746093749959, 5.089453125], + [-5.913769531249926, 5.0109375], + [-6.061718749999955, 4.952832031249969], + [-6.5484375, 4.761767578125045], + [-6.845166015624955, 4.671484375000034], + [-6.922900390624989, 4.638330078125022], + [-7.057958984374977, 4.544726562499959], + [-7.231396484374955, 4.485986328124994], + [-7.426074218749989, 4.376025390624974], + [-7.544970703124989, 4.351318359375], + [-7.571582031249989, 4.38642578125004], + [-7.574658203124983, 4.572314453124989], + [-7.591210937499995, 4.821533203125043], + [-7.585058593749976, 4.916748046875], + [-7.569335937499971, 5.006445312499977], + [-7.56889648437496, 5.080664062499991], + [-7.509765625, 5.108496093749977], + [-7.494140625, 5.139794921875051], + [-7.485205078124977, 5.23642578125002], + [-7.429833984374966, 5.324511718750017], + [-7.428906249999954, 5.477880859375006], + [-7.412451171874977, 5.50991210937505], + [-7.39990234375, 5.550585937499989], + [-7.423730468749966, 5.651318359374983], + [-7.454394531249988, 5.841308593749971], + [-7.469433593749954, 5.853710937500011], + [-7.482812500000023, 5.845507812500031], + [-7.513916015624943, 5.842041015625028], + [-7.636132812499995, 5.907714843749999], + [-7.730371093749994, 5.919042968749991], + [-7.796533203124966, 5.975097656250043], + [-7.800927734374994, 6.038916015624991], + [-7.833251953125, 6.076367187499983], + [-7.855517578125016, 6.150146484375], + [-7.88862304687501, 6.234863281250028], + [-7.981591796874937, 6.2861328125], + [-8.068945312499977, 6.298388671875002], + [-8.131005859374994, 6.287548828125025], + [-8.203857421875, 6.29072265625004], + [-8.287109375, 6.31904296875004], + [-8.344873046874964, 6.351269531250039], + [-8.399316406249937, 6.413183593750034], + [-8.449902343749955, 6.4625], + [-8.49033203124992, 6.456396484375048], + [-8.53955078125, 6.46806640625003], + [-8.587890625, 6.490527343749989], + [-8.603564453124989, 6.507812500000042], + [-8.401220703124977, 6.705126953125003], + [-8.332568359374932, 6.801562500000016], + [-8.325097656250023, 6.860400390625016], + [-8.324511718749989, 6.920019531249991], + [-8.30234375, 6.980957031249972], + [-8.296630859374998, 7.074023437500017], + [-8.408740234374989, 7.411816406249996], + [-8.437158203124937, 7.516406249999988], + [-8.467285156249943, 7.547021484375009], + [-8.486425781249919, 7.558496093750037], + [-8.429980468749989, 7.601855468749988], + [-8.351757812499926, 7.590576171875], + [-8.231884765624953, 7.556738281250033], + [-8.205957031249993, 7.590234375000022], + [-8.115429687499926, 7.760742187500028], + [-8.117822265624966, 7.824023437499959], + [-8.126855468749937, 7.867724609374974], + [-8.073828124999977, 7.984423828125045], + [-8.031738281249943, 8.02973632812504], + [-8.00986328124992, 8.078515625000023], + [-8.016748046874993, 8.144921874999964], + [-8.048583984374998, 8.169726562500045], + [-8.090527343749926, 8.165136718749991], + [-8.140625, 8.181445312500031], + [-8.217138671874949, 8.219677734375011], + [-8.256103515625, 8.253710937500017], + [-8.244140624999943, 8.407910156249983], + [-8.236962890624993, 8.455664062500034], + [-8.2099609375, 8.483251953124963], + [-8.167773437499932, 8.490673828124967], + [-8.049121093749932, 8.495312500000026], + [-7.953125, 8.477734375], + [-7.86875, 8.467529296875057], + [-7.823583984374976, 8.467675781249994], + [-7.787402343749989, 8.421972656250006], + [-7.738964843749982, 8.375244140624986], + [-7.696093749999932, 8.375585937499977], + [-7.681201171874932, 8.41035156250004], + [-7.69096679687496, 8.5625], + [-7.71958007812492, 8.643017578125011], + [-7.78403320312492, 8.720605468750009], + [-7.950976562499989, 8.786816406249997], + [-7.954980468749937, 8.879443359375031], + [-7.938183593749983, 8.97978515624996], + [-7.902099609374999, 9.017089843750014], + [-7.777978515624937, 9.080859375000031], + [-7.799804687499943, 9.115039062499987], + [-7.839404296875016, 9.151611328124972], + [-7.918066406249949, 9.188525390625031], + [-7.9, 9.308691406250006], + [-7.896191406249955, 9.41586914062499], + [-7.962695312499989, 9.40385742187503], + [-8.031005859374972, 9.397656250000011], + [-8.088671874999989, 9.430664062499986], + [-8.136962890624972, 9.49570312499999], + [-8.14604492187496, 9.674804687499984], + [-8.14584960937492, 9.881738281250037], + [-8.155175781249937, 9.973193359375017], + [-8.136621093749994, 10.022070312500034], + [-8.077832031250011, 10.067089843750052], + [-8.013525390624949, 10.125292968750003], + [-7.990625, 10.1625], + [-7.9609375, 10.163476562499966], + [-7.884082031249959, 10.185742187499983], + [-7.814208984374942, 10.236572265625028], + [-7.749072265624989, 10.342285156249986], + [-7.661132812500028, 10.427441406250011], + [-7.56210937499992, 10.421240234374991], + [-7.532812499999976, 10.436816406249974], + [-7.497949218749993, 10.439794921875048], + [-7.45654296875, 10.383935546875037], + [-7.414794921875, 10.341308593750055], + [-7.38505859374999, 10.340136718749989], + [-7.363183593749965, 10.259375], + [-7.182324218749983, 10.225683593750034], + [-7.104882812499937, 10.20351562500005], + [-7.039746093749983, 10.144775390624986], + [-7.017089843749999, 10.143261718750026], + [-6.989453124999955, 10.15566406249998], + [-6.968164062499966, 10.176220703124997], + [-6.963818359374983, 10.198730468750043], + [-6.991748046874988, 10.251855468750037], + [-6.979492187499971, 10.299560546874986], + [-6.950341796874994, 10.342333984374989], + [-6.90380859375, 10.34506835937502], + [-6.833642578125023, 10.35698242187496], + [-6.753222656249959, 10.357128906249983], + [-6.693261718750023, 10.349462890625018], + [-6.669335937499937, 10.392187500000018], + [-6.69199218749992, 10.512011718750017], + [-6.686132812499977, 10.578027343750051], + [-6.676367187499949, 10.633789062500043], + [-6.654150390624948, 10.65644531250004], + [-6.564599609374994, 10.586425781249986], + [-6.482617187499983, 10.561230468749997], + [-6.423925781249949, 10.559130859375017], + [-6.40751953124996, 10.572363281249963], + [-6.432617187499943, 10.648730468749974], + [-6.425878906249977, 10.671777343749966], + [-6.404150390625005, 10.685107421875017], + [-6.365625, 10.692822265624983], + [-6.261132812499994, 10.724072265625054], + [-6.250244140625, 10.717919921875037], + [-6.230664062500011, 10.597509765625018] + ] + ] + ] + } + }, + { + "type": "Feature", + "properties": { + "scalerank": 1, + "featurecla": "Admin-0 country", + "labelrank": 3, + "sovereignt": "Cameroon", + "sov_a3": "CMR", + "adm0_dif": 0, + "level": 2, + "type": "Sovereign country", + "admin": "Cameroon", + "adm0_a3": "CMR", + "geou_dif": 0, + "geounit": "Cameroon", + "gu_a3": "CMR", + "su_dif": 0, + "subunit": "Cameroon", + "su_a3": "CMR", + "brk_diff": 0, + "name": "Cameroon", + "name_long": "Cameroon", + "brk_a3": "CMR", + "brk_name": "Cameroon", + "brk_group": null, + "abbrev": "Cam.", + "postal": "CM", + "formal_en": "Republic of Cameroon", + "formal_fr": null, + "note_adm0": null, + "note_brk": null, + "name_sort": "Cameroon", + "name_alt": null, + "mapcolor7": 1, + "mapcolor8": 4, + "mapcolor9": 1, + "mapcolor13": 3, + "pop_est": 18879301, + "gdp_md_est": 42750, + "pop_year": -99, + "lastcensus": 2005, + "gdp_year": -99, + "economy": "6. Developing region", + "income_grp": "4. Lower middle income", + "wikipedia": -99, + "fips_10": null, + "iso_a2": "CM", + "iso_a3": "CMR", + "iso_n3": "120", + "un_a3": "120", + "wb_a2": "CM", + "wb_a3": "CMR", + "woe_id": -99, + "adm0_a3_is": "CMR", + "adm0_a3_us": "CMR", + "adm0_a3_un": -99, + "adm0_a3_wb": -99, + "continent": "Africa", + "region_un": "Africa", + "subregion": "Middle Africa", + "region_wb": "Sub-Saharan Africa", + "name_len": 8, + "long_len": 8, + "abbrev_len": 4, + "tiny": -99, + "homepart": 1, + "filename": "CMR.geojson" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [15.480078125, 7.523779296874991], + [15.379101562500011, 7.358154296875], + [15.245898437500017, 7.263574218749994], + [15.20673828125001, 7.206152343749991], + [15.185839843750017, 7.134912109374994], + [15.157128906250021, 7.063574218749991], + [15.086328125000023, 6.909912109375], + [15.034570312500023, 6.784423828125], + [14.982714843750017, 6.7453125], + [14.861914062500004, 6.555712890624989], + [14.780371093750004, 6.36572265625], + [14.764062500000021, 6.316357421874997], + [14.739257812499998, 6.279785156249999], + [14.699511718750017, 6.250244140625], + [14.559375, 6.191210937499989], + [14.512109375000025, 6.161914062499989], + [14.475, 6.126806640624991], + [14.440722656250017, 6.086718749999989], + [14.431152343749998, 6.038720703124994], + [14.4638671875, 5.970703125], + [14.503125, 5.916894531249994], + [14.542480468749998, 5.913574218749999], + [14.577246093750004, 5.916015625], + [14.598828125000011, 5.883984375], + [14.61689453125001, 5.865136718749993], + [14.61689453125001, 5.495507812499994], + [14.58359375, 5.439648437499997], + [14.584375, 5.414746093749997], + [14.568066406250013, 5.35107421875], + [14.56298828125, 5.279931640624994], + [14.573535156250017, 5.251708984375], + [14.60175781250001, 5.228808593749989], + [14.640625, 5.179052734374991], + [14.66171875, 5.065527343749991], + [14.708984375, 4.665576171874989], + [14.73125, 4.602392578124991], + [14.770410156250021, 4.55810546875], + [14.8935546875, 4.471875], + [15.022753906250017, 4.358544921874994], + [15.063574218750006, 4.284863281249997], + [15.0875, 4.163964843749994], + [15.136914062500011, 4.069140624999989], + [15.135839843750004, 4.036914062499989], + [15.115429687500013, 4.024462890624989], + [15.0673828125, 4.02294921875], + [15.034863281250011, 4.016357421875], + [15.062109375, 3.947216796874997], + [15.128710937500015, 3.826904296875], + [15.23984375, 3.7021484375], + [15.360156250000019, 3.567138671875], + [15.458398437500023, 3.456835937499989], + [15.580859375000017, 3.329296875], + [15.676562500000019, 3.2296875], + [15.775, 3.127197265625], + [15.849316406250011, 3.103076171874989], + [15.904882812500006, 3.095849609374994], + [15.9287109375, 3.07578125], + [15.958007812499998, 3.028710937499994], + [16.008203125000023, 2.976660156249991], + [16.0634765625, 2.90859375], + [16.082421875000023, 2.839111328125], + [16.05927734375001, 2.772998046874988], + [16.082128906250006, 2.678173828124997], + [16.08349609375, 2.670019531249991], + [16.101855468750017, 2.632666015624991], + [16.095507812500014, 2.59921875], + [16.106738281250017, 2.473486328124991], + [16.136132812500023, 2.36376953125], + [16.183398437500017, 2.270068359374989], + [16.1826171875, 2.262451171875], + [16.176562500000017, 2.204785156249997], + [16.11572265625, 2.167822265624991], + [16.080078125, 2.106787109374991], + [16.069628906250017, 2.021679687499997], + [16.087890625, 1.918066406249991], + [16.13496093750001, 1.795947265624988], + [16.136132812500023, 1.72421875], + [16.119531250000023, 1.714111328125], + [16.09033203125, 1.691259765624991], + [16.059375, 1.676220703124997], + [15.975195312500006, 1.760009765625], + [15.881640625000015, 1.816601562499997], + [15.741601562500025, 1.914990234374997], + [15.60029296875001, 1.950390625], + [15.41748046875, 1.956738281249997], + [15.338769531250021, 1.944726562499995], + [15.282421875000011, 1.981738281249988], + [15.203515625000023, 2.024462890624989], + [15.160058593750023, 2.035595703124997], + [15.099609375, 2.00234375], + [15.057812500000011, 2.000878906249994], + [15.006445312500006, 2.013769531249991], + [14.902441406250004, 2.012304687499991], + [14.89277343750001, 2.0693359375], + [14.875, 2.08046875], + [14.762890625000011, 2.0751953125], + [14.728320312500017, 2.122412109374991], + [14.713281250000023, 2.117138671874997], + [14.669140625000011, 2.132080078125], + [14.578906250000015, 2.199121093749994], + [14.48408203125001, 2.154736328124997], + [14.287011718750023, 2.160351562499997], + [14.034375, 2.158886718749997], + [13.772753906250015, 2.157421875], + [13.533496093750017, 2.159521484374991], + [13.293554687500006, 2.161572265624997], + [13.269921875000021, 2.22421875], + [13.2203125, 2.256445312499991], + [13.130859375, 2.259423828124994], + [12.867480468750017, 2.246777343749997], + [12.665722656250011, 2.256787109374997], + [12.601367187500017, 2.265039062499994], + [12.529785156249998, 2.281347656249991], + [12.361328125, 2.295996093749991], + [12.153417968750006, 2.284375], + [12.106152343750011, 2.2875], + [11.939746093750017, 2.28515625], + [11.558984375000023, 2.302197265624997], + [11.348437500000017, 2.299707031249994], + [11.353320312500017, 2.261425781249997], + [11.339941406250006, 2.233837890624997], + [11.328710937500004, 2.167431640624997], + [11.096582031250023, 2.16748046875], + [10.790917968750023, 2.16757812499999], + [10.502246093750017, 2.167626953124994], + [10.307031250000023, 2.167724609375], + [9.979882812500021, 2.167773437499989], + [9.8701171875, 2.21328125], + [9.8369140625, 2.242382812499997], + [9.830371093750015, 2.275488281249991], + [9.826171875, 2.297802734374997], + [9.80078125, 2.304443359375], + [9.82177734375, 2.539257812499997], + [9.867578125000023, 2.734960937499991], + [9.885449218750011, 2.916552734374988], + [9.948437500000011, 3.079052734374997], + [9.9150390625, 3.239648437499994], + [9.876171875000011, 3.309765625], + [9.672070312500011, 3.53759765625], + [9.765722656250006, 3.623828124999989], + [9.642382812500017, 3.611767578124997], + [9.615917968750011, 3.696484375], + [9.556152343749998, 3.798046875], + [9.5927734375, 3.814306640624991], + [9.628125, 3.870019531249995], + [9.739648437500023, 3.852929687499995], + [9.736132812500017, 3.880126953125], + [9.639941406250017, 3.96533203125], + [9.649218750000017, 4.008349609374989], + [9.688867187500023, 4.056396484374999], + [9.66953125, 4.07666015625], + [9.600390625000017, 4.026904296874989], + [9.550585937500017, 4.028417968749991], + [9.511816406250006, 4.060644531249991], + [9.483691406250017, 4.066113281249996], + [9.500781250000017, 4.000732421875], + [9.462011718750006, 3.942529296874994], + [9.42529296875, 3.922314453124998], + [9.3623046875, 3.925732421874997], + [9.310937500000023, 3.940380859374997], + [9.29736328125, 3.972949218749989], + [9.249121093750004, 3.997851562499988], + [9.113867187500006, 4.041064453124989], + [9.000097656250006, 4.091601562499989], + [8.97705078125, 4.230419921874997], + [8.932031250000023, 4.290234375], + [8.913574218749998, 4.3578125], + [8.90283203125, 4.43515625], + [8.918261718750017, 4.553759765624989], + [8.889453125000015, 4.57275390625], + [8.8564453125, 4.579248046874994], + [8.80712890625, 4.5734375], + [8.761914062500011, 4.580029296874997], + [8.707910156250023, 4.645703125], + [8.660351562500011, 4.670996093749991], + [8.689648437500011, 4.550244140624997], + [8.65625, 4.516357421875], + [8.574414062500011, 4.526220703124991], + [8.53955078125, 4.571875], + [8.5328125, 4.60585937499999], + [8.570507812500011, 4.752099609374993], + [8.555859375000011, 4.755224609374991], + [8.585156250000011, 4.832812499999989], + [8.640527343750023, 4.927001953125], + [8.715625, 5.046875], + [8.80097656250001, 5.197460937499997], + [8.859179687500017, 5.463769531249994], + [8.898828125000023, 5.629687499999989], + [8.93505859375, 5.781005859374999], + [8.997167968750006, 5.917724609375], + [9.06015625, 6.009082031249989], + [9.23876953125, 6.186132812499991], + [9.373339843750017, 6.319628906249989], + [9.442187500000017, 6.373388671874991], + [9.490234375, 6.418652343749997], + [9.574023437500017, 6.470410156249997], + [9.659960937500017, 6.531982421875], + [9.7255859375, 6.65], + [9.779882812500006, 6.76015625], + [9.820703125000023, 6.783935546874999], + [9.874218750000011, 6.803271484374989], + [10.038867187500015, 6.921386718749999], + [10.1435546875, 6.996435546874991], + [10.167773437500017, 6.959179687499997], + [10.185546875, 6.912792968749997], + [10.205468750000021, 6.8916015625], + [10.293066406250006, 6.876757812499989], + [10.413183593750006, 6.877734374999989], + [10.482324218750023, 6.891259765624994], + [10.51904296875, 6.930468749999989], + [10.556347656250011, 7.037451171874991], + [10.578125, 7.057714843749991], + [10.60625, 7.063085937499991], + [10.737597656250017, 6.98828125], + [10.846484375000017, 6.881787109374997], + [10.954199218750006, 6.7765625], + [11.008691406250023, 6.739111328124991], + [11.032519531250017, 6.697900390624994], + [11.0796875, 6.505517578124994], + [11.1064453125, 6.457714843749997], + [11.1533203125, 6.437939453124997], + [11.2373046875, 6.450537109374991], + [11.324609375000023, 6.484667968749989], + [11.401757812500023, 6.533935546875], + [11.477539062499998, 6.597412109374999], + [11.529101562500017, 6.655029296875], + [11.551660156250021, 6.697265625], + [11.56298828125, 6.854638671874994], + [11.580078125, 6.888867187499996], + [11.657519531250017, 6.9515625], + [11.787011718750023, 7.056201171874989], + [11.861425781250006, 7.11640625], + [11.854785156250017, 7.137988281249989], + [11.80859375, 7.201953124999988], + [11.767382812500017, 7.272265624999989], + [11.809179687500006, 7.345068359374991], + [11.852441406250023, 7.400732421874991], + [12.016015625000023, 7.589746093749993], + [12.0166015625, 7.652001953124993], + [12.025195312500017, 7.727783203124999], + [12.155957031250011, 7.942480468749991], + [12.231152343750011, 8.227392578124991], + [12.2333984375, 8.282324218749991], + [12.311328125000017, 8.419726562499989], + [12.403515625000011, 8.595556640624991], + [12.58271484375001, 8.624121093749991], + [12.651562500000011, 8.667773437499989], + [12.731152343750011, 8.745654296874989], + [12.7822265625, 8.81787109375], + [12.806542968750023, 8.886621093749994], + [12.82441406250001, 9.019433593749994], + [12.85595703125, 9.170751953124991], + [12.87568359375001, 9.303515624999989], + [12.929492187500017, 9.42626953125], + [13.019433593750023, 9.488330078124989], + [13.175488281250011, 9.539648437499991], + [13.19873046875, 9.563769531249989], + [13.22119140625, 9.645166015624993], + [13.23876953125, 9.814013671874989], + [13.24375, 9.915917968749994], + [13.249804687500015, 9.96005859374999], + [13.269921875000021, 10.036181640624989], + [13.41455078125, 10.171435546874987], + [13.478515625, 10.383251953124997], + [13.535351562500011, 10.60507812499999], + [13.699902343750011, 10.87314453124999], + [13.89208984375, 11.140087890624997], + [13.9814453125, 11.211865234374997], + [14.056738281250006, 11.245019531249994], + [14.143261718750011, 11.24853515625], + [14.202343750000011, 11.268164062499991], + [14.409472656250017, 11.401171874999989], + [14.49609375, 11.446142578124991], + [14.559765625000011, 11.49228515624999], + [14.575390625000011, 11.532421875], + [14.581640625, 11.591162109374991], + [14.561816406250015, 11.728710937499997], + [14.59736328125001, 11.829833984375], + [14.6181640625, 11.986621093749989], + [14.62714843750001, 12.108691406249989], + [14.619726562500004, 12.15097656249999], + [14.587011718750006, 12.209423828124997], + [14.580957031250023, 12.222070312499994], + [14.518945312500023, 12.298242187499994], + [14.415429687500021, 12.34414062499999], + [14.272851562500021, 12.356494140624989], + [14.197460937500011, 12.3837890625], + [14.184863281250017, 12.447216796874997], + [14.177636718750021, 12.484082031249997], + [14.170312500000021, 12.524072265624994], + [14.160058593750023, 12.61279296875], + [14.063964843749998, 13.07851562499999], + [14.244824218750011, 13.07734375], + [14.461718750000015, 13.021777343749989], + [14.516210937500006, 12.979736328125], + [14.544726562500015, 12.820214843749994], + [14.62324218750001, 12.729931640624997], + [14.76123046875, 12.65561523437499], + [14.847070312500021, 12.502099609374993], + [14.880664062500015, 12.269384765624991], + [14.95673828125001, 12.13037109375], + [14.97382812500001, 12.108349609374997], + [15.059863281250017, 11.907128906249994], + [15.08125, 11.845507812499989], + [15.087695312500015, 11.724365234375], + [15.078027343750021, 11.642578125], + [15.121972656250023, 11.541259765625], + [15.055468750000017, 11.368554687499994], + [15.035742187500006, 11.2625], + [15.029882812500006, 11.11367187499999], + [15.068652343750015, 10.851074218749998], + [15.132226562500025, 10.648486328124989], + [15.200976562500017, 10.484521484374993], + [15.276074218750011, 10.357373046874997], + [15.399902343749998, 10.216894531249991], + [15.53193359375001, 10.08847656249999], + [15.654882812500004, 10.0078125], + [15.540917968750023, 9.960302734374991], + [15.32001953125001, 9.954296875], + [15.193164062500015, 9.981494140624989], + [15.132714843750023, 9.982861328124997], + [15.071582031250017, 9.965966796874993], + [14.835839843750023, 9.941699218749989], + [14.597949218750017, 9.953076171874997], + [14.377246093750017, 9.985058593749997], + [14.243261718750006, 9.979736328125], + [14.139746093750004, 9.901806640624997], + [14.055957031250015, 9.784375], + [13.977246093750011, 9.691552734374994], + [14.004980468750004, 9.588720703124991], + [14.064160156250011, 9.53173828125], + [14.177929687500011, 9.406494140624998], + [14.280078125000017, 9.285058593749994], + [14.332324218750017, 9.20351562499999], + [14.536132812499998, 9.025244140624991], + [14.732812500000023, 8.865673828124997], + [14.771289062500015, 8.839160156249987], + [14.826269531250006, 8.810302734375], + [14.860742187500023, 8.798632812499989], + [14.967968750000013, 8.707275390624998], + [15.1162109375, 8.557324218749997], + [15.252343750000023, 8.322363281249991], + [15.349023437500023, 8.083837890624991], + [15.44296875, 7.851855468749989], + [15.484472656250007, 7.812744140625], + [15.549804687499998, 7.787890624999988], + [15.55781250000001, 7.738037109375], + [15.552636718750021, 7.664501953124997], + [15.532421875000013, 7.604394531249994], + [15.480078125, 7.523779296874991] + ] + ] + } + }, + { + "type": "Feature", + "properties": { + "scalerank": 1, + "featurecla": "Admin-0 country", + "labelrank": 4, + "sovereignt": "Botswana", + "sov_a3": "BWA", + "adm0_dif": 0, + "level": 2, + "type": "Sovereign country", + "admin": "Botswana", + "adm0_a3": "BWA", + "geou_dif": 0, + "geounit": "Botswana", + "gu_a3": "BWA", + "su_dif": 0, + "subunit": "Botswana", + "su_a3": "BWA", + "brk_diff": 0, + "name": "Botswana", + "name_long": "Botswana", + "brk_a3": "BWA", + "brk_name": "Botswana", + "brk_group": null, + "abbrev": "Bwa.", + "postal": "BW", + "formal_en": "Republic of Botswana", + "formal_fr": null, + "note_adm0": null, + "note_brk": null, + "name_sort": "Botswana", + "name_alt": null, + "mapcolor7": 6, + "mapcolor8": 5, + "mapcolor9": 7, + "mapcolor13": 3, + "pop_est": 1990876, + "gdp_md_est": 27060, + "pop_year": -99, + "lastcensus": 2011, + "gdp_year": -99, + "economy": "6. Developing region", + "income_grp": "3. Upper middle income", + "wikipedia": -99, + "fips_10": null, + "iso_a2": "BW", + "iso_a3": "BWA", + "iso_n3": "072", + "un_a3": "072", + "wb_a2": "BW", + "wb_a3": "BWA", + "woe_id": -99, + "adm0_a3_is": "BWA", + "adm0_a3_us": "BWA", + "adm0_a3_un": -99, + "adm0_a3_wb": -99, + "continent": "Africa", + "region_un": "Africa", + "subregion": "Southern Africa", + "region_wb": "Sub-Saharan Africa", + "name_len": 8, + "long_len": 8, + "abbrev_len": 4, + "tiny": -99, + "homepart": 1, + "filename": "BWA.geojson" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [25.2587890625, -17.793554687500006], + [25.239062500000017, -17.843066406250003], + [25.224023437500023, -17.91523437500001], + [25.242285156250006, -17.969042968750003], + [25.28242187500001, -18.04121093750001], + [25.340234375000023, -18.1044921875], + [25.384375, -18.14199218750001], + [25.43671875000001, -18.234960937500006], + [25.489257812499996, -18.35126953125001], + [25.55830078125001, -18.441796875], + [25.76123046875, -18.64921875], + [25.78369140625, -18.723535156250005], + [25.811914062500023, -18.79707031250001], + [25.939355468750023, -18.93867187500001], + [25.959179687500008, -18.98564453125], + [25.95068359375, -19.08173828125001], + [26.081933593750023, -19.369921875], + [26.168066406250002, -19.53828125000001], + [26.241015625000017, -19.5693359375], + [26.474609375, -19.748632812500006], + [26.678222656249996, -19.89277343750001], + [26.91669921875001, -19.99013671875001], + [27.091796875, -20.05419921875], + [27.17822265625, -20.10097656250001], + [27.221484375000017, -20.145800781250003], + [27.256738281250023, -20.23203125], + [27.274609375, -20.3818359375], + [27.28076171875, -20.47871093750001], + [27.468945312500008, -20.47480468750001], + [27.624609375, -20.48359375000001], + [27.679296875, -20.503027343750006], + [27.69960937500002, -20.53066406250001], + [27.69482421875, -20.59453125], + [27.69697265625001, -20.689746093750003], + [27.704296875, -20.76640625], + [27.688085937500006, -20.848339843750008], + [27.67695312500001, -20.94482421875], + [27.66943359375, -21.0642578125], + [27.693457031250006, -21.11103515625001], + [27.844140625000023, -21.261523437500003], + [27.907421875, -21.35908203125001], + [27.974609375, -21.50673828125001], + [28.01406250000002, -21.55419921875], + [28.04560546875001, -21.573046875], + [28.181640625, -21.58935546875], + [28.532031250000017, -21.65126953125001], + [28.74775390625001, -21.707617187500006], + [28.919335937500023, -21.766015625], + [28.99072265625, -21.78144531250001], + [29.02558593750001, -21.796875], + [29.03730468750001, -21.811328125], + [29.01582031250001, -21.93994140625], + [29.023339843750023, -21.98125], + [29.042382812500023, -22.018359375], + [29.07148437500001, -22.047460937500006], + [29.106835937500023, -22.065722656250003], + [29.237207031250023, -22.07949218750001], + [29.315234375000014, -22.15771484375], + [29.36484375, -22.193945312500006], + [29.1298828125, -22.21328125], + [29.013476562500017, -22.278417968750006], + [28.945800781249996, -22.395117187500006], + [28.83984375, -22.480859375], + [28.69550781250001, -22.53544921875], + [28.542871093750023, -22.57294921875001], + [28.38173828125002, -22.593359375], + [28.21015625000001, -22.69365234375], + [28.027929687500006, -22.87373046875001], + [27.93505859375, -22.987011718750008], + [27.93134765625001, -23.03359375], + [27.890527343750023, -23.07392578125001], + [27.812597656250002, -23.108007812500002], + [27.7685546875, -23.14892578125], + [27.758300781249996, -23.196777343749996], + [27.716796875, -23.21962890625001], + [27.643847656250017, -23.21767578125001], + [27.59267578125002, -23.25263671875001], + [27.563183593750008, -23.324609375], + [27.49873046875001, -23.36835937500001], + [27.399218750000014, -23.38359375], + [27.313378906250023, -23.42421875], + [27.2412109375, -23.490039062500003], + [27.185546875, -23.5234375], + [27.146386718750023, -23.5244140625], + [27.085546875, -23.577929687500003], + [26.98701171875001, -23.70458984375], + [26.97060546875002, -23.763476562500003], + [26.835058593750002, -24.240820312500006], + [26.761132812500023, -24.297167968750003], + [26.617773437500006, -24.3955078125], + [26.5015625, -24.51328125], + [26.451757812500006, -24.58271484375001], + [26.39716796875001, -24.613574218750003], + [26.130859375, -24.671484375], + [26.031835937500006, -24.702441406250003], + [25.912109375, -24.747460937500005], + [25.8818359375, -24.787988281250005], + [25.852441406250023, -24.93525390625001], + [25.769921875000023, -25.146484375], + [25.70263671875, -25.30234375], + [25.6591796875, -25.437890625], + [25.583789062500014, -25.60625], + [25.518164062500006, -25.66279296875001], + [25.443652343750017, -25.714453125], + [25.34619140625, -25.73994140625001], + [25.213378906249996, -25.75625], + [25.09248046875001, -25.75146484375], + [24.99892578125002, -25.754003906250006], + [24.869238281250006, -25.8134765625], + [24.748144531250002, -25.8173828125], + [24.55585937500001, -25.78310546875001], + [24.400195312500017, -25.749804687500003], + [24.33056640625, -25.74287109375001], + [24.19296875, -25.632910156250006], + [24.1044921875, -25.634863281250006], + [23.969531250000017, -25.626074218750006], + [23.89375, -25.600878906250003], + [23.82343750000001, -25.544628906250008], + [23.670703125000017, -25.433984375], + [23.521484375, -25.34443359375001], + [23.389257812500006, -25.29140625], + [23.266015625000023, -25.2666015625], + [23.148730468750017, -25.288671875], + [23.057519531250023, -25.312304687500003], + [23.022070312500006, -25.32412109375001], + [22.951269531250006, -25.37031250000001], + [22.878808593750023, -25.45791015625001], + [22.818945312500006, -25.59511718750001], + [22.79609375000001, -25.67910156250001], + [22.72900390625, -25.857324218750005], + [22.640234375, -26.071191406250005], + [22.59765625, -26.13271484375001], + [22.548632812500017, -26.17841796875001], + [22.47089843750001, -26.219042968750003], + [22.217578125000017, -26.38886718750001], + [22.090917968750006, -26.580175781250006], + [22.01093750000001, -26.635839843750006], + [21.91455078125, -26.661914062500003], + [21.83320312500001, -26.678320312500006], + [21.78828125000001, -26.710058593750006], + [21.738085937500017, -26.80683593750001], + [21.69472656250002, -26.840917968750006], + [21.646289062500017, -26.85419921875001], + [21.501367187500023, -26.84267578125001], + [21.454980468750023, -26.8328125], + [21.070996093750008, -26.85175781250001], + [20.953906250000017, -26.82109375], + [20.870898437500017, -26.80878906250001], + [20.73984375, -26.848828125], + [20.68505859375, -26.82246093750001], + [20.641406250000017, -26.7421875], + [20.619921875000017, -26.580859375], + [20.626757812500017, -26.44384765625], + [20.697851562500002, -26.340136718750003], + [20.75703125000001, -26.26416015625], + [20.815039062500006, -26.16494140625001], + [20.822656250000023, -26.12060546875], + [20.81103515625, -26.08056640625], + [20.799414062500006, -25.9990234375], + [20.79316406250001, -25.915625], + [20.710742187500017, -25.733203125], + [20.609277343750023, -25.491210937499996], + [20.47314453125, -25.221289062500006], + [20.4306640625, -25.147070312500006], + [20.34521484375, -25.029882812500006], + [20.028613281250017, -24.80703125], + [19.98046875, -24.77675781250001], + [19.98046875, -24.751953125], + [19.980175781250008, -24.535742187500006], + [19.97988281250002, -24.249023437499996], + [19.979589843750006, -23.962402343749996], + [19.979296875000017, -23.67578125], + [19.978906250000023, -23.389160156249996], + [19.978515625, -23.1025390625], + [19.978222656250008, -22.81591796875], + [19.977929687500023, -22.529296875], + [19.977636718750006, -22.242578125], + [19.977343750000017, -22.00019531250001], + [20.205371093750017, -22.00019531250001], + [20.4875, -22.00019531250001], + [20.82275390625, -22.00019531250001], + [20.970996093750017, -22.00019531250001], + [20.9794921875, -21.9619140625], + [20.979296875000017, -21.78408203125001], + [20.97871093750001, -21.376074218750006], + [20.978125, -20.96816406250001], + [20.977441406250023, -20.56025390625001], + [20.976855468750017, -20.15234375], + [20.976171875, -19.74433593750001], + [20.9755859375, -19.33642578125], + [20.975, -18.928515625], + [20.97431640625001, -18.5205078125], + [20.97412109375, -18.31884765625], + [21.232519531250002, -18.30683593750001], + [21.529687500000023, -18.265625], + [22.01142578125001, -18.19863281250001], + [22.460058593750002, -18.11572265625], + [22.752734375000017, -18.0671875], + [23.099902343750017, -18.009570312500003], + [23.219335937500006, -17.99970703125001], + [23.2515625, -18.00751953125001], + [23.298632812500017, -18.02734375], + [23.459765625000017, -18.231054687500006], + [23.56015625, -18.38642578125001], + [23.58056640625, -18.452929687500003], + [23.599707031250002, -18.4599609375], + [23.64716796875001, -18.44941406250001], + [23.700488281250017, -18.42431640625], + [23.8642578125, -18.26953125], + [23.898339843750023, -18.22919921875001], + [24.002636718750008, -18.154101562500003], + [24.129296875000023, -18.077539062500005], + [24.243945312500017, -18.0234375], + [24.358984375, -17.97822265625001], + [24.412207031250002, -17.989453125], + [24.474902343750017, -18.02851562500001], + [24.530566406250017, -18.052734375], + [24.79218750000001, -17.86464843750001], + [24.90908203125002, -17.821386718750006], + [25.21601562500001, -17.78759765625], + [25.2587890625, -17.793554687500006] + ] + ] + } + }, + { + "type": "Feature", + "properties": { + "scalerank": 1, + "featurecla": "Admin-0 country", + "labelrank": 3, + "sovereignt": "Angola", + "sov_a3": "AGO", + "adm0_dif": 0, + "level": 2, + "type": "Sovereign country", + "admin": "Angola", + "adm0_a3": "AGO", + "geou_dif": 0, + "geounit": "Angola", + "gu_a3": "AGO", + "su_dif": 0, + "subunit": "Angola", + "su_a3": "AGO", + "brk_diff": 0, + "name": "Angola", + "name_long": "Angola", + "brk_a3": "AGO", + "brk_name": "Angola", + "brk_group": null, + "abbrev": "Ang.", + "postal": "AO", + "formal_en": "People's Republic of Angola", + "formal_fr": null, + "note_adm0": null, + "note_brk": null, + "name_sort": "Angola", + "name_alt": null, + "mapcolor7": 3, + "mapcolor8": 2, + "mapcolor9": 6, + "mapcolor13": 1, + "pop_est": 12799293, + "gdp_md_est": 110300, + "pop_year": -99, + "lastcensus": 1970, + "gdp_year": -99, + "economy": "7. Least developed region", + "income_grp": "3. Upper middle income", + "wikipedia": -99, + "fips_10": null, + "iso_a2": "AO", + "iso_a3": "AGO", + "iso_n3": "024", + "un_a3": "024", + "wb_a2": "AO", + "wb_a3": "AGO", + "woe_id": -99, + "adm0_a3_is": "AGO", + "adm0_a3_us": "AGO", + "adm0_a3_un": -99, + "adm0_a3_wb": -99, + "continent": "Africa", + "region_un": "Africa", + "subregion": "Middle Africa", + "region_wb": "Sub-Saharan Africa", + "name_len": 6, + "long_len": 6, + "abbrev_len": 4, + "tiny": -99, + "homepart": 1, + "filename": "AGO.geojson" + }, + "geometry": { + "type": "MultiPolygon", + "coordinates": [ + [ + [ + [14.190820312500078, -5.8759765625], + [14.398632812500066, -5.892675781250019], + [14.657910156250042, -5.888867187499954], + [14.749414062500025, -5.88007812500004], + [15.089355468749998, -5.874511718749972], + [15.425, -5.868847656249969], + [15.726953125000051, -5.86386718750002], + [16.060156250000063, -5.864941406249968], + [16.315234375000074, -5.865625], + [16.431445312500042, -5.90019531249996], + [16.53710937499997, -5.9658203125], + [16.58515625000001, -6.025292968749951], + [16.608007812500034, -6.051562499999974], + [16.63955078125008, -6.114550781250017], + [16.697265625, -6.164257812500026], + [16.71777343750003, -6.241406250000011], + [16.700976562500042, -6.345996093750002], + [16.709375, -6.471679687499943], + [16.74296874999999, -6.618457031250003], + [16.813085937500063, -6.772558593749963], + [16.919433593750057, -6.93398437499998], + [16.9658203125, -7.062109374999976], + [16.952050781250048, -7.157031249999946], + [16.98476562500005, -7.257421874999977], + [17.063769531250074, -7.363085937500003], + [17.121582031250025, -7.419042968750034], + [17.155078125000017, -7.461328125000037], + [17.245019531250048, -7.623339843750002], + [17.41132812500001, -7.88193359375002], + [17.536035156249994, -8.075878906249997], + [17.57958984375, -8.099023437500009], + [17.643359375000017, -8.090722656250009], + [17.77880859375, -8.071386718749977], + [17.9130859375, -8.067675781250017], + [18.00878906250003, -8.107617187499983], + [18.047167968750045, -8.100781250000011], + [18.191503906250063, -8.023828124999966], + [18.334863281250023, -8.000292968749974], + [18.48466796874999, -7.968554687499988], + [18.56269531250001, -7.9359375], + [18.653417968750002, -7.936035156250028], + [18.89833984375008, -7.998144531249977], + [18.944433593750063, -8.001464843750028], + [19.142675781250034, -8.001464843750028], + [19.34082031249997, -7.96660156250003], + [19.369921875000045, -7.706542968749986], + [19.371679687500063, -7.655078124999989], + [19.41933593750008, -7.55732421874997], + [19.47988281250008, -7.472167968750028], + [19.487402343750002, -7.390722656249949], + [19.48378906250008, -7.279492187500025], + [19.527636718750014, -7.144433593749952], + [19.660351562500068, -7.037109375000028], + [19.87519531250004, -6.986328124999986], + [19.99746093750008, -6.976464843750023], + [20.190039062500063, -6.9462890625], + [20.482226562500074, -6.915820312500017], + [20.59003906250001, -6.919921874999957], + [20.598730468750006, -6.935156249999949], + [20.536914062500045, -7.121777343749954], + [20.535839843749983, -7.182812499999954], + [20.558398437500045, -7.244433593749989], + [20.60781250000008, -7.277734375000022], + [20.910937500000017, -7.281445312499982], + [21.19033203125002, -7.284960937499989], + [21.510839843750034, -7.296679687499974], + [21.751074218750034, -7.305468749999989], + [21.78164062500005, -7.314648437499996], + [21.80605468750005, -7.32861328125], + [21.84160156249999, -7.420996093749991], + [21.83359375000006, -7.601660156250021], + [21.780078125000074, -7.865429687500025], + [21.800878906250063, -8.111914062499977], + [21.895898437500048, -8.341113281249946], + [21.905371093750034, -8.693359374999943], + [21.871875, -8.90351562500004], + [21.82949218750002, -9.168457031250014], + [21.813183593750065, -9.46875], + [21.85664062500004, -9.594238281249986], + [21.94863281250005, -9.7255859375], + [22.089160156250074, -9.862792968749986], + [22.19775390625, -10.040625], + [22.274511718750006, -10.259082031249974], + [22.302441406250008, -10.39667968750004], + [22.281640625000023, -10.453320312500026], + [22.283203125, -10.551562499999974], + [22.30703125000005, -10.691308593750023], + [22.280468750000068, -10.783984374999973], + [22.203515625000023, -10.829492187500009], + [22.17792968750004, -10.89228515625001], + [22.21669921875002, -11.012695312499943], + [22.226171875, -11.121972656250009], + [22.25664062499999, -11.163671874999977], + [22.27880859375, -11.19414062499996], + [22.314941406250057, -11.198632812499993], + [22.39296875000005, -11.159472656250001], + [22.486132812500045, -11.086718750000015], + [22.56103515625003, -11.05585937500004], + [22.666503906249996, -11.059765625000026], + [22.814746093750017, -11.08027343750004], + [23.076269531250006, -11.087890624999986], + [23.156738281250057, -11.074804687499991], + [23.400195312500017, -10.976464843750021], + [23.463964843750034, -10.969335937499991], + [23.55996093750005, -10.97861328125002], + [23.696386718750034, -11.007617187499974], + [23.83388671875008, -11.013671874999972], + [23.901171875000017, -10.983203124999974], + [23.907324218750034, -10.943457031249963], + [23.92871093750003, -10.891503906250037], + [23.96650390625001, -10.871777343750011], + [23.98828125, -11.00283203124998], + [24.01005859375007, -11.184765625000011], + [24.02558593750004, -11.315625], + [24.04140625000008, -11.374121093750034], + [24.04667968750007, -11.405371093750006], + [24.029296875, -11.439160156249969], + [24.01464843750003, -11.517675781249977], + [23.986816406250057, -11.587207031250015], + [23.970996093750017, -11.635839843749977], + [23.983886718749996, -11.725], + [23.973437500000074, -11.852929687499964], + [23.962304687500023, -11.98789062500002], + [23.95888671875005, -12.11777343750002], + [23.99648437500008, -12.350683593750034], + [23.991308593750006, -12.422167968750031], + [23.944726562499994, -12.54375], + [23.909375, -12.636132812500009], + [23.886523437500045, -12.74326171874999], + [23.882421875, -12.799023437499983], + [23.968066406250045, -12.956933593749994], + [23.962988281250006, -12.988476562500026], + [23.897460937500057, -12.998242187499983], + [23.843164062500023, -13.0009765625], + [23.635839843750063, -13.0009765625], + [23.33867187500007, -13.0009765625], + [23.04150390625003, -13.0009765625], + [22.744335937500068, -13.0009765625], + [22.470996093750074, -13.0009765625], + [22.209570312500006, -13.0009765625], + [21.97890625000008, -13.0009765625], + [21.97900390625003, -13.156835937499963], + [21.979101562500034, -13.477734374999969], + [21.979101562500034, -13.798730468749994], + [21.979296875000074, -14.119628906249998], + [21.979394531249994, -14.440527343750004], + [21.97949218750003, -14.761425781250011], + [21.979589843750034, -15.082324218750017], + [21.979687500000068, -15.403222656250021], + [21.97978515624999, -15.724121093750028], + [21.97978515624999, -15.955566406250014], + [22.040234375000068, -16.26279296874999], + [22.15068359374999, -16.597167968749986], + [22.193945312500006, -16.628125], + [22.305078125000023, -16.689550781249977], + [22.45947265625003, -16.81513671874998], + [22.545996093750063, -16.91025390624999], + [22.721972656250045, -17.075292968749963], + [22.95585937500007, -17.28574218750002], + [23.181640625000057, -17.474414062500003], + [23.380664062500017, -17.640625], + [23.06826171875005, -17.698828124999977], + [22.624023437500053, -17.78164062499998], + [22.32421875, -17.8375], + [21.96083984375005, -17.90517578125001], + [21.71845703125004, -17.94775390624997], + [21.41689453125008, -18.00068359375001], + [21.36875, -17.999511718749957], + [21.28789062500007, -17.962988281249977], + [21.113476562500068, -17.95576171875001], + [20.908300781250034, -18.00605468750004], + [20.74550781250008, -18.019726562499983], + [20.625097656250063, -17.99667968749999], + [20.507617187500017, -17.95253906249998], + [20.392968750000023, -17.887402343750026], + [20.194335937500057, -17.86367187499999], + [19.911816406250036, -17.881347656250043], + [19.63935546875004, -17.86865234375003], + [19.377148437500008, -17.82548828125003], + [19.189453125000057, -17.808496093750023], + [19.076464843750045, -17.81767578125003], + [18.95527343750004, -17.80351562499999], + [18.825976562500074, -17.766308593750054], + [18.718066406250045, -17.70322265624999], + [18.588183593750045, -17.570019531250026], + [18.486621093750045, -17.442773437500033], + [18.460351562500023, -17.424609374999974], + [18.428222656250057, -17.40517578125002], + [18.39638671875005, -17.399414062499996], + [18.10878906250008, -17.395996093750014], + [17.83535156250005, -17.392773437499983], + [17.678808593750063, -17.39257812500003], + [17.296289062500023, -17.391992187499994], + [16.913671875000034, -17.39140625], + [16.531054687500074, -17.390820312500026], + [16.14843750000003, -17.39023437499999], + [15.76582031250007, -17.389648437499954], + [15.38320312500008, -17.389160156249957], + [15.000585937500032, -17.38857421875001], + [14.617968750000072, -17.38798828124997], + [14.41474609375004, -17.38769531250001], + [14.225878906250045, -17.397753906250017], + [14.017480468750023, -17.40888671874997], + [13.987402343750034, -17.404199218749994], + [13.93798828125, -17.388769531249963], + [13.90419921875005, -17.360742187500023], + [13.7919921875, -17.28837890625003], + [13.6943359375, -17.233496093750034], + [13.561718749999983, -17.141210937499977], + [13.475976562500023, -17.040039062499968], + [13.40371093750005, -17.00781249999997], + [13.275683593750072, -16.98955078124999], + [13.179492187500017, -16.971679687499986], + [13.101171875000063, -16.967675781249966], + [12.963183593750015, -17.015429687500017], + [12.859277343750051, -17.06259765625003], + [12.785156250000057, -17.108203125], + [12.656542968750074, -17.160546875], + [12.548144531250017, -17.21269531249997], + [12.359277343750078, -17.205859375], + [12.318457031250006, -17.21337890625003], + [12.213378906250027, -17.209960937500043], + [12.114355468750006, -17.16455078125003], + [12.013964843750072, -17.168554687500034], + [11.902539062500011, -17.226562499999957], + [11.743066406250021, -17.24921875000004], + [11.780078125000017, -16.87128906249997], + [11.818945312500034, -16.704101562500014], + [11.819921875000063, -16.50429687499998], + [11.796972656250006, -15.986425781249991], + [11.76943359375008, -15.915332031249987], + [11.750878906250023, -15.831933593749966], + [11.849707031250006, -15.768359374999974], + [11.899902343749998, -15.719824218750036], + [11.967871093750006, -15.63398437500004], + [12.016113281250057, -15.513671874999956], + [12.073242187500057, -15.248242187499967], + [12.280468750000011, -14.6375], + [12.37890625, -14.039062500000014], + [12.503710937500017, -13.755468749999963], + [12.55048828125004, -13.437792968750003], + [12.897656250000068, -13.027734375000037], + [12.983203124999989, -12.775683593750017], + [13.16269531250006, -12.652148437499989], + [13.4169921875, -12.52041015624998], + [13.597949218750017, -12.286132812500027], + [13.685546875, -12.123828125], + [13.785351562499983, -11.81279296874996], + [13.784277343750034, -11.487988281249969], + [13.847460937500045, -11.054394531249997], + [13.833593750000063, -10.9296875], + [13.73896484375004, -10.757128906250017], + [13.721386718750011, -10.633593749999989], + [13.63349609375004, -10.512304687499963], + [13.53945312500008, -10.42070312499996], + [13.495410156250074, -10.25712890625003], + [13.33222656250004, -9.998925781250009], + [13.2875, -9.826757812500006], + [13.209375, -9.703222656249977], + [13.196875, -9.550683593749994], + [13.15566406250005, -9.389648437499957], + [13.075976562500074, -9.230371093750007], + [12.99853515625, -9.048046875], + [12.99853515625, -8.991015625000017], + [13.046777343750078, -8.922265625000037], + [13.092773437500028, -8.899707031249974], + [13.07724609375006, -8.934277343749997], + [13.04658203125004, -8.975195312499991], + [13.053808593750006, -9.006835937499943], + [13.358984375, -8.687207031250026], + [13.378320312500023, -8.624707031249997], + [13.36806640625008, -8.554785156249963], + [13.366406249999981, -8.469238281250028], + [13.378515625000063, -8.369726562500006], + [13.09082031249997, -7.780175781249979], + [12.862304687500057, -7.231835937499993], + [12.823437500000038, -6.954785156249955], + [12.521289062500045, -6.590332031249957], + [12.402148437500017, -6.353417968750009], + [12.334277343750045, -6.187304687500003], + [12.283300781250063, -6.12431640624996], + [12.302539062500074, -6.092578124999988], + [12.380371093750028, -6.084277343749974], + [12.553515625000045, -6.045898437499972], + [12.790625, -6.003906249999943], + [13.009765625, -5.907617187499966], + [13.068164062500074, -5.864843749999949], + [13.184375, -5.85625], + [13.302636718750051, -5.881835937499942], + [13.346484375000017, -5.863378906250006], + [13.371484375000051, -5.861816406249957], + [13.649023437500004, -5.861718750000023], + [13.764550781250023, -5.855175781250026], + [13.978515625, -5.857226562500003], + [14.113769531250028, -5.865136718750009], + [14.190820312500078, -5.8759765625] + ] + ], + [ + [ + [12.255273437500021, -5.74648437499999], + [12.213671875000074, -5.758691406249994], + [12.199023437500017, -5.731933593749957], + [12.15546875000004, -5.632714843749994], + [12.18007812500008, -5.53867187500002], + [12.206542968750057, -5.468261718749986], + [12.177148437499994, -5.324804687499977], + [12.11054687500004, -5.197167968749994], + [12.039941406250023, -5.035156250000028], + [12.018359375000072, -5.004296874999965], + [12.077539062500051, -4.9521484375], + [12.167089843750004, -4.837695312499946], + [12.20429687500004, -4.778613281249989], + [12.307910156249989, -4.765527343749994], + [12.3466796875, -4.724121093749986], + [12.374023437500057, -4.657714843749957], + [12.384570312500074, -4.619140625000014], + [12.50146484375, -4.5875], + [12.641699218750063, -4.531152343750023], + [12.719433593749981, -4.469726562499943], + [12.798242187500051, -4.430566406249966], + [12.848144531250028, -4.428906249999983], + [12.881054687500068, -4.445117187499989], + [12.971386718750068, -4.551757812499956], + [13.048046875000068, -4.619238281250033], + [13.072753906250028, -4.634765625], + [13.057324218750011, -4.651074218750025], + [12.94746093750001, -4.695312499999986], + [12.829687499999977, -4.736621093749959], + [12.674804687500057, -4.905371093749963], + [12.596191406250027, -4.978417968750023], + [12.573535156250017, -4.996582031249986], + [12.502734375000072, -5.03691406250003], + [12.451464843750017, -5.071484374999969], + [12.453222656250034, -5.090625], + [12.487402343750063, -5.112695312500023], + [12.52236328125008, -5.148925781250028], + [12.518945312499994, -5.424609374999974], + [12.503710937500017, -5.695800781249972], + [12.484570312500011, -5.71875], + [12.386035156250017, -5.727734375], + [12.255273437500021, -5.74648437499999] + ] + ] + ] + } + }, + { + "type": "Feature", + "properties": { + "scalerank": 1, + "featurecla": "Admin-0 country", + "labelrank": 4, + "sovereignt": "Republic of Congo", + "sov_a3": "COG", + "adm0_dif": 0, + "level": 2, + "type": "Sovereign country", + "admin": "Republic of Congo", + "adm0_a3": "COG", + "geou_dif": 0, + "geounit": "Republic of Congo", + "gu_a3": "COG", + "su_dif": 0, + "subunit": "Republic of Congo", + "su_a3": "COG", + "brk_diff": 0, + "name": "Congo", + "name_long": "Republic of Congo", + "brk_a3": "COG", + "brk_name": "Republic of Congo", + "brk_group": null, + "abbrev": "Rep. Congo", + "postal": "CG", + "formal_en": "Republic of Congo", + "formal_fr": null, + "note_adm0": null, + "note_brk": null, + "name_sort": "Congo, Rep.", + "name_alt": null, + "mapcolor7": 2, + "mapcolor8": 1, + "mapcolor9": 3, + "mapcolor13": 10, + "pop_est": 4012809, + "gdp_md_est": 15350, + "pop_year": -99, + "lastcensus": 2007, + "gdp_year": -99, + "economy": "6. Developing region", + "income_grp": "4. Lower middle income", + "wikipedia": -99, + "fips_10": null, + "iso_a2": "CG", + "iso_a3": "COG", + "iso_n3": "178", + "un_a3": "178", + "wb_a2": "CG", + "wb_a3": "COG", + "woe_id": -99, + "adm0_a3_is": "COG", + "adm0_a3_us": "COG", + "adm0_a3_un": -99, + "adm0_a3_wb": -99, + "continent": "Africa", + "region_un": "Africa", + "subregion": "Middle Africa", + "region_wb": "Sub-Saharan Africa", + "name_len": 5, + "long_len": 17, + "abbrev_len": 10, + "tiny": -99, + "homepart": 1, + "filename": "COG.geojson" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [18.6103515625, 3.478417968749994], + [18.622167968750006, 3.304052734374991], + [18.54707031250001, 3.087011718749991], + [18.49091796875001, 2.924414062499991], + [18.34345703125001, 2.655419921874994], + [18.211621093750008, 2.414941406249994], + [18.072167968750023, 2.01328125], + [18.072851562500006, 1.719384765624994], + [18.0578125, 1.534863281249997], + [18.01171875, 1.422119140625], + [17.902441406250006, 1.118066406249994], + [17.8857421875, 0.856884765624997], + [17.925195312500023, 0.537304687499997], + [17.8876953125, 0.234130859375], + [17.77314453125001, -0.052392578125009], + [17.72412109375, -0.277539062500011], + [17.752832031250023, -0.549023437500011], + [17.542871093750023, -0.775], + [17.27880859375, -0.999609375], + [17.10761718750001, -1.064453125], + [16.974707031250006, -1.139941406250003], + [16.879882812499996, -1.225878906250003], + [16.84912109375, -1.2724609375], + [16.780078125000017, -1.376367187500009], + [16.62246093750002, -1.698925781250011], + [16.54072265625001, -1.840136718750003], + [16.43359375, -1.960839843750009], + [16.27392578125, -2.108203125], + [16.21533203125, -2.177832031250006], + [16.19160156250001, -2.279101562500002], + [16.20185546875001, -2.464746093750009], + [16.217382812500006, -3.0302734375], + [16.190625, -3.194433593750006], + [16.146777343750017, -3.464160156250003], + [15.990039062500017, -3.766210937500006], + [15.872460937500023, -3.934277343750011], + [15.75458984375001, -3.985546875000011], + [15.60009765625, -4.030957031250011], + [15.525976562500006, -4.087988281250006], + [15.480957031249998, -4.171777343750009], + [15.394628906250007, -4.244921875], + [15.2671875, -4.307617187499999], + [15.10625, -4.461035156250006], + [14.912109375, -4.70556640625], + [14.779296875, -4.845703125], + [14.707910156250021, -4.881738281250009], + [14.63398437500001, -4.885058593750003], + [14.557617187500002, -4.855761718750003], + [14.493945312500015, -4.851660156250005], + [14.461621093750011, -4.864941406250011], + [14.44091796875, -4.854101562500006], + [14.410742187500004, -4.83125], + [14.411914062500017, -4.775], + [14.402929687500006, -4.681640625], + [14.365429687500011, -4.585546875], + [14.409960937500015, -4.508105468750003], + [14.449804687500006, -4.449511718750003], + [14.442773437500021, -4.419042968750006], + [14.402929687500006, -4.369726562500006], + [14.358300781250023, -4.299414062500005], + [14.316210937500017, -4.304101562500009], + [14.22705078125, -4.358105468750011], + [14.133886718750006, -4.4], + [14.046875, -4.41748046875], + [13.978417968750023, -4.461230468750003], + [13.94091796875, -4.484667968750003], + [13.882324218749998, -4.484667968750003], + [13.849511718750021, -4.458886718750009], + [13.778027343750011, -4.433886718750003], + [13.739062500000017, -4.442480468750006], + [13.717089843750015, -4.454492187500009], + [13.707617187500006, -4.543261718750003], + [13.699414062500011, -4.618359375000011], + [13.685351562500017, -4.688671875000011], + [13.659570312500023, -4.721484375], + [13.551660156250023, -4.756738281250009], + [13.478417968750021, -4.804980468750003], + [13.414941406250023, -4.83740234375], + [13.375781250000017, -4.829394531250003], + [13.297265625000023, -4.765234375], + [13.219628906250021, -4.705859375], + [13.176464843750011, -4.655859375], + [13.15234375, -4.620312500000011], + [13.136621093750023, -4.604296875], + [13.08740234375, -4.601953125], + [13.07275390625, -4.634765625], + [13.048046875000011, -4.619238281250006], + [12.971386718750011, -4.5517578125], + [12.88105468750001, -4.445117187500003], + [12.84814453125, -4.428906250000011], + [12.798242187500023, -4.430566406250009], + [12.719433593750011, -4.4697265625], + [12.641699218750004, -4.531152343750009], + [12.50146484375, -4.5875], + [12.384570312500017, -4.619140625], + [12.3740234375, -4.65771484375], + [12.3466796875, -4.724121093749999], + [12.307910156250015, -4.765527343750008], + [12.20429687500001, -4.778613281250003], + [12.167089843750004, -4.837695312500003], + [12.077539062500023, -4.9521484375], + [12.018359375000017, -5.004296875], + [12.002734375000017, -4.98203125], + [11.966796875, -4.954394531250002], + [11.893261718750011, -4.86572265625], + [11.820703125000023, -4.75546875], + [11.80126953125, -4.705175781250005], + [11.780859375, -4.6765625], + [11.777539062500011, -4.565820312500009], + [11.668066406250006, -4.434277343750011], + [11.393847656250017, -4.200292968750006], + [11.364453125000011, -4.130566406250011], + [11.130175781250017, -3.916308593750003], + [11.190039062500006, -3.762011718750003], + [11.234472656250006, -3.690820312500008], + [11.288281250000011, -3.64111328125], + [11.504296875000023, -3.5203125], + [11.536816406250011, -3.525], + [11.68574218750001, -3.68203125], + [11.7333984375, -3.694531250000011], + [11.786425781250017, -3.690234375], + [11.84912109375, -3.696679687500008], + [11.8798828125, -3.665917968750009], + [11.884765625, -3.625390625], + [11.839453125, -3.580078125], + [11.832910156250021, -3.531445312500011], + [11.86474609375, -3.478613281250006], + [11.8828125, -3.420214843750002], + [11.929296875, -3.350976562500009], + [11.934179687500006, -3.318554687500011], + [11.885058593750017, -3.283203125], + [11.784375, -3.229101562500006], + [11.715429687500006, -3.176953125000011], + [11.6890625, -3.126953125], + [11.7080078125, -3.063085937500006], + [11.763476562500017, -3.01123046875], + [11.760156250000021, -2.983105468750011], + [11.711328125000023, -2.9365234375], + [11.675683593750021, -2.886621093750009], + [11.639062500000023, -2.855371093750009], + [11.537792968750011, -2.83671875], + [11.55712890625, -2.769628906250006], + [11.594531250000017, -2.670996093750006], + [11.603417968750023, -2.595410156250011], + [11.5751953125, -2.397070312500006], + [11.577734375, -2.3609375], + [11.60546875, -2.342578125], + [11.665917968750023, -2.364550781250003], + [11.726757812500011, -2.394726562500011], + [11.892382812500017, -2.351464843750009], + [11.950292968750006, -2.344824218750006], + [11.998242187500011, -2.3828125], + [12.064453125, -2.41259765625], + [12.446386718750006, -2.329980468750009], + [12.453808593750011, -2.24560546875], + [12.475683593750006, -2.169238281250002], + [12.478515625, -2.112011718750011], + [12.462597656250011, -2.075292968750006], + [12.44375, -2.047558593750011], + [12.432421875000017, -1.990332031250006], + [12.43212890625, -1.928906250000011], + [12.468652343750023, -1.9], + [12.590429687500004, -1.826855468750011], + [12.62841796875, -1.82958984375], + [12.713671875000017, -1.869433593750003], + [12.793554687500004, -1.931835937500011], + [12.864453125000011, -2.06328125], + [12.913574218749998, -2.17626953125], + [12.991992187500017, -2.313378906250008], + [13.158593750000023, -2.369140625], + [13.357324218750023, -2.40478515625], + [13.464941406250006, -2.395410156250009], + [13.618554687500021, -2.278613281250003], + [13.70556640625, -2.1875], + [13.733789062500023, -2.138476562500002], + [13.784375, -2.163769531250011], + [13.841601562500017, -2.28369140625], + [13.878515625, -2.330175781250006], + [13.887695312499998, -2.37451171875], + [13.86181640625, -2.429882812500011], + [13.886914062500011, -2.465429687500006], + [13.993847656250011, -2.490625], + [14.08740234375, -2.466894531250006], + [14.129785156250023, -2.41796875], + [14.199804687500006, -2.354199218750011], + [14.200390625000011, -2.300585937500003], + [14.162890625000015, -2.265527343750008], + [14.162890625000015, -2.217578125], + [14.201757812500004, -2.179882812500011], + [14.239648437500021, -2.076757812500006], + [14.25146484375, -2.00146484375], + [14.288378906250017, -1.953515625], + [14.358593750000011, -1.920214843750003], + [14.38398437500001, -1.890039062500009], + [14.423242187500023, -1.711523437500006], + [14.402929687500006, -1.64697265625], + [14.402929687500006, -1.593359375], + [14.447265625, -1.525097656250011], + [14.45556640625, -1.413183593750006], + [14.436914062500021, -1.229785156250003], + [14.42402343750001, -1.10390625], + [14.41064453125, -0.972070312500009], + [14.444921875, -0.798828125], + [14.480566406250006, -0.618359375000011], + [14.474121093749998, -0.573437500000011], + [14.424707031250023, -0.518652343750006], + [14.36376953125, -0.468554687500003], + [14.206738281250011, -0.42734375], + [14.148339843750023, -0.361914062500006], + [14.102832031250017, -0.292382812500009], + [14.069433593750006, -0.270117187500006], + [13.898046875, -0.242578125], + [13.860058593750011, -0.203320312500011], + [13.87548828125, -0.0908203125], + [13.890625, 0.075292968749991], + [13.884570312500017, 0.190820312499994], + [13.915136718750004, 0.283984374999989], + [13.949609375000023, 0.353808593749989], + [14.025292968750023, 0.427734375], + [14.065527343750006, 0.514990234374991], + [14.0875, 0.536572265624997], + [14.23095703125, 0.551123046874991], + [14.283105468750023, 0.587451171874989], + [14.32421875, 0.62421875], + [14.341503906250011, 0.673828125], + [14.390625, 0.755712890624991], + [14.434472656250021, 0.811474609374997], + [14.43916015625001, 0.84912109375], + [14.429882812500011, 0.901464843749991], + [14.386425781250011, 1.004443359374988], + [14.334472656249998, 1.09023437499999], + [14.303027343750015, 1.120849609375], + [14.23974609375, 1.322558593749989], + [14.180859375000011, 1.370214843749991], + [14.066210937500017, 1.395898437499994], + [13.851367187500017, 1.41875], + [13.72119140625, 1.382275390624997], + [13.523339843750021, 1.314599609374994], + [13.372363281250017, 1.267773437499997], + [13.274121093750011, 1.241015624999988], + [13.21630859375, 1.2484375], + [13.19013671875001, 1.279248046874997], + [13.228320312500015, 1.305419921875], + [13.247363281250017, 1.36669921875], + [13.222753906250006, 1.45458984375], + [13.1845703125, 1.535058593749994], + [13.162695312500006, 1.648095703124994], + [13.172167968750017, 1.78857421875], + [13.20947265625, 1.92041015625], + [13.288671875, 2.091699218749994], + [13.293554687500006, 2.161572265624997], + [13.533496093750017, 2.159521484374991], + [13.772753906250015, 2.157421875], + [14.034375, 2.158886718749997], + [14.287011718750023, 2.160351562499997], + [14.48408203125001, 2.154736328124997], + [14.578906250000015, 2.199121093749994], + [14.669140625000011, 2.132080078125], + [14.713281250000023, 2.117138671874997], + [14.728320312500017, 2.122412109374991], + [14.762890625000011, 2.0751953125], + [14.875, 2.08046875], + [14.89277343750001, 2.0693359375], + [14.902441406250004, 2.012304687499991], + [15.006445312500006, 2.013769531249991], + [15.057812500000011, 2.000878906249994], + [15.099609375, 2.00234375], + [15.160058593750023, 2.035595703124997], + [15.203515625000023, 2.024462890624989], + [15.282421875000011, 1.981738281249988], + [15.338769531250021, 1.944726562499995], + [15.41748046875, 1.956738281249997], + [15.60029296875001, 1.950390625], + [15.741601562500025, 1.914990234374997], + [15.881640625000015, 1.816601562499997], + [15.975195312500006, 1.760009765625], + [16.059375, 1.676220703124997], + [16.09033203125, 1.691259765624991], + [16.119531250000023, 1.714111328125], + [16.136132812500023, 1.72421875], + [16.13496093750001, 1.795947265624988], + [16.087890625, 1.918066406249991], + [16.069628906250017, 2.021679687499997], + [16.080078125, 2.106787109374991], + [16.11572265625, 2.167822265624991], + [16.176562500000017, 2.204785156249997], + [16.1826171875, 2.262451171875], + [16.183398437500017, 2.270068359374989], + [16.251757812500014, 2.406787109374988], + [16.319628906250017, 2.542773437499989], + [16.401269531250023, 2.701025390624991], + [16.468554687500017, 2.831738281249997], + [16.459570312500002, 2.896533203124989], + [16.466210937500023, 2.993212890624989], + [16.480078125, 3.100976562499994], + [16.47675781250001, 3.165136718749991], + [16.49628906250001, 3.208837890624991], + [16.543066406250006, 3.36953125], + [16.570410156250006, 3.463085937499997], + [16.610742187500023, 3.50537109375], + [16.67333984375, 3.535205078124989], + [16.76435546875001, 3.536279296874994], + [17.002539062500002, 3.556689453124989], + [17.224707031250006, 3.598437499999988], + [17.2984375, 3.6171875], + [17.437988281249996, 3.684619140624988], + [17.491601562500023, 3.687304687499988], + [17.537695312500006, 3.66162109375], + [17.806640625, 3.584179687499997], + [17.88037109375, 3.553857421874994], + [17.907128906250023, 3.558398437499989], + [17.94794921875001, 3.5517578125], + [18.0107421875, 3.550830078124989], + [18.072265625, 3.560302734375], + [18.111328125, 3.551074218749989], + [18.160937500000017, 3.499804687499988], + [18.193945312500006, 3.505419921874988], + [18.237109375000017, 3.542675781249997], + [18.318164062500017, 3.580810546875], + [18.474414062500017, 3.622998046874997], + [18.499804687500017, 3.604101562499991], + [18.553808593750006, 3.510205078124997], + [18.6103515625, 3.478417968749994] + ] + ] + } + }, + { + "type": "Feature", + "properties": { + "scalerank": 1, + "featurecla": "Admin-0 country", + "labelrank": 2, + "sovereignt": "Democratic Republic of the Congo", + "sov_a3": "COD", + "adm0_dif": 0, + "level": 2, + "type": "Sovereign country", + "admin": "Democratic Republic of the Congo", + "adm0_a3": "COD", + "geou_dif": 0, + "geounit": "Democratic Republic of the Congo", + "gu_a3": "COD", + "su_dif": 0, + "subunit": "Democratic Republic of the Congo", + "su_a3": "COD", + "brk_diff": 0, + "name": "Dem. Rep. Congo", + "name_long": "Democratic Republic of the Congo", + "brk_a3": "COD", + "brk_name": "Democratic Republic of the Congo", + "brk_group": null, + "abbrev": "D.R.C.", + "postal": "DRC", + "formal_en": "Democratic Republic of the Congo", + "formal_fr": null, + "note_adm0": null, + "note_brk": null, + "name_sort": "Congo, Dem. Rep.", + "name_alt": null, + "mapcolor7": 4, + "mapcolor8": 4, + "mapcolor9": 4, + "mapcolor13": 7, + "pop_est": 68692542, + "gdp_md_est": 20640, + "pop_year": -99, + "lastcensus": 1984, + "gdp_year": -99, + "economy": "7. Least developed region", + "income_grp": "5. Low income", + "wikipedia": -99, + "fips_10": null, + "iso_a2": "CD", + "iso_a3": "COD", + "iso_n3": "180", + "un_a3": "180", + "wb_a2": "ZR", + "wb_a3": "ZAR", + "woe_id": -99, + "adm0_a3_is": "COD", + "adm0_a3_us": "COD", + "adm0_a3_un": -99, + "adm0_a3_wb": -99, + "continent": "Africa", + "region_un": "Africa", + "subregion": "Middle Africa", + "region_wb": "Sub-Saharan Africa", + "name_len": 15, + "long_len": 32, + "abbrev_len": 6, + "tiny": -99, + "homepart": 1, + "filename": "COD.geojson" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [27.403320312499996, 5.109179687499989], + [27.439257812500017, 5.039208984374993], + [27.491015625000017, 4.967578124999989], + [27.664160156250006, 4.845996093749989], + [27.71923828125, 4.7783203125], + [27.76142578125001, 4.703222656249991], + [27.788085937499996, 4.644677734374994], + [27.841601562500017, 4.597753906249991], + [27.916601562500006, 4.567919921874989], + [27.98066406250001, 4.532080078124991], + [28.019824218750017, 4.479394531249994], + [28.07861328125, 4.4248046875], + [28.19208984375001, 4.350244140624994], + [28.247265625, 4.348535156249994], + [28.31103515625, 4.338037109374994], + [28.3671875, 4.318652343749989], + [28.427539062500017, 4.324169921874997], + [28.524804687500023, 4.372851562499989], + [28.639550781250023, 4.454492187499994], + [28.727050781249996, 4.504980468749991], + [28.939355468750023, 4.487060546875], + [29.057421875000017, 4.445947265624994], + [29.151464843750006, 4.38818359375], + [29.22490234375002, 4.391894531249989], + [29.384863281250002, 4.498388671874991], + [29.469628906250023, 4.611816406249999], + [29.552050781250017, 4.636035156249989], + [29.676855468750006, 4.5869140625], + [29.779882812500002, 4.48095703125], + [29.870214843750006, 4.3271484375], + [29.933984375000023, 4.268505859374997], + [30.021386718750023, 4.177636718749994], + [30.194921875, 3.98193359375], + [30.420703125000017, 3.883886718749991], + [30.50830078125, 3.835693359375], + [30.536914062500017, 3.787207031249991], + [30.553515625000017, 3.722949218749989], + [30.559375, 3.652783203124997], + [30.586718750000014, 3.62421875], + [30.64765625, 3.634130859374991], + [30.69990234375001, 3.644091796874989], + [30.757226562500023, 3.62421875], + [30.79697265625001, 3.573144531249994], + [30.81689453125, 3.533349609374994], + [30.838574218750015, 3.49072265625], + [30.895312500000017, 3.463671874999989], + [30.90644531250001, 3.408935546875], + [30.86757812500002, 3.342138671874991], + [30.82783203125001, 3.282617187499994], + [30.779296875, 3.163378906249989], + [30.754003906250002, 3.041796874999989], + [30.78652343750002, 3.001367187499994], + [30.821386718750002, 2.967578124999989], + [30.83994140625001, 2.933496093749994], + [30.85078125000001, 2.893652343749991], + [30.846679687499996, 2.847021484374991], + [30.76953125, 2.677978515625], + [30.72988281250002, 2.5302734375], + [30.72861328125001, 2.455371093749989], + [30.830078125, 2.400439453124989], + [30.961914062499996, 2.403271484374997], + [31.00361328125001, 2.369384765625], + [31.045312500000023, 2.315527343749991], + [31.082128906250002, 2.2880859375], + [31.137597656250023, 2.288867187499989], + [31.176367187500006, 2.270068359374989], + [31.19140625, 2.232275390624991], + [31.236328125, 2.191357421874997], + [31.27402343750001, 2.146289062499989], + [31.25605468750001, 2.088476562499991], + [31.252734375000014, 2.044580078124994], + [31.158789062500006, 1.922021484374994], + [30.942578125, 1.6828125], + [30.478125, 1.239062499999989], + [30.477832031250014, 1.238818359374989], + [30.321093750000014, 1.185302734375], + [30.24013671875002, 1.102783203125], + [30.18291015625002, 0.973486328124992], + [30.04736328125, 0.863525390625], + [29.942871093750004, 0.819238281249994], + [29.931640625, 0.792871093749994], + [29.923828125, 0.673925781249991], + [29.934472656250023, 0.4990234375], + [29.88544921875001, 0.4189453125], + [29.81464843750001, 0.263623046874997], + [29.77783203125, 0.166357421874991], + [29.74970703125001, 0.147216796875], + [29.717675781250023, 0.098339843749997], + [29.697851562500006, -0.060205078125009], + [29.684375, -0.113574218750003], + [29.633203125000023, -0.441699218750003], + [29.64785156250002, -0.535253906250006], + [29.608203125000017, -0.691308593750009], + [29.606445312499996, -0.783105468750009], + [29.59003906250001, -0.887109375], + [29.561914062500023, -0.97734375], + [29.5640625, -1.121386718750003], + [29.579980468750023, -1.356738281250003], + [29.576953125000014, -1.387890625000011], + [29.537792968750008, -1.409765625], + [29.467968750000015, -1.468066406250003], + [29.401953125, -1.507421875], + [29.351660156250006, -1.517578125], + [29.26816406250001, -1.62158203125], + [29.196582031250017, -1.719921875000011], + [29.143261718750008, -1.816015625], + [29.129394531249996, -1.860253906250008], + [29.140625, -1.984570312500011], + [29.148046875, -2.1318359375], + [29.131542968750008, -2.195117187500003], + [29.106445312499996, -2.233203125], + [28.98955078125002, -2.312792968750003], + [28.912695312500002, -2.370312500000011], + [28.876367187500023, -2.400292968750009], + [28.85761718750001, -2.446679687500009], + [28.891406250000017, -2.555566406250008], + [28.893945312500023, -2.635058593750003], + [28.921777343750023, -2.68203125], + [29.01435546875001, -2.72021484375], + [29.014160156249996, -2.75830078125], + [29.016601562499996, -2.799609375], + [29.064746093750017, -2.850781250000011], + [29.153222656250023, -2.955273437500011], + [29.224414062500017, -3.053515625], + [29.22607421875, -3.138671875], + [29.21230468750002, -3.28125], + [29.210058593750002, -3.36328125], + [29.217187500000026, -3.475683593750006], + [29.216796875, -3.684960937500008], + [29.211816406250023, -3.833789062500002], + [29.223242187500006, -3.910839843750011], + [29.331347656250014, -4.095410156250011], + [29.379199218750017, -4.299707031250009], + [29.403222656250026, -4.449316406250006], + [29.404199218750023, -4.496679687500005], + [29.367578125000023, -4.668847656250009], + [29.325683593749996, -4.835644531250011], + [29.32343750000001, -4.898828125], + [29.3427734375, -4.983105468750011], + [29.420117187500008, -5.176171875], + [29.476464843750023, -5.31660156250001], + [29.503710937500014, -5.400976562500006], + [29.542382812500026, -5.499804687500003], + [29.594140625000023, -5.65078125], + [29.60703125, -5.72265625], + [29.59638671875001, -5.775976562500006], + [29.490820312500006, -5.965429687500006], + [29.480078125, -6.025], + [29.50625, -6.172070312500011], + [29.540820312500017, -6.313867187500009], + [29.590625, -6.394433593750008], + [29.70966796875001, -6.616894531250011], + [29.79814453125002, -6.69189453125], + [29.961816406250023, -6.803125], + [30.10625, -6.9150390625], + [30.161816406250008, -6.973046875], + [30.212695312500017, -7.037890625], + [30.31318359375001, -7.203710937500005], + [30.374511718749996, -7.338671875], + [30.40673828125, -7.460644531250011], + [30.485644531250014, -7.627148437500011], + [30.558886718750014, -7.78193359375001], + [30.65380859375, -7.97089843750001], + [30.720898437500015, -8.104394531250009], + [30.75117187500001, -8.193652343750003], + [30.577929687500014, -8.220019531250003], + [30.32753906250002, -8.258203125], + [30.051367187500006, -8.30029296875], + [29.766210937500006, -8.34375], + [29.483789062500023, -8.386914062500011], + [29.215625, -8.427832031250006], + [28.972265625, -8.464941406250006], + [28.89814453125001, -8.485449218750006], + [28.934472656250023, -8.590234375], + [28.917773437500014, -8.700585937500009], + [28.86953125000002, -8.785839843750011], + [28.793554687500006, -8.891015625], + [28.758789062499996, -8.9326171875], + [28.68125, -9.0146484375], + [28.616503906250017, -9.072265625], + [28.48427734375002, -9.16943359375], + [28.400683593750017, -9.224804687500011], + [28.400195312500014, -9.275], + [28.54052734375, -9.510058593750003], + [28.60419921875001, -9.678808593750006], + [28.630078125, -9.83125], + [28.62890625, -9.91875], + [28.62353515625, -10.098828125000011], + [28.6171875, -10.31298828125], + [28.607421875, -10.397363281250009], + [28.645507812499996, -10.550195312500009], + [28.638867187500008, -10.669238281250003], + [28.544238281250017, -10.80234375], + [28.517968750000023, -10.933203125], + [28.4703125, -11.109570312500011], + [28.404199218750023, -11.354394531250009], + [28.357226562500014, -11.483007812500006], + [28.383398437500002, -11.566699218750001], + [28.407031250000017, -11.622851562500003], + [28.43183593750001, -11.698339843750006], + [28.482519531250006, -11.812109375], + [28.541601562500002, -11.879199218750003], + [28.574609375000023, -11.908105468750009], + [28.76943359375002, -12.05126953125], + [28.85, -12.120507812500007], + [28.973437500000014, -12.2578125], + [29.06435546875002, -12.348828125000011], + [29.191210937500014, -12.370214843750004], + [29.34375, -12.40478515625], + [29.427539062500014, -12.43125], + [29.48554687500001, -12.418457031249998], + [29.5048828125, -12.386132812500009], + [29.502246093750014, -12.31757812500001], + [29.491992187500014, -12.266894531250003], + [29.508203125000026, -12.228222656250011], + [29.55976562500001, -12.202441406250003], + [29.691992187500006, -12.198339843750006], + [29.749609375, -12.1640625], + [29.79511718750001, -12.155468750000011], + [29.795312500000023, -12.306152343749998], + [29.795507812500006, -12.450585937500009], + [29.79560546875001, -12.625878906250009], + [29.79580078125002, -12.827050781250009], + [29.79609375, -12.992089843750009], + [29.796289062500023, -13.16748046875], + [29.796484375, -13.369726562500006], + [29.795312500000023, -13.392773437500011], + [29.775195312500017, -13.438085937500006], + [29.72265625, -13.453808593750011], + [29.651757812500023, -13.414355468750001], + [29.64765625000001, -13.372949218750009], + [29.630273437500023, -13.298535156250011], + [29.59716796875, -13.260546875], + [29.55419921875, -13.248925781250009], + [29.4814453125, -13.26796875], + [29.3818359375, -13.322851562500004], + [29.253710937500017, -13.37080078125001], + [29.20185546875001, -13.398339843750009], + [29.111621093750017, -13.395117187500006], + [29.014257812500002, -13.368847656250011], + [28.942285156250023, -13.307128906249998], + [28.921679687500017, -13.214648437500003], + [28.858789062500023, -13.119433593750003], + [28.77314453125001, -12.981933593749998], + [28.730078125, -12.925488281250011], + [28.672949218750006, -12.861328125], + [28.615429687500008, -12.854101562500006], + [28.550878906250006, -12.83613281250001], + [28.51123046875, -12.7421875], + [28.474414062500017, -12.623339843750003], + [28.451464843750014, -12.577441406250003], + [28.412890625000014, -12.51806640625], + [28.357714843750017, -12.48203125], + [28.237304687499996, -12.434570312499998], + [28.06884765625, -12.368164062499998], + [27.857421875, -12.284863281250011], + [27.7568359375, -12.280859375], + [27.644335937500017, -12.266796875000011], + [27.573828125, -12.227050781249998], + [27.533398437500008, -12.1953125], + [27.48701171875001, -12.0796875], + [27.423632812500017, -11.94453125000001], + [27.238085937500017, -11.783496093750003], + [27.196386718750002, -11.605078125], + [27.159179687499996, -11.579199218750006], + [27.09541015625001, -11.59375], + [27.04609375000001, -11.615917968750011], + [27.026660156250017, -11.663769531250011], + [26.976855468750017, -11.824609375], + [26.949609375000023, -11.898828125], + [26.93085937500001, -11.919335937500009], + [26.890429687500014, -11.943554687500011], + [26.824023437500014, -11.965234375], + [26.72968750000001, -11.975976562500009], + [26.596386718750008, -11.972070312500009], + [26.4296875, -11.947851562500004], + [26.339648437500017, -11.929882812500011], + [26.096386718750008, -11.903222656250009], + [26.025976562500006, -11.89013671875], + [25.926562500000017, -11.855273437500003], + [25.854882812500023, -11.820117187500001], + [25.61884765625001, -11.744140625], + [25.51191406250001, -11.753417968749998], + [25.4599609375, -11.699804687500004], + [25.413378906250017, -11.673535156250011], + [25.349414062500017, -11.623046875], + [25.320703125000023, -11.553515625], + [25.282617187500023, -11.404980468750011], + [25.291796875000017, -11.325488281250003], + [25.3193359375, -11.236914062500004], + [25.28876953125001, -11.212402343749998], + [25.245996093750023, -11.212402343749998], + [25.184863281250017, -11.24296875], + [25.075976562500017, -11.260058593750003], + [24.87685546875002, -11.299121093750003], + [24.80634765625001, -11.321191406250009], + [24.728125, -11.337792968750007], + [24.668261718750017, -11.352929687500009], + [24.518554687499996, -11.4384765625], + [24.466601562500017, -11.44765625], + [24.3779296875, -11.417089843750006], + [24.33515625000001, -11.37128906250001], + [24.3779296875, -11.319335937499998], + [24.396289062500017, -11.255175781250003], + [24.36572265625, -11.1298828125], + [24.319921875, -11.07177734375], + [24.18720703125001, -11.029980468750011], + [24.136523437500017, -11.025976562500006], + [24.115136718750023, -10.955664062500004], + [24.078417968750014, -10.891503906250009], + [24.002734375000017, -10.879101562500011], + [23.96650390625001, -10.871777343750011], + [23.9287109375, -10.891503906250009], + [23.907324218750006, -10.943457031250006], + [23.901171875000017, -10.983203125], + [23.833886718750023, -11.013671875], + [23.696386718750006, -11.007617187500001], + [23.559960937500023, -10.978613281250006], + [23.463964843750006, -10.969335937500006], + [23.400195312500017, -10.976464843750009], + [23.15673828125, -11.074804687500006], + [23.076269531250006, -11.087890625], + [22.814746093750017, -11.080273437500011], + [22.666503906249996, -11.059765625000011], + [22.56103515625, -11.05585937500001], + [22.486132812500017, -11.08671875], + [22.392968750000023, -11.159472656250001], + [22.31494140625, -11.198632812500009], + [22.27880859375, -11.194140625], + [22.256640625000017, -11.163671875], + [22.226171875, -11.121972656250009], + [22.21669921875002, -11.0126953125], + [22.17792968750001, -10.89228515625001], + [22.203515625000023, -10.829492187500009], + [22.28046875000001, -10.783984375], + [22.307031250000023, -10.691308593750009], + [22.283203125, -10.5515625], + [22.281640625000023, -10.453320312500011], + [22.302441406250008, -10.396679687500011], + [22.274511718750006, -10.259082031250001], + [22.19775390625, -10.040625], + [22.089160156250017, -9.86279296875], + [21.948632812500023, -9.7255859375], + [21.85664062500001, -9.59423828125], + [21.81318359375001, -9.46875], + [21.82949218750002, -9.16845703125], + [21.871875, -8.903515625000011], + [21.905371093750006, -8.693359375], + [21.89589843750002, -8.341113281250003], + [21.800878906250006, -8.111914062500006], + [21.780078125000017, -7.86542968750001], + [21.83359375, -7.601660156250006], + [21.841601562500014, -7.420996093750006], + [21.80605468750002, -7.32861328125], + [21.781640625000023, -7.31464843750001], + [21.751074218750006, -7.30546875], + [21.510839843750006, -7.296679687500003], + [21.19033203125002, -7.284960937500003], + [20.910937500000017, -7.28144531250001], + [20.607812500000023, -7.277734375], + [20.558398437500014, -7.244433593750003], + [20.53583984375001, -7.182812500000011], + [20.536914062500017, -7.121777343750011], + [20.598730468750006, -6.93515625], + [20.59003906250001, -6.919921875], + [20.482226562500017, -6.915820312500003], + [20.190039062500006, -6.9462890625], + [19.997460937500023, -6.976464843750009], + [19.87519531250001, -6.986328125], + [19.66035156250001, -7.037109375], + [19.527636718750014, -7.144433593750009], + [19.48378906250002, -7.27949218750001], + [19.487402343750002, -7.390722656250005], + [19.479882812500023, -7.472167968749999], + [19.419335937500023, -7.55732421875001], + [19.371679687500006, -7.655078125], + [19.369921875000017, -7.706542968750001], + [19.3408203125, -7.966601562500002], + [19.142675781250006, -8.00146484375], + [18.944433593750002, -8.00146484375], + [18.898339843750023, -7.998144531250005], + [18.653417968750002, -7.936035156249999], + [18.56269531250001, -7.9359375], + [18.484667968750017, -7.968554687500002], + [18.334863281250023, -8.000292968750003], + [18.191503906250002, -8.023828125], + [18.047167968750017, -8.100781250000011], + [18.0087890625, -8.107617187500011], + [17.9130859375, -8.067675781250003], + [17.77880859375, -8.071386718750006], + [17.643359375000017, -8.090722656250009], + [17.57958984375, -8.099023437500009], + [17.536035156250023, -8.075878906250011], + [17.41132812500001, -7.881933593750006], + [17.245019531250023, -7.623339843750002], + [17.155078125000017, -7.461328125], + [17.121582031249996, -7.419042968750006], + [17.063769531250017, -7.363085937500003], + [16.984765625000023, -7.257421875], + [16.952050781250023, -7.15703125], + [16.9658203125, -7.062109375], + [16.91943359375, -6.933984375], + [16.813085937500006, -6.772558593750005], + [16.742968750000017, -6.618457031250003], + [16.709375, -6.4716796875], + [16.700976562500017, -6.345996093750002], + [16.7177734375, -6.241406250000011], + [16.697265625, -6.164257812500011], + [16.63955078125002, -6.114550781250002], + [16.608007812500006, -6.0515625], + [16.58515625000001, -6.025292968750009], + [16.537109375, -5.9658203125], + [16.431445312500017, -5.900195312500002], + [16.315234375000017, -5.865625], + [16.06015625, -5.864941406250011], + [15.726953125000023, -5.863867187500006], + [15.425, -5.86884765625001], + [15.089355468749998, -5.87451171875], + [14.749414062500025, -5.88007812500001], + [14.657910156250011, -5.888867187500011], + [14.39863281250001, -5.892675781250006], + [14.190820312500023, -5.8759765625], + [14.11376953125, -5.865136718750009], + [13.978515625, -5.857226562500003], + [13.764550781250023, -5.855175781250011], + [13.649023437500004, -5.86171875], + [13.371484375000021, -5.86181640625], + [13.346484375000017, -5.863378906250006], + [13.302636718750023, -5.8818359375], + [13.184375, -5.85625], + [13.068164062500017, -5.86484375], + [13.003320312500023, -5.836132812500011], + [12.86083984375, -5.854101562500005], + [12.791601562500006, -5.877734375], + [12.6806640625, -5.960839843750009], + [12.514550781250023, -6.004199218750003], + [12.452929687500017, -6.00048828125], + [12.41171875, -5.986328125], + [12.315039062500006, -5.8953125], + [12.240429687500011, -5.807324218750011], + [12.213671875000015, -5.758691406250009], + [12.255273437500021, -5.746484375], + [12.386035156250017, -5.72773437500001], + [12.484570312500011, -5.71875], + [12.503710937500017, -5.69580078125], + [12.518945312500023, -5.424609375], + [12.522363281250023, -5.14892578125], + [12.487402343750006, -5.112695312500009], + [12.453222656250006, -5.090625], + [12.451464843750017, -5.071484375000011], + [12.502734375000017, -5.036914062500003], + [12.573535156250017, -4.99658203125], + [12.59619140625, -4.978417968750009], + [12.6748046875, -4.905371093750006], + [12.8296875, -4.736621093750003], + [12.94746093750001, -4.6953125], + [13.057324218750011, -4.651074218750011], + [13.07275390625, -4.634765625], + [13.08740234375, -4.601953125], + [13.136621093750023, -4.604296875], + [13.15234375, -4.620312500000011], + [13.176464843750011, -4.655859375], + [13.219628906250021, -4.705859375], + [13.297265625000023, -4.765234375], + [13.375781250000017, -4.829394531250003], + [13.414941406250023, -4.83740234375], + [13.478417968750021, -4.804980468750003], + [13.551660156250023, -4.756738281250009], + [13.659570312500023, -4.721484375], + [13.685351562500017, -4.688671875000011], + [13.699414062500011, -4.618359375000011], + [13.707617187500006, -4.543261718750003], + [13.717089843750015, -4.454492187500009], + [13.739062500000017, -4.442480468750006], + [13.778027343750011, -4.433886718750003], + [13.849511718750021, -4.458886718750009], + [13.882324218749998, -4.484667968750003], + [13.94091796875, -4.484667968750003], + [13.978417968750023, -4.461230468750003], + [14.046875, -4.41748046875], + [14.133886718750006, -4.4], + [14.22705078125, -4.358105468750011], + [14.316210937500017, -4.304101562500009], + [14.358300781250023, -4.299414062500005], + [14.402929687500006, -4.369726562500006], + [14.442773437500021, -4.419042968750006], + [14.449804687500006, -4.449511718750003], + [14.409960937500015, -4.508105468750003], + [14.365429687500011, -4.585546875], + [14.402929687500006, -4.681640625], + [14.411914062500017, -4.775], + [14.410742187500004, -4.83125], + [14.44091796875, -4.854101562500006], + [14.461621093750011, -4.864941406250011], + [14.493945312500015, -4.851660156250005], + [14.557617187500002, -4.855761718750003], + [14.63398437500001, -4.885058593750003], + [14.707910156250021, -4.881738281250009], + [14.779296875, -4.845703125], + [14.912109375, -4.70556640625], + [15.10625, -4.461035156250006], + [15.2671875, -4.307617187499999], + [15.394628906250007, -4.244921875], + [15.480957031249998, -4.171777343750009], + [15.525976562500006, -4.087988281250006], + [15.60009765625, -4.030957031250011], + [15.75458984375001, -3.985546875000011], + [15.872460937500023, -3.934277343750011], + [15.990039062500017, -3.766210937500006], + [16.146777343750017, -3.464160156250003], + [16.190625, -3.194433593750006], + [16.217382812500006, -3.0302734375], + [16.20185546875001, -2.464746093750009], + [16.19160156250001, -2.279101562500002], + [16.21533203125, -2.177832031250006], + [16.27392578125, -2.108203125], + [16.43359375, -1.960839843750009], + [16.54072265625001, -1.840136718750003], + [16.62246093750002, -1.698925781250011], + [16.780078125000017, -1.376367187500009], + [16.84912109375, -1.2724609375], + [16.879882812499996, -1.225878906250003], + [16.974707031250006, -1.139941406250003], + [17.10761718750001, -1.064453125], + [17.27880859375, -0.999609375], + [17.542871093750023, -0.775], + [17.752832031250023, -0.549023437500011], + [17.72412109375, -0.277539062500011], + [17.77314453125001, -0.052392578125009], + [17.8876953125, 0.234130859375], + [17.925195312500023, 0.537304687499997], + [17.8857421875, 0.856884765624997], + [17.902441406250006, 1.118066406249994], + [18.01171875, 1.422119140625], + [18.0578125, 1.534863281249997], + [18.072851562500006, 1.719384765624994], + [18.072167968750023, 2.01328125], + [18.211621093750008, 2.414941406249994], + [18.34345703125001, 2.655419921874994], + [18.49091796875001, 2.924414062499991], + [18.54707031250001, 3.087011718749991], + [18.622167968750006, 3.304052734374991], + [18.6103515625, 3.478417968749994], + [18.5966796875, 3.6787109375], + [18.633691406250023, 3.954296875], + [18.619921875000017, 4.116601562499994], + [18.567480468750006, 4.257568359375], + [18.59414062500002, 4.346240234374989], + [18.69990234375001, 4.382617187499989], + [18.83173828125001, 4.5234375], + [19.06855468750001, 4.891406249999989], + [19.32343750000001, 5.070751953124997], + [19.5009765625, 5.127490234374989], + [19.68603515625, 5.121386718749989], + [19.80654296875002, 5.089306640624996], + [19.8625, 5.031298828124989], + [20.002343750000023, 4.944726562499994], + [20.226367187500017, 4.829638671874989], + [20.3935546875, 4.686181640624994], + [20.48652343750001, 4.541552734374989], + [20.558105468749996, 4.462695312499989], + [20.6474609375, 4.435644531249991], + [20.79296875, 4.447314453124989], + [20.95576171875001, 4.413134765624989], + [21.125585937500002, 4.332177734374994], + [21.229785156250017, 4.302197265624997], + [21.268359375000014, 4.323095703124991], + [21.350195312500002, 4.311376953124991], + [21.53759765625, 4.244824218749997], + [21.687011718749996, 4.281396484374994], + [21.908203125, 4.25390625], + [22.422167968750017, 4.134960937499997], + [22.44970703125, 4.155126953124991], + [22.461816406250023, 4.15976562499999], + [22.505664062500017, 4.207666015624994], + [22.6171875, 4.445556640624999], + [22.711718750000017, 4.591748046874997], + [22.755761718750023, 4.646679687499996], + [22.864550781250017, 4.723876953125], + [22.99287109375001, 4.743847656249997], + [23.11591796875001, 4.736914062499991], + [23.218847656250006, 4.702978515624991], + [23.312890625000023, 4.663525390624997], + [23.41718750000001, 4.663134765624989], + [23.523632812500008, 4.701269531249991], + [23.681835937500008, 4.770800781249989], + [23.848437500000017, 4.816357421874997], + [23.99169921875, 4.866259765624989], + [24.22773437500001, 4.953857421875], + [24.31982421875, 4.994140625], + [24.437109375, 5.009960937499997], + [24.76552734375002, 4.93007812499999], + [24.978417968750023, 4.982958984374989], + [25.065234375000017, 4.967431640624994], + [25.249316406250017, 5.024560546874994], + [25.28310546875002, 5.062695312499997], + [25.400195312500017, 5.255908203124988], + [25.525097656250008, 5.31210937499999], + [25.713867187499996, 5.28369140625], + [25.819921875, 5.253710937499988], + [26.17353515625001, 5.171142578125], + [26.632617187500017, 5.085205078125], + [26.767578125, 5.071923828124994], + [26.822070312500014, 5.062402343749994], + [26.8701171875, 5.07568359375], + [27.020605468750006, 5.184375], + [27.071875, 5.199755859374988], + [27.11494140625001, 5.197851562499991], + [27.403320312499996, 5.109179687499989] + ] + ] + } + }, + { + "type": "Feature", + "properties": { + "scalerank": 1, + "featurecla": "Admin-0 country", + "labelrank": 3, + "sovereignt": "Burkina Faso", + "sov_a3": "BFA", + "adm0_dif": 0, + "level": 2, + "type": "Sovereign country", + "admin": "Burkina Faso", + "adm0_a3": "BFA", + "geou_dif": 0, + "geounit": "Burkina Faso", + "gu_a3": "BFA", + "su_dif": 0, + "subunit": "Burkina Faso", + "su_a3": "BFA", + "brk_diff": 0, + "name": "Burkina Faso", + "name_long": "Burkina Faso", + "brk_a3": "BFA", + "brk_name": "Burkina Faso", + "brk_group": null, + "abbrev": "B.F.", + "postal": "BF", + "formal_en": "Burkina Faso", + "formal_fr": null, + "note_adm0": null, + "note_brk": null, + "name_sort": "Burkina Faso", + "name_alt": null, + "mapcolor7": 2, + "mapcolor8": 1, + "mapcolor9": 5, + "mapcolor13": 11, + "pop_est": 15746232, + "gdp_md_est": 17820, + "pop_year": -99, + "lastcensus": 2006, + "gdp_year": -99, + "economy": "7. Least developed region", + "income_grp": "5. Low income", + "wikipedia": -99, + "fips_10": null, + "iso_a2": "BF", + "iso_a3": "BFA", + "iso_n3": "854", + "un_a3": "854", + "wb_a2": "BF", + "wb_a3": "BFA", + "woe_id": -99, + "adm0_a3_is": "BFA", + "adm0_a3_us": "BFA", + "adm0_a3_un": -99, + "adm0_a3_wb": -99, + "continent": "Africa", + "region_un": "Africa", + "subregion": "Western Africa", + "region_wb": "Sub-Saharan Africa", + "name_len": 12, + "long_len": 12, + "abbrev_len": 4, + "tiny": -99, + "homepart": 1, + "filename": "BFA.geojson" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [0.217480468750011, 14.911474609374991], + [0.203808593750011, 14.865039062500005], + [0.202734375, 14.7828125], + [0.18505859375, 14.65292968749999], + [0.163867187500017, 14.497216796874993], + [0.250585937500006, 14.396435546874995], + [0.354589843750006, 14.288037109374995], + [0.382519531250011, 14.245800781249997], + [0.354882812500023, 14.139013671874991], + [0.3740234375, 14.076367187499995], + [0.42919921875, 13.972119140624997], + [0.522363281250023, 13.839746093749993], + [0.6181640625, 13.703417968750003], + [0.6845703125, 13.685400390624991], + [0.747753906250011, 13.674511718749995], + [0.786035156250023, 13.650048828124994], + [0.84228515625, 13.626416015624997], + [0.89794921875, 13.6109375], + [0.946582031250017, 13.581152343749991], + [0.977734375000011, 13.551953125], + [1.017871093750017, 13.467871093749991], + [1.1259765625, 13.412353515625], + [1.201171875, 13.357519531249991], + [1.1708984375, 13.329589843749998], + [1.076855468750011, 13.340771484374995], + [0.988476562500011, 13.36484375], + [0.976757812500011, 13.324511718750001], + [0.973046875000023, 13.170361328124997], + [0.9873046875, 13.041894531249994], + [1.007910156250006, 13.024804687499994], + [1.096777343750005, 13.001123046874994], + [1.308691406250006, 12.834277343749989], + [1.50048828125, 12.676464843749997], + [1.56494140625, 12.635400390624994], + [1.671093750000011, 12.619824218749997], + [1.789843750000017, 12.61328125], + [1.840917968750006, 12.627880859374997], + [1.956152343750006, 12.70742187499999], + [2.017382812500017, 12.716210937499994], + [2.073828125, 12.713964843749991], + [2.104589843750006, 12.701269531249991], + [2.159765625, 12.636425781249997], + [2.211523437500006, 12.538427734374991], + [2.226269531250011, 12.466064453125], + [2.221386718750011, 12.42724609375], + [2.203808593750011, 12.41259765625], + [2.109375, 12.393847656249989], + [2.068554687500011, 12.379150390625], + [2.058398437500017, 12.357958984374987], + [2.072949218750011, 12.309375], + [2.09140625, 12.277978515624994], + [2.194433593750006, 12.136474609375], + [2.343359375, 11.945996093749997], + [2.38916015625, 11.897070312499991], + [2.36328125, 11.840087890624998], + [2.287207031250006, 11.69125976562499], + [2.230859375000022, 11.629150390625], + [1.980371093750023, 11.418408203124995], + [1.857617187500011, 11.443359375], + [1.6, 11.400634765624998], + [1.561425781250023, 11.449121093749994], + [1.501367187500023, 11.45556640625], + [1.4267578125, 11.447119140624991], + [1.399707031250017, 11.4287109375], + [1.391503906250023, 11.408007812499989], + [1.36484375, 11.37890625], + [1.3173828125, 11.295263671874991], + [1.280468750000011, 11.273974609374989], + [1.234667968750017, 11.261035156249989], + [1.1787109375, 11.262744140624989], + [1.145800781250017, 11.251904296874997], + [1.1455078125, 11.210400390624997], + [1.135546875000017, 11.174365234374987], + [1.097558593750023, 11.156347656249991], + [1.08154296875, 11.116015624999989], + [1.084570312500006, 11.076367187499997], + [1.062304687500017, 11.05820312499999], + [1.013867187500011, 11.068115234374998], + [0.985058593750011, 11.079003906249993], + [0.9580078125, 11.027783203124997], + [0.924609375000017, 10.992822265624994], + [0.900488281250006, 10.993261718749991], + [0.642968750000023, 10.983056640624994], + [0.549121093750017, 10.955419921874991], + [0.49267578125, 10.954980468749993], + [0.49072265625, 10.978173828124994], + [0.484179687500017, 10.991992187499989], + [0.159277343750006, 11.069628906249989], + [-0.068603515625, 11.115625], + [-0.299462890624994, 11.166894531249994], + [-0.312548828124989, 11.118896484375], + [-0.345751953124989, 11.087939453124989], + [-0.395605468749977, 11.085693359375], + [-0.430322265624994, 11.09326171875], + [-0.45351562499999, 11.056298828124994], + [-0.49169921875, 11.007617187499989], + [-0.545214843749989, 10.983691406249989], + [-0.59765625, 10.953662109374989], + [-0.627148437499983, 10.927392578124994], + [-0.648535156249977, 10.9267578125], + [-0.701416015625, 10.988964843749997], + [-0.771582031249977, 10.995263671874994], + [-0.902929687499977, 10.984716796874991], + [-0.961816406249994, 11.001708984374998], + [-1.04248046875, 11.010058593749989], + [-1.232617187499983, 10.997216796874994], + [-1.536767578124994, 11.02265625], + [-1.586474609374989, 11.008886718749991], + [-1.599658203124989, 10.99765625], + [-1.900634765625, 10.994677734374987], + [-2.23193359375, 10.99140625], + [-2.509179687499994, 10.988720703124997], + [-2.751660156249983, 10.986376953124989], + [-2.752099609374994, 10.996972656249994], + [-2.829931640624977, 10.99838867187499], + [-2.838574218749983, 10.977490234374997], + [-2.907324218749977, 10.727978515624997], + [-2.914892578124977, 10.592333984374989], + [-2.87841796875, 10.507958984374993], + [-2.837207031249989, 10.454638671874987], + [-2.791162109374994, 10.432421874999989], + [-2.78662109375, 10.401904296874989], + [-2.823437499999983, 10.362939453124994], + [-2.8203125, 10.322851562499991], + [-2.777099609375, 10.281591796874991], + [-2.766503906249994, 10.238183593749994], + [-2.788476562499994, 10.192578125], + [-2.783203125, 10.08310546874999], + [-2.750732421875, 9.90966796875], + [-2.749804687499989, 9.797216796874991], + [-2.780517578125, 9.745849609375], + [-2.765966796874977, 9.658056640624991], + [-2.706201171874994, 9.533935546875], + [-2.695849609374989, 9.481347656249994], + [-2.7171875, 9.457128906249991], + [-2.7666015625, 9.424707031249994], + [-2.816748046874977, 9.425830078124989], + [-2.875146484374994, 9.500927734374997], + [-2.90087890625, 9.534619140624997], + [-2.948144531249994, 9.610742187499994], + [-2.98828125, 9.687353515624991], + [-3.042626953124994, 9.720898437499997], + [-3.095800781249977, 9.752099609374993], + [-3.160693359374989, 9.849169921874989], + [-3.223535156249994, 9.895458984374997], + [-3.289697265624994, 9.882226562499994], + [-3.386279296874989, 9.900292968749994], + [-3.581152343749977, 9.92431640625], + [-3.790625, 9.9171875], + [-3.877636718749983, 9.89492187499999], + [-3.963476562499977, 9.859619140625], + [-4.18115234375, 9.781738281249998], + [-4.267187499999977, 9.743261718749991], + [-4.332226562499983, 9.645703125], + [-4.406201171874983, 9.647998046874989], + [-4.480273437499989, 9.679248046874989], + [-4.526611328125, 9.723486328124991], + [-4.625830078124977, 9.713574218749997], + [-4.721777343749977, 9.756542968749997], + [-4.814453125, 9.841162109374991], + [-4.882714843749994, 9.868945312499989], + [-4.969921874999983, 9.93007812499999], + [-4.994042968749994, 10.04648437499999], + [-5.04931640625, 10.128320312499994], + [-5.099853515625, 10.241601562499994], + [-5.175292968749999, 10.292626953124994], + [-5.262304687499977, 10.319677734374991], + [-5.382275390624982, 10.314013671874989], + [-5.461279296874977, 10.359570312499997], + [-5.523535156249976, 10.426025390625], + [-5.507031249999983, 10.483447265624989], + [-5.479003906249999, 10.565087890624994], + [-5.475683593749977, 10.643945312499994], + [-5.457080078124989, 10.771386718749994], + [-5.468554687499989, 10.931054687499994], + [-5.490478515625, 11.042382812499994], + [-5.42421875, 11.088720703124991], + [-5.347412109375, 11.130273437499993], + [-5.299853515624989, 11.205957031249994], + [-5.250244140625, 11.375781249999989], + [-5.229394531249994, 11.522460937499998], + [-5.244775390624994, 11.57675781249999], + [-5.270312499999988, 11.619873046874998], + [-5.29052734375, 11.683300781249997], + [-5.302001953124999, 11.760449218749995], + [-5.288134765624989, 11.827929687499989], + [-5.230175781249983, 11.890283203124994], + [-5.157519531249988, 11.9423828125], + [-5.105908203124983, 11.967529296875], + [-4.968994140625, 11.993310546874994], + [-4.797949218749977, 12.032128906249994], + [-4.699316406249977, 12.076171875], + [-4.627246093749989, 12.120214843749991], + [-4.5869140625, 12.155029296875], + [-4.546044921874994, 12.226464843749994], + [-4.479882812499994, 12.281787109374989], + [-4.4287109375, 12.337597656249997], + [-4.421582031249983, 12.493066406249994], + [-4.421923828124989, 12.581591796874989], + [-4.459863281249994, 12.63037109375], + [-4.480615234374994, 12.672216796874991], + [-4.227099609374989, 12.793701171874998], + [-4.225244140624994, 12.879492187499991], + [-4.260644531249994, 12.975341796875], + [-4.310253906249983, 13.052490234374998], + [-4.328710937499976, 13.119042968749993], + [-4.258691406249994, 13.197314453124987], + [-4.196191406249994, 13.256152343750001], + [-4.151025390624994, 13.306201171875003], + [-4.05117187499999, 13.38242187499999], + [-3.947314453124989, 13.402197265624991], + [-3.853466796874983, 13.37353515625], + [-3.575781249999977, 13.194189453124991], + [-3.527636718749988, 13.18271484374999], + [-3.469921874999983, 13.196386718749991], + [-3.396728515625, 13.243701171875003], + [-3.3017578125, 13.28076171875], + [-3.266748046874994, 13.40078125], + [-3.270166015624994, 13.577441406250003], + [-3.248632812499977, 13.658349609374994], + [-3.198437499999983, 13.6728515625], + [-3.038671874999977, 13.639111328124995], + [-2.997216796874994, 13.63710937499999], + [-2.950830078124994, 13.6484375], + [-2.917089843749977, 13.679492187500001], + [-2.918505859374989, 13.736376953125003], + [-2.925878906249977, 13.786767578124994], + [-2.873925781249994, 13.950732421875003], + [-2.778857421874989, 14.073730468749998], + [-2.586718749999989, 14.227587890625003], + [-2.526904296874989, 14.25830078125], + [-2.457226562499983, 14.274121093749995], + [-2.113232421874983, 14.16845703125], + [-2.05712890625, 14.194628906250003], + [-1.97304687499999, 14.456542968749998], + [-1.879785156249994, 14.481494140625003], + [-1.767773437499983, 14.486035156249997], + [-1.695068359375, 14.508496093749995], + [-1.657324218749977, 14.526806640624995], + [-1.49365234375, 14.626074218749991], + [-1.204980468749994, 14.761523437500001], + [-1.049560546875, 14.81953125], + [-1.019189453124994, 14.841357421875003], + [-0.907958984375, 14.937402343749996], + [-0.760449218749983, 15.047753906249994], + [-0.666455078124983, 15.069775390624995], + [-0.536523437499994, 15.077880859374998], + [-0.454492187499994, 15.05966796874999], + [-0.432275390624994, 15.028515625], + [-0.405419921874994, 15.0125], + [-0.235888671874989, 15.059423828124991], + [0.00732421875, 14.984814453124995], + [0.217480468750011, 14.911474609374991] + ] + ] + } + }, + { + "type": "Feature", + "properties": { + "scalerank": 1, + "featurecla": "Admin-0 country", + "labelrank": 5, + "sovereignt": "Benin", + "sov_a3": "BEN", + "adm0_dif": 0, + "level": 2, + "type": "Sovereign country", + "admin": "Benin", + "adm0_a3": "BEN", + "geou_dif": 0, + "geounit": "Benin", + "gu_a3": "BEN", + "su_dif": 0, + "subunit": "Benin", + "su_a3": "BEN", + "brk_diff": 0, + "name": "Benin", + "name_long": "Benin", + "brk_a3": "BEN", + "brk_name": "Benin", + "brk_group": null, + "abbrev": "Benin", + "postal": "BJ", + "formal_en": "Republic of Benin", + "formal_fr": null, + "note_adm0": null, + "note_brk": null, + "name_sort": "Benin", + "name_alt": null, + "mapcolor7": 1, + "mapcolor8": 2, + "mapcolor9": 2, + "mapcolor13": 12, + "pop_est": 8791832, + "gdp_md_est": 12830, + "pop_year": -99, + "lastcensus": 2002, + "gdp_year": -99, + "economy": "7. Least developed region", + "income_grp": "5. Low income", + "wikipedia": -99, + "fips_10": null, + "iso_a2": "BJ", + "iso_a3": "BEN", + "iso_n3": "204", + "un_a3": "204", + "wb_a2": "BJ", + "wb_a3": "BEN", + "woe_id": -99, + "adm0_a3_is": "BEN", + "adm0_a3_us": "BEN", + "adm0_a3_un": -99, + "adm0_a3_wb": -99, + "continent": "Africa", + "region_un": "Africa", + "subregion": "Western Africa", + "region_wb": "Sub-Saharan Africa", + "name_len": 5, + "long_len": 5, + "abbrev_len": 5, + "tiny": -99, + "homepart": 1, + "filename": "BEN.geojson" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [3.595410156250011, 11.6962890625], + [3.553906250000011, 11.631884765624987], + [3.490527343750017, 11.49921875], + [3.48779296875, 11.395410156249993], + [3.638867187500011, 11.17685546874999], + [3.65625, 11.154589843749989], + [3.6953125, 11.1203125], + [3.71640625, 11.07958984375], + [3.734179687500017, 10.971923828124998], + [3.744921875000017, 10.850439453124991], + [3.7568359375, 10.76875], + [3.8296875, 10.653759765624997], + [3.83447265625, 10.607421875], + [3.783789062500006, 10.43588867187499], + [3.771777343750017, 10.417626953124994], + [3.758496093750011, 10.412695312499991], + [3.680273437500005, 10.427783203124989], + [3.646582031250005, 10.408984374999989], + [3.604101562500006, 10.350683593749991], + [3.577929687500017, 10.29248046875], + [3.576562500000023, 10.268359374999989], + [3.645898437500023, 10.16015625], + [3.60205078125, 10.004541015624994], + [3.557226562500005, 9.907324218749991], + [3.476757812500011, 9.851904296874991], + [3.40478515625, 9.838623046875], + [3.3544921875, 9.812792968749989], + [3.3251953125, 9.778466796874994], + [3.329492187500022, 9.667041015624989], + [3.223437500000017, 9.565625], + [3.164648437500006, 9.494677734374989], + [3.136132812500023, 9.451611328124997], + [3.148046875, 9.320605468749989], + [3.110449218750006, 9.188281249999989], + [3.044921875, 9.083837890624991], + [2.898046875, 9.061376953124991], + [2.774804687500023, 9.048535156249997], + [2.73291015625, 8.782519531249989], + [2.734667968750017, 8.614013671875], + [2.7236328125, 8.44189453125], + [2.703125, 8.371826171875], + [2.711523437500006, 8.272998046874989], + [2.702343750000011, 8.0498046875], + [2.68603515625, 7.873730468749996], + [2.707714843750011, 7.826611328124996], + [2.720410156250011, 7.723095703124996], + [2.719335937500006, 7.616259765624989], + [2.7509765625, 7.541894531249993], + [2.78515625, 7.476855468749988], + [2.783984375000017, 7.443408203124989], + [2.765820312500011, 7.422509765624994], + [2.75048828125, 7.395068359374989], + [2.750585937500006, 7.143212890624994], + [2.756738281250023, 7.067919921874989], + [2.747753906250011, 7.019824218749989], + [2.721386718750011, 6.980273437499989], + [2.731738281250017, 6.852832031249989], + [2.7529296875, 6.771630859374994], + [2.774609375000011, 6.711718749999989], + [2.753710937500017, 6.661767578124993], + [2.735644531250017, 6.595703125], + [2.7080078125, 6.427685546874997], + [2.706445312500023, 6.369238281249991], + [2.286914062500017, 6.328076171874996], + [1.818164062500017, 6.260644531249994], + [1.62265625, 6.216796875], + [1.6109375, 6.250830078124991], + [1.777929687500006, 6.294628906249997], + [1.7431640625, 6.426269531249999], + [1.639257812500005, 6.58154296875], + [1.598535156250023, 6.610205078124991], + [1.577539062500023, 6.687402343749993], + [1.602929687500023, 6.738085937499989], + [1.5908203125, 6.772265624999989], + [1.58203125, 6.877001953124989], + [1.530957031250011, 6.992431640624999], + [1.624707031250011, 6.997314453124999], + [1.624707031250011, 7.369189453124989], + [1.624609375, 7.725878906249988], + [1.624609375, 8.030224609374997], + [1.624609375, 8.270996093749998], + [1.606640625000011, 8.559277343749995], + [1.603808593750017, 8.77099609375], + [1.600195312500006, 9.050048828125], + [1.566308593750023, 9.137255859374989], + [1.42431640625, 9.285009765624991], + [1.3857421875, 9.361669921874991], + [1.37890625, 9.46298828124999], + [1.347070312500023, 9.567529296874994], + [1.345117187500023, 9.750195312499997], + [1.342871093750006, 9.962939453124987], + [1.330078125, 9.996972656249993], + [1.176171875000023, 10.098388671875], + [0.958300781250017, 10.242041015624991], + [0.792187500000011, 10.3515625], + [0.779980468750011, 10.359570312499997], + [0.763378906250011, 10.386669921874997], + [0.7875, 10.710253906249987], + [0.821875, 10.752587890624994], + [0.874804687500017, 10.8857421875], + [0.900488281250006, 10.993261718749991], + [0.924609375000017, 10.992822265624994], + [0.9580078125, 11.027783203124997], + [0.985058593750011, 11.079003906249993], + [1.013867187500011, 11.068115234374998], + [1.062304687500017, 11.05820312499999], + [1.084570312500006, 11.076367187499997], + [1.08154296875, 11.116015624999989], + [1.097558593750023, 11.156347656249991], + [1.135546875000017, 11.174365234374987], + [1.1455078125, 11.210400390624997], + [1.145800781250017, 11.251904296874997], + [1.1787109375, 11.262744140624989], + [1.234667968750017, 11.261035156249989], + [1.280468750000011, 11.273974609374989], + [1.3173828125, 11.295263671874991], + [1.36484375, 11.37890625], + [1.391503906250023, 11.408007812499989], + [1.399707031250017, 11.4287109375], + [1.4267578125, 11.447119140624991], + [1.501367187500023, 11.45556640625], + [1.561425781250023, 11.449121093749994], + [1.6, 11.400634765624998], + [1.857617187500011, 11.443359375], + [1.980371093750023, 11.418408203124995], + [2.230859375000022, 11.629150390625], + [2.287207031250006, 11.69125976562499], + [2.36328125, 11.840087890624998], + [2.38916015625, 11.897070312499991], + [2.412695312500006, 11.999316406249989], + [2.36328125, 12.188427734374997], + [2.366015625000017, 12.221923828125], + [2.469335937500005, 12.262792968749991], + [2.598437500000017, 12.294335937499994], + [2.6484375, 12.296777343749993], + [2.681347656250011, 12.312792968749989], + [2.728515625, 12.353613281249991], + [2.805273437500006, 12.383837890624989], + [2.850195312500006, 12.373681640624994], + [2.878125, 12.367724609374989], + [3.149609375000011, 12.118066406249994], + [3.267382812500017, 11.991894531249997], + [3.299121093750017, 11.927148437499994], + [3.359960937500005, 11.88046875], + [3.449804687500005, 11.85195312499999], + [3.53173828125, 11.78745117187499], + [3.595410156250011, 11.6962890625] + ] + ] + } + }, + { + "type": "Feature", + "properties": { + "scalerank": 1, + "featurecla": "Admin-0 country", + "labelrank": 6, + "sovereignt": "Burundi", + "sov_a3": "BDI", + "adm0_dif": 0, + "level": 2, + "type": "Sovereign country", + "admin": "Burundi", + "adm0_a3": "BDI", + "geou_dif": 0, + "geounit": "Burundi", + "gu_a3": "BDI", + "su_dif": 0, + "subunit": "Burundi", + "su_a3": "BDI", + "brk_diff": 0, + "name": "Burundi", + "name_long": "Burundi", + "brk_a3": "BDI", + "brk_name": "Burundi", + "brk_group": null, + "abbrev": "Bur.", + "postal": "BI", + "formal_en": "Republic of Burundi", + "formal_fr": null, + "note_adm0": null, + "note_brk": null, + "name_sort": "Burundi", + "name_alt": null, + "mapcolor7": 2, + "mapcolor8": 2, + "mapcolor9": 5, + "mapcolor13": 8, + "pop_est": 8988091, + "gdp_md_est": 3102, + "pop_year": -99, + "lastcensus": 2008, + "gdp_year": -99, + "economy": "7. Least developed region", + "income_grp": "5. Low income", + "wikipedia": -99, + "fips_10": null, + "iso_a2": "BI", + "iso_a3": "BDI", + "iso_n3": "108", + "un_a3": "108", + "wb_a2": "BI", + "wb_a3": "BDI", + "woe_id": -99, + "adm0_a3_is": "BDI", + "adm0_a3_us": "BDI", + "adm0_a3_un": -99, + "adm0_a3_wb": -99, + "continent": "Africa", + "region_un": "Africa", + "subregion": "Eastern Africa", + "region_wb": "Sub-Saharan Africa", + "name_len": 7, + "long_len": 7, + "abbrev_len": 4, + "tiny": -99, + "homepart": 1, + "filename": "BDI.geojson" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [30.55361328125002, -2.400097656250011], + [30.53369140625, -2.42626953125], + [30.441992187500006, -2.613476562500011], + [30.424218750000023, -2.6416015625], + [30.434375, -2.658886718750011], + [30.473339843750008, -2.6943359375], + [30.450488281250017, -2.753222656250003], + [30.44130859375002, -2.76904296875], + [30.42402343750001, -2.824023437500003], + [30.43349609375002, -2.87451171875], + [30.455566406249996, -2.893164062500006], + [30.515039062500023, -2.917578125], + [30.60429687500002, -2.935253906250011], + [30.70947265625, -2.977246093750011], + [30.7802734375, -2.98486328125], + [30.796875, -3.01513671875], + [30.793554687500002, -3.0693359375], + [30.811132812500002, -3.116406250000011], + [30.811425781250023, -3.200585937500008], + [30.79023437500001, -3.274609375000011], + [30.681835937500008, -3.309375], + [30.62607421875001, -3.347363281250011], + [30.6109375, -3.366406250000011], + [30.624609375, -3.388671875], + [30.631933593750006, -3.418652343750011], + [30.52988281250001, -3.492480468750003], + [30.425, -3.5888671875], + [30.4, -3.65390625], + [30.37910156250001, -3.730761718750003], + [30.348437500000017, -3.77978515625], + [30.268554687499996, -3.850488281250009], + [30.187109375, -3.992871093750011], + [30.14716796875001, -4.085351562500009], + [29.947265625, -4.307324218750011], + [29.76953125, -4.418066406250006], + [29.717773437499996, -4.455859375], + [29.403222656250026, -4.449316406250006], + [29.379199218750017, -4.299707031250009], + [29.331347656250014, -4.095410156250011], + [29.223242187500006, -3.910839843750011], + [29.211816406250023, -3.833789062500002], + [29.216796875, -3.684960937500008], + [29.217187500000026, -3.475683593750006], + [29.210058593750002, -3.36328125], + [29.21230468750002, -3.28125], + [29.22607421875, -3.138671875], + [29.224414062500017, -3.053515625], + [29.153222656250023, -2.955273437500011], + [29.064746093750017, -2.850781250000011], + [29.016601562499996, -2.799609375], + [29.014160156249996, -2.75830078125], + [29.01435546875001, -2.72021484375], + [29.028613281250017, -2.66455078125], + [29.063183593750008, -2.6025390625], + [29.10205078125, -2.595703125], + [29.197558593750014, -2.620312500000011], + [29.29707031250001, -2.673046875000011], + [29.34980468750001, -2.79150390625], + [29.390234375, -2.80859375], + [29.463671875000017, -2.808398437500003], + [29.6513671875, -2.792773437500003], + [29.698046875000017, -2.794726562500002], + [29.783398437500008, -2.76640625], + [29.868164062500004, -2.71640625], + [29.892578125, -2.664648437500006], + [29.912402343750014, -2.548632812500003], + [29.930175781250004, -2.339550781250011], + [29.973437500000017, -2.337109375000011], + [30.091894531250006, -2.411523437500009], + [30.117285156250006, -2.416601562500006], + [30.14228515625001, -2.413964843750009], + [30.183300781250008, -2.377050781250006], + [30.23378906250002, -2.347070312500008], + [30.270996093749996, -2.347851562500011], + [30.408496093750014, -2.31298828125], + [30.482226562500017, -2.376074218750006], + [30.52890625, -2.395605468750006], + [30.55361328125002, -2.400097656250011] + ] + ] + } + }, + { + "type": "Feature", + "properties": { + "scalerank": 1, + "featurecla": "Admin-0 country", + "labelrank": 4, + "sovereignt": "Central African Republic", + "sov_a3": "CAF", + "adm0_dif": 0, + "level": 2, + "type": "Sovereign country", + "admin": "Central African Republic", + "adm0_a3": "CAF", + "geou_dif": 0, + "geounit": "Central African Republic", + "gu_a3": "CAF", + "su_dif": 0, + "subunit": "Central African Republic", + "su_a3": "CAF", + "brk_diff": 0, + "name": "Central African Rep.", + "name_long": "Central African Republic", + "brk_a3": "CAF", + "brk_name": "Central African Rep.", + "brk_group": null, + "abbrev": "C.A.R.", + "postal": "CF", + "formal_en": "Central African Republic", + "formal_fr": null, + "note_adm0": null, + "note_brk": null, + "name_sort": "Central African Republic", + "name_alt": null, + "mapcolor7": 5, + "mapcolor8": 6, + "mapcolor9": 6, + "mapcolor13": 9, + "pop_est": 4511488, + "gdp_md_est": 3198, + "pop_year": -99, + "lastcensus": 2003, + "gdp_year": -99, + "economy": "7. Least developed region", + "income_grp": "5. Low income", + "wikipedia": -99, + "fips_10": null, + "iso_a2": "CF", + "iso_a3": "CAF", + "iso_n3": "140", + "un_a3": "140", + "wb_a2": "CF", + "wb_a3": "CAF", + "woe_id": -99, + "adm0_a3_is": "CAF", + "adm0_a3_us": "CAF", + "adm0_a3_un": -99, + "adm0_a3_wb": -99, + "continent": "Africa", + "region_un": "Africa", + "subregion": "Middle Africa", + "region_wb": "Sub-Saharan Africa", + "name_len": 20, + "long_len": 24, + "abbrev_len": 6, + "tiny": -99, + "homepart": 1, + "filename": "CAF.geojson" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [22.86005859375001, 10.919677734375], + [22.930761718750006, 10.7953125], + [22.96435546875, 10.751806640624991], + [23.255859375, 10.457812499999989], + [23.312304687500017, 10.387939453125], + [23.456640625, 10.174267578124997], + [23.545019531250006, 10.030078124999989], + [23.646289062500014, 9.822900390624994], + [23.65625, 9.710351562499993], + [23.64277343750001, 9.613916015624994], + [23.62265625, 9.340625], + [23.59609375000002, 9.261914062499997], + [23.468261718749996, 9.11474609375], + [23.462792968750023, 9.048486328124993], + [23.489062500000017, 8.993310546874994], + [23.528027343750008, 8.970605468749994], + [23.551855468750006, 8.943212890624991], + [23.53730468750001, 8.815820312499994], + [23.58320312500001, 8.765820312499997], + [23.679296875, 8.732470703124989], + [23.921972656250006, 8.709716796875], + [24.048144531250017, 8.691308593749994], + [24.147363281250023, 8.665625], + [24.19482421875, 8.653369140624989], + [24.220898437500008, 8.608251953124991], + [24.179980468750017, 8.461132812499997], + [24.208398437500023, 8.369140625], + [24.291406250000023, 8.29140625], + [24.37548828125, 8.258447265624994], + [24.4560546875, 8.239453125], + [24.736718750000023, 8.191552734374994], + [24.853320312500017, 8.137548828124991], + [25.00722656250002, 7.96484375], + [25.20039062500001, 7.807910156249989], + [25.247363281250017, 7.724560546874997], + [25.238671875000023, 7.648974609374988], + [25.18134765625001, 7.557226562499991], + [25.19013671875001, 7.519335937499989], + [25.27890625, 7.427490234375001], + [25.380664062500014, 7.333398437499993], + [25.56660156250001, 7.228710937499997], + [25.888964843750017, 7.06494140625], + [26.036523437500023, 6.955224609374993], + [26.0869140625, 6.872119140624989], + [26.169335937500023, 6.78173828125], + [26.284570312500023, 6.699023437499989], + [26.361816406249996, 6.635302734374989], + [26.30859375, 6.455322265625], + [26.32460937500002, 6.396240234375], + [26.353320312500017, 6.344921875], + [26.420507812500002, 6.274169921875], + [26.44746093750001, 6.183007812499994], + [26.514257812500002, 6.069238281249994], + [26.593652343750023, 6.017529296874997], + [26.726367187500017, 5.998242187499997], + [26.796484375, 5.945507812499997], + [26.942285156250023, 5.854931640624996], + [27.083398437500023, 5.77685546875], + [27.143945312500023, 5.722949218749989], + [27.18125, 5.675146484374991], + [27.21337890625, 5.618798828124994], + [27.229101562500006, 5.5625], + [27.232519531250006, 5.440771484374991], + [27.256738281250023, 5.289648437499991], + [27.332421875000023, 5.186328124999989], + [27.403320312499996, 5.109179687499989], + [27.11494140625001, 5.197851562499991], + [27.071875, 5.199755859374988], + [27.020605468750006, 5.184375], + [26.8701171875, 5.07568359375], + [26.822070312500014, 5.062402343749994], + [26.767578125, 5.071923828124994], + [26.632617187500017, 5.085205078125], + [26.17353515625001, 5.171142578125], + [25.819921875, 5.253710937499988], + [25.713867187499996, 5.28369140625], + [25.525097656250008, 5.31210937499999], + [25.400195312500017, 5.255908203124988], + [25.28310546875002, 5.062695312499997], + [25.249316406250017, 5.024560546874994], + [25.065234375000017, 4.967431640624994], + [24.978417968750023, 4.982958984374989], + [24.76552734375002, 4.93007812499999], + [24.437109375, 5.009960937499997], + [24.31982421875, 4.994140625], + [24.22773437500001, 4.953857421875], + [23.99169921875, 4.866259765624989], + [23.848437500000017, 4.816357421874997], + [23.681835937500008, 4.770800781249989], + [23.523632812500008, 4.701269531249991], + [23.41718750000001, 4.663134765624989], + [23.312890625000023, 4.663525390624997], + [23.218847656250006, 4.702978515624991], + [23.11591796875001, 4.736914062499991], + [22.99287109375001, 4.743847656249997], + [22.864550781250017, 4.723876953125], + [22.755761718750023, 4.646679687499996], + [22.711718750000017, 4.591748046874997], + [22.6171875, 4.445556640624999], + [22.505664062500017, 4.207666015624994], + [22.461816406250023, 4.15976562499999], + [22.44970703125, 4.155126953124991], + [22.422167968750017, 4.134960937499997], + [21.908203125, 4.25390625], + [21.687011718749996, 4.281396484374994], + [21.53759765625, 4.244824218749997], + [21.350195312500002, 4.311376953124991], + [21.268359375000014, 4.323095703124991], + [21.229785156250017, 4.302197265624997], + [21.125585937500002, 4.332177734374994], + [20.95576171875001, 4.413134765624989], + [20.79296875, 4.447314453124989], + [20.6474609375, 4.435644531249991], + [20.558105468749996, 4.462695312499989], + [20.48652343750001, 4.541552734374989], + [20.3935546875, 4.686181640624994], + [20.226367187500017, 4.829638671874989], + [20.002343750000023, 4.944726562499994], + [19.8625, 5.031298828124989], + [19.80654296875002, 5.089306640624996], + [19.68603515625, 5.121386718749989], + [19.5009765625, 5.127490234374989], + [19.32343750000001, 5.070751953124997], + [19.06855468750001, 4.891406249999989], + [18.83173828125001, 4.5234375], + [18.69990234375001, 4.382617187499989], + [18.59414062500002, 4.346240234374989], + [18.567480468750006, 4.257568359375], + [18.619921875000017, 4.116601562499994], + [18.633691406250023, 3.954296875], + [18.5966796875, 3.6787109375], + [18.6103515625, 3.478417968749994], + [18.553808593750006, 3.510205078124997], + [18.499804687500017, 3.604101562499991], + [18.474414062500017, 3.622998046874997], + [18.318164062500017, 3.580810546875], + [18.237109375000017, 3.542675781249997], + [18.193945312500006, 3.505419921874988], + [18.160937500000017, 3.499804687499988], + [18.111328125, 3.551074218749989], + [18.072265625, 3.560302734375], + [18.0107421875, 3.550830078124989], + [17.94794921875001, 3.5517578125], + [17.907128906250023, 3.558398437499989], + [17.88037109375, 3.553857421874994], + [17.806640625, 3.584179687499997], + [17.537695312500006, 3.66162109375], + [17.491601562500023, 3.687304687499988], + [17.437988281249996, 3.684619140624988], + [17.2984375, 3.6171875], + [17.224707031250006, 3.598437499999988], + [17.002539062500002, 3.556689453124989], + [16.76435546875001, 3.536279296874994], + [16.67333984375, 3.535205078124989], + [16.610742187500023, 3.50537109375], + [16.570410156250006, 3.463085937499997], + [16.543066406250006, 3.36953125], + [16.49628906250001, 3.208837890624991], + [16.47675781250001, 3.165136718749991], + [16.480078125, 3.100976562499994], + [16.466210937500023, 2.993212890624989], + [16.459570312500002, 2.896533203124989], + [16.468554687500017, 2.831738281249997], + [16.401269531250023, 2.701025390624991], + [16.319628906250017, 2.542773437499989], + [16.251757812500014, 2.406787109374988], + [16.183398437500017, 2.270068359374989], + [16.136132812500023, 2.36376953125], + [16.106738281250017, 2.473486328124991], + [16.095507812500014, 2.59921875], + [16.101855468750017, 2.632666015624991], + [16.08349609375, 2.670019531249991], + [16.082128906250006, 2.678173828124997], + [16.05927734375001, 2.772998046874988], + [16.082421875000023, 2.839111328125], + [16.0634765625, 2.90859375], + [16.008203125000023, 2.976660156249991], + [15.958007812499998, 3.028710937499994], + [15.9287109375, 3.07578125], + [15.904882812500006, 3.095849609374994], + [15.849316406250011, 3.103076171874989], + [15.775, 3.127197265625], + [15.676562500000019, 3.2296875], + [15.580859375000017, 3.329296875], + [15.458398437500023, 3.456835937499989], + [15.360156250000019, 3.567138671875], + [15.23984375, 3.7021484375], + [15.128710937500015, 3.826904296875], + [15.062109375, 3.947216796874997], + [15.034863281250011, 4.016357421875], + [15.0673828125, 4.02294921875], + [15.115429687500013, 4.024462890624989], + [15.135839843750004, 4.036914062499989], + [15.136914062500011, 4.069140624999989], + [15.0875, 4.163964843749994], + [15.063574218750006, 4.284863281249997], + [15.022753906250017, 4.358544921874994], + [14.8935546875, 4.471875], + [14.770410156250021, 4.55810546875], + [14.73125, 4.602392578124991], + [14.708984375, 4.665576171874989], + [14.66171875, 5.065527343749991], + [14.640625, 5.179052734374991], + [14.60175781250001, 5.228808593749989], + [14.573535156250017, 5.251708984375], + [14.56298828125, 5.279931640624994], + [14.568066406250013, 5.35107421875], + [14.584375, 5.414746093749997], + [14.58359375, 5.439648437499997], + [14.61689453125001, 5.495507812499994], + [14.61689453125001, 5.865136718749993], + [14.598828125000011, 5.883984375], + [14.577246093750004, 5.916015625], + [14.542480468749998, 5.913574218749999], + [14.503125, 5.916894531249994], + [14.4638671875, 5.970703125], + [14.431152343749998, 6.038720703124994], + [14.440722656250017, 6.086718749999989], + [14.475, 6.126806640624991], + [14.512109375000025, 6.161914062499989], + [14.559375, 6.191210937499989], + [14.699511718750017, 6.250244140625], + [14.739257812499998, 6.279785156249999], + [14.764062500000021, 6.316357421874997], + [14.780371093750004, 6.36572265625], + [14.861914062500004, 6.555712890624989], + [14.982714843750017, 6.7453125], + [15.034570312500023, 6.784423828125], + [15.086328125000023, 6.909912109375], + [15.157128906250021, 7.063574218749991], + [15.185839843750017, 7.134912109374994], + [15.20673828125001, 7.206152343749991], + [15.245898437500017, 7.263574218749994], + [15.379101562500011, 7.358154296875], + [15.480078125, 7.523779296874991], + [15.589257812500021, 7.515039062499993], + [15.701269531250006, 7.488427734374993], + [15.845019531250015, 7.475292968749997], + [15.957617187500006, 7.507568359374999], + [16.030664062500023, 7.572119140624991], + [16.19111328125001, 7.6234375], + [16.37890625, 7.683544921874996], + [16.404394531250006, 7.772363281249994], + [16.459375, 7.818994140624995], + [16.523242187500014, 7.859960937499991], + [16.545312500000023, 7.865478515624999], + [16.550195312500023, 7.835888671874997], + [16.588964843750006, 7.743359375], + [16.668359375000023, 7.651757812499993], + [16.784765625, 7.550976562499996], + [16.818164062500017, 7.557324218749996], + [16.89033203125001, 7.633691406249993], + [17.071972656250008, 7.680810546874993], + [17.117968750000017, 7.701904296874999], + [17.24697265625002, 7.81298828125], + [17.402148437500014, 7.884570312499989], + [17.436425781250023, 7.890917968749989], + [17.49267578125, 7.909814453124993], + [17.6494140625, 7.98359375], + [17.760839843750006, 7.973828125], + [17.940136718750008, 7.985449218749991], + [18.238867187500006, 8.020361328124991], + [18.455078125, 8.032031249999989], + [18.56416015625001, 8.0458984375], + [18.591601562500017, 8.060791015625], + [18.633593750000017, 8.167724609375], + [18.66621093750001, 8.197705078124997], + [18.747460937500023, 8.243798828124994], + [18.90644531250001, 8.405078124999989], + [19.010839843750006, 8.541210937499997], + [19.039843750000017, 8.5869140625], + [19.042382812500023, 8.590283203124995], + [19.063867187500023, 8.598828125], + [19.108691406250014, 8.656152343749993], + [19.06416015625001, 8.715429687499991], + [18.886035156250017, 8.836035156249991], + [18.888574218750023, 8.852490234374997], + [18.878320312500023, 8.873193359374993], + [18.88828125, 8.889746093749991], + [18.95625, 8.938867187499994], + [19.0478515625, 8.995019531249993], + [19.1455078125, 9.01596679687499], + [19.40029296875002, 9.011621093749994], + [19.617480468750014, 9.023583984374994], + [19.668359375000023, 9.020898437499994], + [19.837695312500014, 9.049365234374989], + [19.953515625000023, 9.075146484374997], + [20.072656250000023, 9.13320312499999], + [20.342089843750017, 9.127099609374994], + [20.56689453125, 9.274951171874989], + [20.631445312500002, 9.301367187499991], + [20.65966796875, 9.324511718749987], + [20.66816406250001, 9.347119140624997], + [20.773242187500017, 9.405664062499993], + [20.891015625000023, 9.527148437499989], + [20.984179687500014, 9.636279296874989], + [21.00947265625001, 9.713232421874991], + [21.26386718750001, 9.974609375], + [21.352441406250023, 9.96914062499999], + [21.39599609375, 10.001367187499994], + [21.496875, 10.175683593749994], + [21.52802734375001, 10.207812499999989], + [21.57578125, 10.218554687499989], + [21.63271484375002, 10.23828125], + [21.682714843750006, 10.289843749999989], + [21.72578125000001, 10.366552734374991], + [21.726171875, 10.461621093749997], + [21.70654296875, 10.537890624999989], + [21.70654296875, 10.574804687499991], + [21.73066406250001, 10.608691406249987], + [21.771484375, 10.642822265625], + [21.96484375, 10.736669921874991], + [22.013769531250006, 10.782031249999989], + [22.04316406250001, 10.822705078124995], + [22.09716796875, 10.830078125], + [22.15625, 10.826074218749994], + [22.193652343750017, 10.851367187499987], + [22.2359375, 10.89414062499999], + [22.36982421875001, 10.951513671874991], + [22.49384765625001, 10.996240234374994], + [22.6240234375, 10.977343749999989], + [22.730175781250008, 10.954052734374997], + [22.8173828125, 10.927197265624997], + [22.86005859375001, 10.919677734375] + ] + ] + } + }, + { + "type": "Feature", + "properties": { + "scalerank": 1, + "featurecla": "Admin-0 country", + "labelrank": 6, + "sovereignt": "Comoros", + "sov_a3": "COM", + "adm0_dif": 0, + "level": 2, + "type": "Sovereign country", + "admin": "Comoros", + "adm0_a3": "COM", + "geou_dif": 0, + "geounit": "Comoros", + "gu_a3": "COM", + "su_dif": 0, + "subunit": "Comoros", + "su_a3": "COM", + "brk_diff": 0, + "name": "Comoros", + "name_long": "Comoros", + "brk_a3": "COM", + "brk_name": "Comoros", + "brk_group": null, + "abbrev": "Com.", + "postal": "KM", + "formal_en": "Union of the Comoros", + "formal_fr": null, + "note_adm0": null, + "note_brk": null, + "name_sort": "Comoros", + "name_alt": null, + "mapcolor7": 2, + "mapcolor8": 1, + "mapcolor9": 4, + "mapcolor13": 10, + "pop_est": 752438, + "gdp_md_est": 751.2, + "pop_year": -99, + "lastcensus": 2003, + "gdp_year": -99, + "economy": "7. Least developed region", + "income_grp": "5. Low income", + "wikipedia": -99, + "fips_10": null, + "iso_a2": "KM", + "iso_a3": "COM", + "iso_n3": "174", + "un_a3": "174", + "wb_a2": "KM", + "wb_a3": "COM", + "woe_id": -99, + "adm0_a3_is": "COM", + "adm0_a3_us": "COM", + "adm0_a3_un": -99, + "adm0_a3_wb": -99, + "continent": "Africa", + "region_un": "Africa", + "subregion": "Eastern Africa", + "region_wb": "Sub-Saharan Africa", + "name_len": 7, + "long_len": 7, + "abbrev_len": 4, + "tiny": 2, + "homepart": 1, + "filename": "COM.geojson" + }, + "geometry": { + "type": "MultiPolygon", + "coordinates": [ + [ + [ + [43.788671875, -12.307031250000023], + [43.85898437500006, -12.368261718749977], + [43.66367187500006, -12.342871093749949], + [43.632910156250006, -12.287695312499991], + [43.63134765624997, -12.247070312499972], + [43.7042968750001, -12.255957031250006], + [43.788671875, -12.307031250000023] + ] + ], + [ + [ + [44.476367187500074, -12.08154296875], + [44.52675781250005, -12.21953125], + [44.526269531249994, -12.323535156250017], + [44.504980468750006, -12.356542968749991], + [44.46015625000003, -12.335156249999983], + [44.37744140624997, -12.25224609374996], + [44.220117187499994, -12.171386718750014], + [44.29228515625001, -12.164746093749995], + [44.33447265625003, -12.173046875], + [44.37910156250003, -12.165625], + [44.407031250000074, -12.120117187499957], + [44.41259765624997, -12.092968750000026], + [44.45185546875004, -12.071386718749977], + [44.476367187500074, -12.08154296875] + ] + ], + [ + [ + [43.465820312499964, -11.901269531249966], + [43.44677734375002, -11.91455078125], + [43.35546874999997, -11.85751953125002], + [43.303320312500006, -11.844042968750031], + [43.226660156250006, -11.75185546874998], + [43.25605468750004, -11.432128906249957], + [43.280664062499994, -11.391210937499963], + [43.2990234375001, -11.374511718750028], + [43.34150390625004, -11.368457031249946], + [43.392968750000044, -11.408593749999952], + [43.37939453124997, -11.614160156249994], + [43.44765625, -11.752539062500034], + [43.491503906250074, -11.862109374999974], + [43.465820312499964, -11.901269531249966] + ] + ] + ] + } + }, + { + "type": "Feature", + "properties": { + "scalerank": 1, + "featurecla": "Admin-0 country", + "labelrank": 4, + "sovereignt": "Cape Verde", + "sov_a3": "CPV", + "adm0_dif": 0, + "level": 2, + "type": "Sovereign country", + "admin": "Cape Verde", + "adm0_a3": "CPV", + "geou_dif": 0, + "geounit": "Cape Verde", + "gu_a3": "CPV", + "su_dif": 0, + "subunit": "Cape Verde", + "su_a3": "CPV", + "brk_diff": 0, + "name": "Cape Verde", + "name_long": "Cape Verde", + "brk_a3": "CPV", + "brk_name": "Cape Verde", + "brk_group": null, + "abbrev": "C.Vd.", + "postal": "CV", + "formal_en": "Republic of Cape Verde", + "formal_fr": null, + "note_adm0": null, + "note_brk": null, + "name_sort": "Cape Verde", + "name_alt": null, + "mapcolor7": 1, + "mapcolor8": 1, + "mapcolor9": 4, + "mapcolor13": 11, + "pop_est": 429474, + "gdp_md_est": 1626, + "pop_year": -99, + "lastcensus": 2010, + "gdp_year": -99, + "economy": "6. Developing region", + "income_grp": "4. Lower middle income", + "wikipedia": -99, + "fips_10": null, + "iso_a2": "CV", + "iso_a3": "CPV", + "iso_n3": "132", + "un_a3": "132", + "wb_a2": "CV", + "wb_a3": "CPV", + "woe_id": -99, + "adm0_a3_is": "CPV", + "adm0_a3_us": "CPV", + "adm0_a3_un": -99, + "adm0_a3_wb": -99, + "continent": "Africa", + "region_un": "Africa", + "subregion": "Western Africa", + "region_wb": "Sub-Saharan Africa", + "name_len": 10, + "long_len": 10, + "abbrev_len": 5, + "tiny": -99, + "homepart": 1, + "filename": "CPV.geojson" + }, + "geometry": { + "type": "MultiPolygon", + "coordinates": [ + [ + [ + [-24.308251953124966, 14.856298828124991], + [-24.386132812499937, 14.818212890625048], + [-24.44052734374992, 14.834814453124963], + [-24.49218749999997, 14.87421875], + [-24.51708984374997, 14.93125], + [-24.496875, 14.980273437500017], + [-24.391992187499966, 15.038281250000026], + [-24.329492187499937, 15.01948242187501], + [-24.295800781250023, 14.929541015624991], + [-24.308251953124966, 14.856298828124991] + ] + ], + [ + [ + [-23.18212890624997, 15.136767578125017], + [-23.209960937499943, 15.133105468749987], + [-23.251806640624945, 15.178125], + [-23.242480468750017, 15.240527343750017], + [-23.247167968749977, 15.256982421874993], + [-23.210253906250014, 15.32353515625006], + [-23.13774414062499, 15.317724609375022], + [-23.11933593749995, 15.268408203125018], + [-23.115869140624966, 15.16665039062498], + [-23.18212890624997, 15.136767578125017] + ] + ], + [ + [ + [-23.444238281249994, 15.007958984374982], + [-23.5046875, 14.916113281250006], + [-23.63720703124994, 14.923486328124996], + [-23.70537109374999, 14.961328124999978], + [-23.78500976562495, 15.076904296874984], + [-23.78251953124999, 15.166113281250048], + [-23.75449218749995, 15.243554687500007], + [-23.759375, 15.310791015625027], + [-23.74809570312499, 15.328515625], + [-23.70722656250001, 15.316894531250027], + [-23.700634765624983, 15.27163085937505], + [-23.579980468750023, 15.160888671875044], + [-23.535253906249977, 15.139257812499991], + [-23.444238281249994, 15.007958984374982] + ] + ], + [ + [ + [-22.917724609374996, 16.237255859374955], + [-22.834326171874977, 16.218994140625057], + [-22.80263671875002, 16.225537109374955], + [-22.749414062499994, 16.221533203125034], + [-22.69262695312497, 16.169042968750006], + [-22.68188476562503, 16.11328125], + [-22.710107421874994, 16.043359374999966], + [-22.820507812499926, 15.986035156250011], + [-22.88408203124999, 15.992724609375045], + [-22.95927734374996, 16.045117187499983], + [-22.91611328124995, 16.148437499999968], + [-22.917724609374996, 16.237255859374955] + ] + ], + [ + [ + [-24.08769531249999, 16.62250976562501], + [-24.04638671875, 16.593066406250045], + [-24.032714843749968, 16.57202148437503], + [-24.094140624999962, 16.56103515625], + [-24.243066406250023, 16.599414062500017], + [-24.28281249999995, 16.57592773437503], + [-24.32236328124992, 16.49311523437504], + [-24.398095703124966, 16.61840820312497], + [-24.392919921874977, 16.664453125000023], + [-24.37670898437497, 16.67778320312499], + [-24.271093749999945, 16.644873046875034], + [-24.08769531249999, 16.62250976562501] + ] + ], + [ + [ + [-22.888330078124966, 16.659082031249994], + [-22.920263671875006, 16.60791015624997], + [-22.959423828124983, 16.68305664062501], + [-22.980615234374934, 16.700878906249983], + [-22.99091796875001, 16.808837890625057], + [-22.93291015624999, 16.84101562500004], + [-22.904736328124955, 16.84375], + [-22.90390624999995, 16.732128906249955], + [-22.888330078124966, 16.659082031249994] + ] + ], + [ + [ + [-24.88706054687495, 16.81811523437497], + [-24.969140624999966, 16.794189453125], + [-25.019970703124926, 16.797216796874977], + [-25.09306640624999, 16.83251953125], + [-25.07011718749993, 16.870703125000034], + [-24.99101562499999, 16.913232421874994], + [-24.936474609374983, 16.92211914062503], + [-24.89189453124996, 16.84648437499999], + [-24.88706054687495, 16.81811523437497] + ] + ], + [ + [ + [-25.16982421874999, 16.94648437500001], + [-25.267236328124937, 16.925927734375023], + [-25.308300781249955, 16.935839843749985], + [-25.321923828124994, 17.01538085937503], + [-25.34155273437497, 17.067724609375034], + [-25.337109374999955, 17.09101562499998], + [-25.113476562499983, 17.193652343750017], + [-25.03466796875, 17.176464843749983], + [-24.97968749999998, 17.09472656250003], + [-25.01708984374997, 17.04931640625], + [-25.16982421874999, 16.94648437500001] + ] + ] + ] + } + }, + { + "type": "Feature", + "properties": { + "scalerank": 1, + "featurecla": "Admin-0 country", + "labelrank": 4, + "sovereignt": "Gabon", + "sov_a3": "GAB", + "adm0_dif": 0, + "level": 2, + "type": "Sovereign country", + "admin": "Gabon", + "adm0_a3": "GAB", + "geou_dif": 0, + "geounit": "Gabon", + "gu_a3": "GAB", + "su_dif": 0, + "subunit": "Gabon", + "su_a3": "GAB", + "brk_diff": 0, + "name": "Gabon", + "name_long": "Gabon", + "brk_a3": "GAB", + "brk_name": "Gabon", + "brk_group": null, + "abbrev": "Gabon", + "postal": "GA", + "formal_en": "Gabonese Republic", + "formal_fr": null, + "note_adm0": null, + "note_brk": null, + "name_sort": "Gabon", + "name_alt": null, + "mapcolor7": 6, + "mapcolor8": 2, + "mapcolor9": 5, + "mapcolor13": 5, + "pop_est": 1514993, + "gdp_md_est": 21110, + "pop_year": -99, + "lastcensus": 2003, + "gdp_year": -99, + "economy": "6. Developing region", + "income_grp": "3. Upper middle income", + "wikipedia": -99, + "fips_10": null, + "iso_a2": "GA", + "iso_a3": "GAB", + "iso_n3": "266", + "un_a3": "266", + "wb_a2": "GA", + "wb_a3": "GAB", + "woe_id": -99, + "adm0_a3_is": "GAB", + "adm0_a3_us": "GAB", + "adm0_a3_un": -99, + "adm0_a3_wb": -99, + "continent": "Africa", + "region_un": "Africa", + "subregion": "Middle Africa", + "region_wb": "Sub-Saharan Africa", + "name_len": 5, + "long_len": 5, + "abbrev_len": 5, + "tiny": 3, + "homepart": 1, + "filename": "GAB.geojson" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [13.293554687500006, 2.161572265624997], + [13.288671875, 2.091699218749994], + [13.20947265625, 1.92041015625], + [13.172167968750017, 1.78857421875], + [13.162695312500006, 1.648095703124994], + [13.1845703125, 1.535058593749994], + [13.222753906250006, 1.45458984375], + [13.247363281250017, 1.36669921875], + [13.228320312500015, 1.305419921875], + [13.19013671875001, 1.279248046874997], + [13.21630859375, 1.2484375], + [13.274121093750011, 1.241015624999988], + [13.372363281250017, 1.267773437499997], + [13.523339843750021, 1.314599609374994], + [13.72119140625, 1.382275390624997], + [13.851367187500017, 1.41875], + [14.066210937500017, 1.395898437499994], + [14.180859375000011, 1.370214843749991], + [14.23974609375, 1.322558593749989], + [14.303027343750015, 1.120849609375], + [14.334472656249998, 1.09023437499999], + [14.386425781250011, 1.004443359374988], + [14.429882812500011, 0.901464843749991], + [14.43916015625001, 0.84912109375], + [14.434472656250021, 0.811474609374997], + [14.390625, 0.755712890624991], + [14.341503906250011, 0.673828125], + [14.32421875, 0.62421875], + [14.283105468750023, 0.587451171874989], + [14.23095703125, 0.551123046874991], + [14.0875, 0.536572265624997], + [14.065527343750006, 0.514990234374991], + [14.025292968750023, 0.427734375], + [13.949609375000023, 0.353808593749989], + [13.915136718750004, 0.283984374999989], + [13.884570312500017, 0.190820312499994], + [13.890625, 0.075292968749991], + [13.87548828125, -0.0908203125], + [13.860058593750011, -0.203320312500011], + [13.898046875, -0.242578125], + [14.069433593750006, -0.270117187500006], + [14.102832031250017, -0.292382812500009], + [14.148339843750023, -0.361914062500006], + [14.206738281250011, -0.42734375], + [14.36376953125, -0.468554687500003], + [14.424707031250023, -0.518652343750006], + [14.474121093749998, -0.573437500000011], + [14.480566406250006, -0.618359375000011], + [14.444921875, -0.798828125], + [14.41064453125, -0.972070312500009], + [14.42402343750001, -1.10390625], + [14.436914062500021, -1.229785156250003], + [14.45556640625, -1.413183593750006], + [14.447265625, -1.525097656250011], + [14.402929687500006, -1.593359375], + [14.402929687500006, -1.64697265625], + [14.423242187500023, -1.711523437500006], + [14.38398437500001, -1.890039062500009], + [14.358593750000011, -1.920214843750003], + [14.288378906250017, -1.953515625], + [14.25146484375, -2.00146484375], + [14.239648437500021, -2.076757812500006], + [14.201757812500004, -2.179882812500011], + [14.162890625000015, -2.217578125], + [14.162890625000015, -2.265527343750008], + [14.200390625000011, -2.300585937500003], + [14.199804687500006, -2.354199218750011], + [14.129785156250023, -2.41796875], + [14.08740234375, -2.466894531250006], + [13.993847656250011, -2.490625], + [13.886914062500011, -2.465429687500006], + [13.86181640625, -2.429882812500011], + [13.887695312499998, -2.37451171875], + [13.878515625, -2.330175781250006], + [13.841601562500017, -2.28369140625], + [13.784375, -2.163769531250011], + [13.733789062500023, -2.138476562500002], + [13.70556640625, -2.1875], + [13.618554687500021, -2.278613281250003], + [13.464941406250006, -2.395410156250009], + [13.357324218750023, -2.40478515625], + [13.158593750000023, -2.369140625], + [12.991992187500017, -2.313378906250008], + [12.913574218749998, -2.17626953125], + [12.864453125000011, -2.06328125], + [12.793554687500004, -1.931835937500011], + [12.713671875000017, -1.869433593750003], + [12.62841796875, -1.82958984375], + [12.590429687500004, -1.826855468750011], + [12.468652343750023, -1.9], + [12.43212890625, -1.928906250000011], + [12.432421875000017, -1.990332031250006], + [12.44375, -2.047558593750011], + [12.462597656250011, -2.075292968750006], + [12.478515625, -2.112011718750011], + [12.475683593750006, -2.169238281250002], + [12.453808593750011, -2.24560546875], + [12.446386718750006, -2.329980468750009], + [12.064453125, -2.41259765625], + [11.998242187500011, -2.3828125], + [11.950292968750006, -2.344824218750006], + [11.892382812500017, -2.351464843750009], + [11.726757812500011, -2.394726562500011], + [11.665917968750023, -2.364550781250003], + [11.60546875, -2.342578125], + [11.577734375, -2.3609375], + [11.5751953125, -2.397070312500006], + [11.603417968750023, -2.595410156250011], + [11.594531250000017, -2.670996093750006], + [11.55712890625, -2.769628906250006], + [11.537792968750011, -2.83671875], + [11.639062500000023, -2.855371093750009], + [11.675683593750021, -2.886621093750009], + [11.711328125000023, -2.9365234375], + [11.760156250000021, -2.983105468750011], + [11.763476562500017, -3.01123046875], + [11.7080078125, -3.063085937500006], + [11.6890625, -3.126953125], + [11.715429687500006, -3.176953125000011], + [11.784375, -3.229101562500006], + [11.885058593750017, -3.283203125], + [11.934179687500006, -3.318554687500011], + [11.929296875, -3.350976562500009], + [11.8828125, -3.420214843750002], + [11.86474609375, -3.478613281250006], + [11.832910156250021, -3.531445312500011], + [11.839453125, -3.580078125], + [11.884765625, -3.625390625], + [11.8798828125, -3.665917968750009], + [11.84912109375, -3.696679687500008], + [11.786425781250017, -3.690234375], + [11.7333984375, -3.694531250000011], + [11.68574218750001, -3.68203125], + [11.536816406250011, -3.525], + [11.504296875000023, -3.5203125], + [11.288281250000011, -3.64111328125], + [11.234472656250006, -3.690820312500008], + [11.190039062500006, -3.762011718750003], + [11.130175781250017, -3.916308593750003], + [11.032031250000017, -3.826464843750003], + [10.947265625, -3.662109375], + [10.848535156250023, -3.561328125], + [10.640722656250006, -3.398046875], + [10.58544921875, -3.278027343750011], + [10.34765625, -3.013085937500009], + [10.006152343750017, -2.748339843750003], + [9.759472656250011, -2.5185546875], + [9.722070312500023, -2.467578125], + [9.763671875, -2.473828125000011], + [10.001953125, -2.58837890625], + [10.034472656250017, -2.575585937500009], + [10.062011718749998, -2.549902343750006], + [9.959082031250004, -2.48984375], + [9.86083984375, -2.442578125000011], + [9.768652343750006, -2.4130859375], + [9.676367187500006, -2.415625], + [9.624609375, -2.367089843750009], + [9.591015625000011, -2.293164062500011], + [9.574023437500017, -2.22998046875], + [9.533203125, -2.163867187500003], + [9.402246093750023, -2.027636718750003], + [9.370507812500021, -1.975], + [9.298925781250006, -1.903027343750011], + [9.342480468750011, -1.893652343750006], + [9.482812500000021, -1.962304687500009], + [9.495312500000011, -1.934960937500009], + [9.483203125000017, -1.894628906250006], + [9.342187500000023, -1.829394531250003], + [9.265625, -1.825097656250009], + [9.247949218750023, -1.779296875], + [9.258398437500006, -1.726269531250011], + [9.157519531250017, -1.527734375], + [9.052832031250006, -1.379101562500011], + [9.036328125000011, -1.308886718750003], + [9.318847656249998, -1.632031250000011], + [9.356640625000011, -1.637597656250009], + [9.406347656250004, -1.634570312500003], + [9.523339843750021, -1.598339843750011], + [9.501074218750006, -1.55517578125], + [9.448339843750006, -1.508886718750006], + [9.397167968750011, -1.530175781250009], + [9.330664062500006, -1.534570312500009], + [9.295800781250023, -1.515234375], + [9.280175781250023, -1.48193359375], + [9.346679687499998, -1.325], + [9.31787109375, -1.332910156250009], + [9.296679687500017, -1.3609375], + [9.260156250000023, -1.374218750000011], + [9.203808593750011, -1.382421875], + [9.064648437500011, -1.29833984375], + [8.94189453125, -1.071484375000011], + [8.909375, -1.025], + [8.8765625, -0.94609375], + [8.84423828125, -0.91357421875], + [8.703125, -0.591015625000011], + [8.757226562500023, -0.614941406250011], + [8.821386718750006, -0.708398437500009], + [8.946386718750006, -0.688769531250003], + [8.995214843750006, -0.634667968750008], + [9.037890625000017, -0.63671875], + [9.08154296875, -0.624316406250003], + [9.136523437500015, -0.573339843750006], + [9.296679687500017, -0.351269531250011], + [9.339062500000011, -0.058251953125009], + [9.325292968750006, 0.115820312499991], + [9.301855468750006, 0.288525390624997], + [9.354882812500023, 0.343603515624991], + [9.375781250000017, 0.307226562499991], + [9.386132812500023, 0.245898437499989], + [9.4111328125, 0.200439453125], + [9.468164062500023, 0.15976562499999], + [9.574316406250006, 0.14892578125], + [9.738378906250006, 0.0849609375], + [9.796777343750023, 0.044238281249989], + [9.812695312500011, 0.125585937499991], + [10.00146484375, 0.194970703124994], + [9.944433593750006, 0.219873046874994], + [9.776660156250017, 0.192480468749991], + [9.546484375, 0.295947265624989], + [9.470117187500023, 0.361914062499991], + [9.398828125000023, 0.48671875], + [9.324804687500006, 0.552099609374991], + [9.329980468750023, 0.61083984375], + [9.495312500000011, 0.664843749999989], + [9.538964843750023, 0.65869140625], + [9.556640625, 0.594189453124997], + [9.601074218749998, 0.567724609374991], + [9.617968750000017, 0.576513671874991], + [9.625292968750017, 0.631640624999989], + [9.625878906250023, 0.779443359374994], + [9.575390625000011, 0.991308593749991], + [9.5908203125, 1.031982421875], + [9.636132812500023, 1.046679687499988], + [9.676464843750011, 1.07470703125], + [9.70458984375, 1.079980468749994], + [9.760546875000017, 1.07470703125], + [9.788671875, 1.025683593749989], + [9.80390625000001, 0.998730468749997], + [9.8603515625, 0.986230468749994], + [9.90673828125, 0.960107421874994], + [9.946679687500023, 0.967138671874991], + [9.979785156250017, 0.997705078124994], + [10.028515625000011, 1.004003906249991], + [10.178906250000011, 1.003564453124994], + [10.3154296875, 1.003076171874994], + [10.587207031250017, 1.002148437499997], + [10.85888671875, 1.001269531249989], + [11.130664062500015, 1.00039062499999], + [11.335351562500023, 0.999707031249997], + [11.334667968750011, 1.120751953124994], + [11.33359375, 1.3076171875], + [11.332324218750017, 1.528369140624988], + [11.331152343750006, 1.740185546874997], + [11.330078125, 1.935888671874991], + [11.328710937500004, 2.167431640624997], + [11.339941406250006, 2.233837890624997], + [11.353320312500017, 2.261425781249997], + [11.348437500000017, 2.299707031249994], + [11.558984375000023, 2.302197265624997], + [11.939746093750017, 2.28515625], + [12.106152343750011, 2.2875], + [12.153417968750006, 2.284375], + [12.361328125, 2.295996093749991], + [12.529785156249998, 2.281347656249991], + [12.601367187500017, 2.265039062499994], + [12.665722656250011, 2.256787109374997], + [12.867480468750017, 2.246777343749997], + [13.130859375, 2.259423828124994], + [13.2203125, 2.256445312499991], + [13.269921875000021, 2.22421875], + [13.293554687500006, 2.161572265624997] + ] + ] + } + }, + { + "type": "Feature", + "properties": { + "scalerank": 1, + "featurecla": "Admin-0 country", + "labelrank": 3, + "sovereignt": "Algeria", + "sov_a3": "DZA", + "adm0_dif": 0, + "level": 2, + "type": "Sovereign country", + "admin": "Algeria", + "adm0_a3": "DZA", + "geou_dif": 0, + "geounit": "Algeria", + "gu_a3": "DZA", + "su_dif": 0, + "subunit": "Algeria", + "su_a3": "DZA", + "brk_diff": 0, + "name": "Algeria", + "name_long": "Algeria", + "brk_a3": "DZA", + "brk_name": "Algeria", + "brk_group": null, + "abbrev": "Alg.", + "postal": "DZ", + "formal_en": "People's Democratic Republic of Algeria", + "formal_fr": null, + "note_adm0": null, + "note_brk": null, + "name_sort": "Algeria", + "name_alt": null, + "mapcolor7": 5, + "mapcolor8": 1, + "mapcolor9": 6, + "mapcolor13": 3, + "pop_est": 34178188, + "gdp_md_est": 232900, + "pop_year": -99, + "lastcensus": 2008, + "gdp_year": -99, + "economy": "6. Developing region", + "income_grp": "3. Upper middle income", + "wikipedia": -99, + "fips_10": null, + "iso_a2": "DZ", + "iso_a3": "DZA", + "iso_n3": "012", + "un_a3": "012", + "wb_a2": "DZ", + "wb_a3": "DZA", + "woe_id": -99, + "adm0_a3_is": "DZA", + "adm0_a3_us": "DZA", + "adm0_a3_un": -99, + "adm0_a3_wb": -99, + "continent": "Africa", + "region_un": "Africa", + "subregion": "Northern Africa", + "region_wb": "Middle East & North Africa", + "name_len": 7, + "long_len": 7, + "abbrev_len": 4, + "tiny": -99, + "homepart": 1, + "filename": "DZA.geojson" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [8.576562500000023, 36.93720703125], + [8.59765625, 36.88388671875], + [8.601269531250011, 36.833935546875], + [8.506738281250023, 36.7875], + [8.444238281250023, 36.7607421875], + [8.36962890625, 36.63251953125], + [8.230761718750017, 36.545263671875], + [8.207617187500006, 36.518945312499994], + [8.208789062500017, 36.4951171875], + [8.302734375, 36.455615234374996], + [8.333984375, 36.4181640625], + [8.348730468750006, 36.36796875], + [8.306738281250006, 36.18876953124999], + [8.2802734375, 36.0509765625], + [8.245703125, 35.870556640625], + [8.2470703125, 35.801806640624996], + [8.282910156250011, 35.719287109374996], + [8.318066406250011, 35.654931640624994], + [8.329003906250021, 35.5822265625], + [8.31640625, 35.403125], + [8.35986328125, 35.299609375], + [8.394238281250011, 35.203857421875], + [8.312109375, 35.084619140624994], + [8.27685546875, 34.9794921875], + [8.254687500000017, 34.828955078125], + [8.24560546875, 34.73408203125], + [8.192773437500023, 34.646289062499996], + [8.123437500000023, 34.563916015625], + [8.045605468750011, 34.51269531249999], + [7.949414062500011, 34.468701171875], + [7.838281250000022, 34.410302734374994], + [7.74853515625, 34.2544921875], + [7.554492187500017, 34.125], + [7.513867187500011, 34.080517578125], + [7.495605468749999, 33.976513671875], + [7.500195312500011, 33.832470703125], + [7.534375, 33.717919921874994], + [7.627539062500006, 33.548632812499996], + [7.70917968750001, 33.3623046875], + [7.731347656250022, 33.268505859375], + [7.7626953125, 33.23310546875], + [7.877246093750017, 33.172119140625], + [8.075585937500023, 33.0890625], + [8.1125, 33.055322265624994], + [8.2109375, 32.926708984375], + [8.30419921875, 32.6962890625], + [8.333398437500023, 32.543603515624994], + [8.51513671875, 32.422314453125], + [8.682910156250017, 32.310449218749994], + [8.844042968750017, 32.212109375], + [9.018945312500023, 32.105371093749994], + [9.044042968750006, 32.07236328125], + [9.102343750000015, 31.846142578124997], + [9.160253906250006, 31.621337890625], + [9.224023437500021, 31.373681640624998], + [9.287890625000017, 31.125341796874995], + [9.36328125, 30.83291015624999], + [9.406054687500017, 30.666796875], + [9.4580078125, 30.465380859374992], + [9.51875, 30.22939453124999], + [9.420996093750006, 30.179296875], + [9.310253906250011, 30.115234375], + [9.391015625000023, 29.993652343749996], + [9.546191406250017, 29.795947265624992], + [9.64013671875, 29.636425781249994], + [9.672656250000017, 29.566992187499995], + [9.745898437500015, 29.368945312499992], + [9.805273437500006, 29.17695312499999], + [9.820703125000023, 29.114794921874996], + [9.842578125000017, 28.966992187499994], + [9.815625, 28.56020507812499], + [9.858203125000015, 28.043310546875], + [9.916015625, 27.785693359374996], + [9.825292968750006, 27.552978515625], + [9.747558593749998, 27.330859375], + [9.752539062500006, 27.2193359375], + [9.79541015625, 27.044775390625], + [9.837109375000011, 26.915820312499996], + [9.894433593750021, 26.847949218749996], + [9.883203125000023, 26.630810546874994], + [9.859375, 26.551953125], + [9.684960937500023, 26.438232421875], + [9.491406250000011, 26.333740234375], + [9.437890625000021, 26.24550781249999], + [9.42236328125, 26.147070312499995], + [9.448242187499998, 26.067138671875], + [9.58125, 25.89013671875], + [9.781054687500017, 25.624267578125], + [10.00068359375001, 25.332080078125003], + [10.01904296875, 25.258544921875], + [10.028125, 25.051025390625], + [10.119531250000023, 24.790234375], + [10.218652343750023, 24.676220703124994], + [10.255859375, 24.591015625], + [10.32578125, 24.530224609374997], + [10.395898437500021, 24.485595703125], + [10.43896484375, 24.480224609375], + [10.686132812500004, 24.55136718749999], + [11.108203125000015, 24.434033203124997], + [11.507617187500017, 24.31435546874999], + [11.536914062500015, 24.290820312500003], + [11.624218750000011, 24.139697265625003], + [11.766992187500023, 23.892578125], + [11.873046875, 23.69482421875], + [11.967871093750006, 23.517871093750003], + [11.45, 23.212597656249994], + [10.932226562500006, 22.907275390625003], + [10.414355468750017, 22.602001953124994], + [9.896484375, 22.29672851562499], + [9.378710937500017, 21.99140625], + [8.8609375, 21.68613281249999], + [8.343066406250017, 21.380859375], + [7.825195312500001, 21.075585937499994], + [7.481738281250017, 20.873095703125003], + [7.26337890625001, 20.694482421874994], + [6.989355468750006, 20.470507812500003], + [6.73066406250001, 20.248046875], + [6.527050781250011, 20.072949218749997], + [6.26337890625001, 19.846142578124997], + [6.130664062500016, 19.731982421875003], + [5.836621093750011, 19.479150390624994], + [5.748339843750017, 19.434228515624994], + [5.358691406250016, 19.359521484374994], + [5.001367187500022, 19.291064453125003], + [4.671289062500023, 19.227783203125], + [4.445703125000023, 19.184521484374997], + [4.227636718750006, 19.142773437499997], + [3.91015625, 19.083740234375], + [3.683496093750022, 19.041601562499988], + [3.438769531250017, 18.996142578125003], + [3.40087890625, 18.98842773437499], + [3.3564453125, 18.986621093750003], + [3.323437500000011, 18.98837890624999], + [3.255957031250006, 19.01328125], + [3.174218750000023, 19.072900390624994], + [3.119726562500006, 19.103173828124994], + [3.106054687500005, 19.150097656249997], + [3.137890625000011, 19.212158203125], + [3.17724609375, 19.268164062499988], + [3.1923828125, 19.312060546875003], + [3.219628906250022, 19.345410156249997], + [3.25439453125, 19.372607421875003], + [3.255859375, 19.4109375], + [3.22705078125, 19.473583984374997], + [3.20166015625, 19.56040039062499], + [3.202734375, 19.718310546875003], + [3.203417968750017, 19.770751953125], + [3.203710937500006, 19.789697265624994], + [3.130273437500023, 19.85019531249999], + [2.992480468750017, 19.91660156249999], + [2.86572265625, 19.955957031249994], + [2.807910156250017, 19.969433593749997], + [2.667773437500017, 19.992919921875], + [2.47421875, 20.035009765624988], + [2.406152343750023, 20.063867187499994], + [2.280859375, 20.210302734374988], + [2.219335937500006, 20.247802734375], + [1.928808593750005, 20.272705078125], + [1.832421875000023, 20.296875], + [1.753222656250017, 20.331591796875003], + [1.685449218750023, 20.378369140624997], + [1.647363281250023, 20.45883789062499], + [1.636035156250017, 20.524365234374997], + [1.610644531250017, 20.555566406249994], + [1.290234375000011, 20.713574218749997], + [1.208886718750023, 20.767285156249997], + [1.165722656250011, 20.817431640625003], + [1.1640625, 20.891308593749997], + [1.172753906250023, 20.981982421875], + [1.1591796875, 21.0625], + [1.1455078125, 21.102246093749997], + [0.999414062500023, 21.19775390625], + [0.671875, 21.411865234375], + [0.344433593750011, 21.6259765625], + [0.016992187500023, 21.840136718750003], + [-0.310546875, 22.05419921875], + [-0.637988281249989, 22.268310546875], + [-0.965478515624994, 22.482470703125003], + [-1.29296875, 22.696533203125], + [-1.620410156249989, 22.91064453125], + [-1.947900390624994, 23.124804687500003], + [-2.275390625, 23.3388671875], + [-2.602929687499994, 23.553027343750003], + [-2.930371093749983, 23.767138671875003], + [-3.257861328124989, 23.98125], + [-3.585351562499994, 24.195361328125003], + [-3.912792968749983, 24.409472656250003], + [-4.240332031249977, 24.62353515625], + [-4.516992187499994, 24.8044921875], + [-4.822607421874977, 24.99560546875], + [-5.049511718749983, 25.135449218749997], + [-5.275, 25.27451171874999], + [-5.516943359374977, 25.423779296874997], + [-5.674511718749983, 25.51640625], + [-5.862548828125, 25.627001953125003], + [-6.050585937499989, 25.737597656250003], + [-6.23867187499999, 25.848193359375003], + [-6.426708984374983, 25.958789062500003], + [-6.61474609375, 26.06943359375], + [-6.802832031249976, 26.179980468749992], + [-6.990869140624994, 26.290576171874996], + [-7.178906249999984, 26.401171875], + [-7.366992187499989, 26.511767578124996], + [-7.55507812499999, 26.622363281249992], + [-7.743115234374982, 26.732958984374996], + [-7.93115234375, 26.843554687499996], + [-8.119238281249977, 26.954150390624996], + [-8.307275390624994, 27.064746093749996], + [-8.495312499999983, 27.175341796874992], + [-8.683349609375, 27.2859375], + [-8.683349609375, 27.490234375], + [-8.683349609375, 27.656445312499997], + [-8.683349609375, 27.900390625], + [-8.683349609375, 28.112011718749997], + [-8.683349609375, 28.323681640624997], + [-8.683349609375, 28.46923828125], + [-8.683349609375, 28.620751953124994], + [-8.678417968749983, 28.689404296874997], + [-8.659912109375, 28.718603515624995], + [-8.558349609375, 28.767871093749992], + [-8.399316406249994, 28.88017578125], + [-8.340478515624994, 28.93017578125], + [-8.265185546874989, 28.980517578124996], + [-7.998925781249994, 29.132421875], + [-7.943847656249999, 29.174755859375], + [-7.685156249999977, 29.34951171874999], + [-7.624609374999976, 29.375195312499997], + [-7.485742187499994, 29.39223632812499], + [-7.427685546874982, 29.425], + [-7.349755859374994, 29.494726562499995], + [-7.234912109374989, 29.574902343749997], + [-7.160205078124988, 29.612646484375], + [-7.142431640624977, 29.619580078124997], + [-7.094921874999983, 29.625195312499997], + [-6.855566406249977, 29.601611328124996], + [-6.755126953124999, 29.583837890624995], + [-6.635351562499977, 29.568798828124994], + [-6.597753906249977, 29.578955078124995], + [-6.565673828125, 29.603857421875], + [-6.520556640624989, 29.659863281249997], + [-6.510693359374983, 29.726025390624997], + [-6.507910156249977, 29.7837890625], + [-6.500878906249994, 29.809130859374996], + [-6.479736328124999, 29.820361328124992], + [-6.427636718749994, 29.816113281249994], + [-6.357617187499983, 29.808300781249994], + [-6.214794921874983, 29.810693359374998], + [-6.166503906249999, 29.818945312499995], + [-6.00429687499999, 29.83125], + [-5.775, 29.869042968749994], + [-5.593310546874989, 29.91796875], + [-5.448779296874989, 29.956933593749998], + [-5.293652343749983, 30.058642578124996], + [-5.180126953124982, 30.166162109374994], + [-5.061914062499994, 30.326416015625], + [-4.96826171875, 30.465380859374992], + [-4.778515624999983, 30.55239257812499], + [-4.61962890625, 30.604785156249996], + [-4.529150390624976, 30.625537109374996], + [-4.322851562499976, 30.698876953124994], + [-4.148779296874977, 30.8095703125], + [-3.9853515625, 30.913525390624997], + [-3.860058593749983, 30.92724609375], + [-3.702001953124977, 30.944482421874994], + [-3.666796874999989, 30.96401367187499], + [-3.626904296874983, 31.000927734375], + [-3.62451171875, 31.065771484374995], + [-3.672509765624994, 31.111376953124996], + [-3.730175781249983, 31.135400390624994], + [-3.77099609375, 31.161816406249997], + [-3.811816406249988, 31.166601562499995], + [-3.833398437499994, 31.197802734374996], + [-3.821386718749978, 31.25546875], + [-3.815136718749983, 31.308837890625], + [-3.789160156249977, 31.361816406249996], + [-3.796435546874989, 31.437109375], + [-3.837109374999983, 31.512353515624994], + [-3.849560546874983, 31.56640625], + [-3.8466796875, 31.619873046875], + [-3.826757812499978, 31.661914062499992], + [-3.768164062499977, 31.68955078125], + [-3.700244140624989, 31.700097656249994], + [-3.604589843749977, 31.686767578125], + [-3.439794921874977, 31.704541015625], + [-3.017382812499989, 31.834277343749992], + [-2.988232421874983, 31.87421875], + [-2.961132812499983, 31.963964843749995], + [-2.930859374999983, 32.042529296874996], + [-2.88720703125, 32.06884765625], + [-2.863427734374994, 32.07470703125], + [-2.722607421874983, 32.095751953124996], + [-2.523242187499989, 32.12568359375], + [-2.448388671874994, 32.12998046875], + [-2.23125, 32.121337890625], + [-2.072802734374989, 32.11503906249999], + [-1.816992187499977, 32.104785156249996], + [-1.63515625, 32.099560546875], + [-1.47705078125, 32.094873046874994], + [-1.275341796874983, 32.089013671874994], + [-1.225927734374977, 32.107226562499996], + [-1.225927734374977, 32.16455078125], + [-1.26210937499999, 32.271142578124994], + [-1.240332031249977, 32.33759765625], + [-1.16259765625, 32.399169921875], + [-1.065527343749977, 32.468310546874996], + [-1.111035156249983, 32.55229492187499], + [-1.188232421875, 32.60849609375], + [-1.29638671875, 32.675683593749994], + [-1.352148437499977, 32.703369140625], + [-1.45, 32.78481445312499], + [-1.510009765625, 32.87763671875], + [-1.550732421874983, 33.073583984375], + [-1.625097656249977, 33.18334960937499], + [-1.67919921875, 33.318652343749996], + [-1.63125, 33.566748046875], + [-1.702978515624977, 33.716845703124996], + [-1.714111328125, 33.7818359375], + [-1.714697265624977, 33.858203125], + [-1.692675781249989, 33.990283203124996], + [-1.706933593749994, 34.176074218749996], + [-1.791796874999989, 34.36791992187499], + [-1.751855468749994, 34.433251953124994], + [-1.733300781249994, 34.467041015625], + [-1.739453124999983, 34.49609375], + [-1.816601562499983, 34.55708007812499], + [-1.849658203124988, 34.607324218749994], + [-1.83242187499999, 34.654638671875], + [-1.792187499999983, 34.723193359374996], + [-1.795605468749983, 34.751904296875], + [-1.9208984375, 34.835546875], + [-2.131787109374983, 34.970849609374994], + [-2.190771484374977, 35.02978515625], + [-2.219628906249994, 35.10419921875], + [-2.017773437499983, 35.08505859375], + [-1.913281249999983, 35.09423828125], + [-1.673632812499988, 35.18310546875], + [-1.483740234374977, 35.303076171875], + [-1.335839843749994, 35.3642578125], + [-1.205371093749989, 35.495751953124994], + [-1.087695312499989, 35.578857421875], + [-0.91748046875, 35.668408203125], + [-0.426123046874977, 35.8615234375], + [-0.350781249999983, 35.86318359374999], + [-0.189160156249983, 35.819091796875], + [-0.048242187499994, 35.8328125], + [0.047949218750006, 35.90053710937499], + [0.151660156250017, 36.063134765624994], + [0.312207031250011, 36.16235351562499], + [0.514941406250017, 36.26181640625], + [0.790820312500017, 36.35654296875], + [0.9716796875, 36.4439453125], + [1.257226562500023, 36.519580078124996], + [1.974511718750023, 36.567578125], + [2.342871093750005, 36.610302734375], + [2.593359375, 36.60068359375], + [2.846484375000017, 36.7388671875], + [2.972851562500011, 36.784472656249996], + [3.5205078125, 36.7951171875], + [3.779003906250011, 36.89619140625], + [4.758105468750017, 36.896337890625], + [4.877832031250022, 36.86240234375], + [4.995410156250017, 36.808056640625], + [5.195605468750016, 36.676806640624996], + [5.29541015625, 36.648242187499996], + [5.424609375000017, 36.675439453124994], + [5.725488281250023, 36.799609375], + [6.064746093750017, 36.8642578125], + [6.249121093750005, 36.938330078125], + [6.327832031250011, 37.046044921874994], + [6.486523437500011, 37.085742187499996], + [6.575878906250011, 37.00302734374999], + [6.927539062500017, 36.91943359375], + [7.143457031250023, 36.943359375], + [7.238476562500011, 36.96850585937499], + [7.20429687500001, 37.0923828125], + [7.432421875000017, 37.05927734375], + [7.607714843750017, 36.999755859375], + [7.791601562500005, 36.880273437499994], + [7.910449218750017, 36.856347656249994], + [8.127148437500011, 36.91035156249999], + [8.576562500000023, 36.93720703125] + ] + ] + } + }, + { + "type": "Feature", + "properties": { + "scalerank": 1, + "featurecla": "Admin-0 country", + "labelrank": 5, + "sovereignt": "Djibouti", + "sov_a3": "DJI", + "adm0_dif": 0, + "level": 2, + "type": "Sovereign country", + "admin": "Djibouti", + "adm0_a3": "DJI", + "geou_dif": 0, + "geounit": "Djibouti", + "gu_a3": "DJI", + "su_dif": 0, + "subunit": "Djibouti", + "su_a3": "DJI", + "brk_diff": 0, + "name": "Djibouti", + "name_long": "Djibouti", + "brk_a3": "DJI", + "brk_name": "Djibouti", + "brk_group": null, + "abbrev": "Dji.", + "postal": "DJ", + "formal_en": "Republic of Djibouti", + "formal_fr": null, + "note_adm0": null, + "note_brk": null, + "name_sort": "Djibouti", + "name_alt": null, + "mapcolor7": 1, + "mapcolor8": 2, + "mapcolor9": 4, + "mapcolor13": 8, + "pop_est": 516055, + "gdp_md_est": 1885, + "pop_year": -99, + "lastcensus": 2009, + "gdp_year": -99, + "economy": "7. Least developed region", + "income_grp": "4. Lower middle income", + "wikipedia": -99, + "fips_10": null, + "iso_a2": "DJ", + "iso_a3": "DJI", + "iso_n3": "262", + "un_a3": "262", + "wb_a2": "DJ", + "wb_a3": "DJI", + "woe_id": -99, + "adm0_a3_is": "DJI", + "adm0_a3_us": "DJI", + "adm0_a3_un": -99, + "adm0_a3_wb": -99, + "continent": "Africa", + "region_un": "Africa", + "subregion": "Eastern Africa", + "region_wb": "Middle East & North Africa", + "name_len": 8, + "long_len": 8, + "abbrev_len": 4, + "tiny": -99, + "homepart": 1, + "filename": "DJI.geojson" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [43.24599609375002, 11.499804687499989], + [43.159375, 11.36572265625], + [43.04863281250002, 11.1943359375], + [42.92275390625002, 10.999316406249989], + [42.84414062500002, 10.997949218749994], + [42.78300781250002, 11.009277343749998], + [42.74121093749999, 11.042382812499994], + [42.654980468750004, 11.078320312499995], + [42.557714843750006, 11.080761718749997], + [42.46513671875002, 11.047070312499997], + [42.30810546875, 11.005224609374991], + [42.16621093750001, 10.991601562499994], + [42.052148437500016, 10.96835937499999], + [41.95742187500002, 10.94101562499999], + [41.872167968750006, 10.955810546874998], + [41.79824218750002, 10.98046875], + [41.78203125000002, 11.187792968749989], + [41.7646484375, 11.412890624999989], + [41.76650390625002, 11.589111328125], + [41.79267578125001, 11.686035156249998], + [41.815625, 11.723779296874993], + [41.94960937500002, 11.857861328124995], + [41.99589843750002, 11.912353515625], + [42.14912109375001, 12.134130859374991], + [42.28037109375, 12.324267578124989], + [42.378515625, 12.46640625], + [42.40859375000002, 12.494384765624998], + [42.45, 12.521337890624991], + [42.47939453125002, 12.513623046874997], + [42.670117187500004, 12.3765625], + [42.703710937500006, 12.380322265624997], + [42.76748046875002, 12.422851562499998], + [42.825292968750006, 12.569335937499998], + [42.86591796875001, 12.622802734374998], + [42.88330078125, 12.621289062499995], + [43.00566406250002, 12.662304687499997], + [43.11669921875, 12.70859375], + [43.130859375, 12.660449218749987], + [43.29863281250002, 12.4638671875], + [43.353515625, 12.367041015624991], + [43.409765625, 12.18994140625], + [43.38027343750002, 12.091259765624997], + [43.33671875000002, 12.027001953124994], + [43.272070312500006, 11.969531249999989], + [43.04804687500001, 11.829052734374997], + [42.79902343750001, 11.739404296874994], + [42.64003906250002, 11.560107421874989], + [42.52177734375002, 11.572167968749994], + [42.539746093750004, 11.50429687499999], + [42.58378906250002, 11.496777343749997], + [42.65273437500002, 11.509570312499989], + [42.78974609375001, 11.56171875], + [42.911523437500016, 11.586621093749997], + [43.04277343750002, 11.58847656249999], + [43.16171875, 11.56601562499999], + [43.24599609375002, 11.499804687499989] + ] + ] + } + }, + { + "type": "Feature", + "properties": { + "scalerank": 1, + "featurecla": "Admin-0 country", + "labelrank": 2, + "sovereignt": "Ethiopia", + "sov_a3": "ETH", + "adm0_dif": 0, + "level": 2, + "type": "Sovereign country", + "admin": "Ethiopia", + "adm0_a3": "ETH", + "geou_dif": 0, + "geounit": "Ethiopia", + "gu_a3": "ETH", + "su_dif": 0, + "subunit": "Ethiopia", + "su_a3": "ETH", + "brk_diff": 0, + "name": "Ethiopia", + "name_long": "Ethiopia", + "brk_a3": "ETH", + "brk_name": "Ethiopia", + "brk_group": null, + "abbrev": "Eth.", + "postal": "ET", + "formal_en": "Federal Democratic Republic of Ethiopia", + "formal_fr": null, + "note_adm0": null, + "note_brk": null, + "name_sort": "Ethiopia", + "name_alt": null, + "mapcolor7": 4, + "mapcolor8": 4, + "mapcolor9": 1, + "mapcolor13": 13, + "pop_est": 85237338, + "gdp_md_est": 68770, + "pop_year": -99, + "lastcensus": 2007, + "gdp_year": -99, + "economy": "7. Least developed region", + "income_grp": "5. Low income", + "wikipedia": -99, + "fips_10": null, + "iso_a2": "ET", + "iso_a3": "ETH", + "iso_n3": "231", + "un_a3": "231", + "wb_a2": "ET", + "wb_a3": "ETH", + "woe_id": -99, + "adm0_a3_is": "ETH", + "adm0_a3_us": "ETH", + "adm0_a3_un": -99, + "adm0_a3_wb": -99, + "continent": "Africa", + "region_un": "Africa", + "subregion": "Eastern Africa", + "region_wb": "Sub-Saharan Africa", + "name_len": 8, + "long_len": 8, + "abbrev_len": 4, + "tiny": -99, + "homepart": 1, + "filename": "ETH.geojson" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [38.43144531250002, 14.428613281249994], + [38.50439453125, 14.42441406249999], + [38.81201171875, 14.482324218749994], + [38.995703125, 14.586865234374995], + [39.023828125000016, 14.628222656250003], + [39.07421875, 14.628222656250003], + [39.135449218750004, 14.58188476562499], + [39.15859375000002, 14.5375], + [39.19804687500002, 14.479394531249993], + [39.270117187500006, 14.4703125], + [39.44609375000002, 14.511865234374994], + [39.531835937500006, 14.53671875], + [39.60488281250002, 14.516064453124995], + [39.69794921875001, 14.4990234375], + [39.75615234375002, 14.4990234375], + [39.895117187500006, 14.440673828124998], + [40.062109375, 14.459130859374993], + [40.140625, 14.4560546875], + [40.22148437500002, 14.431152343749998], + [40.353125, 14.338085937499999], + [40.5244140625, 14.22519531249999], + [40.76953125, 14.144482421874997], + [40.82011718750002, 14.111669921874991], + [40.938574218750006, 13.983105468749997], + [41.12236328125002, 13.736132812500001], + [41.362890625, 13.499804687500003], + [41.625, 13.313232421875], + [41.765039062500016, 13.183935546874991], + [41.85957031250001, 13.025878906249998], + [41.9521484375, 12.88232421875], + [42.04658203125001, 12.820605468749989], + [42.13427734375, 12.771435546874997], + [42.225, 12.66196289062499], + [42.28994140625002, 12.570214843749994], + [42.378515625, 12.46640625], + [42.28037109375, 12.324267578124989], + [42.14912109375001, 12.134130859374991], + [41.99589843750002, 11.912353515625], + [41.94960937500002, 11.857861328124995], + [41.815625, 11.723779296874993], + [41.79267578125001, 11.686035156249998], + [41.76650390625002, 11.589111328125], + [41.7646484375, 11.412890624999989], + [41.78203125000002, 11.187792968749989], + [41.79824218750002, 10.98046875], + [41.872167968750006, 10.955810546874998], + [41.95742187500002, 10.94101562499999], + [42.052148437500016, 10.96835937499999], + [42.16621093750001, 10.991601562499994], + [42.30810546875, 11.005224609374991], + [42.46513671875002, 11.047070312499997], + [42.557714843750006, 11.080761718749997], + [42.654980468750004, 11.078320312499995], + [42.74121093749999, 11.042382812499994], + [42.78300781250002, 11.009277343749998], + [42.84414062500002, 10.997949218749994], + [42.92275390625002, 10.999316406249989], + [42.90615234375002, 10.960253906249989], + [42.862890625, 10.903222656249994], + [42.80976562500001, 10.845996093749987], + [42.76308593750002, 10.786914062499989], + [42.65957031250002, 10.621386718749989], + [42.65644531250001, 10.6], + [42.66923828125002, 10.567578125], + [42.725195312500006, 10.491748046874989], + [42.78369140625, 10.36962890625], + [42.81640625, 10.257373046874989], + [42.84160156250002, 10.203076171874997], + [42.9125, 10.140820312499997], + [43.014746093750006, 10.012597656249994], + [43.0689453125, 9.926220703124997], + [43.18164062499999, 9.87998046874999], + [43.21845703125001, 9.770166015624993], + [43.303125, 9.609082031249997], + [43.39433593750002, 9.480273437499989], + [43.482519531250006, 9.37949218749999], + [43.5810546875, 9.340722656249994], + [43.62050781250002, 9.33740234375], + [43.826757812500006, 9.15078125], + [43.98378906250002, 9.008837890624989], + [44.02285156250002, 8.986035156249997], + [44.30625, 8.89306640625], + [44.63203125000001, 8.786083984374997], + [44.8935546875, 8.7001953125], + [45.22695312500002, 8.5908203125], + [45.55546875000002, 8.483007812499991], + [45.86328125, 8.3798828125], + [46.29599609375, 8.234960937499991], + [46.64472656250001, 8.1181640625], + [46.91953125, 8.026123046874998], + [46.97822265625001, 7.997070312499999], + [47.3056640625, 7.997070312499999], + [47.6376953125, 7.997070312499999], + [47.97822265625001, 7.997070312499999], + [47.73164062500001, 7.75932617187499], + [47.45283203125001, 7.490478515624999], + [47.159765625, 7.207861328124991], + [46.97119140625, 7.026025390624994], + [46.67177734375002, 6.737255859374997], + [46.422949218750006, 6.497265625], + [46.16679687500002, 6.234667968749989], + [45.934960937500016, 5.997216796874993], + [45.63359375000002, 5.668261718749989], + [45.4384765625, 5.455419921874991], + [45.1328125, 5.121679687499991], + [44.94052734375, 4.912011718749994], + [44.91162109374999, 4.89990234375], + [44.63662109375002, 4.915771484375], + [44.36953125000002, 4.931201171874989], + [44.028125, 4.950976562499989], + [43.9888671875, 4.950537109374991], + [43.88945312500002, 4.930761718749991], + [43.829199218750006, 4.911425781249989], + [43.58349609375, 4.85498046875], + [43.53828125, 4.84033203125], + [43.333984375, 4.75039062499999], + [43.125683593750004, 4.644482421874997], + [43.01601562500002, 4.563330078124991], + [42.93095703125002, 4.4453125], + [42.89472656250001, 4.361083984374999], + [42.85664062500001, 4.32421875], + [42.791601562500006, 4.2919921875], + [42.35517578125001, 4.212255859374991], + [42.22841796875002, 4.20166015625], + [42.02412109375001, 4.137939453125], + [41.91533203125002, 4.031298828124989], + [41.88398437500001, 3.977734375], + [41.73769531250002, 3.979052734374989], + [41.48193359374999, 3.96328125], + [41.37246093750002, 3.946191406249994], + [41.318945312500006, 3.943066406249997], + [41.22089843750001, 3.943554687499997], + [41.14042968750002, 3.962988281249991], + [41.08720703125002, 3.991943359375], + [41.02080078125002, 4.057470703124991], + [40.87265625, 4.190332031249994], + [40.765234375, 4.27304687499999], + [40.52871093750002, 4.177636718749994], + [40.316015625, 4.082714843749997], + [40.01416015625, 3.947949218749997], + [39.84218750000002, 3.851464843749994], + [39.79033203125002, 3.754248046874991], + [39.65751953125002, 3.577832031249997], + [39.53886718750002, 3.469189453124997], + [39.49443359375002, 3.456103515624989], + [39.22548828125002, 3.478759765625], + [39.12832031250002, 3.500878906249994], + [38.9677734375, 3.520605468749991], + [38.75273437500002, 3.55898437499999], + [38.608007812500006, 3.60009765625], + [38.45156250000002, 3.604833984374991], + [38.22529296875001, 3.618994140624991], + [38.08613281250001, 3.64882812499999], + [37.944921875, 3.746728515624994], + [37.76289062500001, 3.864648437499994], + [37.57548828125002, 3.9859375], + [37.38251953125001, 4.11083984375], + [37.15458984375002, 4.254541015624994], + [36.90556640625002, 4.411474609374991], + [36.848242187500006, 4.42734375], + [36.82363281250002, 4.430126953124997], + [36.55302734375002, 4.437255859375], + [36.271875, 4.444726562499994], + [36.08193359375002, 4.44970703125], + [36.02197265625, 4.468115234374991], + [35.97871093750001, 4.503808593749994], + [35.91982421875002, 4.619824218749997], + [35.84560546875002, 4.70263671875], + [35.76308593750002, 4.808007812499994], + [35.75615234375002, 4.950488281249989], + [35.779296875, 5.105566406249991], + [35.80029296875, 5.156933593749997], + [35.78847656250002, 5.208105468749991], + [35.79140625000002, 5.278564453125], + [35.74501953125002, 5.343994140625], + [35.46865234375002, 5.419091796874994], + [35.42402343750001, 5.41328125], + [35.3779296875, 5.38515625], + [35.325292968750006, 5.364892578124994], + [35.28759765625, 5.384082031249989], + [35.2646484375, 5.412060546874997], + [35.26386718750001, 5.457910156249994], + [35.26835937500002, 5.492285156249991], + [35.25244140625, 5.511035156249989], + [35.16445312500002, 5.581201171874994], + [35.08193359375002, 5.673144531249989], + [35.03193359375001, 5.77490234375], + [34.98359375000001, 5.858300781249994], + [34.958984375, 6.045068359374994], + [34.89785156250002, 6.159814453124994], + [34.83808593750001, 6.300146484374991], + [34.74921875, 6.56787109375], + [34.71064453125001, 6.660302734374994], + [34.638769531250006, 6.72216796875], + [34.56279296875002, 6.779833984374989], + [34.484375, 6.898388671874997], + [34.279296875, 7.002832031249993], + [34.20039062500001, 7.084570312499991], + [34.06425781250002, 7.225732421874994], + [34.03017578125002, 7.296972656249991], + [34.02041015625002, 7.36796875], + [33.97792968750002, 7.434570312499999], + [33.902441406250006, 7.509521484374999], + [33.666113281250006, 7.670996093749992], + [33.60097656250002, 7.690429687499999], + [33.51630859375001, 7.707763671875], + [33.39228515625001, 7.723730468749991], + [33.22597656250002, 7.760644531249994], + [33.08076171875001, 7.823730468749999], + [33.0146484375, 7.868554687499994], + [32.99892578125002, 7.899511718749991], + [33.012597656250016, 7.951513671874991], + [33.06523437500002, 8.040478515624997], + [33.16523437500001, 8.251074218749991], + [33.23427734375002, 8.396386718749994], + [33.28105468750001, 8.437255859375], + [33.409375, 8.44775390625], + [33.545312500000016, 8.443408203124989], + [33.64482421875002, 8.432568359374997], + [33.78505859375002, 8.431103515624997], + [33.95332031250001, 8.443505859374994], + [34.01972656250001, 8.492089843749994], + [34.07275390625, 8.545263671874991], + [34.09453125000002, 8.582226562499997], + [34.10175781250001, 8.676367187499991], + [34.1015625, 8.751855468749994], + [34.091015625, 9.041259765625], + [34.084570312500006, 9.218505859375], + [34.0771484375, 9.420996093749991], + [34.078125, 9.461523437499991], + [34.07929687500001, 9.513476562499989], + [34.12031250000001, 9.7296875], + [34.159082031250016, 9.853417968749994], + [34.18525390625001, 9.918554687499991], + [34.29150390625, 10.124755859375], + [34.311230468750004, 10.190869140624995], + [34.314843750000016, 10.2515625], + [34.27568359375001, 10.528125], + [34.34394531250001, 10.658642578124997], + [34.43144531250002, 10.787841796875], + [34.50800781250001, 10.842871093749991], + [34.571875, 10.880175781249989], + [34.60175781250001, 10.864550781249989], + [34.675, 10.804931640625], + [34.77128906250002, 10.746191406249991], + [34.81621093750002, 10.759179687499993], + [34.88232421874999, 10.810546875], + [34.93144531250002, 10.864794921874989], + [34.924902343750006, 10.962109375], + [34.969140625000016, 11.161767578124994], + [34.96074218750002, 11.276757812499993], + [35.007910156250006, 11.419873046874997], + [35.059667968750006, 11.621044921874997], + [35.08271484375001, 11.748291015625], + [35.1123046875, 11.816552734374994], + [35.25244140625, 11.95703125], + [35.37275390625001, 12.155566406249989], + [35.44960937500002, 12.300585937499989], + [35.59609375000002, 12.537304687499997], + [35.67021484375002, 12.623730468749997], + [35.730566406250006, 12.661035156249994], + [35.82060546875002, 12.684863281249989], + [35.98759765625002, 12.706298828125], + [36.107519531250006, 12.726464843749994], + [36.12519531250001, 12.75703125], + [36.135351562500006, 12.805322265624994], + [36.137109375000016, 12.9111328125], + [36.16015625, 13.093310546874989], + [36.21220703125002, 13.27109375], + [36.273535156250006, 13.40576171875], + [36.30683593750001, 13.466845703125001], + [36.346289062500006, 13.526269531249994], + [36.390625, 13.626074218749991], + [36.44707031250002, 13.842041015625], + [36.443945312500006, 13.988427734374994], + [36.52431640625002, 14.2568359375], + [36.54238281250002, 14.25820312499999], + [36.67910156250002, 14.307568359374997], + [36.81191406250002, 14.31503906249999], + [36.94072265625002, 14.280566406250001], + [37.024511718750006, 14.27197265625], + [37.0634765625, 14.289257812499995], + [37.09941406250002, 14.333984375], + [37.13261718750002, 14.406054687500003], + [37.18515625, 14.445996093749997], + [37.257226562500016, 14.453759765624994], + [37.35371093750001, 14.372460937499993], + [37.50722656250002, 14.156396484374994], + [37.54677734375002, 14.143847656250003], + [37.57119140625002, 14.149072265624994], + [37.6484375, 14.322558593750003], + [37.70839843750002, 14.457226562499995], + [37.8203125, 14.70849609375], + [37.88417968750002, 14.852294921875], + [37.94345703125, 14.810546875], + [38.002539062500006, 14.737109375], + [38.069921875, 14.70273437499999], + [38.14199218750002, 14.681494140624991], + [38.17705078125002, 14.67880859374999], + [38.22148437500002, 14.649658203125], + [38.376953125, 14.470410156249995], + [38.43144531250002, 14.428613281249994] + ] + ] + } + }, + { + "type": "Feature", + "properties": { + "scalerank": 1, + "featurecla": "Admin-0 country", + "labelrank": 3, + "sovereignt": "Ghana", + "sov_a3": "GHA", + "adm0_dif": 0, + "level": 2, + "type": "Sovereign country", + "admin": "Ghana", + "adm0_a3": "GHA", + "geou_dif": 0, + "geounit": "Ghana", + "gu_a3": "GHA", + "su_dif": 0, + "subunit": "Ghana", + "su_a3": "GHA", + "brk_diff": 0, + "name": "Ghana", + "name_long": "Ghana", + "brk_a3": "GHA", + "brk_name": "Ghana", + "brk_group": null, + "abbrev": "Ghana", + "postal": "GH", + "formal_en": "Republic of Ghana", + "formal_fr": null, + "note_adm0": null, + "note_brk": null, + "name_sort": "Ghana", + "name_alt": null, + "mapcolor7": 5, + "mapcolor8": 3, + "mapcolor9": 1, + "mapcolor13": 4, + "pop_est": 23832495, + "gdp_md_est": 34200, + "pop_year": -99, + "lastcensus": 2010, + "gdp_year": -99, + "economy": "6. Developing region", + "income_grp": "4. Lower middle income", + "wikipedia": -99, + "fips_10": null, + "iso_a2": "GH", + "iso_a3": "GHA", + "iso_n3": "288", + "un_a3": "288", + "wb_a2": "GH", + "wb_a3": "GHA", + "woe_id": -99, + "adm0_a3_is": "GHA", + "adm0_a3_us": "GHA", + "adm0_a3_un": -99, + "adm0_a3_wb": -99, + "continent": "Africa", + "region_un": "Africa", + "subregion": "Western Africa", + "region_wb": "Sub-Saharan Africa", + "name_len": 5, + "long_len": 5, + "abbrev_len": 5, + "tiny": -99, + "homepart": 1, + "filename": "GHA.geojson" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [-0.068603515625, 11.115625], + [-0.004736328124977, 11.055566406249994], + [0.009423828125023, 11.020996093749998], + [-0.013867187499983, 10.891357421875], + [-0.060595703124989, 10.800585937499989], + [-0.090185546874977, 10.715527343749997], + [-0.08632812499999, 10.673046875], + [-0.057714843749977, 10.630615234375], + [0.039453125000023, 10.563867187499994], + [0.089257812500023, 10.520605468749991], + [0.148242187500017, 10.454785156249997], + [0.216015625000011, 10.390527343749994], + [0.331835937500017, 10.306933593749989], + [0.380859375, 10.291845703124991], + [0.378613281250011, 10.2685546875], + [0.362695312500023, 10.236474609374993], + [0.351855468750017, 9.924902343749991], + [0.343066406250017, 9.84458007812499], + [0.334570312500006, 9.803955078125], + [0.323925781250011, 9.687597656249991], + [0.311718750000011, 9.670996093749991], + [0.289648437500006, 9.672314453124995], + [0.26953125, 9.667919921874997], + [0.264550781250023, 9.644726562499997], + [0.272753906250017, 9.620947265624991], + [0.342578125000017, 9.604150390624994], + [0.327343750000011, 9.586572265624994], + [0.275488281250006, 9.570605468749989], + [0.2515625, 9.53564453125], + [0.261914062500011, 9.49560546875], + [0.2333984375, 9.463525390624994], + [0.241503906250017, 9.44189453125], + [0.259960937500011, 9.426025390625], + [0.289355468750017, 9.431835937499997], + [0.370996093750023, 9.485546875], + [0.4052734375, 9.491455078125], + [0.447558593750017, 9.480273437499989], + [0.525683593750017, 9.398486328124989], + [0.529003906250011, 9.358300781249994], + [0.497167968750006, 9.221240234374989], + [0.466113281250017, 9.115332031249991], + [0.460351562500023, 8.97421875], + [0.493261718750006, 8.89492187499999], + [0.48876953125, 8.851464843749994], + [0.453125, 8.813769531249989], + [0.37255859375, 8.75927734375], + [0.378613281250011, 8.722021484374991], + [0.415332031250017, 8.65273437499999], + [0.483300781250023, 8.575292968749991], + [0.6162109375, 8.479638671874993], + [0.686328125000017, 8.354882812499994], + [0.688085937500006, 8.304248046874989], + [0.647070312500006, 8.253466796874989], + [0.59921875, 8.209570312499991], + [0.58359375, 8.145800781249989], + [0.605175781250011, 7.728222656249996], + [0.5, 7.546875], + [0.498925781250023, 7.4951171875], + [0.509570312500017, 7.435107421874988], + [0.537304687500011, 7.398730468749988], + [0.591015625000011, 7.388818359374993], + [0.634765625, 7.353662109374993], + [0.619531250000023, 7.2265625], + [0.59619140625, 7.096630859374997], + [0.592480468750011, 7.033984374999988], + [0.579492187500023, 7.004101562499997], + [0.5380859375, 6.9796875], + [0.523046875, 6.938867187499994], + [0.533398437500011, 6.888330078124994], + [0.525585937500011, 6.850927734374991], + [0.548046875000011, 6.802490234375], + [0.595703125, 6.7421875], + [0.672753906250023, 6.592529296874999], + [0.702246093750006, 6.580761718749997], + [0.715429687500006, 6.549316406249999], + [0.707226562500011, 6.51875], + [0.736914062500006, 6.452587890624996], + [0.822460937500011, 6.386376953124993], + [0.912207031250006, 6.328564453124996], + [0.984960937500006, 6.3203125], + [1.002148437500011, 6.268554687499999], + [1.049902343750006, 6.20263671875], + [1.08447265625, 6.173779296874997], + [1.1396484375, 6.155029296875], + [1.18505859375, 6.14501953125], + [1.187207031250011, 6.089404296874989], + [1.105566406250006, 6.051367187499991], + [1.05029296875, 5.993994140624991], + [1.008007812500011, 5.906396484374994], + [0.94970703125, 5.810253906249997], + [0.748828125000017, 5.760107421874991], + [0.671875, 5.759716796874996], + [0.259667968750023, 5.75732421875], + [-0.126513671874989, 5.568164062499989], + [-0.348730468749977, 5.500781249999989], + [-0.485449218749977, 5.394238281249997], + [-0.66943359375, 5.318554687499997], + [-0.797705078124977, 5.226708984374994], + [-1.064306640624977, 5.182666015624988], + [-1.501660156249983, 5.037988281249994], + [-1.638476562499989, 4.98085937499999], + [-1.77685546875, 4.88037109375], + [-2.001855468749994, 4.762451171875], + [-2.090185546874977, 4.7640625], + [-2.266406249999989, 4.874072265624989], + [-2.39892578125, 4.929345703124994], + [-2.72304687499999, 5.013720703124988], + [-2.964990234374994, 5.046289062499994], + [-3.081884765624977, 5.082470703124997], + [-3.114013671875, 5.088671874999989], + [-3.086718749999989, 5.128320312499994], + [-3.019140624999977, 5.130810546874997], + [-2.948339843749977, 5.118847656249997], + [-2.894726562499983, 5.149023437499991], + [-2.815673828125, 5.153027343749997], + [-2.795214843749989, 5.184521484374996], + [-2.788671874999977, 5.264111328124997], + [-2.789599609374988, 5.328222656249991], + [-2.761914062499983, 5.35693359375], + [-2.754980468749977, 5.432519531249994], + [-2.793652343749983, 5.60009765625], + [-2.821191406249994, 5.619189453124989], + [-2.962255859374977, 5.643017578124997], + [-2.972802734374994, 5.676269531249999], + [-2.998291015625, 5.71132812499999], + [-3.025292968749994, 5.797753906249993], + [-3.05615234375, 5.92626953125], + [-3.105566406249977, 6.085644531249997], + [-3.200585937499994, 6.348242187499991], + [-3.224023437499994, 6.441064453124994], + [-3.240283203124989, 6.53564453125], + [-3.243896484375, 6.648681640624999], + [-3.22412109375, 6.690771484374991], + [-3.227148437499977, 6.749121093749991], + [-3.235791015624983, 6.807226562499991], + [-3.168896484374983, 6.940966796874988], + [-3.037695312499977, 7.104589843749991], + [-3.01015625, 7.163769531249996], + [-2.985791015624983, 7.204882812499989], + [-2.982324218749994, 7.263623046874997], + [-2.959082031249977, 7.454541015624996], + [-2.896337890624977, 7.685009765624997], + [-2.856884765624983, 7.772070312499991], + [-2.830126953124989, 7.819042968749996], + [-2.798144531249988, 7.89599609375], + [-2.789746093749983, 7.931933593749989], + [-2.668847656249994, 8.022216796875], + [-2.613378906249977, 8.046679687499989], + [-2.600976562499994, 8.082226562499997], + [-2.619970703124977, 8.12109375], + [-2.61171875, 8.147558593749991], + [-2.582763671875, 8.160791015624994], + [-2.538281249999983, 8.171630859375], + [-2.505859375, 8.208740234375], + [-2.556884765625, 8.493017578124991], + [-2.597998046874977, 8.7763671875], + [-2.600390624999989, 8.800439453124993], + [-2.624902343749994, 8.839599609375], + [-2.649218749999989, 8.956591796874989], + [-2.689892578124983, 9.025097656249997], + [-2.746923828124977, 9.045117187499997], + [-2.746679687499977, 9.109619140625], + [-2.689208984375, 9.218603515624991], + [-2.67421875, 9.282617187499993], + [-2.701806640624994, 9.301660156249994], + [-2.705761718749983, 9.351367187499989], + [-2.686132812499977, 9.431738281249991], + [-2.695849609374989, 9.481347656249994], + [-2.706201171874994, 9.533935546875], + [-2.765966796874977, 9.658056640624991], + [-2.780517578125, 9.745849609375], + [-2.749804687499989, 9.797216796874991], + [-2.750732421875, 9.90966796875], + [-2.783203125, 10.08310546874999], + [-2.788476562499994, 10.192578125], + [-2.766503906249994, 10.238183593749994], + [-2.777099609375, 10.281591796874991], + [-2.8203125, 10.322851562499991], + [-2.823437499999983, 10.362939453124994], + [-2.78662109375, 10.401904296874989], + [-2.791162109374994, 10.432421874999989], + [-2.837207031249989, 10.454638671874987], + [-2.87841796875, 10.507958984374993], + [-2.914892578124977, 10.592333984374989], + [-2.907324218749977, 10.727978515624997], + [-2.838574218749983, 10.977490234374997], + [-2.829931640624977, 10.99838867187499], + [-2.752099609374994, 10.996972656249994], + [-2.751660156249983, 10.986376953124989], + [-2.509179687499994, 10.988720703124997], + [-2.23193359375, 10.99140625], + [-1.900634765625, 10.994677734374987], + [-1.599658203124989, 10.99765625], + [-1.586474609374989, 11.008886718749991], + [-1.536767578124994, 11.02265625], + [-1.232617187499983, 10.997216796874994], + [-1.04248046875, 11.010058593749989], + [-0.961816406249994, 11.001708984374998], + [-0.902929687499977, 10.984716796874991], + [-0.771582031249977, 10.995263671874994], + [-0.701416015625, 10.988964843749997], + [-0.648535156249977, 10.9267578125], + [-0.627148437499983, 10.927392578124994], + [-0.59765625, 10.953662109374989], + [-0.545214843749989, 10.983691406249989], + [-0.49169921875, 11.007617187499989], + [-0.45351562499999, 11.056298828124994], + [-0.430322265624994, 11.09326171875], + [-0.395605468749977, 11.085693359375], + [-0.345751953124989, 11.087939453124989], + [-0.312548828124989, 11.118896484375], + [-0.299462890624994, 11.166894531249994], + [-0.068603515625, 11.115625] + ] + ] + } + }, + { + "type": "Feature", + "properties": { + "scalerank": 1, + "featurecla": "Admin-0 country", + "labelrank": 4, + "sovereignt": "Eritrea", + "sov_a3": "ERI", + "adm0_dif": 0, + "level": 2, + "type": "Sovereign country", + "admin": "Eritrea", + "adm0_a3": "ERI", + "geou_dif": 0, + "geounit": "Eritrea", + "gu_a3": "ERI", + "su_dif": 0, + "subunit": "Eritrea", + "su_a3": "ERI", + "brk_diff": 0, + "name": "Eritrea", + "name_long": "Eritrea", + "brk_a3": "ERI", + "brk_name": "Eritrea", + "brk_group": null, + "abbrev": "Erit.", + "postal": "ER", + "formal_en": "State of Eritrea", + "formal_fr": null, + "note_adm0": null, + "note_brk": null, + "name_sort": "Eritrea", + "name_alt": null, + "mapcolor7": 3, + "mapcolor8": 1, + "mapcolor9": 2, + "mapcolor13": 12, + "pop_est": 5647168, + "gdp_md_est": 3945, + "pop_year": -99, + "lastcensus": 1984, + "gdp_year": -99, + "economy": "7. Least developed region", + "income_grp": "5. Low income", + "wikipedia": -99, + "fips_10": null, + "iso_a2": "ER", + "iso_a3": "ERI", + "iso_n3": "232", + "un_a3": "232", + "wb_a2": "ER", + "wb_a3": "ERI", + "woe_id": -99, + "adm0_a3_is": "ERI", + "adm0_a3_us": "ERI", + "adm0_a3_un": -99, + "adm0_a3_wb": -99, + "continent": "Africa", + "region_un": "Africa", + "subregion": "Eastern Africa", + "region_wb": "Sub-Saharan Africa", + "name_len": 7, + "long_len": 7, + "abbrev_len": 5, + "tiny": -99, + "homepart": 1, + "filename": "ERI.geojson" + }, + "geometry": { + "type": "MultiPolygon", + "coordinates": [ + [ + [ + [40.141210937500006, 15.696142578125034], + [40.18251953125005, 15.642919921875006], + [40.21142578124997, 15.648144531250011], + [40.2340820312501, 15.665869140624977], + [40.25009765625006, 15.703466796875004], + [40.40820312500002, 15.629199218750072], + [40.399023437500006, 15.579882812500044], + [40.30468749999997, 15.577343749999983], + [40.19580078125003, 15.598144531250057], + [40.09511718749999, 15.590917968750004], + [39.975195312500006, 15.612451171875023], + [39.94746093750004, 15.696142578125034], + [40.02392578124997, 15.655615234375034], + [40.06347656249997, 15.665869140624977], + [40.07050781250004, 15.676611328125034], + [40.01630859375004, 15.733251953125032], + [39.93994140625002, 15.744531250000023], + [39.94521484375005, 15.789062500000027], + [39.979394531249994, 15.806591796874953], + [40.00048828125003, 15.828271484375025], + [39.9567382812501, 15.889404296875057], + [40.04257812500006, 15.875488281249972], + [40.096777343750006, 15.838476562499977], + [40.13242187500006, 15.79526367187506], + [40.141210937500006, 15.696142578125034] + ] + ], + [ + [ + [40.07646484375002, 16.082421875000023], + [40.11005859375004, 15.985742187500051], + [40.01240234375004, 16.02265625000001], + [39.99609375000003, 16.04267578125001], + [40.03906249999997, 16.080957031249994], + [40.04814453125002, 16.1044921875], + [40.07646484375002, 16.082421875000023] + ] + ], + [ + [ + [38.60947265625006, 18.00507812500004], + [38.91171875000006, 17.427148437499994], + [39.03447265625002, 17.085546875000034], + [39.14257812500002, 16.729150390624966], + [39.222558593749994, 16.193701171875063], + [39.29892578125, 15.92109375000001], + [39.42226562499999, 15.786669921874989], + [39.5065429687501, 15.532128906249994], + [39.5788085937501, 15.522509765624989], + [39.63125, 15.45253906250005], + [39.72080078125006, 15.213671875000058], + [39.78554687499999, 15.12485351562499], + [39.819433593750006, 15.201269531250022], + [39.815625, 15.24531250000001], + [39.79033203125002, 15.318847656249986], + [39.81347656250003, 15.413574218750012], + [39.86376953124997, 15.470312500000034], + [39.97832031250002, 15.393115234375015], + [40.04101562500003, 15.334521484374987], + [40.05781250000004, 15.217089843750045], + [40.084082031250006, 15.151953125], + [40.20410156250003, 15.014111328124983], + [40.305273437500006, 14.974023437499994], + [40.43652343750003, 14.963964843749991], + [40.546289062499994, 14.933593750000014], + [40.634375, 14.883007812500011], + [40.799316406249964, 14.743017578125004], + [41.17646484375004, 14.620312500000052], + [41.47968750000009, 14.243896484375014], + [41.65820312499997, 13.983056640624993], + [42.24511718749997, 13.587646484374986], + [42.34648437500002, 13.398095703125007], + [42.39931640625005, 13.212597656249969], + [42.522851562499994, 13.221484375], + [42.734472656250006, 13.018603515624973], + [42.796191406250074, 12.864257812500057], + [42.96953125000002, 12.808349609375028], + [42.99902343750003, 12.899511718750048], + [43.082910156250044, 12.824609374999966], + [43.11669921874997, 12.708593749999963], + [43.00566406250002, 12.66230468750004], + [42.88330078124997, 12.621289062500024], + [42.86591796875004, 12.622802734374986], + [42.82529296875006, 12.569335937500012], + [42.767480468749994, 12.422851562500012], + [42.70371093750006, 12.380322265625054], + [42.67011718750004, 12.3765625], + [42.47939453124999, 12.513623046875026], + [42.45, 12.521337890625006], + [42.40859374999999, 12.494384765625014], + [42.37851562500006, 12.46640625], + [42.28994140625005, 12.570214843750009], + [42.225, 12.661962890624961], + [42.13427734374997, 12.771435546874969], + [42.04658203125004, 12.820605468750045], + [41.952148437499964, 12.88232421875], + [41.85957031250004, 13.025878906250027], + [41.76503906250005, 13.183935546874991], + [41.625, 13.313232421875043], + [41.362890625, 13.499804687500031], + [41.12236328125002, 13.736132812500045], + [40.938574218750006, 13.983105468749997], + [40.82011718750002, 14.111669921874991], + [40.76953125000003, 14.144482421875011], + [40.52441406249997, 14.22519531250002], + [40.353125, 14.338085937500024], + [40.22148437500002, 14.43115234374997], + [40.140625, 14.456054687499988], + [40.06210937500006, 14.459130859374993], + [39.89511718750006, 14.440673828125043], + [39.756152343750074, 14.499023437500028], + [39.69794921875009, 14.499023437500028], + [39.604882812499994, 14.51606445312504], + [39.531835937500006, 14.53671875], + [39.44609375000002, 14.511865234374982], + [39.270117187500006, 14.470312500000048], + [39.198046875000074, 14.479394531250037], + [39.15859374999999, 14.5375], + [39.1354492187501, 14.581884765625034], + [39.07421874999997, 14.628222656249974], + [39.02382812499999, 14.628222656249974], + [38.99570312500006, 14.586865234374983], + [38.81201171875003, 14.482324218750007], + [38.50439453124997, 14.424414062500018], + [38.43144531250002, 14.428613281249994], + [38.37695312500002, 14.470410156249983], + [38.22148437500007, 14.649658203124986], + [38.177050781250074, 14.678808593749977], + [38.141992187499994, 14.681494140624991], + [38.069921875, 14.702734374999965], + [38.002539062500006, 14.737109375000044], + [37.943457031250055, 14.810546875], + [37.884179687499994, 14.852294921874972], + [37.82031250000003, 14.708496093749986], + [37.70839843750005, 14.45722656250004], + [37.64843750000003, 14.32255859375006], + [37.571191406249994, 14.149072265624966], + [37.546777343749994, 14.143847656249974], + [37.507226562499994, 14.156396484375035], + [37.3537109375001, 14.372460937500009], + [37.257226562499994, 14.453759765625051], + [37.18515625000006, 14.445996093749985], + [37.132617187500074, 14.406054687500015], + [37.099414062500074, 14.333984374999984], + [37.06347656250003, 14.289257812500024], + [37.024511718750006, 14.271972656250057], + [36.940722656250074, 14.28056640625003], + [36.81191406250005, 14.315039062500034], + [36.67910156250005, 14.307568359375024], + [36.542382812499994, 14.25820312499999], + [36.52431640625005, 14.256835937499986], + [36.492285156250006, 14.544335937500023], + [36.470800781250006, 14.73647460937501], + [36.448144531249994, 14.940087890625009], + [36.42675781249997, 15.132080078125043], + [36.521777343750074, 15.250146484375021], + [36.566015625, 15.362109375], + [36.67919921874997, 15.726367187500045], + [36.724511718749994, 15.798876953124987], + [36.81347656249997, 15.993945312500045], + [36.82587890625004, 16.050292968750057], + [36.91376953125009, 16.296191406250045], + [36.9054687500001, 16.459521484375017], + [36.887792968750006, 16.624658203124994], + [36.93574218750004, 16.72236328125001], + [36.9787109375001, 16.800585937500045], + [36.97578125000009, 16.866552734375006], + [36.99521484375006, 17.020556640625014], + [37.00898437500004, 17.058886718750017], + [37.06152343749997, 17.061279296875057], + [37.16953125000006, 17.04140625], + [37.24882812500002, 17.056884765625057], + [37.34042968750006, 17.057080078124983], + [37.41103515625005, 17.061718749999955], + [37.452929687500074, 17.108691406250017], + [37.51015625, 17.28813476562499], + [37.54746093750006, 17.324121093750048], + [37.575976562500074, 17.335009765625042], + [37.65673828125003, 17.368261718749974], + [37.725976562499994, 17.420507812500063], + [37.78242187500004, 17.458007812500057], + [37.803320312500006, 17.465527343749983], + [37.86298828125003, 17.470263671875074], + [37.9225585937501, 17.492333984375023], + [37.95009765624999, 17.517675781250034], + [38.02529296875005, 17.53779296874995], + [38.09892578125001, 17.526464843750063], + [38.14853515625, 17.54853515625001], + [38.181542968749994, 17.562841796875006], + [38.21904296875007, 17.563964843750057], + [38.253515625, 17.584765625000017], + [38.26728515625004, 17.616699218750057], + [38.28984375000002, 17.637011718750017], + [38.34736328125004, 17.68359375], + [38.37373046875004, 17.717333984375045], + [38.385546875000074, 17.751269531250017], + [38.39716796875004, 17.778369140625045], + [38.42246093750006, 17.823925781249983], + [38.522851562499994, 17.938525390625074], + [38.60947265625006, 18.00507812500004] + ] + ] + ] + } + }, + { + "type": "Feature", + "properties": { + "scalerank": 1, + "featurecla": "Admin-0 country", + "labelrank": 3, + "sovereignt": "Guinea", + "sov_a3": "GIN", + "adm0_dif": 0, + "level": 2, + "type": "Sovereign country", + "admin": "Guinea", + "adm0_a3": "GIN", + "geou_dif": 0, + "geounit": "Guinea", + "gu_a3": "GIN", + "su_dif": 0, + "subunit": "Guinea", + "su_a3": "GIN", + "brk_diff": 0, + "name": "Guinea", + "name_long": "Guinea", + "brk_a3": "GIN", + "brk_name": "Guinea", + "brk_group": null, + "abbrev": "Gin.", + "postal": "GN", + "formal_en": "Republic of Guinea", + "formal_fr": null, + "note_adm0": null, + "note_brk": null, + "name_sort": "Guinea", + "name_alt": null, + "mapcolor7": 6, + "mapcolor8": 3, + "mapcolor9": 7, + "mapcolor13": 2, + "pop_est": 10057975, + "gdp_md_est": 10600, + "pop_year": -99, + "lastcensus": 1996, + "gdp_year": -99, + "economy": "7. Least developed region", + "income_grp": "5. Low income", + "wikipedia": -99, + "fips_10": null, + "iso_a2": "GN", + "iso_a3": "GIN", + "iso_n3": "324", + "un_a3": "324", + "wb_a2": "GN", + "wb_a3": "GIN", + "woe_id": -99, + "adm0_a3_is": "GIN", + "adm0_a3_us": "GIN", + "adm0_a3_un": -99, + "adm0_a3_wb": -99, + "continent": "Africa", + "region_un": "Africa", + "subregion": "Western Africa", + "region_wb": "Sub-Saharan Africa", + "name_len": 6, + "long_len": 6, + "abbrev_len": 4, + "tiny": -99, + "homepart": 1, + "filename": "GIN.geojson" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [-11.389404296875, 12.40439453124999], + [-11.418066406249977, 12.377685546875], + [-11.447558593749989, 12.319238281249993], + [-11.474560546874983, 12.24716796874999], + [-11.502197265624998, 12.198632812499994], + [-11.492431640625, 12.166943359374997], + [-11.414648437499977, 12.10400390625], + [-11.30517578125, 12.015429687499989], + [-11.260693359374983, 12.004052734374994], + [-11.209667968749983, 12.024853515624997], + [-11.129248046874977, 12.095019531249989], + [-11.065820312499994, 12.170800781249994], + [-11.004541015624994, 12.20751953125], + [-10.933203124999977, 12.205175781249991], + [-10.876171874999981, 12.15185546875], + [-10.806494140624977, 12.034277343749991], + [-10.743017578124977, 11.92724609375], + [-10.734912109374987, 11.916455078124997], + [-10.709228515625, 11.898730468749989], + [-10.677343749999977, 11.8994140625], + [-10.643701171874994, 11.925537109374998], + [-10.618994140624977, 11.941210937499989], + [-10.589501953124994, 11.990283203124989], + [-10.4658203125, 12.138671875], + [-10.372753906249983, 12.179541015624991], + [-10.339892578124989, 12.190283203124991], + [-10.274853515624983, 12.212646484375], + [-10.167089843749977, 12.177441406249995], + [-10.010644531249994, 12.116455078125], + [-9.82070312499999, 12.04248046875], + [-9.754003906249977, 12.029931640624994], + [-9.714746093749994, 12.04248046875], + [-9.658300781249977, 12.143115234374987], + [-9.587744140624977, 12.182470703124991], + [-9.48681640625, 12.228662109374994], + [-9.404980468749981, 12.25244140625], + [-9.358105468749983, 12.255419921874989], + [-9.340185546874977, 12.282763671874989], + [-9.33154296875, 12.32373046875], + [-9.3408203125, 12.366015624999989], + [-9.393652343749977, 12.442236328124991], + [-9.395361328124977, 12.464648437499989], + [-9.365185546874983, 12.479296874999989], + [-9.3, 12.490283203124989], + [-9.215527343749983, 12.482861328124997], + [-9.120458984374977, 12.449951171875], + [-9.043066406249977, 12.40234375], + [-8.998925781249994, 12.345898437499997], + [-8.950830078124994, 12.2255859375], + [-8.913867187499989, 12.108544921874993], + [-8.818310546874983, 11.922509765624993], + [-8.820068359375, 11.80712890625], + [-8.822021484375, 11.673242187499994], + [-8.779736328124983, 11.648242187499989], + [-8.733105468749983, 11.6375], + [-8.71142578125, 11.617773437499991], + [-8.664941406249994, 11.514990234374991], + [-8.621142578124989, 11.485107421874998], + [-8.56875, 11.478076171874989], + [-8.470703125, 11.412207031249991], + [-8.407470703125, 11.386279296874989], + [-8.398535156249977, 11.366552734374991], + [-8.400683593749989, 11.339404296874989], + [-8.42529296875, 11.304736328124987], + [-8.463525390624994, 11.280712890624997], + [-8.520312499999989, 11.2359375], + [-8.567285156249994, 11.177001953125], + [-8.663916015624977, 11.035839843749997], + [-8.666699218749983, 11.009472656249997], + [-8.646191406249983, 10.990478515625], + [-8.606201171875, 10.986962890624993], + [-8.563525390624989, 10.996679687499991], + [-8.474707031249977, 11.048388671874989], + [-8.404492187499983, 11.029931640624994], + [-8.33740234375, 10.990625], + [-8.312744140624998, 10.949755859374987], + [-8.306347656249983, 10.89609375], + [-8.321679687499994, 10.826953124999989], + [-8.324121093749994, 10.749511718749998], + [-8.301562499999989, 10.61757812499999], + [-8.266650390624989, 10.485986328124994], + [-8.231494140624989, 10.43798828125], + [-8.007275390624983, 10.321875], + [-7.985693359374977, 10.278417968749991], + [-7.974462890624976, 10.229541015624989], + [-7.990625, 10.1625], + [-8.013525390624977, 10.125292968749989], + [-8.077832031249983, 10.067089843749997], + [-8.136621093749994, 10.02207031249999], + [-8.155175781249994, 9.973193359374989], + [-8.145849609374977, 9.881738281249994], + [-8.146044921874989, 9.6748046875], + [-8.136962890625, 9.49570312499999], + [-8.088671874999989, 9.4306640625], + [-8.031005859375, 9.39765625], + [-7.962695312499989, 9.403857421874989], + [-7.896191406249982, 9.41586914062499], + [-7.9, 9.308691406249991], + [-7.918066406249977, 9.188525390624989], + [-7.839404296874988, 9.151611328125], + [-7.7998046875, 9.115039062499987], + [-7.777978515624993, 9.080859374999989], + [-7.902099609374999, 9.01708984375], + [-7.938183593749983, 8.979785156249989], + [-7.954980468749994, 8.879443359374989], + [-7.950976562499989, 8.786816406249997], + [-7.784033203124976, 8.720605468749994], + [-7.719580078124977, 8.643017578124997], + [-7.690966796874989, 8.5625], + [-7.681201171874988, 8.410351562499997], + [-7.696093749999988, 8.375585937499991], + [-7.738964843749982, 8.375244140625], + [-7.787402343749989, 8.421972656249991], + [-7.823583984374976, 8.467675781249994], + [-7.86875, 8.467529296875], + [-7.953125, 8.477734375], + [-8.049121093749989, 8.4953125], + [-8.167773437499989, 8.490673828124997], + [-8.2099609375, 8.483251953124991], + [-8.236962890624993, 8.45566406249999], + [-8.244140625, 8.407910156249997], + [-8.256103515625, 8.253710937499989], + [-8.217138671874977, 8.219677734374997], + [-8.140625, 8.181445312499989], + [-8.090527343749983, 8.165136718749991], + [-8.048583984374998, 8.169726562499989], + [-8.016748046874993, 8.14492187499999], + [-8.009863281249977, 8.07851562499999], + [-8.03173828125, 8.029736328124997], + [-8.073828124999977, 7.984423828124989], + [-8.126855468749993, 7.867724609374989], + [-8.117822265624994, 7.824023437499989], + [-8.115429687499981, 7.760742187499999], + [-8.205957031249993, 7.59023437499999], + [-8.231884765624983, 7.556738281249991], + [-8.351757812499981, 7.590576171875], + [-8.429980468749989, 7.601855468749988], + [-8.486425781249977, 7.558496093749994], + [-8.522265624999989, 7.58554687499999], + [-8.564404296874983, 7.625097656249991], + [-8.578857421875, 7.677050781249989], + [-8.607324218749994, 7.687939453124998], + [-8.659765624999977, 7.688378906249993], + [-8.708300781249989, 7.658886718749996], + [-8.729443359374983, 7.605273437499988], + [-8.732617187499983, 7.543554687499991], + [-8.740234375, 7.49570312499999], + [-8.769140624999977, 7.466796875], + [-8.827929687499989, 7.391943359374992], + [-8.855517578124989, 7.322802734374988], + [-8.8896484375, 7.262695312499999], + [-8.938427734374983, 7.266162109374988], + [-8.960986328124987, 7.274609375], + [-8.9765625, 7.258886718749991], + [-9.052343749999977, 7.225488281249993], + [-9.11757812499999, 7.215917968749991], + [-9.134814453124989, 7.250585937499991], + [-9.1728515625, 7.278417968749991], + [-9.215185546874977, 7.333300781249989], + [-9.263281249999977, 7.377734374999989], + [-9.355322265624977, 7.40869140625], + [-9.391650390624989, 7.39492187499999], + [-9.435107421874989, 7.3984375], + [-9.463818359374983, 7.415869140624991], + [-9.459765624999989, 7.442529296874993], + [-9.411474609374975, 7.509960937499997], + [-9.383984374999983, 7.571875], + [-9.368945312499989, 7.639550781249994], + [-9.369140625, 7.703808593749996], + [-9.39492187499999, 7.794628906249996], + [-9.436328124999989, 7.866699218749999], + [-9.446386718749977, 7.908496093749989], + [-9.441552734374994, 7.967919921874994], + [-9.451123046874983, 8.023242187499989], + [-9.464550781249983, 8.052099609374991], + [-9.471142578124983, 8.106982421874989], + [-9.484130859375, 8.156982421875], + [-9.508496093749983, 8.17626953125], + [-9.522216796875, 8.260009765625], + [-9.518261718749981, 8.34609375], + [-9.553906249999983, 8.378613281249997], + [-9.610156249999989, 8.40234375], + [-9.643212890624994, 8.43603515625], + [-9.66357421875, 8.473535156249994], + [-9.683886718749989, 8.484423828124989], + [-9.701171875, 8.482177734375], + [-9.716894531249977, 8.458886718749994], + [-9.735595703125, 8.453955078124991], + [-9.768261718749983, 8.534570312499994], + [-9.781982421875, 8.537695312499991], + [-9.804736328124989, 8.519189453124993], + [-10.064355468749994, 8.429882812499995], + [-10.07568359375, 8.464599609375], + [-10.09765625, 8.505859375], + [-10.147412109374983, 8.519726562499995], + [-10.233056640624994, 8.488818359374989], + [-10.283203125, 8.485156249999987], + [-10.360058593749983, 8.495507812499994], + [-10.394433593749994, 8.48095703125], + [-10.496435546874977, 8.362109374999989], + [-10.557714843749975, 8.315673828125], + [-10.604003906249998, 8.319482421874994], + [-10.652636718749989, 8.330273437499997], + [-10.686962890624981, 8.321679687499994], + [-10.712109374999983, 8.335253906249989], + [-10.7021484375, 8.364208984374997], + [-10.677343749999977, 8.400585937499997], + [-10.628466796874989, 8.529980468749997], + [-10.503125, 8.660302734374994], + [-10.500537109374989, 8.687548828124989], + [-10.5517578125, 8.763769531249991], + [-10.605615234374994, 8.86757812499999], + [-10.605761718749989, 8.978808593749989], + [-10.615966796875, 9.059179687499991], + [-10.726855468749989, 9.081689453124993], + [-10.747021484374983, 9.095263671874989], + [-10.749951171874981, 9.122363281249989], + [-10.721240234374989, 9.194482421874994], + [-10.687646484374993, 9.261132812499994], + [-10.682714843749977, 9.289355468749989], + [-10.690527343749977, 9.314257812499989], + [-10.758593749999989, 9.385351562499991], + [-10.864794921874989, 9.516455078124991], + [-10.963085937499983, 9.66162109375], + [-11.047460937499975, 9.786328125], + [-11.115673828124981, 9.843164062499994], + [-11.180859374999981, 9.925341796874989], + [-11.205664062499975, 9.977734375], + [-11.273632812499983, 9.996533203124997], + [-11.471923828125, 9.99545898437499], + [-11.710058593749977, 9.994189453124989], + [-11.911083984374983, 9.993017578124991], + [-11.922753906249994, 9.922753906249994], + [-12.142333984375, 9.87539062499999], + [-12.27773437499999, 9.929785156249991], + [-12.427978515625, 9.898144531249997], + [-12.50146484375, 9.862158203124991], + [-12.524365234374983, 9.787207031249991], + [-12.557861328125, 9.704980468749993], + [-12.58984375, 9.671142578125], + [-12.603613281249977, 9.634228515624997], + [-12.622167968749977, 9.600634765624989], + [-12.651660156249989, 9.561914062499994], + [-12.684423828124975, 9.484179687499989], + [-12.755859375, 9.373583984374989], + [-12.831103515624989, 9.30224609375], + [-12.958789062499987, 9.263330078124994], + [-12.998632812499977, 9.146923828124997], + [-13.028027343749983, 9.103564453124989], + [-13.077294921874993, 9.069628906249989], + [-13.1298828125, 9.047558593749997], + [-13.178369140624994, 9.06088867187499], + [-13.234228515624977, 9.070117187499987], + [-13.292675781249981, 9.04921875], + [-13.302636718749994, 9.078369140625], + [-13.269482421874983, 9.170556640624994], + [-13.2958984375, 9.218505859375], + [-13.396093749999977, 9.31430664062499], + [-13.405566406249989, 9.360644531249989], + [-13.436279296875, 9.4203125], + [-13.568261718749994, 9.543408203124997], + [-13.691357421874981, 9.535791015624994], + [-13.657128906249994, 9.639111328124995], + [-13.658691406249998, 9.7763671875], + [-13.700488281249989, 9.851269531249997], + [-13.689794921874977, 9.927783203124989], + [-13.712646484375, 9.922949218749991], + [-13.753710937499989, 9.870263671874994], + [-13.820117187499989, 9.88720703125], + [-13.954638671874989, 9.968701171874997], + [-14.021875, 10.0478515625], + [-14.029931640624993, 10.115136718749994], + [-14.045019531249977, 10.141259765624993], + [-14.086279296874975, 10.127246093749989], + [-14.17041015625, 10.128613281249997], + [-14.426904296874993, 10.248339843749987], + [-14.609570312499983, 10.549853515624987], + [-14.613623046874977, 10.617822265624994], + [-14.587402343749998, 10.734912109374987], + [-14.593505859375, 10.766699218749991], + [-14.677343749999975, 10.68896484375], + [-14.693359375, 10.741015624999989], + [-14.757373046874987, 10.862060546875], + [-14.775927734374989, 10.931640625], + [-14.837451171874989, 10.962548828124994], + [-14.88671875, 10.968066406249989], + [-14.924804687499998, 10.94492187499999], + [-14.975, 10.803417968749997], + [-15.012402343749981, 10.804345703124994], + [-15.051220703124983, 10.834570312499991], + [-15.043017578124989, 10.940136718749997], + [-14.9990234375, 10.9921875], + [-14.944433593749977, 11.072167968749994], + [-14.779296875, 11.405517578125], + [-14.720263671874989, 11.481933593749998], + [-14.682958984374975, 11.508496093749997], + [-14.604785156249987, 11.511621093749994], + [-14.452441406249987, 11.556201171874989], + [-14.327832031249981, 11.629785156249994], + [-14.265576171874981, 11.659912109375], + [-14.122314453125, 11.65195312499999], + [-13.953222656249977, 11.664599609374989], + [-13.732763671874977, 11.736035156249997], + [-13.728564453124987, 11.834130859374994], + [-13.730664062499983, 11.959863281249994], + [-13.737988281249983, 12.009667968749994], + [-13.816308593749994, 12.054492187499989], + [-13.861914062499977, 12.093310546874989], + [-13.901171874999989, 12.142871093749989], + [-13.948876953124994, 12.178173828124997], + [-13.947314453124989, 12.21523437499999], + [-13.8875, 12.246875], + [-13.849462890624977, 12.262988281249989], + [-13.759765625, 12.262353515624994], + [-13.730078124999975, 12.280810546874989], + [-13.707910156249994, 12.312695312499997], + [-13.682373046874998, 12.393408203124991], + [-13.673535156249983, 12.478515625], + [-13.732617187499983, 12.592822265624989], + [-13.729248046875, 12.673925781249991], + [-13.40576171875, 12.662255859374994], + [-13.37255859375, 12.653613281249989], + [-13.228076171874989, 12.639599609374997], + [-13.138476562499987, 12.639746093749991], + [-13.082910156249994, 12.633544921875], + [-13.059765624999983, 12.615039062499989], + [-13.064404296874983, 12.581054687499998], + [-13.079833984375, 12.536279296874993], + [-13.061279296875, 12.489990234375], + [-13.011914062499983, 12.477636718749991], + [-12.985644531249987, 12.491650390624997], + [-12.960546874999977, 12.514355468749995], + [-12.930712890624989, 12.532275390624987], + [-12.88818359375, 12.520019531249998], + [-12.797314453124983, 12.451904296875], + [-12.713037109374994, 12.433154296874989], + [-12.620800781249983, 12.396191406249997], + [-12.534228515624989, 12.375781249999989], + [-12.457373046874977, 12.378369140624997], + [-12.399072265624994, 12.340087890625], + [-12.291210937499983, 12.328027343749994], + [-12.151953124999975, 12.376611328124994], + [-12.042382812499993, 12.39804687499999], + [-11.888574218749994, 12.4033203125], + [-11.80810546875, 12.38730468749999], + [-11.573681640624983, 12.426318359374987], + [-11.456738281249981, 12.41757812499999], + [-11.389404296875, 12.40439453124999] + ] + ] + } + }, + { + "type": "Feature", + "properties": { + "scalerank": 1, + "featurecla": "Admin-0 country", + "labelrank": 6, + "sovereignt": "Gambia", + "sov_a3": "GMB", + "adm0_dif": 0, + "level": 2, + "type": "Sovereign country", + "admin": "Gambia", + "adm0_a3": "GMB", + "geou_dif": 0, + "geounit": "Gambia", + "gu_a3": "GMB", + "su_dif": 0, + "subunit": "Gambia", + "su_a3": "GMB", + "brk_diff": 0, + "name": "Gambia", + "name_long": "The Gambia", + "brk_a3": "GMB", + "brk_name": "Gambia", + "brk_group": null, + "abbrev": "Gambia", + "postal": "GM", + "formal_en": "Republic of the Gambia", + "formal_fr": null, + "note_adm0": null, + "note_brk": null, + "name_sort": "Gambia, The", + "name_alt": null, + "mapcolor7": 1, + "mapcolor8": 4, + "mapcolor9": 1, + "mapcolor13": 8, + "pop_est": 1782893, + "gdp_md_est": 2272, + "pop_year": -99, + "lastcensus": 2003, + "gdp_year": -99, + "economy": "7. Least developed region", + "income_grp": "5. Low income", + "wikipedia": -99, + "fips_10": null, + "iso_a2": "GM", + "iso_a3": "GMB", + "iso_n3": "270", + "un_a3": "270", + "wb_a2": "GM", + "wb_a3": "GMB", + "woe_id": -99, + "adm0_a3_is": "GMB", + "adm0_a3_us": "GMB", + "adm0_a3_un": -99, + "adm0_a3_wb": -99, + "continent": "Africa", + "region_un": "Africa", + "subregion": "Western Africa", + "region_wb": "Sub-Saharan Africa", + "name_len": 6, + "long_len": 10, + "abbrev_len": 6, + "tiny": -99, + "homepart": 1, + "filename": "GMB.geojson" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [-16.763330078124994, 13.064160156249997], + [-16.76933593749999, 13.148486328124989], + [-16.824804687499977, 13.341064453125], + [-16.75039062499999, 13.42539062499999], + [-16.66933593749999, 13.475], + [-16.61479492187499, 13.435302734374998], + [-16.598339843749983, 13.356835937499994], + [-16.55644531249999, 13.30322265625], + [-16.41337890624999, 13.269726562499997], + [-16.271679687499983, 13.293798828124991], + [-16.18505859375, 13.28271484375], + [-16.18789062499999, 13.326171875], + [-16.158398437499983, 13.384033203124998], + [-15.986425781249975, 13.408837890624993], + [-15.804492187499987, 13.42539062499999], + [-15.617675781249998, 13.460107421874993], + [-15.471289062499975, 13.458642578124994], + [-15.427490234375, 13.46835937499999], + [-15.438134765624993, 13.483203125], + [-15.569531249999983, 13.499853515624991], + [-15.849902343749989, 13.459960937499998], + [-16.135449218749983, 13.448242187499998], + [-16.351806640625, 13.34335937499999], + [-16.440527343749977, 13.353173828124993], + [-16.53007812499999, 13.457958984374997], + [-16.56230468749999, 13.587304687499993], + [-16.308740234374994, 13.596875], + [-16.001611328124994, 13.5927734375], + [-15.667187499999983, 13.58828125], + [-15.509667968749994, 13.586230468750003], + [-15.426855468749977, 13.727001953124997], + [-15.26953125, 13.789111328125003], + [-15.108349609374983, 13.81210937499999], + [-15.024462890624987, 13.80600585937499], + [-14.935791015625, 13.785205078125003], + [-14.76601562499999, 13.669091796874994], + [-14.66015625, 13.642626953125003], + [-14.570849609374989, 13.616162109374997], + [-14.506982421874994, 13.559716796874994], + [-14.405468749999983, 13.503710937500003], + [-14.325537109374977, 13.488574218750003], + [-14.278027343749983, 13.49716796874999], + [-14.199023437499987, 13.51875], + [-14.14697265625, 13.5361328125], + [-13.977392578124977, 13.54345703125], + [-13.852832031249989, 13.478564453125001], + [-13.826708984374989, 13.4078125], + [-13.847509765624977, 13.335302734374991], + [-14.014892578124998, 13.296386718749998], + [-14.246777343749983, 13.23583984375], + [-14.438574218749975, 13.268896484374991], + [-14.671923828124987, 13.351708984374994], + [-14.808251953124994, 13.4111328125], + [-14.865039062499989, 13.434863281250003], + [-14.950292968749977, 13.472607421874997], + [-15.024609374999983, 13.513330078124994], + [-15.096386718749983, 13.539648437499991], + [-15.151123046875002, 13.556494140624991], + [-15.191601562499981, 13.535253906249991], + [-15.212109374999983, 13.485058593749995], + [-15.24453125, 13.429101562499993], + [-15.286230468749977, 13.39599609375], + [-15.481835937499994, 13.376367187499994], + [-15.657324218749975, 13.355810546874991], + [-15.751562499999975, 13.33837890625], + [-15.814404296874983, 13.325146484374997], + [-15.834277343749987, 13.156445312499997], + [-16.033056640624977, 13.158349609374994], + [-16.22832031249999, 13.160302734374994], + [-16.430859374999983, 13.157324218749991], + [-16.648779296874977, 13.154150390624991], + [-16.704541015624983, 13.11972656249999], + [-16.763330078124994, 13.064160156249997] + ] + ] + } + }, + { + "type": "Feature", + "properties": { + "scalerank": 1, + "featurecla": "Admin-0 country", + "labelrank": 6, + "sovereignt": "Guinea Bissau", + "sov_a3": "GNB", + "adm0_dif": 0, + "level": 2, + "type": "Sovereign country", + "admin": "Guinea Bissau", + "adm0_a3": "GNB", + "geou_dif": 0, + "geounit": "Guinea Bissau", + "gu_a3": "GNB", + "su_dif": 0, + "subunit": "Guinea Bissau", + "su_a3": "GNB", + "brk_diff": 0, + "name": "Guinea-Bissau", + "name_long": "Guinea-Bissau", + "brk_a3": "GNB", + "brk_name": "Guinea-Bissau", + "brk_group": null, + "abbrev": "GnB.", + "postal": "GW", + "formal_en": "Republic of Guinea-Bissau", + "formal_fr": null, + "note_adm0": null, + "note_brk": null, + "name_sort": "Guinea-Bissau", + "name_alt": null, + "mapcolor7": 3, + "mapcolor8": 5, + "mapcolor9": 3, + "mapcolor13": 4, + "pop_est": 1533964, + "gdp_md_est": 904.2, + "pop_year": -99, + "lastcensus": 2009, + "gdp_year": -99, + "economy": "7. Least developed region", + "income_grp": "5. Low income", + "wikipedia": -99, + "fips_10": null, + "iso_a2": "GW", + "iso_a3": "GNB", + "iso_n3": "624", + "un_a3": "624", + "wb_a2": "GW", + "wb_a3": "GNB", + "woe_id": -99, + "adm0_a3_is": "GNB", + "adm0_a3_us": "GNB", + "adm0_a3_un": -99, + "adm0_a3_wb": -99, + "continent": "Africa", + "region_un": "Africa", + "subregion": "Western Africa", + "region_wb": "Sub-Saharan Africa", + "name_len": 13, + "long_len": 13, + "abbrev_len": 4, + "tiny": -99, + "homepart": 1, + "filename": "GNB.geojson" + }, + "geometry": { + "type": "MultiPolygon", + "coordinates": [ + [ + [ + [-15.895898437499966, 11.082470703124967], + [-15.905175781249994, 11.054736328125003], + [-15.963964843749977, 11.05898437499998], + [-15.950634765624926, 11.087109375000026], + [-15.963476562499977, 11.0953125], + [-15.946484374999981, 11.179736328124974], + [-15.937695312499953, 11.192773437499966], + [-15.909130859374924, 11.16132812500004], + [-15.905273437500028, 11.148339843749978], + [-15.895898437499966, 11.082470703124967] + ] + ], + [ + [ + [-16.11450195312503, 11.059423828124977], + [-16.194531249999983, 11.04458007812498], + [-16.231005859374957, 11.094238281250057], + [-16.236425781249977, 11.113427734374966], + [-16.19462890624999, 11.130126953124998], + [-16.175878906250006, 11.13081054687504], + [-16.14404296875, 11.16684570312502], + [-16.10478515624999, 11.191015624999963], + [-16.087451171875017, 11.198779296875031], + [-16.06733398437501, 11.197216796874983], + [-16.05278320312496, 11.117529296875006], + [-16.072216796874926, 11.084082031250032], + [-16.11450195312503, 11.059423828124977] + ] + ], + [ + [ + [-15.725146484375017, 11.21547851562498], + [-15.725146484375017, 11.174511718749981], + [-15.767480468750023, 11.182275390625051], + [-15.779785156249941, 11.194531249999969], + [-15.754687499999989, 11.26870117187498], + [-15.717480468749953, 11.301757812500057], + [-15.671923828124989, 11.296484375000048], + [-15.658349609374993, 11.286474609374963], + [-15.667187499999926, 11.257861328124989], + [-15.687109374999975, 11.234326171874997], + [-15.725146484375017, 11.21547851562498] + ] + ], + [ + [ + [-15.901806640624926, 11.465820312499998], + [-15.94873046875, 11.434423828124991], + [-15.997216796875025, 11.449169921874983], + [-16.023193359374968, 11.477148437499991], + [-16.01933593749999, 11.527294921874997], + [-15.964550781249926, 11.59829101562498], + [-15.91533203124993, 11.589111328124972], + [-15.901806640624926, 11.465820312499998] + ] + ], + [ + [ + [-15.553417968749928, 11.537011718750023], + [-15.562792968749958, 11.51376953124999], + [-15.619628906249998, 11.533496093750017], + [-15.536572265624955, 11.617626953125011], + [-15.482470703124958, 11.632324218749986], + [-15.484423828124987, 11.567529296875023], + [-15.526220703124977, 11.553857421874994], + [-15.553417968749928, 11.537011718750023] + ] + ], + [ + [ + [-15.986425781249947, 11.882031249999969], + [-16.038330078124943, 11.759716796875011], + [-16.102441406249966, 11.773193359375], + [-16.147363281249966, 11.845996093750003], + [-16.15244140624992, 11.876806640624963], + [-16.021875, 11.886669921875026], + [-15.986425781249947, 11.882031249999969] + ] + ], + [ + [ + [-13.673535156249926, 12.478515624999986], + [-13.682373046874943, 12.393408203124963], + [-13.707910156249994, 12.31269531250004], + [-13.730078124999975, 12.280810546875031], + [-13.759765625, 12.262353515624994], + [-13.849462890624977, 12.262988281250044], + [-13.8875, 12.246875], + [-13.947314453124932, 12.21523437499999], + [-13.948876953124966, 12.178173828124997], + [-13.901171874999932, 12.142871093749989], + [-13.861914062499949, 12.093310546875017], + [-13.816308593749966, 12.054492187500015], + [-13.737988281250011, 12.009667968750037], + [-13.730664062499924, 11.959863281250009], + [-13.728564453124958, 11.83413085937498], + [-13.73276367187492, 11.736035156249983], + [-13.953222656249977, 11.664599609374989], + [-14.122314453124972, 11.65195312499999], + [-14.265576171874926, 11.659912109375014], + [-14.32783203125001, 11.629785156250009], + [-14.452441406249987, 11.556201171875015], + [-14.604785156249934, 11.511621093749994], + [-14.682958984374947, 11.508496093749983], + [-14.720263671875017, 11.481933593749986], + [-14.77929687499997, 11.405517578125057], + [-14.944433593749949, 11.072167968749994], + [-14.999023437499972, 10.992187500000043], + [-15.04301757812496, 10.940136718750011], + [-15.09375, 11.011035156249974], + [-15.054589843749993, 11.141943359375006], + [-15.096777343749975, 11.140039062499966], + [-15.181054687499993, 11.034228515625001], + [-15.222119140624926, 11.030908203125037], + [-15.216699218749994, 11.15625], + [-15.263378906249983, 11.160888671875043], + [-15.317480468750004, 11.152001953125009], + [-15.39311523437496, 11.217236328124981], + [-15.400585937499955, 11.266210937500006], + [-15.394531249999972, 11.334472656249972], + [-15.348437499999987, 11.378076171874966], + [-15.354687499999956, 11.396337890624963], + [-15.399169921874943, 11.401464843750034], + [-15.448974609374972, 11.389746093750034], + [-15.479492187499972, 11.410302734374964], + [-15.429101562499993, 11.498876953124977], + [-15.252587890625021, 11.573291015625045], + [-15.163769531249953, 11.580957031250009], + [-15.072656249999937, 11.597802734374966], + [-15.122412109374949, 11.661572265624997], + [-15.230371093750021, 11.686767578124972], + [-15.31669921874993, 11.66918945312504], + [-15.359667968749987, 11.622900390625018], + [-15.412988281249994, 11.615234374999972], + [-15.501904296875011, 11.723779296874966], + [-15.500244140625028, 11.778369140624987], + [-15.467187499999936, 11.842822265624974], + [-15.415722656249955, 11.87177734375001], + [-15.21083984374994, 11.870947265625018], + [-15.133105468750015, 11.907324218749963], + [-15.101708984374994, 11.913964843749993], + [-15.071972656249981, 11.947021484374972], + [-15.078271484374937, 11.968994140625014], + [-15.111523437499955, 11.970263671875003], + [-15.18808593749992, 11.927294921875044], + [-15.434765625000011, 11.943554687499983], + [-15.513476562499958, 11.91757812500002], + [-15.650683593749932, 11.818359375000057], + [-15.819384765624932, 11.763476562499974], + [-15.941748046875006, 11.786621093749986], + [-15.902734374999937, 11.919677734375], + [-15.92021484374996, 11.93779296874996], + [-15.95878906249999, 11.959619140624966], + [-16.138427734375, 11.917285156250045], + [-16.274316406249966, 11.978125], + [-16.32807617187501, 12.051611328124963], + [-16.31884765625, 12.14375], + [-16.254736328124977, 12.206054687499986], + [-16.244580078124955, 12.237109375], + [-16.31230468749999, 12.243017578124963], + [-16.43681640624996, 12.204150390625044], + [-16.711816406249934, 12.354833984375006], + [-16.656933593749955, 12.364355468749991], + [-16.52133789062495, 12.348632812499986], + [-16.41630859374996, 12.367675781250057], + [-16.34228515624997, 12.399511718749963], + [-16.24150390624996, 12.443310546875011], + [-16.144189453124934, 12.457421875000035], + [-15.839550781249953, 12.437890624999964], + [-15.57480468749992, 12.490380859375007], + [-15.37792968749997, 12.58896484375002], + [-15.19609375, 12.679931640624986], + [-14.960595703124937, 12.678955078125057], + [-14.708154296874937, 12.677978515625028], + [-14.3492187499999, 12.67641601562498], + [-14.064843749999966, 12.675292968750014], + [-13.729248046875, 12.673925781250004], + [-13.732617187499983, 12.592822265625003], + [-13.673535156249926, 12.478515624999986] + ] + ] + ] + } + }, + { + "type": "Feature", + "properties": { + "scalerank": 1, + "featurecla": "Admin-0 country", + "labelrank": 2, + "sovereignt": "Kenya", + "sov_a3": "KEN", + "adm0_dif": 0, + "level": 2, + "type": "Sovereign country", + "admin": "Kenya", + "adm0_a3": "KEN", + "geou_dif": 0, + "geounit": "Kenya", + "gu_a3": "KEN", + "su_dif": 0, + "subunit": "Kenya", + "su_a3": "KEN", + "brk_diff": 0, + "name": "Kenya", + "name_long": "Kenya", + "brk_a3": "KEN", + "brk_name": "Kenya", + "brk_group": null, + "abbrev": "Ken.", + "postal": "KE", + "formal_en": "Republic of Kenya", + "formal_fr": null, + "note_adm0": null, + "note_brk": null, + "name_sort": "Kenya", + "name_alt": null, + "mapcolor7": 5, + "mapcolor8": 2, + "mapcolor9": 7, + "mapcolor13": 3, + "pop_est": 39002772, + "gdp_md_est": 61510, + "pop_year": -99, + "lastcensus": 2009, + "gdp_year": -99, + "economy": "5. Emerging region: G20", + "income_grp": "5. Low income", + "wikipedia": -99, + "fips_10": null, + "iso_a2": "KE", + "iso_a3": "KEN", + "iso_n3": "404", + "un_a3": "404", + "wb_a2": "KE", + "wb_a3": "KEN", + "woe_id": -99, + "adm0_a3_is": "KEN", + "adm0_a3_us": "KEN", + "adm0_a3_un": -99, + "adm0_a3_wb": -99, + "continent": "Africa", + "region_un": "Africa", + "subregion": "Eastern Africa", + "region_wb": "Sub-Saharan Africa", + "name_len": 5, + "long_len": 5, + "abbrev_len": 4, + "tiny": -99, + "homepart": 1, + "filename": "KEN.geojson" + }, + "geometry": { + "type": "MultiPolygon", + "coordinates": [ + [ + [ + [40.99443359375001, -2.158398437499983], + [40.957324218750074, -2.167285156250017], + [40.976464843749994, -2.109765625000022], + [41.086035156250006, -2.036523437500022], + [41.13066406250002, -2.053027343750003], + [41.139257812500006, -2.069824218749957], + [41.13681640625006, -2.085058593749963], + [41.118164062499964, -2.10009765625], + [40.99443359375001, -2.158398437499983] + ] + ], + [ + [ + [35.28759765624997, 5.384082031249989], + [35.325292968750006, 5.364892578124994], + [35.37792968750003, 5.385156250000037], + [35.4240234375001, 5.413281249999982], + [35.468652343749994, 5.419091796875023], + [35.745019531249994, 5.343994140625], + [35.79140625000005, 5.278564453124986], + [35.78847656249999, 5.20810546875002], + [35.80029296874997, 5.156933593749983], + [35.77929687499997, 5.105566406250006], + [35.756152343750074, 4.950488281250031], + [35.763085937500044, 4.808007812500051], + [35.845605468749994, 4.702636718749985], + [35.919824218749994, 4.619824218749983], + [35.9787109375001, 4.50380859374998], + [36.02197265625003, 4.468115234374991], + [36.081933593749994, 4.449707031249971], + [36.271875, 4.444726562500023], + [36.55302734375002, 4.437255859375014], + [36.823632812499994, 4.430126953124983], + [36.84824218750006, 4.427343750000033], + [36.90556640625002, 4.411474609374991], + [37.15458984375002, 4.254541015624994], + [37.3825195312501, 4.110839843750028], + [37.575488281250074, 3.9859375], + [37.76289062500003, 3.864648437499966], + [37.944921875, 3.746728515625023], + [38.0861328125001, 3.648828124999966], + [38.22529296875004, 3.61899414062502], + [38.45156250000005, 3.604833984374977], + [38.608007812500006, 3.600097656249986], + [38.75273437500002, 3.558984375000051], + [38.96777343750003, 3.520605468750048], + [39.12832031250005, 3.500878906250023], + [39.22548828125005, 3.478759765625043], + [39.49443359375002, 3.45610351562496], + [39.53886718750002, 3.469189453125054], + [39.65751953125002, 3.577832031249983], + [39.79033203125002, 3.754248046875034], + [39.8421875, 3.851464843750037], + [40.01416015624997, 3.947949218749983], + [40.316015625, 4.082714843749983], + [40.528710937499994, 4.177636718749966], + [40.765234375, 4.273046875000034], + [40.87265625000006, 4.19033203124998], + [41.02080078125002, 4.057470703124991], + [41.087207031250074, 3.991943359374971], + [41.140429687500074, 3.96298828125002], + [41.22089843750004, 3.943554687499969], + [41.318945312500006, 3.943066406250054], + [41.372460937499994, 3.94619140624998], + [41.48193359375003, 3.96328125], + [41.737695312499994, 3.979052734375003], + [41.88398437500004, 3.977734375000011], + [41.7609375000001, 3.801611328125005], + [41.6134765625001, 3.59047851562498], + [41.34179687499997, 3.20166015625], + [41.13496093750004, 2.997070312499972], + [40.9787109375001, 2.842431640624994], + [40.964453125, 2.814648437500026], + [40.96503906250004, 2.642333984375], + [40.96669921875005, 2.220947265625043], + [40.97001953125002, 1.378173828125028], + [40.97324218750006, 0.535400390625014], + [40.97656250000003, -0.307324218749983], + [40.9782226562501, -0.72871093750004], + [40.9787109375001, -0.870312500000011], + [41.11582031250006, -1.047460937499963], + [41.249804687500074, -1.220507812499946], + [41.4269531250001, -1.449511718749974], + [41.521875, -1.572265625000028], + [41.53759765624997, -1.613183593750009], + [41.53271484374997, -1.695312499999957], + [41.38691406250004, -1.866992187500031], + [41.26748046875005, -1.945019531250025], + [41.106835937499994, -1.982324218749994], + [41.05869140625006, -1.975195312499963], + [40.99550781250005, -1.950585937500008], + [40.97070312499997, -1.991796874999963], + [40.95214843750003, -2.055957031249974], + [40.91660156250006, -2.042480468749986], + [40.889746093750006, -2.023535156250034], + [40.905859375, -2.1375], + [40.92236328124997, -2.19375], + [40.89824218750001, -2.269921874999966], + [40.82011718750002, -2.33632812499999], + [40.81318359375004, -2.392382812499946], + [40.64414062500006, -2.53945312499998], + [40.4044921875001, -2.5556640625], + [40.2785156250001, -2.628613281250026], + [40.22246093750001, -2.688378906250037], + [40.17978515625006, -2.819042968750011], + [40.19472656250005, -3.019238281250026], + [40.128125, -3.173339843749986], + [40.11542968750009, -3.250585937499991], + [39.99169921874997, -3.350683593749963], + [39.93681640625002, -3.442480468750006], + [39.89628906250002, -3.535839843750026], + [39.8609375, -3.576757812500005], + [39.81914062500002, -3.786035156250008], + [39.7614257812501, -3.913085937499957], + [39.7458007812501, -3.955175781250006], + [39.73164062500004, -3.993261718749948], + [39.686914062499994, -4.067871093749972], + [39.658007812500074, -4.119140625000014], + [39.63710937500005, -4.152832031249957], + [39.49091796875004, -4.478417968750023], + [39.37695312499997, -4.625488281249972], + [39.2875, -4.60859375], + [39.228125, -4.665527343749957], + [39.221777343750006, -4.692382812500014], + [39.19013671875004, -4.677246093749943], + [39.1154296875001, -4.623535156250014], + [38.96191406249997, -4.51298828124996], + [38.808398437500074, -4.402441406250006], + [38.65488281250006, -4.291894531249952], + [38.50136718750005, -4.181445312500016], + [38.34785156250004, -4.070898437499963], + [38.19433593750003, -3.960351562499994], + [38.04082031250002, -3.84980468750004], + [37.887304687500006, -3.739257812499985], + [37.79726562500005, -3.674414062500005], + [37.757421875, -3.636132812500023], + [37.72617187500006, -3.559765625000011], + [37.71103515625006, -3.540820312499974], + [37.6701171875001, -3.516796874999968], + [37.62207031249997, -3.51152343749996], + [37.608203125000074, -3.497070312500028], + [37.608691406250074, -3.460253906249988], + [37.62539062499999, -3.407226562500028], + [37.68183593750004, -3.305761718749963], + [37.68798828124997, -3.246191406249991], + [37.676855468750006, -3.178417968750039], + [37.65917968749997, -3.070019531249983], + [37.643847656250074, -3.045410156250028], + [37.54218750000004, -2.988574218750003], + [37.32900390625005, -2.869628906250014], + [37.11582031250006, -2.750585937500006], + [36.90263671875002, -2.631640625000017], + [36.68945312500003, -2.512597656250022], + [36.47636718750007, -2.393554687500014], + [36.263085937500044, -2.274609375000025], + [36.05, -2.155664062499951], + [35.83691406249997, -2.036621093749943], + [35.6237304687501, -1.917578125000034], + [35.41054687499999, -1.79863281249996], + [35.1974609375001, -1.679589843749952], + [34.984277343749994, -1.560546874999943], + [34.77109375, -1.441601562499969], + [34.55791015625001, -1.32255859374996], + [34.34472656250003, -1.203613281249971], + [34.13164062500002, -1.084570312499963], + [34.05156250000007, -1.03984375], + [33.979394531249994, -1.002050781250034], + [33.90322265625005, -1.002050781250034], + [33.9, -0.831640624999949], + [33.924414062500006, -0.397851562499952], + [33.921484375, -0.016992187499994], + [33.94316406250002, 0.173779296874969], + [34.03720703125006, 0.294531249999977], + [34.08056640625002, 0.382470703125037], + [34.11171874999999, 0.505126953124972], + [34.160937500000074, 0.605175781250025], + [34.27255859375006, 0.686425781249966], + [34.29257812500006, 0.73125], + [34.4108398437501, 0.867285156250034], + [34.48173828125002, 1.042138671875051], + [34.535253906250006, 1.101562499999986], + [34.60195312499999, 1.156445312499969], + [34.64912109375004, 1.185302734374986], + [34.72675781250004, 1.214257812500023], + [34.78759765625003, 1.230712890625], + [34.79863281250002, 1.24453125], + [34.803808593750006, 1.27285156249998], + [34.78359375, 1.381152343750017], + [34.80957031250003, 1.416699218749969], + [34.85097656250005, 1.489013671875043], + [34.898339843749994, 1.556494140625034], + [34.94121093750002, 1.599267578125037], + [34.96523437500005, 1.64335937499996], + [34.976464843749994, 1.719628906250051], + [34.97822265625004, 1.77363281250004], + [34.97753906249997, 1.861914062499991], + [34.9640625000001, 2.06240234374998], + [34.913964843749994, 2.230175781250054], + [34.8830078125001, 2.417919921875026], + [34.90576171875003, 2.4796875], + [34.86621093750003, 2.589697265625019], + [34.84667968749997, 2.595751953125017], + [34.81445312499997, 2.619824218750026], + [34.77343749999997, 2.7234375], + [34.742480468750074, 2.818115234375014], + [34.72324218750006, 2.84194335937498], + [34.589160156250074, 2.924755859374983], + [34.522558593750006, 3.119970703124963], + [34.44785156250006, 3.163476562500037], + [34.40722656249997, 3.357519531250034], + [34.39941406249997, 3.412695312500006], + [34.44179687499999, 3.60625], + [34.43769531250004, 3.650585937499969], + [34.392871093750074, 3.691503906250048], + [34.26708984375003, 3.733154296875], + [34.16503906250003, 3.812988281250014], + [34.17822265625003, 3.840869140625017], + [34.18574218750004, 3.869775390625037], + [34.13203125000004, 3.889160156249986], + [33.97607421874997, 4.220214843750028], + [34.176855468750006, 4.419091796875037], + [34.38017578125002, 4.620654296874974], + [34.6398437500001, 4.875488281250028], + [34.878320312499994, 5.109570312500026], + [35.08447265624997, 5.31186523437502], + [35.268359375000074, 5.492285156250006], + [35.26386718750004, 5.457910156250022], + [35.26464843750003, 5.412060546875011], + [35.28759765624997, 5.384082031249989] + ] + ] + ] + } + }, + { + "type": "Feature", + "properties": { + "scalerank": 1, + "featurecla": "Admin-0 country", + "labelrank": 3, + "sovereignt": "Libya", + "sov_a3": "LBY", + "adm0_dif": 0, + "level": 2, + "type": "Sovereign country", + "admin": "Libya", + "adm0_a3": "LBY", + "geou_dif": 0, + "geounit": "Libya", + "gu_a3": "LBY", + "su_dif": 0, + "subunit": "Libya", + "su_a3": "LBY", + "brk_diff": 0, + "name": "Libya", + "name_long": "Libya", + "brk_a3": "LBY", + "brk_name": "Libya", + "brk_group": null, + "abbrev": "Libya", + "postal": "LY", + "formal_en": "Libya", + "formal_fr": null, + "note_adm0": null, + "note_brk": null, + "name_sort": "Libya", + "name_alt": null, + "mapcolor7": 1, + "mapcolor8": 2, + "mapcolor9": 2, + "mapcolor13": 11, + "pop_est": 6310434, + "gdp_md_est": 88830, + "pop_year": -99, + "lastcensus": 2006, + "gdp_year": -99, + "economy": "6. Developing region", + "income_grp": "3. Upper middle income", + "wikipedia": -99, + "fips_10": null, + "iso_a2": "LY", + "iso_a3": "LBY", + "iso_n3": "434", + "un_a3": "434", + "wb_a2": "LY", + "wb_a3": "LBY", + "woe_id": -99, + "adm0_a3_is": "LBY", + "adm0_a3_us": "LBY", + "adm0_a3_un": -99, + "adm0_a3_wb": -99, + "continent": "Africa", + "region_un": "Africa", + "subregion": "Northern Africa", + "region_wb": "Middle East & North Africa", + "name_len": 5, + "long_len": 5, + "abbrev_len": 5, + "tiny": -99, + "homepart": 1, + "filename": "LBY.geojson" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [25.150488281250006, 31.654980468749994], + [25.11201171875001, 31.626904296874997], + [25.057226562500006, 31.5671875], + [25.02265625, 31.514013671874995], + [24.929980468750017, 31.427490234375], + [24.85273437500001, 31.334814453125], + [24.859960937500006, 31.199169921874997], + [24.877539062500006, 31.061230468749994], + [24.929492187500014, 30.926464843749997], + [24.973925781250017, 30.7765625], + [24.96142578125, 30.678515625], + [24.92304687500001, 30.558007812499998], + [24.877539062500006, 30.45751953125], + [24.726464843750023, 30.250585937499995], + [24.703222656250002, 30.201074218749994], + [24.71162109375001, 30.131542968749997], + [24.8037109375, 29.886035156249996], + [24.810839843750017, 29.808740234374994], + [24.86591796875001, 29.570263671874997], + [24.916113281250006, 29.37626953125], + [24.971679687499996, 29.22382812499999], + [24.980273437500017, 29.181884765624996], + [24.980273437500017, 28.957324218749996], + [24.980273437500017, 28.732763671875], + [24.980273437500017, 28.50820312499999], + [24.980273437500017, 28.283642578124994], + [24.980273437500017, 28.05908203125], + [24.980273437500017, 27.834521484374996], + [24.980273437500017, 27.609960937499995], + [24.980273437500017, 27.385400390624994], + [24.980273437500017, 27.160839843749997], + [24.980273437500017, 26.936230468749997], + [24.980273437500017, 26.711669921875], + [24.980273437500017, 26.487109375], + [24.980273437500017, 26.262548828125], + [24.980273437500017, 26.03798828124999], + [24.980273437500017, 25.813427734374997], + [24.980273437500017, 25.5888671875], + [24.980273437500017, 25.364306640625003], + [24.980273437500017, 25.13974609374999], + [24.980273437500017, 24.915185546874994], + [24.980273437500017, 24.690625], + [24.980273437500017, 24.466064453124996], + [24.980273437500017, 24.241503906250003], + [24.980273437500017, 24.01694335937499], + [24.980273437500017, 23.79238281249999], + [24.980273437500017, 23.567822265624997], + [24.980273437500017, 23.343212890624997], + [24.980273437500017, 23.11865234375], + [24.980273437500017, 22.894091796875003], + [24.980273437500017, 22.66953125], + [24.980273437500017, 22.444970703124994], + [24.980273437500017, 22.220410156249997], + [24.980273437500017, 21.995849609375], + [24.980078125, 21.49755859375], + [24.979882812500023, 20.99921875], + [24.97968750000001, 20.500927734374997], + [24.9794921875, 20.002587890624994], + [24.976367187500014, 20.00078125], + [24.973242187500006, 19.9990234375], + [24.97021484375, 19.997265625], + [24.966992187500008, 19.99545898437499], + [24.72041015625001, 19.995556640624997], + [24.473632812499996, 19.99570312499999], + [24.22695312500002, 19.995849609375], + [23.980273437500017, 19.99594726562499], + [23.980273437500017, 19.87109375], + [23.980273437500017, 19.746289062499997], + [23.980273437500017, 19.62148437499999], + [23.980273437500017, 19.496630859375003], + [23.501269531250017, 19.733203125], + [23.02216796875001, 19.969775390625003], + [22.543066406250006, 20.206347656250003], + [22.0640625, 20.442919921875], + [21.5849609375, 20.679492187500003], + [21.105859375000023, 20.91611328124999], + [20.626757812500017, 21.152636718750003], + [20.14765625000001, 21.38925781249999], + [19.668554687500006, 21.625830078124988], + [19.189453125, 21.86240234374999], + [18.710449218749996, 22.09897460937499], + [18.231347656250023, 22.33554687499999], + [17.752246093750017, 22.57211914062499], + [17.273242187500017, 22.80869140624999], + [16.79414062500001, 23.04526367187499], + [16.315039062500006, 23.28183593749999], + [15.984082031250011, 23.445214843749994], + [15.627148437500011, 23.28574218749999], + [15.347460937500017, 23.160693359375003], + [14.979003906250002, 22.99619140624999], + [14.978906250000023, 22.996289062499994], + [14.5556640625, 22.782519531250003], + [14.230761718750017, 22.618457031250003], + [14.21552734375001, 22.619677734375003], + [14.20068359375, 22.623730468749997], + [13.862695312500023, 22.902099609375], + [13.5986328125, 23.11953125], + [13.48125, 23.18017578125], + [12.983593750000011, 23.291259765625], + [12.48876953125, 23.40166015625], + [11.967871093750006, 23.517871093750003], + [11.873046875, 23.69482421875], + [11.766992187500023, 23.892578125], + [11.624218750000011, 24.139697265625003], + [11.536914062500015, 24.290820312500003], + [11.507617187500017, 24.31435546874999], + [11.108203125000015, 24.434033203124997], + [10.686132812500004, 24.55136718749999], + [10.43896484375, 24.480224609375], + [10.395898437500021, 24.485595703125], + [10.32578125, 24.530224609374997], + [10.255859375, 24.591015625], + [10.218652343750023, 24.676220703124994], + [10.119531250000023, 24.790234375], + [10.028125, 25.051025390625], + [10.01904296875, 25.258544921875], + [10.00068359375001, 25.332080078125003], + [9.781054687500017, 25.624267578125], + [9.58125, 25.89013671875], + [9.448242187499998, 26.067138671875], + [9.42236328125, 26.147070312499995], + [9.437890625000021, 26.24550781249999], + [9.491406250000011, 26.333740234375], + [9.684960937500023, 26.438232421875], + [9.859375, 26.551953125], + [9.883203125000023, 26.630810546874994], + [9.894433593750021, 26.847949218749996], + [9.837109375000011, 26.915820312499996], + [9.79541015625, 27.044775390625], + [9.752539062500006, 27.2193359375], + [9.747558593749998, 27.330859375], + [9.825292968750006, 27.552978515625], + [9.916015625, 27.785693359374996], + [9.858203125000015, 28.043310546875], + [9.815625, 28.56020507812499], + [9.842578125000017, 28.966992187499994], + [9.820703125000023, 29.114794921874996], + [9.805273437500006, 29.17695312499999], + [9.745898437500015, 29.368945312499992], + [9.672656250000017, 29.566992187499995], + [9.64013671875, 29.636425781249994], + [9.546191406250017, 29.795947265624992], + [9.391015625000023, 29.993652343749996], + [9.310253906250011, 30.115234375], + [9.420996093750006, 30.179296875], + [9.51875, 30.22939453124999], + [9.637988281250015, 30.28232421875], + [9.807421875000017, 30.342236328124997], + [9.89501953125, 30.3873046875], + [9.932519531250023, 30.425341796874996], + [10.059765625000011, 30.580078125], + [10.1259765625, 30.665966796874994], + [10.21640625, 30.783203125], + [10.256054687500011, 30.864941406249994], + [10.257031250000011, 30.940820312499994], + [10.24335937500001, 31.032128906249994], + [10.172656250000017, 31.2509765625], + [10.114941406250011, 31.463769531249994], + [10.15986328125001, 31.545800781249994], + [10.195996093750011, 31.58510742187499], + [10.274609375000011, 31.684960937499994], + [10.306054687500021, 31.704833984375], + [10.475781250000011, 31.736035156249994], + [10.543652343750011, 31.802539062499992], + [10.595507812500017, 31.885742187499996], + [10.60888671875, 31.929541015625], + [10.683007812500023, 31.975390625], + [10.771582031250006, 32.02119140625], + [10.826367187500011, 32.0806640625], + [11.005175781250017, 32.172705078125], + [11.168261718750017, 32.256738281249994], + [11.358007812500006, 32.34521484375], + [11.504980468750006, 32.413671875], + [11.535937500000017, 32.47333984375], + [11.533789062500006, 32.524951171874996], + [11.453906250000017, 32.642578125], + [11.453906250000017, 32.781689453125], + [11.459179687500011, 32.897363281249994], + [11.467187500000021, 32.965722656249994], + [11.50244140625, 33.155566406249996], + [11.504589843750011, 33.181933593749996], + [11.657128906250023, 33.118896484375], + [11.8134765625, 33.093701171875], + [12.279882812500006, 32.858544921874994], + [12.427050781250017, 32.8291015625], + [12.753515625, 32.801074218749996], + [13.138085937500023, 32.897363281249994], + [13.283496093750017, 32.9146484375], + [13.536328125000011, 32.824267578124996], + [13.647753906250017, 32.798828125], + [13.835351562500023, 32.791796875], + [14.155664062500023, 32.70976562499999], + [14.237109375000017, 32.68125], + [14.423828125, 32.55029296875], + [14.513378906250011, 32.51108398437499], + [15.176562500000017, 32.391162109374996], + [15.266894531250017, 32.311669921874994], + [15.35908203125001, 32.15966796875], + [15.363085937500017, 31.97119140625], + [15.4140625, 31.834228515624996], + [15.496386718750015, 31.656787109374996], + [15.595800781250006, 31.531103515625], + [15.705957031250023, 31.426416015624994], + [15.832226562500011, 31.360986328124998], + [16.123046875, 31.264453125], + [16.450976562500017, 31.227294921875], + [16.781542968750017, 31.214746093749994], + [17.34921875, 31.081494140624997], + [17.830468750000023, 30.927587890625], + [17.949316406250006, 30.851904296874995], + [18.1904296875, 30.777294921874994], + [18.669824218750023, 30.415673828124998], + [18.93642578125002, 30.290429687499994], + [19.12373046875001, 30.26611328125], + [19.291699218750008, 30.2880859375], + [19.58984375, 30.413769531249997], + [19.713281250000023, 30.488378906249995], + [20.01318359375, 30.800683593749994], + [20.11152343750001, 30.963720703124995], + [20.150976562500006, 31.07861328125], + [20.141113281249996, 31.195507812499994], + [20.103808593750017, 31.300537109374996], + [20.02001953125, 31.41064453125], + [19.961230468750017, 31.556005859375], + [19.926367187500006, 31.817529296874994], + [19.973437500000017, 31.999072265624996], + [20.03095703125001, 32.107861328125], + [20.121484375000023, 32.21875], + [20.37060546875, 32.43076171875], + [20.62109375, 32.58017578125], + [21.062304687500017, 32.775537109374994], + [21.31875, 32.777685546875], + [21.424707031250023, 32.799169921875], + [21.63593750000001, 32.937304687499996], + [21.72138671875001, 32.94248046875], + [21.839453125, 32.908642578125], + [22.187402343750023, 32.918261718749996], + [22.340625, 32.8798828125], + [22.5234375, 32.7939453125], + [22.75410156250001, 32.740527343749996], + [22.916894531250023, 32.687158203124994], + [23.090625, 32.61875], + [23.129687500000017, 32.448144531249994], + [23.110449218750006, 32.397412109375], + [23.10625, 32.331445312499994], + [23.286328125, 32.213818359375], + [23.797656250000017, 32.15869140625], + [23.8984375, 32.127197265625], + [24.038964843750023, 32.037011718749994], + [24.129687500000014, 32.009228515625], + [24.479785156250017, 31.996533203124997], + [24.683886718750017, 32.015966796875], + [24.878515625, 31.984277343749998], + [24.95068359375, 31.953710937499995], + [25.025, 31.883349609374996], + [25.115039062500017, 31.71230468749999], + [25.150488281250006, 31.654980468749994] + ] + ] + } + }, + { + "type": "Feature", + "properties": { + "scalerank": 1, + "featurecla": "Admin-0 country", + "labelrank": 2, + "sovereignt": "Egypt", + "sov_a3": "EGY", + "adm0_dif": 0, + "level": 2, + "type": "Sovereign country", + "admin": "Egypt", + "adm0_a3": "EGY", + "geou_dif": 0, + "geounit": "Egypt", + "gu_a3": "EGY", + "su_dif": 0, + "subunit": "Egypt", + "su_a3": "EGY", + "brk_diff": 0, + "name": "Egypt", + "name_long": "Egypt", + "brk_a3": "EGY", + "brk_name": "Egypt", + "brk_group": null, + "abbrev": "Egypt", + "postal": "EG", + "formal_en": "Arab Republic of Egypt", + "formal_fr": null, + "note_adm0": null, + "note_brk": null, + "name_sort": "Egypt, Arab Rep.", + "name_alt": null, + "mapcolor7": 4, + "mapcolor8": 6, + "mapcolor9": 7, + "mapcolor13": 2, + "pop_est": 83082869, + "gdp_md_est": 443700, + "pop_year": -99, + "lastcensus": 2006, + "gdp_year": -99, + "economy": "5. Emerging region: G20", + "income_grp": "4. Lower middle income", + "wikipedia": -99, + "fips_10": null, + "iso_a2": "EG", + "iso_a3": "EGY", + "iso_n3": "818", + "un_a3": "818", + "wb_a2": "EG", + "wb_a3": "EGY", + "woe_id": -99, + "adm0_a3_is": "EGY", + "adm0_a3_us": "EGY", + "adm0_a3_un": -99, + "adm0_a3_wb": -99, + "continent": "Africa", + "region_un": "Africa", + "subregion": "Northern Africa", + "region_wb": "Middle East & North Africa", + "name_len": 5, + "long_len": 5, + "abbrev_len": 5, + "tiny": -99, + "homepart": 1, + "filename": "EGY.geojson" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [34.19814453125002, 31.322607421875002], + [34.2125, 31.29228515625], + [34.24531250000001, 31.208300781249996], + [34.32851562500002, 30.99501953124999], + [34.400976562500006, 30.827832031249997], + [34.48994140625001, 30.5962890625], + [34.51777343750001, 30.507373046874992], + [34.52968750000002, 30.446044921874996], + [34.65859375000002, 30.191455078124996], + [34.73505859375001, 29.98203125], + [34.79111328125, 29.812109375], + [34.86982421875001, 29.563916015624997], + [34.904296875, 29.47734375], + [34.84853515625002, 29.43212890625], + [34.736425781250006, 29.270605468750002], + [34.6171875, 28.75791015625], + [34.44648437500001, 28.357324218749994], + [34.42714843750002, 28.106494140624996], + [34.39970703125001, 28.01601562499999], + [34.31855468750001, 27.888964843749996], + [34.22011718750002, 27.764306640624994], + [34.04511718750001, 27.828857421875], + [33.76025390625, 28.04765625], + [33.59414062500002, 28.255566406249997], + [33.416113281250006, 28.38984375], + [33.24775390625001, 28.567724609375], + [33.20195312500002, 28.69570312499999], + [33.203710937500006, 28.777783203124994], + [33.13017578125002, 28.978271484374996], + [33.07578125, 29.07304687499999], + [32.87060546875, 29.286230468749995], + [32.81171875000001, 29.4], + [32.766699218750006, 29.45], + [32.72148437500002, 29.521777343749996], + [32.647167968750004, 29.7984375], + [32.56572265625002, 29.973974609374995], + [32.47304687500002, 29.925439453124994], + [32.48945312500001, 29.851513671874997], + [32.40859375000002, 29.749316406249996], + [32.35976562500002, 29.6306640625], + [32.39726562500002, 29.533789062500002], + [32.5650390625, 29.386328125], + [32.59902343750002, 29.321923828124994], + [32.63808593750002, 29.182177734374992], + [32.6318359375, 28.992236328125], + [32.65888671875001, 28.927734375], + [32.78447265625002, 28.786621093749996], + [32.82949218750002, 28.702880859375], + [32.856542968750006, 28.630615234375], + [32.89824218750002, 28.565234375], + [33.02285156250002, 28.442285156249994], + [33.2021484375, 28.208300781249996], + [33.372265625, 28.050585937499996], + [33.49492187500001, 27.974462890624995], + [33.54707031250001, 27.898144531249997], + [33.55878906250001, 27.701220703124992], + [33.5498046875, 27.607373046874997], + [33.65742187500001, 27.430566406249994], + [33.697265625, 27.341113281249992], + [33.80166015625002, 27.2681640625], + [33.849316406250004, 27.184912109375], + [33.89306640625, 27.049462890624994], + [33.959082031250006, 26.6490234375], + [34.04951171875001, 26.550732421874997], + [34.32929687500001, 26.024365234374997], + [34.56513671875001, 25.691162109374996], + [34.679296875, 25.44252929687499], + [34.85322265625001, 25.139794921874994], + [35.19414062500002, 24.475146484375003], + [35.397070312500006, 24.269970703124994], + [35.47783203125002, 24.154785156249996], + [35.62470703125001, 24.06601562499999], + [35.78388671875001, 23.937792968750003], + [35.63203125000001, 23.950341796874994], + [35.593847656250006, 23.942578125], + [35.54082031250002, 23.920654296874996], + [35.515234375, 23.84287109374999], + [35.50439453125, 23.779296875], + [35.52275390625002, 23.442529296874994], + [35.56435546875002, 23.27109375], + [35.697851562500006, 22.946191406249994], + [35.79736328125, 22.84873046874999], + [35.845800781250006, 22.785693359375003], + [35.91337890625002, 22.739648437499994], + [36.22968750000001, 22.628808593749994], + [36.41455078125, 22.394189453124994], + [36.8296875, 22.09765625], + [36.87041015625002, 22.015771484374994], + [36.87138671875002, 21.996728515624994], + [36.54326171875002, 21.996630859375003], + [36.21523437500002, 21.99658203125], + [35.88701171875002, 21.996533203124997], + [35.55898437500002, 21.99648437499999], + [35.23085937500002, 21.99643554687499], + [34.90273437500002, 21.99638671875], + [34.57460937500002, 21.996337890625], + [34.246484375000016, 21.996289062499997], + [33.91845703125, 21.996240234374994], + [33.59033203125, 21.99619140624999], + [33.26220703125, 21.996142578125003], + [32.93408203125, 21.99609375], + [32.606054687500006, 21.995996093749994], + [32.27783203124999, 21.995996093749994], + [31.94980468750001, 21.995898437500003], + [31.621679687500006, 21.995849609375], + [31.43447265625002, 21.995849609375], + [31.46640625, 22.084667968749997], + [31.486132812500017, 22.147802734374988], + [31.464257812500023, 22.191503906249988], + [31.40029296875002, 22.202441406250003], + [31.358496093750006, 22.188623046874994], + [31.260644531250023, 22.002294921874988], + [31.20917968750001, 21.994873046875], + [31.092675781250026, 21.994873046875], + [30.71064453125001, 21.994921875], + [30.32861328125, 21.995019531249994], + [29.946679687500023, 21.995117187499996], + [29.564550781250002, 21.995117187499996], + [29.182519531250023, 21.99521484374999], + [28.800585937500017, 21.99526367187499], + [28.418554687500006, 21.9953125], + [28.036425781250014, 21.995361328125], + [27.65449218750001, 21.99545898437499], + [27.2724609375, 21.995507812499994], + [26.890429687500014, 21.995556640624997], + [26.508398437500006, 21.99560546875], + [26.126367187500023, 21.995654296875003], + [25.74433593750001, 21.995751953124994], + [25.3623046875, 21.995800781249994], + [24.980273437500017, 21.995849609375], + [24.980273437500017, 22.220410156249997], + [24.980273437500017, 22.444970703124994], + [24.980273437500017, 22.66953125], + [24.980273437500017, 22.894091796875003], + [24.980273437500017, 23.11865234375], + [24.980273437500017, 23.343212890624997], + [24.980273437500017, 23.567822265624997], + [24.980273437500017, 23.79238281249999], + [24.980273437500017, 24.01694335937499], + [24.980273437500017, 24.241503906250003], + [24.980273437500017, 24.466064453124996], + [24.980273437500017, 24.690625], + [24.980273437500017, 24.915185546874994], + [24.980273437500017, 25.13974609374999], + [24.980273437500017, 25.364306640625003], + [24.980273437500017, 25.5888671875], + [24.980273437500017, 25.813427734374997], + [24.980273437500017, 26.03798828124999], + [24.980273437500017, 26.262548828125], + [24.980273437500017, 26.487109375], + [24.980273437500017, 26.711669921875], + [24.980273437500017, 26.936230468749997], + [24.980273437500017, 27.160839843749997], + [24.980273437500017, 27.385400390624994], + [24.980273437500017, 27.609960937499995], + [24.980273437500017, 27.834521484374996], + [24.980273437500017, 28.05908203125], + [24.980273437500017, 28.283642578124994], + [24.980273437500017, 28.50820312499999], + [24.980273437500017, 28.732763671875], + [24.980273437500017, 28.957324218749996], + [24.980273437500017, 29.181884765624996], + [24.971679687499996, 29.22382812499999], + [24.916113281250006, 29.37626953125], + [24.86591796875001, 29.570263671874997], + [24.810839843750017, 29.808740234374994], + [24.8037109375, 29.886035156249996], + [24.71162109375001, 30.131542968749997], + [24.703222656250002, 30.201074218749994], + [24.726464843750023, 30.250585937499995], + [24.877539062500006, 30.45751953125], + [24.92304687500001, 30.558007812499998], + [24.96142578125, 30.678515625], + [24.973925781250017, 30.7765625], + [24.929492187500014, 30.926464843749997], + [24.877539062500006, 31.061230468749994], + [24.859960937500006, 31.199169921874997], + [24.85273437500001, 31.334814453125], + [24.929980468750017, 31.427490234375], + [25.02265625, 31.514013671874995], + [25.057226562500006, 31.5671875], + [25.11201171875001, 31.626904296874997], + [25.150488281250006, 31.654980468749994], + [25.22548828125002, 31.533789062499995], + [25.382226562500023, 31.51279296875], + [25.89326171875001, 31.620898437499996], + [26.457324218750017, 31.51210937499999], + [26.768652343750006, 31.470361328124994], + [27.248046875, 31.377880859374997], + [27.540039062499996, 31.212695312499992], + [27.6201171875, 31.191748046875], + [27.82998046875002, 31.195019531249997], + [27.967578125000017, 31.097412109375], + [28.51484375, 31.050439453124994], + [28.806933593750017, 30.942675781249996], + [28.972753906250006, 30.856738281249996], + [29.072070312500014, 30.830273437499997], + [29.159960937500017, 30.8345703125], + [29.27890625, 30.866943359375], + [29.428515625000017, 30.927441406249997], + [29.591601562500017, 31.011523437499992], + [29.929785156250006, 31.227490234374994], + [30.049414062500002, 31.265429687499996], + [30.127539062500002, 31.255664062499992], + [30.22265625, 31.2583984375], + [30.262304687500006, 31.316845703124997], + [30.312304687500014, 31.35703125], + [30.34375, 31.40273437499999], + [30.395117187500006, 31.457617187499995], + [30.57099609375001, 31.472998046875], + [30.923535156250008, 31.566845703124994], + [30.88417968750002, 31.522363281249998], + [30.562988281250004, 31.4169921875], + [30.70048828125002, 31.403857421874996], + [30.84140625, 31.439892578124997], + [31.001757812500014, 31.462792968749994], + [31.030859375, 31.507568359375], + [31.05195312500001, 31.591552734374996], + [31.08291015625002, 31.603320312499996], + [31.193945312500006, 31.587597656249994], + [31.5244140625, 31.458251953125], + [31.606542968750006, 31.455761718749997], + [31.839257812500023, 31.526318359374994], + [31.888964843750014, 31.54140625], + [31.964257812500023, 31.502099609374994], + [32.13603515625002, 31.341064453124996], + [32.076074218750016, 31.344482421874996], + [31.8921875, 31.482470703124996], + [31.875878906250023, 31.413720703124994], + [31.77109375, 31.292578125], + [31.902050781250008, 31.240185546874994], + [32.00849609375001, 31.220507812499992], + [32.065625, 31.152978515624994], + [32.10175781250001, 31.092822265624996], + [32.20654296875, 31.11904296874999], + [32.281835937500006, 31.200878906249997], + [32.242773437500006, 31.246533203124994], + [32.21621093750002, 31.29375], + [32.250585937500006, 31.294921875], + [32.32353515625002, 31.256054687499994], + [32.5328125, 31.10073242187499], + [32.60332031250002, 31.06875], + [32.6845703125, 31.074023437499996], + [32.8544921875, 31.117724609374996], + [32.90156250000001, 31.1109375], + [33.1298828125, 31.168164062499997], + [33.15673828125, 31.126220703125], + [33.1943359375, 31.084521484374992], + [33.3779296875, 31.130957031249995], + [33.66650390625, 31.130419921874996], + [33.902539062500004, 31.18095703125], + [34.17626953125, 31.30390625], + [34.19814453125002, 31.322607421875002] + ] + ] + } + }, + { + "type": "Feature", + "properties": { + "scalerank": 1, + "featurecla": "Admin-0 country", + "labelrank": 4, + "sovereignt": "Equatorial Guinea", + "sov_a3": "GNQ", + "adm0_dif": 0, + "level": 2, + "type": "Sovereign country", + "admin": "Equatorial Guinea", + "adm0_a3": "GNQ", + "geou_dif": 0, + "geounit": "Equatorial Guinea", + "gu_a3": "GNQ", + "su_dif": 0, + "subunit": "Equatorial Guinea", + "su_a3": "GNQ", + "brk_diff": 0, + "name": "Eq. Guinea", + "name_long": "Equatorial Guinea", + "brk_a3": "GNQ", + "brk_name": "Eq. Guinea", + "brk_group": null, + "abbrev": "Eq. G.", + "postal": "GQ", + "formal_en": "Republic of Equatorial Guinea", + "formal_fr": null, + "note_adm0": null, + "note_brk": null, + "name_sort": "Equatorial Guinea", + "name_alt": null, + "mapcolor7": 4, + "mapcolor8": 1, + "mapcolor9": 4, + "mapcolor13": 8, + "pop_est": 650702, + "gdp_md_est": 14060, + "pop_year": 0, + "lastcensus": 2002, + "gdp_year": 0, + "economy": "7. Least developed region", + "income_grp": "2. High income: nonOECD", + "wikipedia": -99, + "fips_10": null, + "iso_a2": "GQ", + "iso_a3": "GNQ", + "iso_n3": "226", + "un_a3": "226", + "wb_a2": "GQ", + "wb_a3": "GNQ", + "woe_id": -99, + "adm0_a3_is": "GNQ", + "adm0_a3_us": "GNQ", + "adm0_a3_un": -99, + "adm0_a3_wb": -99, + "continent": "Africa", + "region_un": "Africa", + "subregion": "Middle Africa", + "region_wb": "Sub-Saharan Africa", + "name_len": 10, + "long_len": 17, + "abbrev_len": 6, + "tiny": -99, + "homepart": 1, + "filename": "GNQ.geojson" + }, + "geometry": { + "type": "MultiPolygon", + "coordinates": [ + [ + [ + [11.334667968750068, 1.12075195312498], + [11.335351562500023, 0.999707031250011], + [11.130664062500074, 1.00039062499998], + [10.858886718750028, 1.001269531249974], + [10.587207031250017, 1.002148437499983], + [10.315429687500057, 1.003076171874994], + [10.17890625000004, 1.003564453125009], + [10.028515625000068, 1.004003906250006], + [9.979785156250074, 0.997705078124966], + [9.94667968750008, 0.967138671875048], + [9.906738281250028, 0.960107421875037], + [9.8603515625, 0.986230468750023], + [9.80390625000004, 0.998730468749997], + [9.788671875000034, 1.025683593749974], + [9.760546874999989, 1.074707031250014], + [9.704589843750057, 1.079980468750023], + [9.676464843750011, 1.074707031250014], + [9.636132812500051, 1.046679687499988], + [9.590820312500057, 1.031982421875014], + [9.599414062500045, 1.054443359374972], + [9.509863281250006, 1.114794921875017], + [9.4453125, 1.12065429687496], + [9.385937500000068, 1.13925781250002], + [9.43408203125, 1.296386718749972], + [9.494238281250006, 1.435302734375028], + [9.584277343750045, 1.540234375], + [9.632128906250045, 1.565527343750006], + [9.647656250000011, 1.617578125000037], + [9.718847656250034, 1.78867187499999], + [9.807031250000051, 1.927490234375028], + [9.77968750000008, 2.068212890625006], + [9.800781250000028, 2.304443359375], + [9.826171875000057, 2.297802734374969], + [9.830371093750015, 2.275488281250048], + [9.8369140625, 2.242382812500054], + [9.870117187500028, 2.21328125], + [9.979882812499994, 2.167773437500045], + [10.307031250000051, 2.167724609375028], + [10.502246093750017, 2.167626953125009], + [10.790917968750023, 2.167578125], + [11.096582031250051, 2.167480468749986], + [11.328710937500004, 2.167431640624969], + [11.330078125, 1.935888671874963], + [11.33115234375006, 1.740185546874969], + [11.332324218750017, 1.528369140624988], + [11.33359375, 1.307617187500043], + [11.334667968750068, 1.12075195312498] + ] + ], + [ + [ + [8.735742187500023, 3.758300781249971], + [8.760449218750011, 3.754345703124969], + [8.910058593750023, 3.758203125000051], + [8.950683593750028, 3.705322265625014], + [8.946093750000074, 3.627539062499977], + [8.792187500000068, 3.400390624999986], + [8.763476562500074, 3.304638671875011], + [8.704003906250051, 3.223632812500028], + [8.65234375, 3.217089843750031], + [8.474902343749989, 3.264648437500043], + [8.444921875000034, 3.29350585937496], + [8.434277343750068, 3.33242187499999], + [8.451757812500006, 3.422900390625031], + [8.464648437500045, 3.450585937499994], + [8.549804687499972, 3.467626953125006], + [8.577246093750063, 3.482373046874983], + [8.622753906250011, 3.57998046874998], + [8.637695312500028, 3.668847656250051], + [8.675878906250006, 3.735937500000034], + [8.735742187500023, 3.758300781249971] + ] + ] + ] + } + }, + { + "type": "Feature", + "properties": { + "scalerank": 1, + "featurecla": "Admin-0 country", + "labelrank": 6, + "sovereignt": "Lesotho", + "sov_a3": "LSO", + "adm0_dif": 0, + "level": 2, + "type": "Sovereign country", + "admin": "Lesotho", + "adm0_a3": "LSO", + "geou_dif": 0, + "geounit": "Lesotho", + "gu_a3": "LSO", + "su_dif": 0, + "subunit": "Lesotho", + "su_a3": "LSO", + "brk_diff": 0, + "name": "Lesotho", + "name_long": "Lesotho", + "brk_a3": "LSO", + "brk_name": "Lesotho", + "brk_group": null, + "abbrev": "Les.", + "postal": "LS", + "formal_en": "Kingdom of Lesotho", + "formal_fr": null, + "note_adm0": null, + "note_brk": null, + "name_sort": "Lesotho", + "name_alt": null, + "mapcolor7": 1, + "mapcolor8": 5, + "mapcolor9": 2, + "mapcolor13": 8, + "pop_est": 2130819, + "gdp_md_est": 3293, + "pop_year": -99, + "lastcensus": 2006, + "gdp_year": -99, + "economy": "7. Least developed region", + "income_grp": "4. Lower middle income", + "wikipedia": -99, + "fips_10": null, + "iso_a2": "LS", + "iso_a3": "LSO", + "iso_n3": "426", + "un_a3": "426", + "wb_a2": "LS", + "wb_a3": "LSO", + "woe_id": -99, + "adm0_a3_is": "LSO", + "adm0_a3_us": "LSO", + "adm0_a3_un": -99, + "adm0_a3_wb": -99, + "continent": "Africa", + "region_un": "Africa", + "subregion": "Southern Africa", + "region_wb": "Sub-Saharan Africa", + "name_len": 7, + "long_len": 7, + "abbrev_len": 4, + "tiny": -99, + "homepart": 1, + "filename": "LSO.geojson" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [28.736914062500002, -30.101953125], + [28.646875, -30.1265625], + [28.634375, -30.128710937500003], + [28.57666015625, -30.123046875], + [28.499609375, -30.12890625], + [28.4390625, -30.14248046875001], + [28.39208984375, -30.147558593750006], + [28.3154296875, -30.218457031250015], + [28.176171875000023, -30.409863281250008], + [28.139062500000023, -30.44990234375001], + [28.128710937500014, -30.525097656250008], + [28.09638671875001, -30.584570312500002], + [28.05683593750001, -30.631054687500015], + [28.018164062500006, -30.64228515625001], + [27.90185546875, -30.623828125], + [27.753125, -30.6], + [27.666601562500006, -30.54228515625], + [27.589648437500014, -30.46640625], + [27.54902343750001, -30.411230468750002], + [27.50654296875001, -30.380957031250002], + [27.491992187500017, -30.363964843750015], + [27.431445312500014, -30.338476562500006], + [27.40859375000002, -30.325292968750002], + [27.388476562500014, -30.31591796875], + [27.364062500000017, -30.27919921875001], + [27.349707031250006, -30.24736328125], + [27.35537109375002, -30.15859375], + [27.31269531250001, -30.10566406250001], + [27.23974609375, -30.01533203125001], + [27.19355468750001, -29.94130859375001], + [27.13046875, -29.840234375], + [27.091796875, -29.7537109375], + [27.0517578125, -29.6640625], + [27.056933593750017, -29.625585937500006], + [27.095214843749996, -29.59931640625001], + [27.207421875000023, -29.55419921875], + [27.29453125, -29.519335937500003], + [27.356835937500023, -29.45527343750001], + [27.424902343750006, -29.36005859375001], + [27.4580078125, -29.302734375], + [27.491015625000017, -29.27656250000001], + [27.527148437500017, -29.2361328125], + [27.590234375000023, -29.146484375], + [27.660449218750014, -29.046972656250002], + [27.73554687500001, -28.940039062500006], + [27.830371093750017, -28.90908203125001], + [27.959863281250023, -28.873339843750003], + [28.084375, -28.779980468750008], + [28.232617187500008, -28.70126953125001], + [28.471875, -28.615820312500006], + [28.583398437500023, -28.594140625], + [28.625781250000017, -28.58173828125001], + [28.652636718750017, -28.59785156250001], + [28.681152343750004, -28.646777343750003], + [28.721777343750002, -28.68769531250001], + [28.816210937500014, -28.758886718750006], + [28.85625, -28.776074218750008], + [28.953710937500006, -28.881445312500002], + [29.05800781250002, -28.953710937500006], + [29.17802734375002, -29.036914062500003], + [29.259765625, -29.078320312500008], + [29.301367187500002, -29.08984375], + [29.3359375, -29.163671875], + [29.370898437500014, -29.21845703125001], + [29.390722656250006, -29.269726562500008], + [29.38671875, -29.319726562500005], + [29.34882812500001, -29.441992187500002], + [29.293554687500002, -29.56689453125], + [29.24921875, -29.618847656250008], + [29.195117187500017, -29.651660156250003], + [29.1421875, -29.700976562500003], + [29.121972656250023, -29.801171875], + [29.098046875000023, -29.919042968750002], + [29.029003906250008, -29.967578125], + [28.97529296875001, -29.999414062500005], + [28.901074218750015, -30.038476562500005], + [28.736914062500002, -30.101953125] + ] + ] + } + }, + { + "type": "Feature", + "properties": { + "scalerank": 1, + "featurecla": "Admin-0 country", + "labelrank": 3, + "sovereignt": "Morocco", + "sov_a3": "MAR", + "adm0_dif": 0, + "level": 2, + "type": "Sovereign country", + "admin": "Morocco", + "adm0_a3": "MAR", + "geou_dif": 0, + "geounit": "Morocco", + "gu_a3": "MAR", + "su_dif": 0, + "subunit": "Morocco", + "su_a3": "MAR", + "brk_diff": 0, + "name": "Morocco", + "name_long": "Morocco", + "brk_a3": "MAR", + "brk_name": "Morocco", + "brk_group": null, + "abbrev": "Mor.", + "postal": "MA", + "formal_en": "Kingdom of Morocco", + "formal_fr": null, + "note_adm0": null, + "note_brk": null, + "name_sort": "Morocco", + "name_alt": null, + "mapcolor7": 2, + "mapcolor8": 2, + "mapcolor9": 3, + "mapcolor13": 9, + "pop_est": 34859364, + "gdp_md_est": 136600, + "pop_year": -99, + "lastcensus": 2004, + "gdp_year": -99, + "economy": "6. Developing region", + "income_grp": "4. Lower middle income", + "wikipedia": -99, + "fips_10": null, + "iso_a2": "MA", + "iso_a3": "MAR", + "iso_n3": "504", + "un_a3": "504", + "wb_a2": "MA", + "wb_a3": "MAR", + "woe_id": -99, + "adm0_a3_is": "MAR", + "adm0_a3_us": "MAR", + "adm0_a3_un": -99, + "adm0_a3_wb": -99, + "continent": "Africa", + "region_un": "Africa", + "subregion": "Northern Africa", + "region_wb": "Middle East & North Africa", + "name_len": 7, + "long_len": 7, + "abbrev_len": 4, + "tiny": -99, + "homepart": 1, + "filename": "MAR.geojson" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [-4.628320312499966, 35.206396484375006], + [-4.329980468749937, 35.161474609375006], + [-3.982421875, 35.243408203125], + [-3.787988281250023, 35.244921875000045], + [-3.693261718749994, 35.27998046874998], + [-3.590625, 35.228320312500045], + [-3.394726562499926, 35.21181640625005], + [-3.206005859374926, 35.239111328125006], + [-3.063085937499949, 35.317236328125034], + [-2.972216796874989, 35.40727539062499], + [-2.957958984374926, 35.36308593749996], + [-2.953613281249943, 35.315136718749955], + [-2.925976562499983, 35.28710937500003], + [-2.869531249999937, 35.17265624999999], + [-2.839941406249949, 35.127832031249994], + [-2.731396484374955, 35.135205078124976], + [-2.636816406249977, 35.11269531250002], + [-2.423730468749994, 35.12348632812498], + [-2.219628906249965, 35.104199218749976], + [-2.190771484374948, 35.02978515625], + [-2.131787109374926, 34.970849609374994], + [-1.920898437499943, 34.835546875000034], + [-1.795605468749926, 34.751904296874955], + [-1.792187499999926, 34.72319335937499], + [-1.832421874999966, 34.654638671875034], + [-1.849658203125017, 34.607324218749994], + [-1.816601562499926, 34.55708007812498], + [-1.739453124999926, 34.49609375], + [-1.733300781250023, 34.46704101562503], + [-1.751855468749966, 34.43325195312496], + [-1.791796874999932, 34.36791992187499], + [-1.706933593749966, 34.17607421874999], + [-1.692675781249989, 33.99028320312496], + [-1.714697265624949, 33.85820312499995], + [-1.714111328125, 33.781835937500034], + [-1.702978515624977, 33.716845703125045], + [-1.63125, 33.566748046875006], + [-1.67919921875, 33.31865234375002], + [-1.625097656250005, 33.18334960937497], + [-1.550732421874954, 33.073583984375006], + [-1.510009765625, 32.877636718749955], + [-1.45, 32.784814453124966], + [-1.352148437499977, 32.70336914062497], + [-1.29638671875, 32.67568359375002], + [-1.188232421875, 32.608496093750006], + [-1.111035156249983, 32.55229492187502], + [-1.065527343749949, 32.46831054687496], + [-1.16259765625, 32.399169921875], + [-1.240332031249949, 32.33759765624998], + [-1.262109374999937, 32.27114257812502], + [-1.225927734374949, 32.16455078125], + [-1.225927734374949, 32.10722656250004], + [-1.275341796874983, 32.089013671874966], + [-1.477050781249943, 32.094873046874994], + [-1.63515625, 32.09956054687498], + [-1.81699218749992, 32.10478515624998], + [-2.072802734374989, 32.11503906250002], + [-2.23125, 32.12133789062497], + [-2.448388671874937, 32.12998046875006], + [-2.523242187500017, 32.12568359374998], + [-2.722607421874955, 32.09575195312502], + [-2.863427734374937, 32.074707031249964], + [-2.88720703125, 32.06884765625003], + [-2.930859374999926, 32.04252929687499], + [-2.961132812499955, 31.963964843749977], + [-2.988232421874983, 31.874218749999983], + [-3.01738281249996, 31.834277343750017], + [-3.439794921874949, 31.70454101562498], + [-3.604589843749948, 31.686767578125], + [-3.700244140624989, 31.70009765625005], + [-3.768164062499977, 31.689550781250034], + [-3.82675781249992, 31.661914062499985], + [-3.846679687499971, 31.619873046875057], + [-3.849560546874955, 31.56640625], + [-3.837109374999983, 31.512353515624994], + [-3.79643554687496, 31.43710937500003], + [-3.789160156249977, 31.361816406250053], + [-3.815136718749954, 31.308837890625], + [-3.821386718749978, 31.25546875000006], + [-3.833398437499938, 31.19780273437505], + [-3.811816406249988, 31.166601562499977], + [-3.77099609375, 31.161816406249983], + [-3.730175781249955, 31.13540039062502], + [-3.672509765624937, 31.111376953125014], + [-3.62451171875, 31.065771484375034], + [-3.626904296874954, 31.00092773437498], + [-3.666796874999932, 30.964013671875023], + [-3.702001953124977, 30.94448242187502], + [-3.860058593749954, 30.927246093749968], + [-3.985351562499972, 30.913525390625036], + [-4.148779296874977, 30.8095703125], + [-4.322851562500006, 30.698876953124994], + [-4.52915039062492, 30.62553710937499], + [-4.619628906249972, 30.604785156250014], + [-4.778515624999926, 30.55239257812499], + [-4.968261718749943, 30.465380859375042], + [-5.061914062499937, 30.326416015625057], + [-5.180126953124955, 30.166162109374994], + [-5.293652343749983, 30.058642578125045], + [-5.448779296874959, 29.956933593750023], + [-5.593310546875017, 29.91796874999997], + [-5.775, 29.86904296875005], + [-6.00429687499999, 29.83125], + [-6.166503906249999, 29.81894531250006], + [-6.214794921874955, 29.810693359374966], + [-6.357617187499925, 29.80830078125001], + [-6.427636718749994, 29.816113281250008], + [-6.479736328124943, 29.82036132812499], + [-6.500878906249994, 29.809130859375014], + [-6.507910156250005, 29.783789062500006], + [-6.510693359374954, 29.72602539062495], + [-6.520556640624989, 29.65986328124998], + [-6.565673828124943, 29.60385742187503], + [-6.59775390624992, 29.578955078125002], + [-6.635351562499949, 29.568798828124983], + [-6.755126953124999, 29.583837890625034], + [-6.855566406249949, 29.601611328125014], + [-7.094921874999955, 29.625195312500008], + [-7.142431640624949, 29.61958007812504], + [-7.160205078124932, 29.61264648437503], + [-7.234912109374959, 29.574902343749983], + [-7.349755859374994, 29.49472656250001], + [-7.427685546874982, 29.425], + [-7.485742187499994, 29.39223632812499], + [-7.624609374999948, 29.37519531249998], + [-7.685156249999949, 29.34951171874999], + [-7.943847656249972, 29.17475585937501], + [-7.998925781249994, 29.132421874999974], + [-8.265185546874989, 28.980517578125045], + [-8.340478515624937, 28.93017578125], + [-8.399316406249937, 28.880175781250017], + [-8.558349609375028, 28.76787109374996], + [-8.659912109375, 28.71860351562506], + [-8.678417968749955, 28.689404296874983], + [-8.683349609375, 28.620751953125023], + [-8.683349609375, 28.46923828124997], + [-8.683349609375, 28.323681640624983], + [-8.683349609375, 28.11201171875004], + [-8.683349609375, 27.900390625], + [-8.683349609375, 27.65644531250004], + [-8.817822265624953, 27.65644531250004], + [-8.817773437499937, 27.65590820312502], + [-8.813916015624955, 27.61386718750006], + [-8.784570312499994, 27.530859375000034], + [-8.774365234374983, 27.460546875], + [-8.788964843750023, 27.416552734375017], + [-8.802685546874955, 27.360937500000034], + [-8.796826171874926, 27.30820312500006], + [-8.774365234374983, 27.250585937500034], + [-8.753857421874955, 27.191015624999977], + [-8.753857421874955, 27.150976562500006], + [-8.794873046874983, 27.120703125000034], + [-8.889062499999964, 27.104101562500034], + [-9.001904296874955, 27.090429687500006], + [-9.084423828124983, 27.090429687500006], + [-9.208447265624955, 27.100195312500034], + [-9.285595703124926, 27.098242187500002], + [-9.352978515624983, 27.098242187500002], + [-9.413037109374955, 27.088476562500063], + [-9.4873046875, 27.050390625], + [-9.569824218749941, 26.990820312500063], + [-9.673339843749972, 26.910742187499977], + [-9.7353515625, 26.86093750000006], + [-9.817871093750028, 26.850195312500002], + [-9.900341796874955, 26.850195312500002], + [-9.980908203124924, 26.890234374999977], + [-10.03271484375, 26.910742187499977], + [-10.066845703124926, 26.908789062500034], + [-10.123046875000027, 26.880468750000034], + [-10.189453124999972, 26.86093750000006], + [-10.251464843749972, 26.86093750000006], + [-10.354931640624926, 26.900976562500034], + [-10.478955078124955, 26.960546875], + [-10.551269531249943, 26.990820312500063], + [-10.654248046874983, 27.000585937500006], + [-10.757763671874926, 27.020117187499977], + [-10.830078125, 27.010351562500034], + [-10.922802734374983, 27.010351562500034], + [-11.046826171874926, 26.970312500000034], + [-11.150341796874955, 26.941015625000034], + [-11.263623046874955, 26.910742187499977], + [-11.392578125000028, 26.883398437500006], + [-11.361279296874955, 26.793554687500006], + [-11.316845703124955, 26.744726562500006], + [-11.316845703124955, 26.684179687500006], + [-11.337890624999972, 26.633398437499977], + [-11.39990234375, 26.583593750000034], + [-11.470703124999943, 26.520117187499977], + [-11.511669921874955, 26.470312500000063], + [-11.553173828124955, 26.400976562500063], + [-11.583984374999943, 26.360937499999977], + [-11.637207031249943, 26.295507812500063], + [-11.684521484374981, 26.213476562500034], + [-11.699218749999972, 26.162695312500006], + [-11.718212890624926, 26.10410156250006], + [-11.754882812499943, 26.086523437500034], + [-11.880859375000027, 26.070898437500034], + [-11.960888671874983, 26.05039062500003], + [-12.03076171875, 26.030859375000063], + [-12.056787109374966, 25.99633789062503], + [-12.060986328124955, 25.990820312499977], + [-12.081054687499943, 25.920507812500034], + [-12.081054687499943, 25.87070312500003], + [-12.101025390624926, 25.830664062500034], + [-12.130859374999972, 25.731054687500006], + [-12.170849609374953, 25.64023437500006], + [-12.201123046874983, 25.520117187500002], + [-12.230957031249943, 25.420507812500063], + [-12.270947265625011, 25.260302734375017], + [-12.310986328124981, 25.110937500000063], + [-12.360839843750027, 24.9703125], + [-12.40087890625, 24.88046875], + [-12.431152343749941, 24.830664062500063], + [-12.500976562499972, 24.770117187499977], + [-12.561035156249943, 24.731054687500002], + [-12.630810546874955, 24.680273437499977], + [-12.710937500000028, 24.63046875000003], + [-12.820751953124924, 24.570898437499977], + [-12.911132812499941, 24.520117187500034], + [-12.947851562499977, 24.497265624999983], + [-12.99116210937501, 24.4703125], + [-13.061035156249943, 24.400976562500006], + [-13.12109375, 24.300390625000034], + [-13.1611328125, 24.22031250000006], + [-13.23095703125, 24.090429687499977], + [-13.280761718749943, 24.020117187500034], + [-13.310986328124955, 23.981054687499977], + [-13.391113281249941, 23.941015625], + [-13.480957031249941, 23.910742187500063], + [-13.5810546875, 23.870703124999977], + [-13.661083984374955, 23.830664062500002], + [-13.770947265624955, 23.790625], + [-13.840771484374983, 23.750585937500034], + [-13.891113281250028, 23.691015625000063], + [-13.93110351562501, 23.620703125000034], + [-13.980908203124924, 23.520117187500063], + [-14.020996093750028, 23.410742187499977], + [-14.040966796875011, 23.340429687500034], + [-14.10107421875, 23.100195312500034], + [-14.121093749999972, 22.960546875], + [-14.141064453124955, 22.870703125], + [-14.170898437499998, 22.760351562499977], + [-14.190869140624981, 22.590429687500002], + [-14.190869140624981, 22.450781249999977], + [-14.2109375, 22.370703125], + [-14.221191406249943, 22.310156250000034], + [-14.270996093749972, 22.240820312500006], + [-14.311035156249943, 22.191015625], + [-14.380810546874955, 22.120703125000063], + [-14.440917968749943, 22.080664062499977], + [-14.460888671874924, 22.040625], + [-14.520996093749998, 21.99086914062499], + [-14.581005859374981, 21.910742187500006], + [-14.630859375, 21.860937499999974], + [-14.62109375, 21.820898437500006], + [-14.610791015625011, 21.750585937499977], + [-14.641113281249972, 21.680273437500034], + [-14.670849609374981, 21.600195312499974], + [-14.750976562499972, 21.500585937500034], + [-14.840820312499972, 21.45078125], + [-14.971142578124955, 21.441015625000063], + [-15.15087890625, 21.441015625000063], + [-15.290966796874924, 21.45078125], + [-15.4609375, 21.45078125], + [-15.610791015624983, 21.470312499999977], + [-15.750927734374924, 21.490820312499977], + [-15.920849609375011, 21.500585937500034], + [-16.04101562499997, 21.500585937500034], + [-16.190869140624955, 21.481054687500034], + [-16.581005859374926, 21.481054687500034], + [-16.73095703125003, 21.470312499999977], + [-16.951123046874926, 21.430273437500006], + [-17.002978515625017, 21.420751953125006], + [-17.003076171874937, 21.420703125000017], + [-16.930859374999983, 21.9], + [-16.793261718750017, 22.159716796875017], + [-16.683984374999937, 22.27436523437501], + [-16.514404296874943, 22.33349609374997], + [-16.35874023437495, 22.594531250000042], + [-16.30429687499995, 22.834814453125063], + [-16.201855468749955, 22.945361328125017], + [-16.16972656249999, 23.031933593749983], + [-16.21025390624999, 23.097900390625], + [-16.113671874999937, 23.227539062500057], + [-15.996728515624993, 23.425488281249955], + [-15.942626953125, 23.552636718750023], + [-15.805957031249958, 23.74951171874997], + [-15.789257812499926, 23.79287109375002], + [-15.801660156249966, 23.842236328124955], + [-15.855175781249955, 23.800341796875045], + [-15.912548828124983, 23.727587890625045], + [-15.980712890624943, 23.670312500000023], + [-15.952832031249953, 23.740820312499974], + [-15.899316406249964, 23.844433593749955], + [-15.777783203124983, 23.952929687500045], + [-15.586328124999966, 24.07275390625003], + [-15.188623046874937, 24.478808593750045], + [-15.038867187499987, 24.54882812500003], + [-14.90429687500003, 24.719775390625017], + [-14.856054687499977, 24.871582031250053], + [-14.842919921874966, 25.220117187499994], + [-14.794921874999943, 25.404150390625006], + [-14.70703125, 25.547705078125034], + [-14.602294921874972, 25.80854492187498], + [-14.522753906250017, 25.92524414062504], + [-14.470556640624949, 26.163037109374983], + [-14.41386718749993, 26.25371093749999], + [-14.312451171874983, 26.296728515625034], + [-14.168359375000023, 26.415429687499966], + [-13.952099609374924, 26.48876953125], + [-13.695898437499949, 26.642919921875063], + [-13.57578125, 26.735107421875], + [-13.495751953124937, 26.872656250000034], + [-13.409814453124937, 27.14663085937499], + [-13.256152343749987, 27.43461914062496], + [-13.177392578125023, 27.65185546874997], + [-13.175976562499981, 27.655712890624983], + [-13.040722656249983, 27.769824218750045], + [-12.948925781249926, 27.914160156250034], + [-12.793652343749983, 27.978417968749994], + [-12.468896484374993, 28.009423828124994], + [-11.986083984374972, 28.12929687499999], + [-11.552685546874955, 28.31010742187496], + [-11.430175781249943, 28.38203124999998], + [-11.299072265624972, 28.52607421875001], + [-11.080957031249937, 28.713769531249962], + [-10.673828124999972, 28.93920898437497], + [-10.486474609374994, 29.064941406249996], + [-10.200585937499994, 29.380371093750057], + [-10.010498046875, 29.641406250000045], + [-9.852636718750006, 29.80922851562502], + [-9.74345703124996, 29.958203125], + [-9.667089843749949, 30.10927734375005], + [-9.623828124999932, 30.352636718749974], + [-9.652929687499977, 30.447558593750045], + [-9.773144531249955, 30.603125], + [-9.85390625, 30.644580078125045], + [-9.875488281249943, 30.717919921874962], + [-9.832421874999966, 30.84726562500003], + [-9.833349609374977, 31.069628906250042], + [-9.80869140624992, 31.424609374999957], + [-9.674951171874937, 31.710986328125045], + [-9.347460937499932, 32.086376953124955], + [-9.286572265624955, 32.240576171875034], + [-9.249121093749977, 32.48583984374997], + [-9.245849609375, 32.57246093749995], + [-8.83623046874996, 32.92045898437499], + [-8.59628906249992, 33.187158203125044], + [-8.512841796874993, 33.25244140625003], + [-8.301171874999937, 33.37436523437498], + [-7.562353515624977, 33.64028320312499], + [-7.144677734374966, 33.83032226562497], + [-6.900976562499949, 33.96904296874999], + [-6.755761718749966, 34.13291015624998], + [-6.353125, 34.77607421875001], + [-5.95756835937496, 35.68115234375], + [-5.924804687499943, 35.78579101562502], + [-5.747949218749994, 35.81596679687502], + [-5.622851562499989, 35.82890624999999], + [-5.522265624999932, 35.86201171874998], + [-5.397363281249966, 35.929882812499955], + [-5.277832031249943, 35.90273437500002], + [-5.337646484374972, 35.856542968750034], + [-5.337646484374972, 35.74521484375], + [-5.252685546874971, 35.61474609374997], + [-5.105371093749994, 35.46777343749997], + [-4.837207031249989, 35.28129882812499], + [-4.628320312499966, 35.206396484375006] + ] + ] + } + }, + { + "type": "Feature", + "properties": { + "scalerank": 1, + "featurecla": "Admin-0 country", + "labelrank": 4, + "sovereignt": "Liberia", + "sov_a3": "LBR", + "adm0_dif": 0, + "level": 2, + "type": "Sovereign country", + "admin": "Liberia", + "adm0_a3": "LBR", + "geou_dif": 0, + "geounit": "Liberia", + "gu_a3": "LBR", + "su_dif": 0, + "subunit": "Liberia", + "su_a3": "LBR", + "brk_diff": 0, + "name": "Liberia", + "name_long": "Liberia", + "brk_a3": "LBR", + "brk_name": "Liberia", + "brk_group": null, + "abbrev": "Liberia", + "postal": "LR", + "formal_en": "Republic of Liberia", + "formal_fr": null, + "note_adm0": null, + "note_brk": null, + "name_sort": "Liberia", + "name_alt": null, + "mapcolor7": 2, + "mapcolor8": 3, + "mapcolor9": 4, + "mapcolor13": 9, + "pop_est": 3441790, + "gdp_md_est": 1526, + "pop_year": -99, + "lastcensus": 2008, + "gdp_year": -99, + "economy": "7. Least developed region", + "income_grp": "5. Low income", + "wikipedia": -99, + "fips_10": null, + "iso_a2": "LR", + "iso_a3": "LBR", + "iso_n3": "430", + "un_a3": "430", + "wb_a2": "LR", + "wb_a3": "LBR", + "woe_id": -99, + "adm0_a3_is": "LBR", + "adm0_a3_us": "LBR", + "adm0_a3_un": -99, + "adm0_a3_wb": -99, + "continent": "Africa", + "region_un": "Africa", + "subregion": "Western Africa", + "region_wb": "Sub-Saharan Africa", + "name_len": 7, + "long_len": 7, + "abbrev_len": 7, + "tiny": -99, + "homepart": 1, + "filename": "LBR.geojson" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [-8.486425781249977, 7.558496093749994], + [-8.46728515625, 7.547021484374993], + [-8.437158203124994, 7.516406249999988], + [-8.408740234374989, 7.411816406249996], + [-8.296630859374998, 7.074023437499989], + [-8.302343749999977, 6.98095703125], + [-8.324511718749989, 6.920019531249991], + [-8.325097656249994, 6.860400390624989], + [-8.332568359374989, 6.801562499999989], + [-8.401220703124977, 6.705126953124989], + [-8.603564453124989, 6.5078125], + [-8.587890625, 6.490527343749989], + [-8.53955078125, 6.468066406249989], + [-8.490332031249977, 6.456396484374991], + [-8.449902343749983, 6.4625], + [-8.399316406249994, 6.413183593749991], + [-8.344873046874994, 6.351269531249997], + [-8.287109375, 6.319042968749997], + [-8.203857421875, 6.290722656249997], + [-8.131005859374994, 6.287548828124997], + [-8.068945312499977, 6.298388671874988], + [-7.981591796874994, 6.2861328125], + [-7.888623046874982, 6.23486328125], + [-7.85551757812499, 6.150146484375], + [-7.833251953125, 6.076367187499997], + [-7.800927734374994, 6.038916015624991], + [-7.796533203124995, 5.975097656249999], + [-7.730371093749994, 5.919042968749991], + [-7.636132812499995, 5.907714843749999], + [-7.513916015624999, 5.842041015625], + [-7.4828125, 5.845507812499989], + [-7.469433593749982, 5.853710937499997], + [-7.454394531249988, 5.84130859375], + [-7.423730468749994, 5.651318359374997], + [-7.39990234375, 5.550585937499989], + [-7.412451171874977, 5.509912109374994], + [-7.428906249999982, 5.477880859374991], + [-7.429833984374994, 5.324511718749989], + [-7.485205078124977, 5.236425781249991], + [-7.494140625, 5.139794921874994], + [-7.509765625, 5.108496093749991], + [-7.568896484374988, 5.080664062499991], + [-7.569335937499999, 5.006445312499991], + [-7.585058593749976, 4.916748046875], + [-7.591210937499995, 4.821533203125], + [-7.574658203124983, 4.572314453124989], + [-7.571582031249989, 4.386425781249997], + [-7.544970703124989, 4.351318359375], + [-7.660009765624976, 4.36679687499999], + [-7.998242187499983, 4.508691406249994], + [-8.259033203125, 4.589990234374994], + [-9.132177734374977, 5.054638671874997], + [-9.374755859375, 5.241064453124991], + [-9.654394531249977, 5.518701171874993], + [-10.2763671875, 6.07763671875], + [-10.418164062499983, 6.167333984374991], + [-10.597070312499994, 6.2109375], + [-10.707617187499977, 6.258496093749996], + [-10.785595703124983, 6.31015625], + [-10.849023437499993, 6.465087890625], + [-11.004541015624994, 6.557373046875], + [-11.291601562499977, 6.688232421874999], + [-11.507519531249983, 6.906542968749989], + [-11.454541015624981, 6.951220703124989], + [-11.376660156249981, 7.094677734374996], + [-11.267675781249975, 7.232617187499997], + [-11.166113281249975, 7.314404296874996], + [-11.085400390624983, 7.398583984374993], + [-11.000244140625, 7.463037109374994], + [-10.878076171874994, 7.538232421874994], + [-10.691308593749994, 7.736425781249991], + [-10.6474609375, 7.759375], + [-10.61757812499999, 7.896435546874998], + [-10.570849609374989, 8.071142578124991], + [-10.516748046874994, 8.125292968749989], + [-10.389550781249994, 8.157617187499994], + [-10.359814453124981, 8.187939453124997], + [-10.314648437499983, 8.310839843749989], + [-10.285742187499977, 8.4541015625], + [-10.283203125, 8.485156249999987], + [-10.233056640624994, 8.488818359374989], + [-10.147412109374983, 8.519726562499995], + [-10.09765625, 8.505859375], + [-10.07568359375, 8.464599609375], + [-10.064355468749994, 8.429882812499995], + [-9.804736328124989, 8.519189453124993], + [-9.781982421875, 8.537695312499991], + [-9.768261718749983, 8.534570312499994], + [-9.735595703125, 8.453955078124991], + [-9.716894531249977, 8.458886718749994], + [-9.701171875, 8.482177734375], + [-9.683886718749989, 8.484423828124989], + [-9.66357421875, 8.473535156249994], + [-9.643212890624994, 8.43603515625], + [-9.610156249999989, 8.40234375], + [-9.553906249999983, 8.378613281249997], + [-9.518261718749981, 8.34609375], + [-9.522216796875, 8.260009765625], + [-9.508496093749983, 8.17626953125], + [-9.484130859375, 8.156982421875], + [-9.471142578124983, 8.106982421874989], + [-9.464550781249983, 8.052099609374991], + [-9.451123046874983, 8.023242187499989], + [-9.441552734374994, 7.967919921874994], + [-9.446386718749977, 7.908496093749989], + [-9.436328124999989, 7.866699218749999], + [-9.39492187499999, 7.794628906249996], + [-9.369140625, 7.703808593749996], + [-9.368945312499989, 7.639550781249994], + [-9.383984374999983, 7.571875], + [-9.411474609374975, 7.509960937499997], + [-9.459765624999989, 7.442529296874993], + [-9.463818359374983, 7.415869140624991], + [-9.435107421874989, 7.3984375], + [-9.391650390624989, 7.39492187499999], + [-9.355322265624977, 7.40869140625], + [-9.263281249999977, 7.377734374999989], + [-9.215185546874977, 7.333300781249989], + [-9.1728515625, 7.278417968749991], + [-9.134814453124989, 7.250585937499991], + [-9.11757812499999, 7.215917968749991], + [-9.052343749999977, 7.225488281249993], + [-8.9765625, 7.258886718749991], + [-8.960986328124987, 7.274609375], + [-8.938427734374983, 7.266162109374988], + [-8.8896484375, 7.262695312499999], + [-8.855517578124989, 7.322802734374988], + [-8.827929687499989, 7.391943359374992], + [-8.769140624999977, 7.466796875], + [-8.740234375, 7.49570312499999], + [-8.732617187499983, 7.543554687499991], + [-8.729443359374983, 7.605273437499988], + [-8.708300781249989, 7.658886718749996], + [-8.659765624999977, 7.688378906249993], + [-8.607324218749994, 7.687939453124998], + [-8.578857421875, 7.677050781249989], + [-8.564404296874983, 7.625097656249991], + [-8.522265624999989, 7.58554687499999], + [-8.486425781249977, 7.558496093749994] + ] + ] + } + }, + { + "type": "Feature", + "properties": { + "scalerank": 1, + "featurecla": "Admin-0 country", + "labelrank": 3, + "sovereignt": "Mozambique", + "sov_a3": "MOZ", + "adm0_dif": 0, + "level": 2, + "type": "Sovereign country", + "admin": "Mozambique", + "adm0_a3": "MOZ", + "geou_dif": 0, + "geounit": "Mozambique", + "gu_a3": "MOZ", + "su_dif": 0, + "subunit": "Mozambique", + "su_a3": "MOZ", + "brk_diff": 0, + "name": "Mozambique", + "name_long": "Mozambique", + "brk_a3": "MOZ", + "brk_name": "Mozambique", + "brk_group": null, + "abbrev": "Moz.", + "postal": "MZ", + "formal_en": "Republic of Mozambique", + "formal_fr": null, + "note_adm0": null, + "note_brk": null, + "name_sort": "Mozambique", + "name_alt": null, + "mapcolor7": 4, + "mapcolor8": 2, + "mapcolor9": 1, + "mapcolor13": 4, + "pop_est": 21669278, + "gdp_md_est": 18940, + "pop_year": -99, + "lastcensus": 2007, + "gdp_year": -99, + "economy": "7. Least developed region", + "income_grp": "5. Low income", + "wikipedia": -99, + "fips_10": null, + "iso_a2": "MZ", + "iso_a3": "MOZ", + "iso_n3": "508", + "un_a3": "508", + "wb_a2": "MZ", + "wb_a3": "MOZ", + "woe_id": -99, + "adm0_a3_is": "MOZ", + "adm0_a3_us": "MOZ", + "adm0_a3_un": -99, + "adm0_a3_wb": -99, + "continent": "Africa", + "region_un": "Africa", + "subregion": "Eastern Africa", + "region_wb": "Sub-Saharan Africa", + "name_len": 10, + "long_len": 10, + "abbrev_len": 4, + "tiny": -99, + "homepart": 1, + "filename": "MOZ.geojson" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [32.88613281250002, -26.84931640625001], + [32.77656250000001, -26.85097656250001], + [32.58876953125002, -26.855761718750003], + [32.47773437500001, -26.858496093750006], + [32.353515625, -26.86162109375], + [32.19960937500002, -26.83349609375], + [32.112890625, -26.839453125], + [32.10595703125, -26.520019531249996], + [32.07792968750002, -26.449804687500006], + [32.04833984375, -26.34716796875], + [32.04140625000002, -26.28125], + [32.05996093750002, -26.21503906250001], + [32.06884765625, -26.11015625], + [32.060546875, -26.018359375], + [31.96845703125001, -25.972265625], + [31.9482421875, -25.957617187500006], + [31.92832031250001, -25.885351562500006], + [31.920312500000026, -25.77392578125], + [31.98457031250001, -25.631933593750006], + [31.979394531250023, -25.359472656250002], + [31.98701171875001, -25.263476562500003], + [31.985742187500023, -25.073828125], + [31.984375, -24.844042968750003], + [31.983203125000017, -24.63828125], + [31.985839843749996, -24.46064453125001], + [31.966601562500017, -24.37646484375], + [31.950585937500023, -24.33027343750001], + [31.908007812500014, -24.236230468750005], + [31.858300781250026, -24.04023437500001], + [31.799609375000017, -23.8921875], + [31.724023437500023, -23.79453125], + [31.7, -23.74306640625001], + [31.675585937500017, -23.67421875], + [31.604101562500006, -23.55292968750001], + [31.54560546875001, -23.48232421875001], + [31.52968750000002, -23.42578125], + [31.53173828125, -23.27949218750001], + [31.466699218750023, -23.016699218750006], + [31.41933593750002, -22.825097656250005], + [31.348046875000023, -22.617578125], + [31.300195312500026, -22.478613281250006], + [31.293164062500008, -22.4546875], + [31.287890625000014, -22.40205078125001], + [31.429492187500014, -22.298828125], + [31.571484375, -22.15351562500001], + [31.737695312500023, -21.9833984375], + [31.88593750000001, -21.83154296875], + [32.01630859375001, -21.698046875], + [32.19472656250002, -21.5154296875], + [32.37109375, -21.33486328125001], + [32.41240234375002, -21.311816406250003], + [32.429785156250006, -21.29707031250001], + [32.35361328125, -21.136523437500003], + [32.476171875, -20.95009765625001], + [32.48281250000002, -20.82890625], + [32.47763671875, -20.712988281250002], + [32.49238281250001, -20.659765625], + [32.529296875, -20.6130859375], + [32.67255859375001, -20.51611328125], + [32.780859375, -20.36152343750001], + [32.86962890625, -20.2171875], + [32.9927734375, -19.984863281249996], + [33.0048828125, -19.93017578125], + [33.00673828125002, -19.873828125], + [32.97265625, -19.79541015625], + [32.89042968750002, -19.668066406250006], + [32.83076171875001, -19.558203125], + [32.77763671875002, -19.388769531250006], + [32.83095703125002, -19.24140625000001], + [32.85, -19.152441406250006], + [32.84980468750001, -19.10439453125001], + [32.826171875, -19.05878906250001], + [32.7662109375, -19.02431640625001], + [32.71650390625001, -19.00185546875001], + [32.69970703125, -18.94091796875], + [32.69921875, -18.868457031250003], + [32.72197265625002, -18.828417968750003], + [32.8544921875, -18.763671875], + [32.88457031250002, -18.728515625], + [32.90029296875002, -18.6890625], + [32.90166015625002, -18.632910156250006], + [32.942480468750006, -18.49267578125], + [32.99306640625002, -18.35957031250001], + [32.99638671875002, -18.312597656250006], + [32.978515625, -18.271484375], + [32.96464843750001, -18.1962890625], + [32.95556640625, -18.08291015625001], + [32.9546875, -17.765429687500003], + [32.98076171875002, -17.4375], + [32.969335937500006, -17.2515625], + [32.884375, -17.037792968750008], + [32.87626953125002, -16.88359375], + [32.937890625000016, -16.775976562500002], + [32.94804687500002, -16.71230468750001], + [32.9029296875, -16.704199218750006], + [32.81025390625001, -16.69765625], + [32.741796875, -16.67763671875001], + [32.63583984375, -16.589453125], + [32.45195312500002, -16.515722656250006], + [32.243261718750006, -16.44873046875], + [31.939843750000023, -16.428808593750006], + [31.687597656250006, -16.21416015625], + [31.48984375, -16.1796875], + [31.426171875000023, -16.15234375], + [31.236230468750023, -16.02363281250001], + [30.938769531250014, -16.01171875], + [30.630175781250017, -15.999218750000011], + [30.437792968750017, -15.995312500000011], + [30.409375, -15.978222656250011], + [30.398144531250015, -15.80078125], + [30.39609375, -15.64306640625], + [30.379882812499996, -15.505859375], + [30.350585937499996, -15.349707031250004], + [30.3056640625, -15.288867187500003], + [30.25214843750001, -15.183203125], + [30.225, -15.06689453125], + [30.221777343750006, -15.010546875], + [30.231835937500023, -14.990332031250004], + [30.44609375000002, -14.907519531250001], + [30.537695312500002, -14.866503906250001], + [30.673339843749996, -14.819140625], + [30.915136718750002, -14.753320312500009], + [31.130859375, -14.694628906250003], + [31.32851562500002, -14.6376953125], + [31.537890625000017, -14.5771484375], + [31.623046875, -14.53671875], + [31.728906250000023, -14.49609375], + [31.98212890625001, -14.414453125], + [32.05449218750002, -14.386523437500003], + [32.19990234375001, -14.3408203125], + [32.27285156250002, -14.323046875], + [32.55322265625, -14.229589843750004], + [32.87451171875, -14.122460937500009], + [32.98710937500002, -14.0849609375], + [33.201757812500006, -14.01337890625001], + [33.24355468750002, -14.043066406250006], + [33.38994140625002, -14.289453125], + [33.50527343750002, -14.43408203125], + [33.63642578125001, -14.568164062500003], + [33.658300781250006, -14.561621093750006], + [33.69609375000001, -14.5302734375], + [33.76142578125001, -14.517285156250011], + [33.969824218750006, -14.487109375], + [34.0494140625, -14.48525390625001], + [34.10185546875002, -14.449316406250004], + [34.20878906250002, -14.423730468750009], + [34.33251953125, -14.40859375], + [34.375, -14.424804687499998], + [34.50527343750002, -14.598144531249998], + [34.52412109375001, -14.730761718750003], + [34.55117187500002, -14.92236328125], + [34.5576171875, -15.015917968750003], + [34.55546875000002, -15.140917968750005], + [34.54082031250002, -15.297265625], + [34.434960937500016, -15.477148437500006], + [34.41474609375001, -15.566796875], + [34.358007812500006, -15.70527343750001], + [34.28300781250002, -15.7734375], + [34.24609375, -15.829394531250005], + [34.24824218750001, -15.8875], + [34.28828125000001, -15.936132812500006], + [34.3759765625, -16.023730468750003], + [34.40302734375001, -16.08027343750001], + [34.395117187500006, -16.130859375], + [34.3955078125, -16.19921875], + [34.41640625000002, -16.24677734375001], + [34.441308593750016, -16.2744140625], + [34.528125, -16.319140625], + [34.61269531250002, -16.43154296875001], + [34.7587890625, -16.56708984375001], + [34.93339843750002, -16.760351562500006], + [35.01533203125001, -16.81953125], + [35.07988281250002, -16.83388671875001], + [35.11210937500002, -16.898535156250006], + [35.09423828125, -16.97382812500001], + [35.0439453125, -17.016894531250003], + [35.06464843750001, -17.07861328125], + [35.09306640625002, -17.1109375], + [35.124609375, -17.12724609375], + [35.20136718750001, -17.13105468750001], + [35.272558593750006, -17.118457031250003], + [35.29042968750002, -17.096972656250003], + [35.28115234375002, -16.80781250000001], + [35.22978515625002, -16.639257812500006], + [35.1783203125, -16.573339843750006], + [35.16718750000001, -16.56025390625001], + [35.18525390625001, -16.5048828125], + [35.2427734375, -16.375390625], + [35.29150390625, -16.247167968750006], + [35.322460937500004, -16.193164062500003], + [35.358496093750006, -16.160546875], + [35.59931640625001, -16.12587890625001], + [35.70888671875002, -16.095800781250006], + [35.75527343750002, -16.058300781250008], + [35.79121093750001, -15.958691406250011], + [35.819921875, -15.680371093750011], + [35.83027343750001, -15.418945312499998], + [35.80537109375001, -15.265625], + [35.839941406250006, -15.03466796875], + [35.89277343750001, -14.891796875000011], + [35.86669921875, -14.86376953125], + [35.84716796875, -14.670898437499998], + [35.6904296875, -14.465527343750011], + [35.48847656250001, -14.201074218750007], + [35.37578125000002, -14.058691406250006], + [35.247460937500016, -13.896875], + [35.01386718750001, -13.643457031250009], + [34.906835937500006, -13.551660156250009], + [34.85048828125002, -13.516015625], + [34.66162109375, -13.48671875], + [34.61152343750001, -13.437890625], + [34.56367187500001, -13.36015625], + [34.54570312500002, -13.21630859375], + [34.542578125, -13.108691406250001], + [34.52128906250001, -12.92578125], + [34.48291015625, -12.666796875], + [34.4658203125, -12.590722656250009], + [34.412109375, -12.395898437500009], + [34.36083984374999, -12.210546875], + [34.357812500000016, -12.16474609375001], + [34.3759765625, -12.120214843750006], + [34.462890625, -11.983789062500009], + [34.52480468750002, -11.887011718750003], + [34.55390625000001, -11.834082031250006], + [34.60625, -11.690039062500006], + [34.618554687500016, -11.620214843750006], + [34.65957031250002, -11.588671875], + [34.82656250000002, -11.57568359375], + [34.95947265624999, -11.578125], + [35.1826171875, -11.574804687500006], + [35.41826171875002, -11.583203125000011], + [35.45136718750001, -11.58955078125001], + [35.50439453125, -11.604785156250003], + [35.56435546875002, -11.60234375], + [35.630957031250006, -11.58203125], + [35.7046875, -11.532128906250009], + [35.78544921875001, -11.452929687500003], + [35.91132812500001, -11.4546875], + [36.08222656250001, -11.537304687500011], + [36.17548828125001, -11.609277343750007], + [36.19130859375002, -11.670703125], + [36.3056640625, -11.706347656250003], + [36.518652343750006, -11.716210937500007], + [36.673828125, -11.684277343750011], + [36.77109375, -11.6103515625], + [36.87265625, -11.5712890625], + [36.97890625000002, -11.566992187500006], + [37.059179687500006, -11.5921875], + [37.113867187500006, -11.64716796875001], + [37.218359375, -11.6865234375], + [37.37285156250002, -11.71044921875], + [37.54169921875001, -11.675097656250003], + [37.72480468750001, -11.580664062500006], + [37.82929687500001, -11.481933593749998], + [37.855078125, -11.379101562500011], + [37.885351562500006, -11.316699218750003], + [37.92021484375002, -11.294726562500003], + [38.01728515625001, -11.282128906250007], + [38.17656250000002, -11.278710937500009], + [38.31513671875001, -11.311132812500006], + [38.491796875, -11.413281250000011], + [38.60332031250002, -11.3453125], + [38.79472656250002, -11.22890625], + [38.9875, -11.167285156250003], + [39.17099609375, -11.166894531250009], + [39.32158203125002, -11.122558593749998], + [39.439160156250004, -11.034570312500009], + [39.56347656249999, -10.978515625], + [39.694433593750006, -10.954785156250011], + [39.81708984375001, -10.912402343750001], + [39.98867187500002, -10.82080078125], + [40.16621093750001, -10.6875], + [40.34746093750002, -10.5515625], + [40.46357421875001, -10.46435546875], + [40.516699218750006, -10.5673828125], + [40.61171875000002, -10.661523437500009], + [40.555078125000016, -10.716210937500009], + [40.48662109375002, -10.76513671875], + [40.59716796875, -10.830664062500006], + [40.51611328125, -10.929589843750009], + [40.50625, -10.9984375], + [40.52685546875, -11.025390625], + [40.54453125, -11.065625], + [40.49140625000001, -11.17890625000001], + [40.420996093750006, -11.265625], + [40.40283203125, -11.33203125], + [40.46513671875002, -11.44941406250001], + [40.43310546875, -11.657324218750006], + [40.49355468750002, -11.844433593750011], + [40.51044921875001, -11.9404296875], + [40.53154296875002, -12.004589843750011], + [40.50146484375, -12.119433593750003], + [40.50917968750002, -12.312890625], + [40.52314453125001, -12.392773437500011], + [40.48710937500002, -12.4921875], + [40.54833984375, -12.526562500000011], + [40.58085937500002, -12.635546875], + [40.57207031250002, -12.758398437500004], + [40.553320312500006, -12.824609375], + [40.44765625000002, -12.90478515625], + [40.43515625, -12.9359375], + [40.43681640625002, -12.983105468750011], + [40.56875, -12.984667968750001], + [40.5732421875, -13.057714843750004], + [40.56445312499999, -13.115234375], + [40.56953125000001, -13.2234375], + [40.55195312500001, -13.29375], + [40.582910156250016, -13.3740234375], + [40.54511718750001, -13.462890625], + [40.558203125, -13.531445312500011], + [40.55986328125002, -13.620312500000011], + [40.59052734375001, -13.845019531250003], + [40.595703125, -14.122851562500003], + [40.60253906249999, -14.167382812500009], + [40.649511718750006, -14.198828125], + [40.715625, -14.214453125], + [40.71308593750001, -14.290625], + [40.63994140625002, -14.390039062500009], + [40.63554687500002, -14.45185546875001], + [40.64609375, -14.538671875], + [40.726660156250006, -14.420703125], + [40.775, -14.421289062500009], + [40.81816406250002, -14.467578125], + [40.812109375, -14.535546875], + [40.82695312500002, -14.569042968750011], + [40.82060546875002, -14.634960937500011], + [40.84453125000002, -14.718652343750009], + [40.83515625, -14.79150390625], + [40.775976562500006, -14.842480468750011], + [40.70068359375, -14.929785156250006], + [40.68740234375002, -15.011621093750009], + [40.6943359375, -15.065234375], + [40.6421875, -15.082421875], + [40.617773437500006, -15.115527343750003], + [40.653125, -15.192675781250003], + [40.650976562500006, -15.260937500000011], + [40.558984375000016, -15.4734375], + [40.31386718750002, -15.763964843750003], + [40.2080078125, -15.867089843750009], + [40.10878906250002, -15.979296875], + [40.10888671874999, -16.02529296875001], + [40.09921875, -16.065332031250005], + [39.98359375000001, -16.22548828125001], + [39.85976562500002, -16.251757812500003], + [39.79091796875002, -16.29453125], + [39.84462890625002, -16.435644531250006], + [39.76455078125002, -16.46816406250001], + [39.62539062500002, -16.579394531250003], + [39.242285156250006, -16.792578125], + [39.181738281250006, -16.84199218750001], + [39.084375, -16.97285156250001], + [38.95605468749999, -17.00458984375001], + [38.884765625, -17.041601562500006], + [38.75761718750002, -17.055175781249996], + [38.71328125000002, -17.045703125], + [38.669921875, -17.05029296875], + [38.63330078124999, -17.078320312500008], + [38.38076171875002, -17.17011718750001], + [38.14492187500002, -17.242773437500006], + [38.0869140625, -17.275976562500006], + [38.04824218750002, -17.321386718750006], + [37.839453125, -17.393164062500006], + [37.512304687500006, -17.570703125], + [37.244531250000016, -17.73994140625001], + [37.05058593750002, -17.909277343750002], + [36.99951171874999, -17.93496093750001], + [36.93935546875002, -17.99345703125], + [36.91923828125002, -18.080078125], + [36.89960937500001, -18.129003906250006], + [36.75615234375001, -18.30732421875001], + [36.540136718750006, -18.518164062500006], + [36.498046875, -18.57578125], + [36.41220703125, -18.69296875], + [36.40371093750002, -18.76972656250001], + [36.327246093750006, -18.79316406250001], + [36.26289062500001, -18.71962890625001], + [36.23564453125002, -18.861328125], + [36.183203125, -18.871386718750003], + [36.125, -18.842382812500006], + [35.980078125, -18.9125], + [35.85371093750001, -18.99335937500001], + [35.651269531250016, -19.163867187500003], + [35.365332031250006, -19.493945312500003], + [34.947851562500006, -19.81269531250001], + [34.890820312500004, -19.82177734375], + [34.85234375000002, -19.82050781250001], + [34.72099609375002, -19.709570312500006], + [34.64941406249999, -19.70136718750001], + [34.713476562500006, -19.7671875], + [34.75576171875002, -19.821972656250008], + [34.745019531250016, -19.929492187500003], + [34.75, -20.0908203125], + [34.69814453125002, -20.404394531250006], + [34.70507812499999, -20.473046875], + [34.764746093750006, -20.56191406250001], + [34.87705078125, -20.67080078125001], + [34.98232421875002, -20.80625], + [35.11757812500002, -21.19521484375001], + [35.128027343750006, -21.3953125], + [35.267675781250006, -21.650976562500006], + [35.27294921875, -21.76171875], + [35.32929687500001, -22.037402343750003], + [35.32558593750002, -22.260351562500006], + [35.31572265625002, -22.396875], + [35.38300781250001, -22.45458984375], + [35.4078125, -22.40253906250001], + [35.40087890625, -22.316210937500003], + [35.41884765625002, -22.17763671875001], + [35.45634765625002, -22.11591796875001], + [35.49375, -22.12470703125001], + [35.50488281249999, -22.19013671875001], + [35.53007812500002, -22.248144531250002], + [35.54023437500001, -22.30263671875001], + [35.5419921875, -22.3765625], + [35.490234375, -22.65771484375], + [35.50576171875002, -22.772070312500002], + [35.57539062500001, -22.96308593750001], + [35.49443359375001, -23.18515625], + [35.376953125, -23.7078125], + [35.37041015625001, -23.79824218750001], + [35.39882812500002, -23.8376953125], + [35.46210937500001, -23.851074218749996], + [35.4853515625, -23.784472656250003], + [35.5224609375, -23.784960937500003], + [35.5419921875, -23.82441406250001], + [35.48964843750002, -24.065527343750006], + [35.438085937500006, -24.17119140625], + [35.2548828125, -24.430273437500006], + [35.15595703125001, -24.54140625], + [34.99208984375002, -24.650585937500008], + [34.60732421875002, -24.8212890625], + [33.836035156250006, -25.06796875], + [33.53007812500002, -25.18886718750001], + [33.34746093750002, -25.26093750000001], + [32.96113281250001, -25.49042968750001], + [32.79218750000001, -25.644335937500003], + [32.72255859375002, -25.820898437500006], + [32.655859375, -25.90175781250001], + [32.590429687500006, -26.004101562500008], + [32.6474609375, -26.091992187500008], + [32.70351562500002, -26.158496093750003], + [32.769628906250006, -26.20302734375001], + [32.80390625000001, -26.24140625], + [32.84882812500001, -26.26806640625], + [32.89404296875, -26.1298828125], + [32.916406250000016, -26.0869140625], + [32.95488281250002, -26.08359375], + [32.93359375, -26.25234375], + [32.88916015624999, -26.83046875], + [32.88613281250002, -26.84931640625001] + ], + [ + [34.6416015625, -12.013671875], + [34.62421875000001, -11.984765625], + [34.59140625, -11.97109375], + [34.55400390625002, -11.982226562500003], + [34.541601562500006, -12.018652343750006], + [34.58046875000002, -12.065820312500007], + [34.62177734375001, -12.066601562500011], + [34.6416015625, -12.013671875] + ], + [ + [34.719335937500006, -12.110644531250003], + [34.74599609375002, -12.08837890625], + [34.75625, -12.05908203125], + [34.755957031250006, -12.03076171875], + [34.738964843750004, -12.013085937500009], + [34.714941406250006, -12.002734375], + [34.67988281250001, -12.008886718750004], + [34.66748046875, -12.047558593750011], + [34.66210937499999, -12.100781250000011], + [34.684179687500006, -12.11865234375], + [34.719335937500006, -12.110644531250003] + ] + ] + } + }, + { + "type": "Feature", + "properties": { + "scalerank": 1, + "featurecla": "Admin-0 country", + "labelrank": 6, + "sovereignt": "Malawi", + "sov_a3": "MWI", + "adm0_dif": 0, + "level": 2, + "type": "Sovereign country", + "admin": "Malawi", + "adm0_a3": "MWI", + "geou_dif": 0, + "geounit": "Malawi", + "gu_a3": "MWI", + "su_dif": 0, + "subunit": "Malawi", + "su_a3": "MWI", + "brk_diff": 0, + "name": "Malawi", + "name_long": "Malawi", + "brk_a3": "MWI", + "brk_name": "Malawi", + "brk_group": null, + "abbrev": "Mal.", + "postal": "MW", + "formal_en": "Republic of Malawi", + "formal_fr": null, + "note_adm0": null, + "note_brk": null, + "name_sort": "Malawi", + "name_alt": null, + "mapcolor7": 1, + "mapcolor8": 3, + "mapcolor9": 4, + "mapcolor13": 5, + "pop_est": 14268711, + "gdp_md_est": 11810, + "pop_year": -99, + "lastcensus": 2008, + "gdp_year": -99, + "economy": "7. Least developed region", + "income_grp": "5. Low income", + "wikipedia": -99, + "fips_10": null, + "iso_a2": "MW", + "iso_a3": "MWI", + "iso_n3": "454", + "un_a3": "454", + "wb_a2": "MW", + "wb_a3": "MWI", + "woe_id": -99, + "adm0_a3_is": "MWI", + "adm0_a3_us": "MWI", + "adm0_a3_un": -99, + "adm0_a3_wb": -99, + "continent": "Africa", + "region_un": "Africa", + "subregion": "Eastern Africa", + "region_wb": "Sub-Saharan Africa", + "name_len": 6, + "long_len": 6, + "abbrev_len": 4, + "tiny": -99, + "homepart": 1, + "filename": "MWI.geojson" + }, + "geometry": { + "type": "MultiPolygon", + "coordinates": [ + [ + [ + [34.71933593750006, -12.110644531249989], + [34.68417968750006, -12.118652343750014], + [34.66210937500003, -12.100781250000011], + [34.66748046874997, -12.047558593750011], + [34.6798828125001, -12.008886718750032], + [34.714941406250006, -12.002734375000031], + [34.73896484375004, -12.013085937500009], + [34.75595703125006, -12.030761718749957], + [34.75625, -12.059082031249956], + [34.74599609375005, -12.088378906249972], + [34.71933593750006, -12.110644531249989] + ] + ], + [ + [ + [34.64160156250003, -12.013671874999943], + [34.62177734375004, -12.066601562499983], + [34.58046875, -12.065820312499993], + [34.541601562500055, -12.018652343749977], + [34.55400390625002, -11.982226562500017], + [34.59140625, -11.97109375], + [34.62421875000004, -11.984765625], + [34.64160156250003, -12.013671874999943] + ] + ], + [ + [ + [33.330859375000074, -9.519140624999963], + [33.42089843750003, -9.608007812500034], + [33.46777343749997, -9.61972656250002], + [33.52753906250004, -9.60751953125002], + [33.69765625, -9.598144531249972], + [33.766210937500006, -9.6109375], + [33.8541992187501, -9.662988281249952], + [33.88886718750004, -9.670117187499981], + [33.943945312500006, -9.67216796874996], + [33.953710937500006, -9.658203124999957], + [33.959375, -9.62734375], + [33.94960937499999, -9.565332031249952], + [33.96210937500004, -9.531738281249943], + [33.99560546875003, -9.495410156250003], + [34.08857421875004, -9.537792968750026], + [34.32089843750006, -9.731542968749977], + [34.32783203125004, -9.756542968750011], + [34.475976562499994, -9.948828125], + [34.524218750000074, -10.03017578124998], + [34.524218750000074, -10.073144531250023], + [34.56992187500006, -10.241113281249966], + [34.57998046874999, -10.319824218750014], + [34.569726562500044, -10.379687499999944], + [34.571582031250074, -10.427636718750037], + [34.58955078125004, -10.496191406249963], + [34.58359375, -10.525097656249997], + [34.63652343750002, -10.625585937499949], + [34.66181640625004, -10.71005859375002], + [34.66708984375006, -10.792480468750028], + [34.65234374999997, -10.87285156249996], + [34.60566406250004, -10.990234374999986], + [34.59765625000003, -11.0375], + [34.60791015624997, -11.08046875], + [34.638085937499994, -11.127148437499997], + [34.68847656249997, -11.177441406250026], + [34.726464843749994, -11.238183593749964], + [34.75214843750004, -11.309472656250009], + [34.77382812500005, -11.341699218750009], + [34.80087890625006, -11.34091796875002], + [34.85058593749997, -11.351953124999966], + [34.890625, -11.3935546875], + [34.93701171874997, -11.463476562500034], + [34.952636718749964, -11.54375], + [34.95947265625003, -11.578125], + [34.82656250000005, -11.575683593749972], + [34.659570312500044, -11.58867187499996], + [34.61855468750005, -11.620214843749991], + [34.60625, -11.690039062500006], + [34.5539062500001, -11.834082031249949], + [34.524804687499994, -11.887011718749989], + [34.46289062500003, -11.98378906249998], + [34.37597656249997, -12.120214843749977], + [34.3578125, -12.164746093749995], + [34.36083984375003, -12.21054687499999], + [34.41210937499997, -12.395898437500009], + [34.46582031249997, -12.590722656249994], + [34.48291015625003, -12.666796874999958], + [34.52128906250001, -12.925781249999957], + [34.542578125, -13.108691406250001], + [34.54570312500002, -13.21630859375], + [34.56367187500003, -13.360156249999989], + [34.6115234375001, -13.437890625000021], + [34.66162109375003, -13.486718750000023], + [34.85048828125005, -13.516015625000035], + [34.90683593750006, -13.551660156250009], + [35.0138671875001, -13.64345703124998], + [35.247460937499994, -13.896875], + [35.37578125000002, -14.05869140625002], + [35.48847656250004, -14.201074218749978], + [35.690429687499964, -14.465527343750026], + [35.84716796875002, -14.670898437500043], + [35.86669921875003, -14.863769531249984], + [35.8927734375001, -14.891796875000011], + [35.839941406250006, -15.034667968749986], + [35.80537109375004, -15.265625], + [35.83027343750004, -15.418945312500027], + [35.819921875, -15.680371093749995], + [35.79121093750009, -15.958691406250024], + [35.75527343750005, -16.058300781249983], + [35.70888671874999, -16.095800781249974], + [35.5993164062501, -16.12587890624998], + [35.35849609375006, -16.16054687500002], + [35.3224609375001, -16.193164062500017], + [35.29150390624997, -16.247167968750006], + [35.2427734375, -16.375390625], + [35.1852539062501, -16.504882812500014], + [35.16718750000004, -16.56025390625001], + [35.1783203125, -16.57333984375002], + [35.22978515625002, -16.63925781250003], + [35.281152343749994, -16.8078125], + [35.29042968750005, -17.096972656250017], + [35.27255859375006, -17.11845703124996], + [35.2013671875001, -17.13105468750004], + [35.124609375, -17.12724609374997], + [35.093066406250074, -17.11093750000002], + [35.06464843750004, -17.078613281250014], + [35.04394531250003, -17.016894531249957], + [35.09423828125002, -16.973828124999983], + [35.11210937500002, -16.898535156250006], + [35.07988281250002, -16.83388671874998], + [35.01533203125004, -16.81953124999998], + [34.93339843750002, -16.760351562500006], + [34.75878906249997, -16.56708984374998], + [34.612695312499994, -16.431542968749994], + [34.528125, -16.319140625], + [34.441308593749994, -16.274414062499957], + [34.41640625000005, -16.24677734375001], + [34.39550781249997, -16.19921875], + [34.39511718750006, -16.130859375000014], + [34.4030273437501, -16.08027343750001], + [34.37597656249997, -16.02373046874996], + [34.28828125000004, -15.936132812499961], + [34.2482421875001, -15.8875], + [34.24609374999997, -15.829394531249974], + [34.283007812500074, -15.773437500000028], + [34.35800781250006, -15.705273437499997], + [34.4147460937501, -15.566796875000035], + [34.434960937499994, -15.477148437499975], + [34.54082031250002, -15.297265625], + [34.555468750000074, -15.140917968749958], + [34.55761718749997, -15.015917968749989], + [34.55117187499999, -14.922363281250016], + [34.52412109375004, -14.730761718749974], + [34.505273437500044, -14.598144531249957], + [34.375, -14.424804687499998], + [34.33251953125003, -14.40859375], + [34.20878906250002, -14.423730468750037], + [34.10185546875002, -14.44931640625002], + [34.049414062500055, -14.485253906249964], + [33.969824218750006, -14.487109374999987], + [33.76142578125003, -14.517285156250011], + [33.69609375000001, -14.530273437499984], + [33.658300781250055, -14.561621093749977], + [33.63642578125004, -14.568164062499974], + [33.50527343750005, -14.434082031250012], + [33.38994140625002, -14.289453125000037], + [33.243554687500044, -14.043066406250034], + [33.20175781250006, -14.013378906250024], + [33.148046875, -13.94091796875], + [33.103613281250006, -13.959179687499997], + [33.04238281249999, -14.01005859374996], + [33.00927734374997, -14.023730468750003], + [32.99208984375005, -14.022167968750038], + [32.98125, -14.009375], + [32.96757812500002, -13.976855468750045], + [32.9203125, -13.88388671875002], + [32.86718750000003, -13.817382812499972], + [32.81103515625003, -13.791601562499963], + [32.76513671874997, -13.76103515625003], + [32.78535156250004, -13.731445312499957], + [32.80673828125006, -13.710253906249989], + [32.797460937500006, -13.6884765625], + [32.77177734375002, -13.656542968749974], + [32.67207031250004, -13.610351562499986], + [32.67041015624997, -13.590429687500006], + [32.75839843750006, -13.55029296875], + [32.8140625, -13.502734374999989], + [32.85185546875007, -13.457031250000014], + [32.899707031250074, -13.357031249999975], + [32.93857421875006, -13.25742187500002], + [32.96757812500002, -13.225], + [32.97763671875006, -13.158886718750026], + [32.97109375000005, -13.084277343750003], + [32.99042968750004, -12.989453124999969], + [33, -12.89960937500004], + [32.97050781250002, -12.864746093749957], + [32.94560546875007, -12.804394531250011], + [32.97519531250006, -12.701367187499981], + [33.021582031250006, -12.63046875000002], + [33.24345703125002, -12.556542968749964], + [33.39794921874997, -12.489843749999961], + [33.43066406249997, -12.460449218750014], + [33.48320312500002, -12.403417968750032], + [33.51230468750006, -12.347753906249977], + [33.4914062500001, -12.331054687499943], + [33.370019531250044, -12.329687500000018], + [33.340136718750074, -12.308300781250011], + [33.252343750000044, -12.112597656250031], + [33.3009765625001, -11.888183593749957], + [33.30507812500005, -11.8], + [33.3039062500001, -11.69082031249998], + [33.2882812500001, -11.611132812500003], + [33.25, -11.577636718750014], + [33.226367187500074, -11.534863281250011], + [33.23271484375002, -11.417675781250026], + [33.26835937500001, -11.403906249999977], + [33.34550781250001, -11.249121093749977], + [33.379785156249994, -11.15791015625004], + [33.338671875000074, -11.085156249999969], + [33.29326171875002, -10.981152343749997], + [33.27275390625002, -10.915039062499943], + [33.261328125, -10.893359374999974], + [33.29277343750002, -10.852343749999958], + [33.34492187500009, -10.812695312499969], + [33.403125, -10.801757812499957], + [33.464746093749994, -10.78310546874998], + [33.65908203125005, -10.590527343749997], + [33.661523437499994, -10.553125], + [33.6261718750001, -10.488574218750017], + [33.55371093749997, -10.391308593750011], + [33.53759765624997, -10.351562499999984], + [33.52890625, -10.234667968749974], + [33.500097656250055, -10.199707031249956], + [33.39355468750003, -10.120898437499989], + [33.31152343750003, -10.037988281249966], + [33.3371093750001, -9.954003906249994], + [33.350976562499994, -9.862207031250037], + [33.310449218749994, -9.811816406249989], + [33.25, -9.759570312500003], + [33.212695312500074, -9.683007812500037], + [33.19570312500005, -9.626171875], + [33.148046875, -9.603515625], + [33.10449218750003, -9.602636718750006], + [33.0724609375001, -9.638183593749957], + [33.03779296875004, -9.635058593749946], + [32.99599609375005, -9.622851562499946], + [32.98212890625004, -9.573632812499952], + [32.97988281250005, -9.520312500000015], + [32.95107421875005, -9.484179687500031], + [32.92333984374997, -9.433984375000023], + [32.91992187500003, -9.407421875000026], + [32.937304687500074, -9.39970703124996], + [32.97402343749999, -9.395019531249986], + [33.13046875, -9.495898437500017], + [33.22529296875004, -9.50048828124997], + [33.330859375000074, -9.519140624999963] + ] + ] + ] + } + }, + { + "type": "Feature", + "properties": { + "scalerank": 1, + "featurecla": "Admin-0 country", + "labelrank": 3, + "sovereignt": "Mauritania", + "sov_a3": "MRT", + "adm0_dif": 0, + "level": 2, + "type": "Sovereign country", + "admin": "Mauritania", + "adm0_a3": "MRT", + "geou_dif": 0, + "geounit": "Mauritania", + "gu_a3": "MRT", + "su_dif": 0, + "subunit": "Mauritania", + "su_a3": "MRT", + "brk_diff": 0, + "name": "Mauritania", + "name_long": "Mauritania", + "brk_a3": "MRT", + "brk_name": "Mauritania", + "brk_group": null, + "abbrev": "Mrt.", + "postal": "MR", + "formal_en": "Islamic Republic of Mauritania", + "formal_fr": null, + "note_adm0": null, + "note_brk": null, + "name_sort": "Mauritania", + "name_alt": null, + "mapcolor7": 3, + "mapcolor8": 3, + "mapcolor9": 2, + "mapcolor13": 1, + "pop_est": 3129486, + "gdp_md_est": 6308, + "pop_year": -99, + "lastcensus": 2000, + "gdp_year": -99, + "economy": "7. Least developed region", + "income_grp": "5. Low income", + "wikipedia": -99, + "fips_10": null, + "iso_a2": "MR", + "iso_a3": "MRT", + "iso_n3": "478", + "un_a3": "478", + "wb_a2": "MR", + "wb_a3": "MRT", + "woe_id": -99, + "adm0_a3_is": "MRT", + "adm0_a3_us": "MRT", + "adm0_a3_un": -99, + "adm0_a3_wb": -99, + "continent": "Africa", + "region_un": "Africa", + "subregion": "Western Africa", + "region_wb": "Sub-Saharan Africa", + "name_len": 10, + "long_len": 10, + "abbrev_len": 4, + "tiny": -99, + "homepart": 1, + "filename": "MRT.geojson" + }, + "geometry": { + "type": "MultiPolygon", + "coordinates": [ + [ + [ + [-16.373339843749985, 19.706445312499994], + [-16.437548828124932, 19.609277343749994], + [-16.465966796874937, 19.64638671875002], + [-16.477001953124983, 19.71035156249999], + [-16.420166015624943, 19.80195312500001], + [-16.393261718749955, 19.84926757812505], + [-16.343652343749994, 19.86621093750003], + [-16.373339843749985, 19.706445312499994] + ] + ], + [ + [ + [-6.16879882812492, 21.28554687499999], + [-6.140332031249982, 21.036865234375057], + [-6.111816406249943, 20.788183593750006], + [-6.083398437499937, 20.539501953124983], + [-6.054882812499983, 20.290869140625034], + [-6.02641601562496, 20.0421875], + [-5.997949218749937, 19.793505859375045], + [-5.969482421875, 19.54487304687504], + [-5.941015624999977, 19.29619140624999], + [-5.9125, 19.04750976562505], + [-5.884082031250017, 18.798876953125017], + [-5.855566406249976, 18.550244140624983], + [-5.827099609374955, 18.301562500000045], + [-5.798632812500016, 18.05292968750001], + [-5.770166015624966, 17.804248046875074], + [-5.741699218749942, 17.555566406250023], + [-5.713183593750017, 17.306884765625], + [-5.684765624999983, 17.058251953124966], + [-5.65625, 16.80957031250003], + [-5.628662109375028, 16.568652343750045], + [-5.50961914062492, 16.442041015625023], + [-5.359912109374989, 16.282861328124994], + [-5.403564453124999, 16.057910156250017], + [-5.455615234374932, 15.789404296875006], + [-5.5125, 15.496289062499983], + [-5.723876953124972, 15.496289062499983], + [-5.927832031249949, 15.496289062499983], + [-6.131787109374926, 15.496240234374964], + [-6.335742187500017, 15.496191406250063], + [-6.539648437499977, 15.496191406250063], + [-6.743603515624955, 15.496191406250063], + [-6.94755859374996, 15.496191406250063], + [-7.151513671874937, 15.496191406250063], + [-7.35546875, 15.496191406250063], + [-7.559375, 15.496142578125045], + [-7.763378906249982, 15.496142578125045], + [-7.967285156249943, 15.496142578125045], + [-8.17124023437492, 15.496142578125045], + [-8.375195312499926, 15.496142578125045], + [-8.579150390624989, 15.496142578125045], + [-8.783105468749966, 15.496093750000027], + [-8.987060546874972, 15.496093750000027], + [-9.176806640624989, 15.496093750000027], + [-9.293701171875, 15.502832031249994], + [-9.335449218749972, 15.525683593750017], + [-9.350585937499941, 15.677392578125023], + [-9.38535156249992, 15.667626953124993], + [-9.4265625, 15.623046875000057], + [-9.447705078124926, 15.574853515624994], + [-9.440332031249937, 15.51166992187501], + [-9.446923828124937, 15.458203124999955], + [-9.577832031249955, 15.437255859375027], + [-9.755078124999926, 15.401464843750034], + [-9.941406249999972, 15.373779296874984], + [-10.129541015625023, 15.383691406249964], + [-10.19375, 15.396044921874989], + [-10.262109374999937, 15.416015624999972], + [-10.411816406249955, 15.437939453125011], + [-10.493164062500028, 15.439794921875034], + [-10.586572265624937, 15.43486328124999], + [-10.696582031249989, 15.42265625], + [-10.731982421874989, 15.394921875000037], + [-10.815087890624966, 15.28173828124997], + [-10.895605468749949, 15.150488281249975], + [-10.948242187499998, 15.151123046875014], + [-11.007421874999977, 15.222900390624986], + [-11.169335937500023, 15.358642578125014], + [-11.365625, 15.536767578124964], + [-11.455224609374994, 15.62539062499999], + [-11.502685546874972, 15.636816406250006], + [-11.59672851562496, 15.573242187500027], + [-11.675878906249919, 15.512060546875006], + [-11.760156249999937, 15.425537109375057], + [-11.7984375, 15.342724609374969], + [-11.828759765624966, 15.244873046875014], + [-11.842236328124955, 15.129394531250028], + [-11.872851562499989, 14.995166015625031], + [-11.94091796875, 14.886914062500011], + [-12.02158203124992, 14.804931640625], + [-12.08154296874997, 14.766357421875055], + [-12.104687499999955, 14.74536132812504], + [-12.28061523437492, 14.80903320312504], + [-12.30253906249996, 14.816992187499975], + [-12.40869140625, 14.889013671874991], + [-12.459863281249937, 14.97465820312503], + [-12.543554687499949, 15.039013671874997], + [-12.659619140624955, 15.082080078124974], + [-12.735253906249993, 15.13125], + [-12.7703125, 15.186669921874966], + [-12.813183593749983, 15.223535156250021], + [-12.858496093749977, 15.242529296874977], + [-12.862646484374919, 15.262402343750038], + [-12.851904296874949, 15.289648437499991], + [-12.862695312499937, 15.340429687500034], + [-12.930859374999983, 15.453027343749966], + [-12.994335937499926, 15.504882812500055], + [-13.048535156249955, 15.496630859375045], + [-13.079296874999926, 15.510449218750038], + [-13.097900390624972, 15.535253906250032], + [-13.105273437499987, 15.57177734375], + [-13.142382812499989, 15.603320312500044], + [-13.206445312499994, 15.616894531249953], + [-13.258007812499926, 15.700390625000011], + [-13.297021484374966, 15.853857421875006], + [-13.347558593749966, 15.973486328125034], + [-13.409667968749998, 16.059179687500006], + [-13.4541015625, 16.091113281250017], + [-13.486962890624937, 16.097021484374977], + [-13.498144531249975, 16.11030273437501], + [-13.506982421875023, 16.13520507812504], + [-13.555517578124949, 16.144042968749968], + [-13.623535156249943, 16.118310546874966], + [-13.684667968749977, 16.12690429687504], + [-13.714941406249919, 16.168798828125034], + [-13.756640624999989, 16.172509765624994], + [-13.809814453124972, 16.138037109374977], + [-13.86845703124993, 16.148144531250008], + [-13.932617187499943, 16.202880859375057], + [-13.968164062499994, 16.257226562500023], + [-13.975048828124983, 16.311132812500006], + [-14.085644531249955, 16.418847656249994], + [-14.300097656249932, 16.58027343750001], + [-14.533740234374932, 16.655957031249983], + [-14.786718749999947, 16.64589843749999], + [-14.928613281249993, 16.65351562500001], + [-14.959521484374989, 16.678906249999955], + [-14.990625, 16.67690429687499], + [-15.02192382812501, 16.64746093750003], + [-15.05522460937496, 16.640966796875034], + [-15.09057617187497, 16.657373046875023], + [-15.112646484374919, 16.64492187500005], + [-15.121435546874947, 16.603613281249977], + [-15.210546874999975, 16.582617187500063], + [-15.379980468749949, 16.58198242187501], + [-15.516699218750006, 16.556591796874983], + [-15.620800781249983, 16.50659179687503], + [-15.768212890624996, 16.485107421875], + [-15.958984374999943, 16.49213867187501], + [-16.074023437499932, 16.51044921875001], + [-16.113281249999943, 16.540136718750006], + [-16.168359374999966, 16.54707031250001], + [-16.23901367187497, 16.53129882812499], + [-16.30229492187499, 16.45131835937505], + [-16.358105468749983, 16.30717773437499], + [-16.404345703124985, 16.224902343750017], + [-16.44101562499992, 16.20454101562504], + [-16.480078124999977, 16.097216796875017], + [-16.50205078124992, 15.91733398437506], + [-16.53525390624995, 15.838378906250055], + [-16.53574218749995, 16.28681640625001], + [-16.48129882812495, 16.454248046875023], + [-16.463623046875, 16.60151367187501], + [-16.34667968749997, 16.926416015625023], + [-16.207470703124955, 17.192578124999983], + [-16.07890625, 17.54584960937501], + [-16.030322265625014, 17.887939453124968], + [-16.046728515624977, 18.223144531250053], + [-16.084960937499943, 18.52119140625001], + [-16.15009765624998, 18.71816406249999], + [-16.213085937499926, 19.003320312500023], + [-16.305908203125025, 19.15380859375003], + [-16.476171874999977, 19.285058593750023], + [-16.514453124999957, 19.361962890624994], + [-16.474804687499955, 19.390625], + [-16.371289062499926, 19.410253906250063], + [-16.305273437499974, 19.51264648437504], + [-16.44487304687499, 19.47314453124997], + [-16.283398437499955, 19.787158203125017], + [-16.23320312499996, 20.000976562500057], + [-16.241162109374983, 20.14125976562502], + [-16.21044921875003, 20.22792968750002], + [-16.333740234375, 20.415869140625006], + [-16.42978515624995, 20.652343750000053], + [-16.479199218749983, 20.689794921875034], + [-16.530419921875023, 20.70952148437507], + [-16.534912109374943, 20.654003906250036], + [-16.562695312499923, 20.604150390624994], + [-16.622509765624955, 20.63417968749999], + [-16.72836914062492, 20.806152343750025], + [-16.876074218749917, 21.086132812499955], + [-16.92792968750001, 21.114794921875045], + [-16.971142578124926, 21.076464843750045], + [-16.998242187499926, 21.039697265625023], + [-17.04804687499995, 20.806152343750025], + [-17.06396484375, 20.89882812499999], + [-17.042382812499966, 21.00800781250004], + [-17.00590820312499, 21.142431640624977], + [-16.96455078125001, 21.329248046875023], + [-16.83632812499999, 21.329394531250045], + [-16.60703125, 21.329638671875017], + [-16.377734374999985, 21.329931640624977], + [-16.1484375, 21.33022460937505], + [-15.91914062500001, 21.33046875], + [-15.689794921875006, 21.330761718749983], + [-15.460546874999922, 21.33105468750003], + [-15.231201171875, 21.331298828125], + [-15.001904296874924, 21.331591796875042], + [-14.772607421875023, 21.331884765625034], + [-14.543261718750019, 21.332128906249977], + [-14.313964843750028, 21.33242187500005], + [-14.084667968749924, 21.33271484375001], + [-13.855371093749936, 21.332958984374983], + [-13.626025390624932, 21.333251953125025], + [-13.396728515624943, 21.333544921875014], + [-13.167431640624926, 21.333789062500074], + [-13.016210937499949, 21.33393554687501], + [-13.025097656249983, 21.466796874999968], + [-13.032226562500028, 21.572070312500014], + [-13.041748046875, 21.71381835937504], + [-13.051220703124983, 21.85478515625007], + [-13.060644531249947, 21.995751953124994], + [-13.069580078124998, 22.12817382812497], + [-13.07846679687492, 22.26044921875001], + [-13.086767578124949, 22.383251953124983], + [-13.094335937499977, 22.49599609375005], + [-13.107324218749937, 22.56074218750001], + [-13.15595703125001, 22.689306640625006], + [-13.166503906250028, 22.753222656250045], + [-13.153271484374983, 22.820507812499983], + [-13.12089843749996, 22.884082031250074], + [-13.031494140624943, 23.000244140625], + [-12.895996093749972, 23.089550781250008], + [-12.739599609375006, 23.19272460937506], + [-12.62041015624996, 23.271337890625002], + [-12.559375, 23.290820312500045], + [-12.372900390624977, 23.318017578124994], + [-12.226171874999949, 23.377490234375045], + [-12.083349609374977, 23.43544921875002], + [-12.023437499999943, 23.467578125000017], + [-12.016308593749983, 23.57646484374999], + [-12.016308593749983, 23.697900390625023], + [-12.016308593749983, 23.834033203125045], + [-12.016308593749983, 23.97021484375], + [-12.016308593749983, 24.106347656250023], + [-12.016308593749983, 24.242480468750045], + [-12.016308593749983, 24.378662109375], + [-12.016308593749983, 24.514794921875023], + [-12.016308593749983, 24.650976562500034], + [-12.016308593749983, 24.78710937499997], + [-12.016308593749983, 24.923242187499994], + [-12.016308593749983, 25.059375], + [-12.016308593749983, 25.19555664062497], + [-12.016308593749983, 25.331689453124994], + [-12.016308593749983, 25.467871093750034], + [-12.016308593749983, 25.604003906250057], + [-12.016308593749983, 25.740136718749994], + [-12.016308593749983, 25.876318359375006], + [-12.016308593749983, 25.995410156250017], + [-11.866650390624955, 25.995410156250017], + [-11.680371093749955, 25.995410156250017], + [-11.494042968749994, 25.995410156250017], + [-11.307714843749949, 25.995410156250017], + [-11.121386718749932, 25.995458984375034], + [-10.935107421874989, 25.995458984375034], + [-10.748779296874943, 25.995458984375034], + [-10.562451171874926, 25.995458984375034], + [-10.376123046874966, 25.995458984375034], + [-10.189794921874947, 25.995458984375034], + [-10.00351562499992, 25.995458984375034], + [-9.8171875, 25.995458984375034], + [-9.630859374999943, 25.995507812500048], + [-9.444531249999981, 25.995507812500048], + [-9.258203124999966, 25.995507812500048], + [-9.071923828124937, 25.995507812500048], + [-8.885644531249994, 25.995507812500048], + [-8.682226562499947, 25.995507812500048], + [-8.68212890625, 26.109472656250006], + [-8.68212890625, 26.273193359375053], + [-8.682324218749955, 26.49770507812505], + [-8.682617187500028, 26.723144531250057], + [-8.682861328124972, 26.92133789062501], + [-8.683105468749943, 27.119287109375023], + [-8.683349609375, 27.285937500000045], + [-8.495312499999955, 27.17534179687499], + [-8.307275390624936, 27.064746093750017], + [-8.119238281250006, 26.954150390625045], + [-7.931152343749972, 26.84355468749999], + [-7.743115234374925, 26.732958984375017], + [-7.55507812499999, 26.622363281250045], + [-7.36699218749996, 26.51176757812499], + [-7.178906249999926, 26.401171875000017], + [-6.990869140624965, 26.290576171875042], + [-6.802832031249949, 26.179980468749957], + [-6.61474609375, 26.069433593750002], + [-6.426708984374983, 25.958789062500017], + [-6.238671874999937, 25.848193359375042], + [-6.050585937499989, 25.737597656249985], + [-5.862548828124972, 25.627001953125017], + [-5.674511718749954, 25.516406250000045], + [-5.516943359375006, 25.423779296875008], + [-5.275, 25.274511718749977], + [-5.049511718749983, 25.135449218749983], + [-4.822607421874949, 24.99560546875], + [-5.172900390624989, 24.995410156250045], + [-5.640771484374994, 24.99516601562499], + [-5.959814453124976, 24.994970703125063], + [-6.287207031249977, 24.994824218750008], + [-6.594091796874977, 24.99462890624997], + [-6.567382812499943, 24.76679687500001], + [-6.538964843749937, 24.518164062499977], + [-6.510449218749983, 24.269482421874955], + [-6.482031249999977, 24.020800781250014], + [-6.453515624999937, 23.772167968749983], + [-6.425048828125, 23.523486328125014], + [-6.396582031249976, 23.274804687499994], + [-6.368115234374926, 23.026123046875057], + [-6.339648437499989, 22.777490234375023], + [-6.311132812499977, 22.528857421874985], + [-6.282714843749942, 22.28017578125005], + [-6.254199218749989, 22.031542968750017], + [-6.225732421874966, 21.782861328124966], + [-6.197265624999942, 21.53417968750003], + [-6.16879882812492, 21.28554687499999] + ] + ] + ] + } + }, + { + "type": "Feature", + "properties": { + "scalerank": 1, + "featurecla": "Admin-0 country", + "labelrank": 3, + "sovereignt": "Niger", + "sov_a3": "NER", + "adm0_dif": 0, + "level": 2, + "type": "Sovereign country", + "admin": "Niger", + "adm0_a3": "NER", + "geou_dif": 0, + "geounit": "Niger", + "gu_a3": "NER", + "su_dif": 0, + "subunit": "Niger", + "su_a3": "NER", + "brk_diff": 0, + "name": "Niger", + "name_long": "Niger", + "brk_a3": "NER", + "brk_name": "Niger", + "brk_group": null, + "abbrev": "Niger", + "postal": "NE", + "formal_en": "Republic of Niger", + "formal_fr": null, + "note_adm0": null, + "note_brk": null, + "name_sort": "Niger", + "name_alt": null, + "mapcolor7": 4, + "mapcolor8": 5, + "mapcolor9": 3, + "mapcolor13": 13, + "pop_est": 15306252, + "gdp_md_est": 10040, + "pop_year": -99, + "lastcensus": 2001, + "gdp_year": -99, + "economy": "7. Least developed region", + "income_grp": "5. Low income", + "wikipedia": -99, + "fips_10": null, + "iso_a2": "NE", + "iso_a3": "NER", + "iso_n3": "562", + "un_a3": "562", + "wb_a2": "NE", + "wb_a3": "NER", + "woe_id": -99, + "adm0_a3_is": "NER", + "adm0_a3_us": "NER", + "adm0_a3_un": -99, + "adm0_a3_wb": -99, + "continent": "Africa", + "region_un": "Africa", + "subregion": "Western Africa", + "region_wb": "Sub-Saharan Africa", + "name_len": 5, + "long_len": 5, + "abbrev_len": 5, + "tiny": -99, + "homepart": 1, + "filename": "NER.geojson" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [14.979003906250002, 22.99619140624999], + [15.088964843750007, 22.41835937499999], + [15.172265625000021, 21.922070312499997], + [15.177832031250006, 21.60581054687499], + [15.181835937500011, 21.523388671874997], + [15.215820312499998, 21.467431640624994], + [15.293652343750011, 21.411523437499994], + [15.607324218750023, 20.954394531250003], + [15.540332031250017, 20.874902343749994], + [15.587109375000011, 20.733300781249994], + [15.66845703125, 20.67236328125], + [15.929296875, 20.399853515624997], + [15.963183593750019, 20.346191406249996], + [15.948828125, 20.303173828124994], + [15.766210937500004, 19.982568359374994], + [15.73505859375001, 19.904052734375], + [15.698632812500021, 19.49521484374999], + [15.672949218750006, 19.206787109375], + [15.637597656250023, 18.810839843750003], + [15.595507812500017, 18.337060546874994], + [15.5615234375, 17.937255859374996], + [15.516699218750006, 17.408496093750003], + [15.47431640625001, 16.908398437499994], + [15.212109375000011, 16.63388671874999], + [14.746679687500007, 16.14663085937499], + [14.367968750000017, 15.750146484374994], + [14.17822265625, 15.48476562499999], + [13.80712890625, 14.966113281250003], + [13.642382812500017, 14.630761718749994], + [13.513671875, 14.455517578124997], + [13.448242187499998, 14.380664062500003], + [13.505761718750023, 14.134423828124994], + [13.606347656250023, 13.70458984375], + [13.426953125000011, 13.701757812499991], + [13.323828125, 13.670849609374997], + [13.19384765625, 13.573046875], + [13.0484375, 13.53452148437499], + [12.871679687500004, 13.449023437500003], + [12.759960937500011, 13.38037109375], + [12.654785156249998, 13.3265625], + [12.510156250000023, 13.1943359375], + [12.463183593750017, 13.09375], + [12.319042968750011, 13.073681640624997], + [12.117968750000017, 13.090429687499991], + [11.990039062500017, 13.19179687499999], + [11.693359375, 13.297705078124991], + [11.501074218750006, 13.340527343749997], + [11.411914062500017, 13.353613281249991], + [10.958886718750023, 13.371533203124997], + [10.475878906250017, 13.330224609374994], + [10.229589843750004, 13.281005859375], + [10.184667968750004, 13.270117187499991], + [10.045117187500011, 13.206152343749991], + [9.929296875, 13.13525390625], + [9.615917968750011, 12.81064453124999], + [9.201562500000021, 12.821484375], + [8.957617187500006, 12.857470703124989], + [8.750585937500006, 12.908154296874997], + [8.4560546875, 13.059667968749991], + [8.095019531250017, 13.291162109374993], + [7.955761718750011, 13.32275390625], + [7.830468750000022, 13.34091796874999], + [7.788671875, 13.337890625], + [7.357812500000023, 13.107177734374998], + [7.274707031250016, 13.112255859374997], + [7.173046875000011, 13.08632812499999], + [7.106054687500006, 13.029101562499989], + [7.056738281250006, 13.000195312499997], + [7.005078125000011, 12.995556640624997], + [6.937207031250011, 13.00820312499999], + [6.870605468749999, 13.043261718749987], + [6.804296875, 13.107666015625], + [6.6265625, 13.3642578125], + [6.589941406250006, 13.409130859374995], + [6.514062500000023, 13.485400390625003], + [6.386328125, 13.603613281249991], + [6.2998046875, 13.658789062499991], + [6.247167968750006, 13.672998046874993], + [6.18427734375001, 13.66367187499999], + [5.838183593750016, 13.765380859375], + [5.491992187500017, 13.872851562500003], + [5.415820312500017, 13.859179687500001], + [5.361621093750017, 13.836865234374995], + [5.241894531250011, 13.757226562499994], + [5.100878906250017, 13.742724609375001], + [4.921679687500017, 13.749121093749991], + [4.823339843750005, 13.759765625], + [4.664843750000017, 13.733203125], + [4.559472656250023, 13.701806640624993], + [4.42138671875, 13.647509765625001], + [4.2421875, 13.501074218749991], + [4.190820312500023, 13.482128906249997], + [4.147558593750006, 13.457714843749997], + [4.087402343749999, 13.055468749999989], + [4.038769531250011, 12.93466796874999], + [3.947851562500006, 12.775048828124994], + [3.769238281250011, 12.622167968749991], + [3.646679687500011, 12.529980468749997], + [3.643847656250017, 12.4052734375], + [3.634179687500023, 12.201611328124997], + [3.632519531250011, 12.061572265624989], + [3.640625, 11.970361328124994], + [3.6201171875, 11.926953125], + [3.61181640625, 11.887304687499991], + [3.618457031250017, 11.82773437499999], + [3.647363281250023, 11.799658203124991], + [3.664746093750011, 11.762451171875], + [3.653125, 11.731835937499994], + [3.595410156250011, 11.6962890625], + [3.53173828125, 11.78745117187499], + [3.449804687500005, 11.85195312499999], + [3.359960937500005, 11.88046875], + [3.299121093750017, 11.927148437499994], + [3.267382812500017, 11.991894531249997], + [3.149609375000011, 12.118066406249994], + [2.878125, 12.367724609374989], + [2.850195312500006, 12.373681640624994], + [2.805273437500006, 12.383837890624989], + [2.728515625, 12.353613281249991], + [2.681347656250011, 12.312792968749989], + [2.6484375, 12.296777343749993], + [2.598437500000017, 12.294335937499994], + [2.469335937500005, 12.262792968749991], + [2.366015625000017, 12.221923828125], + [2.36328125, 12.188427734374997], + [2.412695312500006, 11.999316406249989], + [2.38916015625, 11.897070312499991], + [2.343359375, 11.945996093749997], + [2.194433593750006, 12.136474609375], + [2.09140625, 12.277978515624994], + [2.072949218750011, 12.309375], + [2.058398437500017, 12.357958984374987], + [2.068554687500011, 12.379150390625], + [2.109375, 12.393847656249989], + [2.203808593750011, 12.41259765625], + [2.221386718750011, 12.42724609375], + [2.226269531250011, 12.466064453125], + [2.211523437500006, 12.538427734374991], + [2.159765625, 12.636425781249997], + [2.104589843750006, 12.701269531249991], + [2.073828125, 12.713964843749991], + [2.017382812500017, 12.716210937499994], + [1.956152343750006, 12.70742187499999], + [1.840917968750006, 12.627880859374997], + [1.789843750000017, 12.61328125], + [1.671093750000011, 12.619824218749997], + [1.56494140625, 12.635400390624994], + [1.50048828125, 12.676464843749997], + [1.308691406250006, 12.834277343749989], + [1.096777343750005, 13.001123046874994], + [1.007910156250006, 13.024804687499994], + [0.9873046875, 13.041894531249994], + [0.973046875000023, 13.170361328124997], + [0.976757812500011, 13.324511718750001], + [0.988476562500011, 13.36484375], + [1.076855468750011, 13.340771484374995], + [1.1708984375, 13.329589843749998], + [1.201171875, 13.357519531249991], + [1.1259765625, 13.412353515625], + [1.017871093750017, 13.467871093749991], + [0.977734375000011, 13.551953125], + [0.946582031250017, 13.581152343749991], + [0.89794921875, 13.6109375], + [0.84228515625, 13.626416015624997], + [0.786035156250023, 13.650048828124994], + [0.747753906250011, 13.674511718749995], + [0.6845703125, 13.685400390624991], + [0.6181640625, 13.703417968750003], + [0.522363281250023, 13.839746093749993], + [0.42919921875, 13.972119140624997], + [0.3740234375, 14.076367187499995], + [0.354882812500023, 14.139013671874991], + [0.382519531250011, 14.245800781249997], + [0.354589843750006, 14.288037109374995], + [0.250585937500006, 14.396435546874995], + [0.163867187500017, 14.497216796874993], + [0.18505859375, 14.65292968749999], + [0.202734375, 14.7828125], + [0.203808593750011, 14.865039062500005], + [0.217480468750011, 14.911474609374991], + [0.228710937500011, 14.963671875], + [0.286230468750006, 14.980175781249997], + [0.433007812500023, 14.979003906250002], + [0.718652343750023, 14.954882812500005], + [0.947460937500011, 14.982128906249997], + [0.960058593750006, 14.98691406249999], + [1.121289062500011, 15.126123046874993], + [1.300195312500023, 15.272265625], + [1.569140625000017, 15.286474609374991], + [1.859375, 15.301708984374997], + [2.088183593750017, 15.309375], + [2.420800781250023, 15.32041015624999], + [2.689648437500011, 15.329882812500003], + [3.001074218750006, 15.340966796874994], + [3.010546875000017, 15.40830078124999], + [3.029394531250006, 15.424853515625003], + [3.06015625, 15.427197265624995], + [3.2890625, 15.391113281249998], + [3.504296875000022, 15.356347656249993], + [3.5205078125, 15.483105468749997], + [3.709570312500006, 15.641699218749991], + [3.816503906250006, 15.674023437499995], + [3.842968750000011, 15.701708984375001], + [3.876953125, 15.755273437499994], + [3.89794921875, 15.83798828124999], + [3.9072265625, 15.89682617187499], + [3.947070312500017, 15.94565429687499], + [3.976171875, 16.03554687499999], + [4.01484375000001, 16.19272460937499], + [4.121289062500011, 16.357714843750003], + [4.18212890625, 16.581787109375], + [4.191210937500017, 16.79819335937499], + [4.202929687500017, 16.9626953125], + [4.234667968750017, 16.996386718750003], + [4.233691406250017, 17.28842773437499], + [4.232714843750017, 17.582177734374994], + [4.23193359375, 17.830517578124997], + [4.230859375000023, 18.139453125], + [4.22998046875, 18.410595703124994], + [4.22900390625, 18.704345703125], + [4.228222656250011, 18.968066406250003], + [4.227636718750006, 19.142773437499997], + [4.445703125000023, 19.184521484374997], + [4.671289062500023, 19.227783203125], + [5.001367187500022, 19.291064453125003], + [5.358691406250016, 19.359521484374994], + [5.748339843750017, 19.434228515624994], + [5.836621093750011, 19.479150390624994], + [6.130664062500016, 19.731982421875003], + [6.26337890625001, 19.846142578124997], + [6.527050781250011, 20.072949218749997], + [6.73066406250001, 20.248046875], + [6.989355468750006, 20.470507812500003], + [7.26337890625001, 20.694482421874994], + [7.481738281250017, 20.873095703125003], + [7.825195312500001, 21.075585937499994], + [8.343066406250017, 21.380859375], + [8.8609375, 21.68613281249999], + [9.378710937500017, 21.99140625], + [9.896484375, 22.29672851562499], + [10.414355468750017, 22.602001953124994], + [10.932226562500006, 22.907275390625003], + [11.45, 23.212597656249994], + [11.967871093750006, 23.517871093750003], + [12.48876953125, 23.40166015625], + [12.983593750000011, 23.291259765625], + [13.48125, 23.18017578125], + [13.5986328125, 23.11953125], + [13.862695312500023, 22.902099609375], + [14.20068359375, 22.623730468749997], + [14.21552734375001, 22.619677734375003], + [14.230761718750017, 22.618457031250003], + [14.5556640625, 22.782519531250003], + [14.978906250000023, 22.996289062499994], + [14.979003906250002, 22.99619140624999] + ] + ] + } + }, + { + "type": "Feature", + "properties": { + "scalerank": 1, + "featurecla": "Admin-0 country", + "labelrank": 3, + "sovereignt": "Madagascar", + "sov_a3": "MDG", + "adm0_dif": 0, + "level": 2, + "type": "Sovereign country", + "admin": "Madagascar", + "adm0_a3": "MDG", + "geou_dif": 0, + "geounit": "Madagascar", + "gu_a3": "MDG", + "su_dif": 0, + "subunit": "Madagascar", + "su_a3": "MDG", + "brk_diff": 0, + "name": "Madagascar", + "name_long": "Madagascar", + "brk_a3": "MDG", + "brk_name": "Madagascar", + "brk_group": null, + "abbrev": "Mad.", + "postal": "MG", + "formal_en": "Republic of Madagascar", + "formal_fr": null, + "note_adm0": null, + "note_brk": null, + "name_sort": "Madagascar", + "name_alt": null, + "mapcolor7": 6, + "mapcolor8": 5, + "mapcolor9": 2, + "mapcolor13": 3, + "pop_est": 20653556, + "gdp_md_est": 20130, + "pop_year": -99, + "lastcensus": 1993, + "gdp_year": -99, + "economy": "7. Least developed region", + "income_grp": "5. Low income", + "wikipedia": -99, + "fips_10": null, + "iso_a2": "MG", + "iso_a3": "MDG", + "iso_n3": "450", + "un_a3": "450", + "wb_a2": "MG", + "wb_a3": "MDG", + "woe_id": -99, + "adm0_a3_is": "MDG", + "adm0_a3_us": "MDG", + "adm0_a3_un": -99, + "adm0_a3_wb": -99, + "continent": "Africa", + "region_un": "Africa", + "subregion": "Eastern Africa", + "region_wb": "Sub-Saharan Africa", + "name_len": 10, + "long_len": 10, + "abbrev_len": 4, + "tiny": -99, + "homepart": 1, + "filename": "MDG.geojson" + }, + "geometry": { + "type": "MultiPolygon", + "coordinates": [ + [ + [ + [49.936425781249994, -16.90292968750002], + [49.82402343750001, -17.08652343750002], + [49.85566406250004, -16.933203124999963], + [49.9859375, -16.712402343750014], + [50.02304687500006, -16.6953125], + [49.936425781249994, -16.90292968750002] + ] + ], + [ + [ + [48.3421875, -13.363867187500034], + [48.34355468750002, -13.400390625000014], + [48.21191406250003, -13.385253906249957], + [48.191210937500074, -13.259960937500011], + [48.255664062500074, -13.256054687500011], + [48.2697265625001, -13.20458984375], + [48.308886718750074, -13.198242187499957], + [48.35107421875003, -13.309570312499986], + [48.3421875, -13.363867187500034] + ] + ], + [ + [ + [49.53828125000004, -12.432128906250014], + [49.58417968750009, -12.53671875], + [49.63779296875006, -12.637109375000035], + [49.80498046875001, -12.879687499999987], + [49.87646484375003, -12.97304687499999], + [49.9375, -13.072265624999957], + [49.96718750000005, -13.270214843749969], + [50.0734375000001, -13.577929687500031], + [50.17382812500003, -14.040234374999983], + [50.204589843749964, -14.514453124999958], + [50.23535156249997, -14.732031249999961], + [50.313476562499964, -14.936816406250031], + [50.441308593749994, -15.149316406249978], + [50.482714843750074, -15.385644531249994], + [50.404589843750074, -15.629101562500024], + [50.29150390625003, -15.858496093750048], + [50.262304687500006, -15.901562500000026], + [50.20898437499997, -15.960449218750027], + [50.184960937499994, -15.957812500000033], + [50.09443359375004, -15.898632812500052], + [50.02041015625005, -15.801757812500027], + [49.92656250000001, -15.573535156249987], + [49.89257812500003, -15.457714843750011], + [49.85332031250002, -15.439453125000028], + [49.74375, -15.449511718750031], + [49.66435546875007, -15.521582031249977], + [49.64990234374997, -15.566992187499991], + [49.66699218749997, -15.695703125], + [49.697070312500074, -15.811425781250051], + [49.71044921874997, -15.92890625], + [49.712792968749994, -16.076757812500002], + [49.74228515625006, -16.12148437499998], + [49.78593750000007, -16.159082031249994], + [49.83105468750003, -16.255859375], + [49.83906250000004, -16.486523437499997], + [49.81132812500007, -16.60302734375003], + [49.73398437500006, -16.703027343749966], + [49.73857421875002, -16.758398437499963], + [49.767187500000055, -16.81513671874998], + [49.73974609374997, -16.849414062500028], + [49.6369140625001, -16.892871093750003], + [49.59521484375003, -16.931152343749986], + [49.53955078124997, -17.032910156250026], + [49.44931640625006, -17.240625], + [49.43710937500006, -17.3466796875], + [49.49365234375003, -17.669531249999963], + [49.477832031250074, -17.89853515624999], + [49.362890625, -18.336328125], + [49.296875, -18.54404296875005], + [49.20332031250003, -18.79228515624999], + [49.06005859374997, -19.11962890624997], + [48.91806640625, -19.53046875000001], + [48.797460937500006, -19.953222656249977], + [48.708300781250074, -20.207324218749974], + [48.60703125000006, -20.457519531249957], + [48.46855468750007, -20.9], + [48.35078125000004, -21.349023437500037], + [48.17587890625006, -21.843066406249974], + [47.934472656249994, -22.393945312500023], + [47.9083984375001, -22.465820312500014], + [47.858300781249994, -22.74726562499997], + [47.804101562499994, -22.99150390624999], + [47.73945312500004, -23.23339843749997], + [47.604101562500006, -23.63310546874996], + [47.588671875000074, -23.75634765625003], + [47.55800781250005, -23.874609374999963], + [47.42763671874999, -24.125195312500026], + [47.372558593749964, -24.218457031250026], + [47.333593750000055, -24.31757812499997], + [47.31171875000004, -24.443164062499974], + [47.272851562499994, -24.564355468749962], + [47.17734375, -24.787207031249977], + [47.034960937500074, -24.97900390624997], + [46.93818359375004, -25.048730468749966], + [46.72851562499997, -25.14990234374997], + [46.6222656250001, -25.170410156249986], + [46.38671874999997, -25.17275390625001], + [46.15869140624997, -25.230371093750023], + [45.92089843750002, -25.341308593749986], + [45.692187500000074, -25.46845703125004], + [45.60458984375006, -25.528710937499962], + [45.5080078125001, -25.56318359374997], + [45.2057617187501, -25.57050781250004], + [45.11523437500003, -25.543066406249963], + [44.812890625000044, -25.33417968750004], + [44.69580078125002, -25.299707031250037], + [44.4738281250001, -25.271093749999977], + [44.40673828125003, -25.25332031249999], + [44.34589843750004, -25.226074218749957], + [44.256152343750074, -25.116894531249997], + [44.078125, -25.024609375000026], + [44.0353515625001, -24.995703125], + [44.00830078125003, -24.93203125], + [43.98984375000006, -24.863476562499983], + [43.94375, -24.786718749999977], + [43.90957031250005, -24.640625], + [43.85156249999997, -24.538378906250003], + [43.6875, -24.357910156250014], + [43.67001953125, -24.300292968749996], + [43.656835937500006, -24.108789062499962], + [43.66210937500003, -23.979199218750036], + [43.64609375, -23.741894531250008], + [43.6647460937501, -23.63027343750001], + [43.722265625, -23.529687500000037], + [43.69873046875003, -23.420898437499986], + [43.637597656249994, -23.30654296875005], + [43.61464843749999, -23.188183593749997], + [43.56953125000004, -23.08046875], + [43.397851562499994, -22.88632812499996], + [43.357519531250006, -22.790820312499957], + [43.32958984375003, -22.691894531249968], + [43.2648437500001, -22.38359375], + [43.25712890625001, -22.276367187499957], + [43.26660156249997, -22.04931640624997], + [43.29052734374997, -21.93251953124998], + [43.33222656250004, -21.85117187500002], + [43.34267578125005, -21.790429687499994], + [43.369726562500006, -21.73828125000003], + [43.41054687499999, -21.69648437500004], + [43.43779296875002, -21.64667968750001], + [43.501855468750044, -21.356445312499954], + [43.58310546875006, -21.29199218749997], + [43.70361328125002, -21.254980468749977], + [43.800195312499994, -21.179199218749982], + [43.8556640625001, -21.07685546875001], + [43.91113281250002, -20.865820312500006], + [44.06308593750006, -20.65625], + [44.11718749999997, -20.54609374999997], + [44.23964843749999, -20.3796875], + [44.34814453124997, -20.145507812499986], + [44.3810546875001, -20.03515624999997], + [44.40468750000005, -19.922070312500026], + [44.43222656250006, -19.67421875], + [44.45292968750002, -19.55087890624999], + [44.44882812500006, -19.428710937499968], + [44.386523437500074, -19.303125], + [44.23876953124997, -19.075195312499986], + [44.23398437500006, -19.03261718750001], + [44.245703125000055, -18.86318359375005], + [44.23310546875004, -18.740625], + [44.17871093749997, -18.618554687500037], + [44.10878906250005, -18.503515624999963], + [44.04003906249997, -18.28847656250002], + [44.00664062500002, -17.933007812499994], + [44.01367187500002, -17.804492187500017], + [43.99355468750005, -17.690332031250023], + [43.94355468750004, -17.58144531250005], + [43.979394531249994, -17.3916015625], + [44.42138671874997, -16.70263671874997], + [44.43574218750004, -16.621484374999966], + [44.41796874999997, -16.411328125000054], + [44.427050781250074, -16.289062500000014], + [44.442480468750006, -16.24375], + [44.476171875, -16.217285156249957], + [44.551855468750006, -16.20449218750001], + [44.90917968749997, -16.174511718750026], + [44.95507812499997, -16.15332031249997], + [45.04423828125002, -16.095117187500023], + [45.16679687500001, -15.982812499999964], + [45.2228515625001, -15.95048828124996], + [45.27128906250002, -15.962304687499966], + [45.30234375, -16.010449218749997], + [45.3421875, -16.03671875000002], + [45.48632812500003, -15.985839843749957], + [45.541796875000074, -15.984277343749994], + [45.598242187500006, -15.992578125], + [45.62470703125004, -15.945800781249972], + [45.640527343749994, -15.883105468749987], + [45.661523437499994, -15.838867187499956], + [45.70019531249997, -15.813769531249989], + [45.8859375000001, -15.800097656249958], + [46.00429687500005, -15.782128906250021], + [46.157519531250074, -15.738281249999972], + [46.19052734375006, -15.746875], + [46.3140625, -15.904589843750015], + [46.35156249999997, -15.918164062500024], + [46.3996093750001, -15.924609375000019], + [46.44160156250004, -15.895898437500023], + [46.34130859374997, -15.813378906249993], + [46.32617187499997, -15.766699218749991], + [46.331445312499994, -15.71367187500003], + [46.38515625, -15.600097656249988], + [46.47509765625002, -15.513476562500003], + [46.67470703124999, -15.381835937500012], + [46.88203125000004, -15.229589843749991], + [46.942285156249994, -15.219042968749973], + [46.99326171875, -15.2431640625], + [47.032324218750055, -15.422656249999973], + [47.02744140625, -15.452246093749963], + [47.06054687500003, -15.456347656250003], + [47.09921875, -15.434179687500018], + [47.133398437500006, -15.36171875], + [47.135156250000044, -15.3015625], + [47.107324218750044, -15.243847656249967], + [47.09375, -15.195019531249967], + [47.092578125000074, -15.150097656249967], + [47.19765625, -15.044042968750032], + [47.28046875000004, -14.942675781249987], + [47.31875, -14.821777343749957], + [47.35195312500005, -14.766113281249988], + [47.43906250000006, -14.703320312499983], + [47.46474609375005, -14.713281249999966], + [47.4850585937501, -14.764355468749981], + [47.496386718750074, -14.81835937499997], + [47.47402343750005, -14.871972656249966], + [47.44208984375004, -14.925], + [47.42919921874997, -14.995703125000034], + [47.47832031250002, -15.009375], + [47.524707031250074, -14.992187500000028], + [47.592578125000074, -14.8642578125], + [47.670019531250006, -14.743261718750034], + [47.71601562500004, -14.680371093750011], + [47.774023437500055, -14.63671875], + [47.870410156250074, -14.645507812500014], + [47.964160156250074, -14.672558593750026], + [47.811523437499964, -14.544824218750023], + [47.773339843749994, -14.369921875], + [47.955175781250006, -14.067285156249994], + [47.95693359375005, -14.004296875000037], + [47.983203125000074, -13.984863281249984], + [47.995507812499994, -13.960449218749986], + [47.901367187499964, -13.85820312500003], + [47.88359375000002, -13.807519531250009], + [47.89599609374997, -13.730664062499983], + [47.941015625000055, -13.662402343750017], + [47.981835937500044, -13.614648437499966], + [48.03984375000002, -13.596289062499961], + [48.08593750000003, -13.622558593749986], + [48.187109375, -13.706542968750043], + [48.255273437500044, -13.719335937499975], + [48.337695312500074, -13.638671874999972], + [48.40507812500002, -13.537988281249978], + [48.50644531250006, -13.46875], + [48.62138671875002, -13.425976562499983], + [48.796484375, -13.267480468750023], + [48.91035156250004, -12.93583984374996], + [48.91943359375003, -12.839062499999969], + [48.89423828125004, -12.721679687500028], + [48.853808593750074, -12.610156249999958], + [48.78632812500004, -12.470898437500011], + [48.8039062500001, -12.440039062500034], + [48.89960937500003, -12.458496093749972], + [48.931738281250006, -12.4390625], + [49.0357421875, -12.315820312500037], + [49.20703124999997, -12.079589843749957], + [49.26347656250002, -12.080175781249991], + [49.31210937500006, -12.123925781250023], + [49.330175781250006, -12.188671874999983], + [49.36396484375003, -12.236328125000014], + [49.47978515625001, -12.348437500000015], + [49.53828125000004, -12.432128906250014] + ] + ] + ] + } + }, + { + "type": "Feature", + "properties": { + "scalerank": 1, + "featurecla": "Admin-0 country", + "labelrank": 2, + "sovereignt": "Nigeria", + "sov_a3": "NGA", + "adm0_dif": 0, + "level": 2, + "type": "Sovereign country", + "admin": "Nigeria", + "adm0_a3": "NGA", + "geou_dif": 0, + "geounit": "Nigeria", + "gu_a3": "NGA", + "su_dif": 0, + "subunit": "Nigeria", + "su_a3": "NGA", + "brk_diff": 0, + "name": "Nigeria", + "name_long": "Nigeria", + "brk_a3": "NGA", + "brk_name": "Nigeria", + "brk_group": null, + "abbrev": "Nigeria", + "postal": "NG", + "formal_en": "Federal Republic of Nigeria", + "formal_fr": null, + "note_adm0": null, + "note_brk": null, + "name_sort": "Nigeria", + "name_alt": null, + "mapcolor7": 3, + "mapcolor8": 2, + "mapcolor9": 5, + "mapcolor13": 2, + "pop_est": 149229090, + "gdp_md_est": 335400, + "pop_year": -99, + "lastcensus": 2006, + "gdp_year": -99, + "economy": "5. Emerging region: G20", + "income_grp": "4. Lower middle income", + "wikipedia": -99, + "fips_10": null, + "iso_a2": "NG", + "iso_a3": "NGA", + "iso_n3": "566", + "un_a3": "566", + "wb_a2": "NG", + "wb_a3": "NGA", + "woe_id": -99, + "adm0_a3_is": "NGA", + "adm0_a3_us": "NGA", + "adm0_a3_un": -99, + "adm0_a3_wb": -99, + "continent": "Africa", + "region_un": "Africa", + "subregion": "Western Africa", + "region_wb": "Sub-Saharan Africa", + "name_len": 7, + "long_len": 7, + "abbrev_len": 7, + "tiny": -99, + "homepart": 1, + "filename": "NGA.geojson" + }, + "geometry": { + "type": "MultiPolygon", + "coordinates": [ + [ + [ + [7.30078125, 4.418164062500026], + [7.203906250000045, 4.387646484375026], + [7.140429687500017, 4.395117187500034], + [7.227343750000045, 4.527343749999972], + [7.271386718750051, 4.498925781250051], + [7.327929687500017, 4.487207031249966], + [7.30078125, 4.418164062500026] + ] + ], + [ + [ + [5.838183593749989, 13.765380859375057], + [6.184277343750068, 13.66367187500002], + [6.247167968750006, 13.672998046874966], + [6.2998046875, 13.658789062500006], + [6.386328125000034, 13.603613281250048], + [6.514062500000023, 13.485400390625031], + [6.589941406250034, 13.40913085937504], + [6.626562500000034, 13.364257812500043], + [6.804296875, 13.107666015625], + [6.870605468749999, 13.043261718750017], + [6.937207031249983, 13.00820312499998], + [7.005078125000039, 12.995556640624983], + [7.056738281250006, 13.00019531250004], + [7.106054687500006, 13.029101562499974], + [7.173046875000068, 13.08632812499999], + [7.274707031250016, 13.112255859375038], + [7.357812500000051, 13.107177734374986], + [7.788671875, 13.337890625], + [7.83046875000008, 13.34091796874999], + [7.955761718750011, 13.322753906250028], + [8.095019531250045, 13.291162109374978], + [8.456054687499972, 13.059667968749991], + [8.750585937500034, 12.908154296875026], + [8.957617187500034, 12.857470703125003], + [9.20156250000008, 12.82148437500004], + [9.615917968750011, 12.810644531249963], + [9.929296875, 13.135253906250014], + [10.045117187500068, 13.206152343749991], + [10.184667968750063, 13.270117187499963], + [10.229589843749977, 13.281005859375043], + [10.475878906250074, 13.330224609375037], + [10.958886718750051, 13.371533203125011], + [11.411914062500074, 13.353613281250006], + [11.501074218750032, 13.340527343750011], + [11.693359375000028, 13.297705078124991], + [11.990039062500074, 13.19179687499999], + [12.117968750000017, 13.090429687500034], + [12.31904296875004, 13.073681640624997], + [12.463183593750017, 13.09375], + [12.51015625000008, 13.194335937499972], + [12.654785156250057, 13.3265625], + [12.759960937499983, 13.380371093750043], + [12.871679687500004, 13.449023437499989], + [13.04843750000006, 13.534521484375004], + [13.19384765625, 13.573046875000031], + [13.323828125000034, 13.670849609374983], + [13.426953125000068, 13.701757812499963], + [13.606347656250023, 13.704589843750014], + [13.763476562500074, 13.489550781249989], + [13.932324218750011, 13.258496093749995], + [14.063964843749998, 13.078515625], + [14.160058593750023, 12.612792968749986], + [14.17031250000008, 12.524072265625023], + [14.177636718750051, 12.484082031250054], + [14.184863281250017, 12.447216796874997], + [14.197460937500011, 12.383789062500043], + [14.272851562500021, 12.356494140624989], + [14.415429687500021, 12.344140624999966], + [14.518945312500051, 12.298242187500023], + [14.58095703125008, 12.222070312499966], + [14.587011718750063, 12.209423828125054], + [14.619726562500063, 12.150976562500048], + [14.627148437500068, 12.108691406249958], + [14.618164062500028, 11.98662109374996], + [14.597363281250038, 11.829833984374986], + [14.561816406250074, 11.728710937499997], + [14.581640625000032, 11.591162109375034], + [14.575390625000011, 11.532421874999969], + [14.559765625000011, 11.492285156249963], + [14.496093750000028, 11.446142578124977], + [14.409472656250045, 11.401171874999974], + [14.20234375000004, 11.268164062499963], + [14.143261718750068, 11.248535156250043], + [14.056738281250034, 11.245019531250037], + [13.981445312500057, 11.21186523437504], + [13.892089843750055, 11.140087890624983], + [13.699902343749981, 10.873144531250048], + [13.53535156250004, 10.605078124999963], + [13.478515625, 10.383251953124981], + [13.414550781250028, 10.171435546874987], + [13.269921875000051, 10.036181640624974], + [13.249804687500045, 9.960058593750006], + [13.24375, 9.91591796874998], + [13.238769531250027, 9.814013671875003], + [13.22119140625, 9.64516601562498], + [13.198730468750028, 9.563769531250003], + [13.175488281250011, 9.539648437499977], + [13.019433593749994, 9.488330078125003], + [12.929492187500074, 9.426269531249972], + [12.87568359375004, 9.303515625000017], + [12.85595703125, 9.170751953124963], + [12.824414062500068, 9.019433593750051], + [12.80654296875008, 8.886621093749994], + [12.7822265625, 8.817871093750014], + [12.731152343750068, 8.74565429687496], + [12.651562500000011, 8.667773437499989], + [12.58271484375004, 8.624121093749977], + [12.40351562500004, 8.59555664062502], + [12.311328125000072, 8.419726562499989], + [12.2333984375, 8.282324218749977], + [12.231152343749983, 8.227392578124977], + [12.15595703125004, 7.942480468750019], + [12.025195312500045, 7.727783203124985], + [12.016601562499972, 7.652001953124993], + [12.016015625000051, 7.589746093750009], + [11.852441406250023, 7.400732421874963], + [11.809179687500006, 7.345068359374991], + [11.767382812500017, 7.272265624999989], + [11.808593750000057, 7.201953124999974], + [11.854785156250045, 7.137988281249989], + [11.861425781249977, 7.11640625000004], + [11.787011718750023, 7.056201171875031], + [11.657519531250017, 6.951562500000022], + [11.580078125000057, 6.88886718750004], + [11.562988281250028, 6.854638671874994], + [11.551660156250021, 6.697265625], + [11.529101562500045, 6.655029296875014], + [11.477539062500028, 6.597412109374999], + [11.401757812500051, 6.533935546875028], + [11.324609375000051, 6.48466796875003], + [11.237304687500028, 6.450537109375006], + [11.153320312500057, 6.437939453125011], + [11.1064453125, 6.457714843750053], + [11.079687500000063, 6.505517578125023], + [11.032519531250045, 6.697900390625037], + [11.00869140625008, 6.739111328125006], + [10.954199218750006, 6.7765625], + [10.846484375000072, 6.881787109375026], + [10.737597656250017, 6.988281250000043], + [10.60625, 7.063085937500006], + [10.578125, 7.057714843749977], + [10.55634765625004, 7.037451171875034], + [10.519042968749972, 6.930468749999989], + [10.482324218750051, 6.891259765624994], + [10.413183593750006, 6.877734375], + [10.293066406250034, 6.876757812499974], + [10.205468750000051, 6.891601562499986], + [10.185546874999972, 6.91279296875004], + [10.167773437500017, 6.959179687499983], + [10.143554687500057, 6.99643554687502], + [10.038867187500045, 6.921386718750013], + [9.874218750000068, 6.803271484375017], + [9.82070312500008, 6.783935546874985], + [9.779882812500034, 6.760156250000023], + [9.725585937499972, 6.65], + [9.659960937500017, 6.531982421874986], + [9.574023437500017, 6.470410156249969], + [9.490234375, 6.418652343749997], + [9.442187500000074, 6.373388671875006], + [9.373339843750074, 6.319628906249989], + [9.23876953125, 6.186132812499963], + [9.060156250000034, 6.009082031250045], + [8.997167968750006, 5.917724609375], + [8.935058593750057, 5.781005859375028], + [8.898828125000023, 5.629687500000016], + [8.859179687500045, 5.463769531249966], + [8.800976562499983, 5.197460937499983], + [8.715625, 5.046875], + [8.640527343750078, 4.927001953125043], + [8.585156249999983, 4.832812500000031], + [8.555859375000068, 4.755224609375034], + [8.54375, 4.757812500000028], + [8.514843750000068, 4.724707031250034], + [8.431347656250011, 4.74624023437498], + [8.393652343750063, 4.813769531249974], + [8.342089843750045, 4.824755859374989], + [8.252734375000045, 4.92397460937505], + [8.23378906250008, 4.907470703124972], + [8.328027343750021, 4.656103515625006], + [8.293066406250006, 4.557617187500014], + [8.028515625000011, 4.555371093749997], + [7.800781250000056, 4.522265625], + [7.644238281250067, 4.525341796875011], + [7.565625, 4.5609375], + [7.530761718750028, 4.655175781249994], + [7.517382812500074, 4.645458984374968], + [7.509472656250039, 4.594921874999983], + [7.459863281250079, 4.555224609374974], + [7.284375, 4.547656250000031], + [7.20673828125001, 4.612060546875], + [7.143847656250074, 4.684082031250028], + [7.076562500000051, 4.716162109374991], + [7.086914062500028, 4.685839843750031], + [7.164160156250033, 4.615576171875006], + [7.15468750000008, 4.514404296875], + [7.013378906250068, 4.397314453125048], + [6.92324218750008, 4.390673828125017], + [6.867871093750068, 4.441113281249997], + [6.839160156249989, 4.523486328124988], + [6.82470703125, 4.645263671875014], + [6.787597656250057, 4.724707031250034], + [6.767675781250006, 4.724707031250034], + [6.786035156250023, 4.652001953124965], + [6.79218750000001, 4.592626953125047], + [6.793066406250034, 4.469140625000023], + [6.860351562500057, 4.373339843750045], + [6.757031250000068, 4.343554687500017], + [6.715136718750045, 4.342431640624965], + [6.633007812500011, 4.340234375000051], + [6.617285156250006, 4.37578125], + [6.6015625, 4.45517578125002], + [6.579980468750051, 4.475976562499994], + [6.554589843750023, 4.34140625000002], + [6.5, 4.331933593750051], + [6.462109375000011, 4.333154296875023], + [6.2998046875, 4.303857421875009], + [6.263671875, 4.309423828124991], + [6.255957031250034, 4.334472656250028], + [6.275292968750051, 4.371679687499977], + [6.270996093749972, 4.432128906250028], + [6.214648437500045, 4.385498046875028], + [6.205566406250057, 4.29228515624996], + [6.173339843749971, 4.277392578125031], + [6.07656250000008, 4.290625], + [5.970703125, 4.338574218749983], + [5.906445312500039, 4.38774414062496], + [5.798632812500016, 4.455957031249994], + [5.587792968750051, 4.647216796874972], + [5.553613281250022, 4.733203124999989], + [5.493261718749977, 4.838769531250008], + [5.448144531250023, 4.945849609374974], + [5.383300781250057, 5.129003906249976], + [5.403222656250023, 5.142285156250026], + [5.452148437500057, 5.126562500000019], + [5.475976562500023, 5.153857421874989], + [5.38828125, 5.17377929687504], + [5.370019531250023, 5.195019531250026], + [5.364160156250051, 5.259277343750057], + [5.367968750000045, 5.337744140624963], + [5.439257812499988, 5.365332031249991], + [5.500878906250023, 5.378613281250026], + [5.531835937500033, 5.426367187499991], + [5.549707031250023, 5.474218749999963], + [5.385839843750034, 5.401757812500037], + [5.232421875000057, 5.483789062499966], + [5.199218750000028, 5.533544921874977], + [5.215820312500028, 5.571679687500023], + [5.289062500000028, 5.577490234375048], + [5.393847656250074, 5.574511718749974], + [5.456640624999977, 5.61171875], + [5.418066406250034, 5.624707031249983], + [5.350292968749983, 5.623291015625057], + [5.325292968750063, 5.647949218750013], + [5.32734375000001, 5.707519531249986], + [5.305371093750068, 5.694335937500043], + [5.276269531250023, 5.64155273437504], + [5.1728515625, 5.602734375000039], + [5.112402343750034, 5.64155273437504], + [5.10625, 5.728125], + [5.093066406250074, 5.767089843750043], + [5.042089843750006, 5.797509765625023], + [4.861035156250068, 6.026318359374997], + [4.633593749999988, 6.2171875], + [4.431347656250011, 6.348583984375026], + [4.125878906250023, 6.411376953125028], + [3.486621093750017, 6.408935546874972], + [3.450781249999977, 6.427050781250017], + [3.489941406250068, 6.457275390625043], + [3.54609375000004, 6.47744140624998], + [3.751660156250011, 6.583837890624991], + [3.71699218750004, 6.597949218750017], + [3.503320312500023, 6.531347656250034], + [3.430175781250057, 6.525], + [3.335546875000063, 6.396923828125011], + [2.7724609375, 6.375732421875042], + [2.706445312500051, 6.369238281249962], + [2.7080078125, 6.427685546874969], + [2.735644531250045, 6.595703125], + [2.753710937499989, 6.661767578124966], + [2.774609374999983, 6.711718750000016], + [2.752929687500028, 6.771630859374966], + [2.731738281250045, 6.852832031249989], + [2.721386718750068, 6.980273437500017], + [2.74775390625004, 7.019824218749989], + [2.75673828125008, 7.067919921875017], + [2.750585937500063, 7.143212890624994], + [2.750488281250057, 7.39506835937496], + [2.765820312500068, 7.42250976562505], + [2.783984375000045, 7.443408203125045], + [2.78515625, 7.476855468750016], + [2.750976562500056, 7.541894531250036], + [2.719335937500006, 7.616259765625003], + [2.72041015625004, 7.723095703124996], + [2.707714843750039, 7.82661132812504], + [2.686035156250056, 7.873730468750054], + [2.702343750000011, 8.049804687500043], + [2.711523437500006, 8.272998046875031], + [2.703125, 8.371826171875], + [2.7236328125, 8.441894531249986], + [2.734667968750017, 8.614013671875057], + [2.732910156250028, 8.782519531250001], + [2.774804687500023, 9.048535156250026], + [2.898046875, 9.061376953124977], + [3.044921875, 9.08383789062502], + [3.110449218750034, 9.188281249999989], + [3.148046875000034, 9.320605468750031], + [3.136132812500023, 9.451611328124983], + [3.164648437500063, 9.49467773437496], + [3.223437500000045, 9.565625], + [3.329492187500051, 9.667041015625003], + [3.325195312499972, 9.778466796875051], + [3.3544921875, 9.812792968750031], + [3.404785156250028, 9.83862304687504], + [3.476757812500039, 9.851904296875006], + [3.557226562500005, 9.907324218750006], + [3.60205078125, 10.004541015625009], + [3.645898437500051, 10.16015625], + [3.576562500000023, 10.268359375000017], + [3.577929687500045, 10.292480468750057], + [3.604101562500062, 10.350683593750006], + [3.646582031250005, 10.408984374999989], + [3.680273437500034, 10.427783203124989], + [3.758496093750068, 10.412695312500034], + [3.771777343750017, 10.417626953124966], + [3.783789062500062, 10.435888671875048], + [3.83447265625, 10.607421875], + [3.8296875, 10.653759765625026], + [3.7568359375, 10.76875], + [3.744921875000045, 10.850439453125034], + [3.734179687500073, 10.971923828124998], + [3.71640625, 11.07958984375], + [3.695312499999971, 11.120312500000038], + [3.65625, 11.154589843750003], + [3.63886718750004, 11.176855468750006], + [3.487792968749971, 11.395410156250037], + [3.490527343750017, 11.499218750000054], + [3.55390625000004, 11.631884765624987], + [3.595410156250068, 11.696289062500057], + [3.653125, 11.731835937500009], + [3.664746093750068, 11.762451171875028], + [3.647363281250079, 11.799658203124977], + [3.618457031250045, 11.827734375], + [3.611816406250028, 11.887304687499977], + [3.620117187500028, 11.926953124999969], + [3.640625, 11.970361328125023], + [3.632519531250068, 12.061572265625045], + [3.634179687500051, 12.201611328124969], + [3.643847656250073, 12.405273437499986], + [3.646679687500011, 12.529980468749983], + [3.76923828125004, 12.622167968750034], + [3.947851562500006, 12.775048828124994], + [4.03876953125004, 12.934667968750004], + [4.087402343749999, 13.055468750000017], + [4.147558593750006, 13.457714843749983], + [4.190820312500023, 13.482128906249983], + [4.242187500000028, 13.501074218750034], + [4.421386718750028, 13.647509765625015], + [4.55947265625008, 13.70180664062498], + [4.664843750000045, 13.733203124999974], + [4.823339843750005, 13.759765624999972], + [4.921679687500074, 13.74912109375002], + [5.100878906250074, 13.74272460937506], + [5.241894531250011, 13.757226562499994], + [5.361621093750073, 13.836865234375054], + [5.415820312500017, 13.859179687499974], + [5.491992187500074, 13.872851562500003], + [5.838183593749989, 13.765380859375057] + ] + ] + ] + } + }, + { + "type": "Feature", + "properties": { + "scalerank": 1, + "featurecla": "Admin-0 country", + "labelrank": 3, + "sovereignt": "Mali", + "sov_a3": "MLI", + "adm0_dif": 0, + "level": 2, + "type": "Sovereign country", + "admin": "Mali", + "adm0_a3": "MLI", + "geou_dif": 0, + "geounit": "Mali", + "gu_a3": "MLI", + "su_dif": 0, + "subunit": "Mali", + "su_a3": "MLI", + "brk_diff": 0, + "name": "Mali", + "name_long": "Mali", + "brk_a3": "MLI", + "brk_name": "Mali", + "brk_group": null, + "abbrev": "Mali", + "postal": "ML", + "formal_en": "Republic of Mali", + "formal_fr": null, + "note_adm0": null, + "note_brk": null, + "name_sort": "Mali", + "name_alt": null, + "mapcolor7": 1, + "mapcolor8": 4, + "mapcolor9": 1, + "mapcolor13": 7, + "pop_est": 12666987, + "gdp_md_est": 14590, + "pop_year": -99, + "lastcensus": 2009, + "gdp_year": -99, + "economy": "7. Least developed region", + "income_grp": "5. Low income", + "wikipedia": -99, + "fips_10": null, + "iso_a2": "ML", + "iso_a3": "MLI", + "iso_n3": "466", + "un_a3": "466", + "wb_a2": "ML", + "wb_a3": "MLI", + "woe_id": -99, + "adm0_a3_is": "MLI", + "adm0_a3_us": "MLI", + "adm0_a3_un": -99, + "adm0_a3_wb": -99, + "continent": "Africa", + "region_un": "Africa", + "subregion": "Western Africa", + "region_wb": "Sub-Saharan Africa", + "name_len": 4, + "long_len": 4, + "abbrev_len": 4, + "tiny": -99, + "homepart": 1, + "filename": "MLI.geojson" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [4.227636718750006, 19.142773437499997], + [4.228222656250011, 18.968066406250003], + [4.22900390625, 18.704345703125], + [4.22998046875, 18.410595703124994], + [4.230859375000023, 18.139453125], + [4.23193359375, 17.830517578124997], + [4.232714843750017, 17.582177734374994], + [4.233691406250017, 17.28842773437499], + [4.234667968750017, 16.996386718750003], + [4.202929687500017, 16.9626953125], + [4.191210937500017, 16.79819335937499], + [4.18212890625, 16.581787109375], + [4.121289062500011, 16.357714843750003], + [4.01484375000001, 16.19272460937499], + [3.976171875, 16.03554687499999], + [3.947070312500017, 15.94565429687499], + [3.9072265625, 15.89682617187499], + [3.89794921875, 15.83798828124999], + [3.876953125, 15.755273437499994], + [3.842968750000011, 15.701708984375001], + [3.816503906250006, 15.674023437499995], + [3.709570312500006, 15.641699218749991], + [3.5205078125, 15.483105468749997], + [3.504296875000022, 15.356347656249993], + [3.2890625, 15.391113281249998], + [3.06015625, 15.427197265624995], + [3.029394531250006, 15.424853515625003], + [3.010546875000017, 15.40830078124999], + [3.001074218750006, 15.340966796874994], + [2.689648437500011, 15.329882812500003], + [2.420800781250023, 15.32041015624999], + [2.088183593750017, 15.309375], + [1.859375, 15.301708984374997], + [1.569140625000017, 15.286474609374991], + [1.300195312500023, 15.272265625], + [1.121289062500011, 15.126123046874993], + [0.960058593750006, 14.98691406249999], + [0.947460937500011, 14.982128906249997], + [0.718652343750023, 14.954882812500005], + [0.433007812500023, 14.979003906250002], + [0.286230468750006, 14.980175781249997], + [0.228710937500011, 14.963671875], + [0.217480468750011, 14.911474609374991], + [0.00732421875, 14.984814453124995], + [-0.235888671874989, 15.059423828124991], + [-0.405419921874994, 15.0125], + [-0.432275390624994, 15.028515625], + [-0.454492187499994, 15.05966796874999], + [-0.536523437499994, 15.077880859374998], + [-0.666455078124983, 15.069775390624995], + [-0.760449218749983, 15.047753906249994], + [-0.907958984375, 14.937402343749996], + [-1.019189453124994, 14.841357421875003], + [-1.049560546875, 14.81953125], + [-1.204980468749994, 14.761523437500001], + [-1.49365234375, 14.626074218749991], + [-1.657324218749977, 14.526806640624995], + [-1.695068359375, 14.508496093749995], + [-1.767773437499983, 14.486035156249997], + [-1.879785156249994, 14.481494140625003], + [-1.97304687499999, 14.456542968749998], + [-2.05712890625, 14.194628906250003], + [-2.113232421874983, 14.16845703125], + [-2.457226562499983, 14.274121093749995], + [-2.526904296874989, 14.25830078125], + [-2.586718749999989, 14.227587890625003], + [-2.778857421874989, 14.073730468749998], + [-2.873925781249994, 13.950732421875003], + [-2.925878906249977, 13.786767578124994], + [-2.918505859374989, 13.736376953125003], + [-2.917089843749977, 13.679492187500001], + [-2.950830078124994, 13.6484375], + [-2.997216796874994, 13.63710937499999], + [-3.038671874999977, 13.639111328124995], + [-3.198437499999983, 13.6728515625], + [-3.248632812499977, 13.658349609374994], + [-3.270166015624994, 13.577441406250003], + [-3.266748046874994, 13.40078125], + [-3.3017578125, 13.28076171875], + [-3.396728515625, 13.243701171875003], + [-3.469921874999983, 13.196386718749991], + [-3.527636718749988, 13.18271484374999], + [-3.575781249999977, 13.194189453124991], + [-3.853466796874983, 13.37353515625], + [-3.947314453124989, 13.402197265624991], + [-4.05117187499999, 13.38242187499999], + [-4.151025390624994, 13.306201171875003], + [-4.196191406249994, 13.256152343750001], + [-4.258691406249994, 13.197314453124987], + [-4.328710937499976, 13.119042968749993], + [-4.310253906249983, 13.052490234374998], + [-4.260644531249994, 12.975341796875], + [-4.225244140624994, 12.879492187499991], + [-4.227099609374989, 12.793701171874998], + [-4.480615234374994, 12.672216796874991], + [-4.459863281249994, 12.63037109375], + [-4.421923828124989, 12.581591796874989], + [-4.421582031249983, 12.493066406249994], + [-4.4287109375, 12.337597656249997], + [-4.479882812499994, 12.281787109374989], + [-4.546044921874994, 12.226464843749994], + [-4.5869140625, 12.155029296875], + [-4.627246093749989, 12.120214843749991], + [-4.699316406249977, 12.076171875], + [-4.797949218749977, 12.032128906249994], + [-4.968994140625, 11.993310546874994], + [-5.105908203124983, 11.967529296875], + [-5.157519531249988, 11.9423828125], + [-5.230175781249983, 11.890283203124994], + [-5.288134765624989, 11.827929687499989], + [-5.302001953124999, 11.760449218749995], + [-5.29052734375, 11.683300781249997], + [-5.270312499999988, 11.619873046874998], + [-5.244775390624994, 11.57675781249999], + [-5.229394531249994, 11.522460937499998], + [-5.250244140625, 11.375781249999989], + [-5.299853515624989, 11.205957031249994], + [-5.347412109375, 11.130273437499993], + [-5.42421875, 11.088720703124991], + [-5.490478515625, 11.042382812499994], + [-5.468554687499989, 10.931054687499994], + [-5.457080078124989, 10.771386718749994], + [-5.475683593749977, 10.643945312499994], + [-5.479003906249999, 10.565087890624994], + [-5.507031249999983, 10.483447265624989], + [-5.523535156249976, 10.426025390625], + [-5.556591796874983, 10.43994140625], + [-5.694287109374983, 10.43320312499999], + [-5.843847656249977, 10.389550781249994], + [-5.896191406249983, 10.354736328125], + [-5.907568359374977, 10.307226562499991], + [-5.940673828125, 10.275097656249997], + [-5.98867187499999, 10.23911132812499], + [-6.034570312499994, 10.19482421875], + [-6.1171875, 10.201904296875], + [-6.196875, 10.232128906249997], + [-6.238378906249976, 10.261621093749994], + [-6.241308593749977, 10.279199218749993], + [-6.214990234374994, 10.322363281249991], + [-6.192626953125, 10.369433593749989], + [-6.190673828125, 10.400292968749994], + [-6.217773437499999, 10.476269531249997], + [-6.239746093749999, 10.558105468749998], + [-6.230664062499982, 10.597509765624991], + [-6.250244140625, 10.717919921874994], + [-6.261132812499994, 10.724072265624997], + [-6.365625, 10.692822265624997], + [-6.404150390624977, 10.685107421874989], + [-6.425878906249977, 10.671777343749994], + [-6.4326171875, 10.648730468749989], + [-6.407519531249989, 10.572363281249991], + [-6.423925781249977, 10.559130859374989], + [-6.482617187499983, 10.561230468749997], + [-6.564599609374994, 10.58642578125], + [-6.654150390624977, 10.656445312499997], + [-6.676367187499977, 10.6337890625], + [-6.686132812499977, 10.578027343749994], + [-6.691992187499977, 10.512011718749989], + [-6.669335937499994, 10.3921875], + [-6.693261718749993, 10.349462890624991], + [-6.753222656249989, 10.357128906249997], + [-6.833642578124994, 10.356982421874989], + [-6.90380859375, 10.34506835937499], + [-6.950341796874994, 10.342333984374989], + [-6.9794921875, 10.299560546875], + [-6.991748046874988, 10.251855468749994], + [-6.963818359374983, 10.198730468749998], + [-6.968164062499994, 10.176220703124997], + [-6.989453124999983, 10.155664062499994], + [-7.017089843749999, 10.143261718749997], + [-7.039746093749983, 10.144775390625], + [-7.104882812499993, 10.20351562499999], + [-7.182324218749983, 10.225683593749991], + [-7.363183593749993, 10.259375], + [-7.38505859374999, 10.340136718749989], + [-7.414794921875, 10.34130859375], + [-7.45654296875, 10.383935546874993], + [-7.497949218749993, 10.439794921874991], + [-7.532812499999976, 10.436816406249989], + [-7.562109374999977, 10.421240234374991], + [-7.6611328125, 10.427441406249997], + [-7.749072265624989, 10.34228515625], + [-7.814208984374999, 10.236572265625], + [-7.884082031249988, 10.185742187499997], + [-7.9609375, 10.163476562499994], + [-7.990625, 10.1625], + [-7.974462890624976, 10.229541015624989], + [-7.985693359374977, 10.278417968749991], + [-8.007275390624983, 10.321875], + [-8.231494140624989, 10.43798828125], + [-8.266650390624989, 10.485986328124994], + [-8.301562499999989, 10.61757812499999], + [-8.324121093749994, 10.749511718749998], + [-8.321679687499994, 10.826953124999989], + [-8.306347656249983, 10.89609375], + [-8.312744140624998, 10.949755859374987], + [-8.33740234375, 10.990625], + [-8.404492187499983, 11.029931640624994], + [-8.474707031249977, 11.048388671874989], + [-8.563525390624989, 10.996679687499991], + [-8.606201171875, 10.986962890624993], + [-8.646191406249983, 10.990478515625], + [-8.666699218749983, 11.009472656249997], + [-8.663916015624977, 11.035839843749997], + [-8.567285156249994, 11.177001953125], + [-8.520312499999989, 11.2359375], + [-8.463525390624994, 11.280712890624997], + [-8.42529296875, 11.304736328124987], + [-8.400683593749989, 11.339404296874989], + [-8.398535156249977, 11.366552734374991], + [-8.407470703125, 11.386279296874989], + [-8.470703125, 11.412207031249991], + [-8.56875, 11.478076171874989], + [-8.621142578124989, 11.485107421874998], + [-8.664941406249994, 11.514990234374991], + [-8.71142578125, 11.617773437499991], + [-8.733105468749983, 11.6375], + [-8.779736328124983, 11.648242187499989], + [-8.822021484375, 11.673242187499994], + [-8.820068359375, 11.80712890625], + [-8.818310546874983, 11.922509765624993], + [-8.913867187499989, 12.108544921874993], + [-8.950830078124994, 12.2255859375], + [-8.998925781249994, 12.345898437499997], + [-9.043066406249977, 12.40234375], + [-9.120458984374977, 12.449951171875], + [-9.215527343749983, 12.482861328124997], + [-9.3, 12.490283203124989], + [-9.365185546874983, 12.479296874999989], + [-9.395361328124977, 12.464648437499989], + [-9.393652343749977, 12.442236328124991], + [-9.3408203125, 12.366015624999989], + [-9.33154296875, 12.32373046875], + [-9.340185546874977, 12.282763671874989], + [-9.358105468749983, 12.255419921874989], + [-9.404980468749981, 12.25244140625], + [-9.48681640625, 12.228662109374994], + [-9.587744140624977, 12.182470703124991], + [-9.658300781249977, 12.143115234374987], + [-9.714746093749994, 12.04248046875], + [-9.754003906249977, 12.029931640624994], + [-9.82070312499999, 12.04248046875], + [-10.010644531249994, 12.116455078125], + [-10.167089843749977, 12.177441406249995], + [-10.274853515624983, 12.212646484375], + [-10.339892578124989, 12.190283203124991], + [-10.372753906249983, 12.179541015624991], + [-10.4658203125, 12.138671875], + [-10.589501953124994, 11.990283203124989], + [-10.618994140624977, 11.941210937499989], + [-10.643701171874994, 11.925537109374998], + [-10.677343749999977, 11.8994140625], + [-10.709228515625, 11.898730468749989], + [-10.734912109374987, 11.916455078124997], + [-10.743017578124977, 11.92724609375], + [-10.806494140624977, 12.034277343749991], + [-10.876171874999981, 12.15185546875], + [-10.933203124999977, 12.205175781249991], + [-11.004541015624994, 12.20751953125], + [-11.065820312499994, 12.170800781249994], + [-11.129248046874977, 12.095019531249989], + [-11.209667968749983, 12.024853515624997], + [-11.260693359374983, 12.004052734374994], + [-11.30517578125, 12.015429687499989], + [-11.414648437499977, 12.10400390625], + [-11.492431640625, 12.166943359374997], + [-11.502197265624998, 12.198632812499994], + [-11.474560546874983, 12.24716796874999], + [-11.447558593749989, 12.319238281249993], + [-11.418066406249977, 12.377685546875], + [-11.389404296875, 12.40439453124999], + [-11.382421874999977, 12.479248046875], + [-11.448779296874989, 12.531933593749997], + [-11.450585937499994, 12.557714843749991], + [-11.444091796875, 12.627587890624994], + [-11.414355468749989, 12.775488281249991], + [-11.417431640624983, 12.831884765624991], + [-11.390380859375, 12.941992187499991], + [-11.433935546874977, 12.991601562499994], + [-11.444140624999989, 13.028222656249993], + [-11.492822265624993, 13.086962890624989], + [-11.548779296874981, 13.170263671874991], + [-11.561669921874994, 13.236962890624994], + [-11.581347656249989, 13.2900390625], + [-11.634960937499983, 13.369873046875], + [-11.674462890624993, 13.382373046875001], + [-11.758251953124981, 13.39453125], + [-11.772216796875, 13.367089843749993], + [-11.803369140624994, 13.327294921874994], + [-11.831689453124993, 13.315820312499993], + [-11.877783203124977, 13.364550781250003], + [-11.895214843749981, 13.406298828125003], + [-11.894580078124989, 13.444433593749991], + [-11.957080078124989, 13.510888671874994], + [-12.05419921875, 13.633056640624998], + [-12.044140624999983, 13.73388671875], + [-11.984179687499989, 13.788085937499998], + [-11.966357421874989, 13.828955078124991], + [-11.960888671874983, 13.875292968750001], + [-11.988085937499989, 13.930761718749991], + [-12.020117187499977, 13.974658203125001], + [-12.011181640624983, 14.071826171875003], + [-12.019189453124994, 14.206494140624997], + [-12.068359375, 14.27421875], + [-12.112890624999977, 14.323291015625001], + [-12.175244140624981, 14.376660156249997], + [-12.228417968749993, 14.45859375], + [-12.206835937499989, 14.57114257812499], + [-12.186523437499998, 14.648144531249999], + [-12.280615234374977, 14.809033203124995], + [-12.104687499999981, 14.745361328125], + [-12.08154296875, 14.766357421875], + [-12.021582031249975, 14.804931640625], + [-11.94091796875, 14.886914062499995], + [-11.872851562499989, 14.995166015625003], + [-11.842236328124983, 15.12939453125], + [-11.828759765624994, 15.244873046874998], + [-11.798437499999977, 15.342724609374997], + [-11.76015625, 15.425537109375], + [-11.675878906249977, 15.51206054687499], + [-11.596728515624987, 15.573242187499998], + [-11.502685546875, 15.63681640624999], + [-11.455224609374994, 15.62539062499999], + [-11.365625, 15.536767578124993], + [-11.169335937499994, 15.358642578125], + [-11.007421874999977, 15.222900390625], + [-10.948242187499998, 15.151123046875002], + [-10.895605468749975, 15.150488281249991], + [-10.815087890624994, 15.28173828125], + [-10.731982421874989, 15.39492187499999], + [-10.696582031249989, 15.42265625], + [-10.586572265624994, 15.434863281250003], + [-10.4931640625, 15.439794921874991], + [-10.411816406249983, 15.437939453124995], + [-10.26210937499999, 15.416015625], + [-10.19375, 15.396044921875001], + [-10.129541015624993, 15.383691406249993], + [-9.94140625, 15.373779296875], + [-9.755078124999983, 15.40146484374999], + [-9.577832031249983, 15.437255859374998], + [-9.446923828124994, 15.458203125], + [-9.440332031249994, 15.511669921874997], + [-9.447705078124981, 15.574853515624994], + [-9.426562499999989, 15.623046875], + [-9.385351562499977, 15.667626953124993], + [-9.3505859375, 15.677392578124994], + [-9.33544921875, 15.525683593750001], + [-9.293701171875, 15.502832031249994], + [-9.176806640624989, 15.49609375], + [-8.987060546875, 15.49609375], + [-8.783105468749994, 15.49609375], + [-8.579150390624989, 15.496142578125001], + [-8.375195312499983, 15.496142578125001], + [-8.171240234374975, 15.496142578125001], + [-7.967285156249999, 15.496142578125001], + [-7.763378906249982, 15.496142578125001], + [-7.559375, 15.496142578125001], + [-7.35546875, 15.496191406249993], + [-7.151513671874994, 15.496191406249993], + [-6.947558593749989, 15.496191406249993], + [-6.743603515624983, 15.496191406249993], + [-6.539648437499977, 15.496191406249993], + [-6.335742187499988, 15.496191406249993], + [-6.131787109374982, 15.496240234374993], + [-5.927832031249977, 15.496289062499995], + [-5.723876953125, 15.496289062499995], + [-5.5125, 15.496289062499995], + [-5.455615234374989, 15.78940429687499], + [-5.403564453124999, 16.057910156250003], + [-5.359912109374989, 16.282861328124994], + [-5.509619140624976, 16.442041015624994], + [-5.628662109374999, 16.568652343750003], + [-5.65625, 16.8095703125], + [-5.684765624999983, 17.058251953124994], + [-5.713183593749989, 17.306884765625], + [-5.74169921875, 17.555566406249994], + [-5.770166015624994, 17.804248046875003], + [-5.798632812499989, 18.052929687499997], + [-5.827099609374983, 18.3015625], + [-5.855566406249976, 18.550244140624997], + [-5.884082031249988, 18.798876953125003], + [-5.9125, 19.047509765624994], + [-5.941015624999977, 19.296191406250003], + [-5.969482421875, 19.544873046874997], + [-5.997949218749994, 19.793505859375003], + [-6.026416015624989, 20.0421875], + [-6.054882812499983, 20.29086914062499], + [-6.083398437499994, 20.539501953124997], + [-6.11181640625, 20.78818359374999], + [-6.140332031249982, 21.036865234375], + [-6.168798828124976, 21.28554687499999], + [-6.197265625, 21.5341796875], + [-6.225732421874994, 21.782861328124994], + [-6.254199218749989, 22.031542968750003], + [-6.28271484375, 22.280175781249994], + [-6.311132812499977, 22.528857421875003], + [-6.339648437499989, 22.777490234374994], + [-6.368115234374983, 23.026123046875], + [-6.396582031249976, 23.274804687499994], + [-6.425048828125, 23.523486328125003], + [-6.45351562499999, 23.772167968749997], + [-6.482031249999977, 24.020800781250003], + [-6.510449218749983, 24.269482421874997], + [-6.538964843749994, 24.518164062499988], + [-6.5673828125, 24.766796875], + [-6.594091796874977, 24.99462890625], + [-6.287207031249977, 24.994824218749997], + [-5.959814453124976, 24.99497070312499], + [-5.640771484374994, 24.995166015625003], + [-5.172900390624989, 24.995410156250003], + [-4.822607421874977, 24.99560546875], + [-4.516992187499994, 24.8044921875], + [-4.240332031249977, 24.62353515625], + [-3.912792968749983, 24.409472656250003], + [-3.585351562499994, 24.195361328125003], + [-3.257861328124989, 23.98125], + [-2.930371093749983, 23.767138671875003], + [-2.602929687499994, 23.553027343750003], + [-2.275390625, 23.3388671875], + [-1.947900390624994, 23.124804687500003], + [-1.620410156249989, 22.91064453125], + [-1.29296875, 22.696533203125], + [-0.965478515624994, 22.482470703125003], + [-0.637988281249989, 22.268310546875], + [-0.310546875, 22.05419921875], + [0.016992187500023, 21.840136718750003], + [0.344433593750011, 21.6259765625], + [0.671875, 21.411865234375], + [0.999414062500023, 21.19775390625], + [1.1455078125, 21.102246093749997], + [1.1591796875, 21.0625], + [1.172753906250023, 20.981982421875], + [1.1640625, 20.891308593749997], + [1.165722656250011, 20.817431640625003], + [1.208886718750023, 20.767285156249997], + [1.290234375000011, 20.713574218749997], + [1.610644531250017, 20.555566406249994], + [1.636035156250017, 20.524365234374997], + [1.647363281250023, 20.45883789062499], + [1.685449218750023, 20.378369140624997], + [1.753222656250017, 20.331591796875003], + [1.832421875000023, 20.296875], + [1.928808593750005, 20.272705078125], + [2.219335937500006, 20.247802734375], + [2.280859375, 20.210302734374988], + [2.406152343750023, 20.063867187499994], + [2.47421875, 20.035009765624988], + [2.667773437500017, 19.992919921875], + [2.807910156250017, 19.969433593749997], + [2.86572265625, 19.955957031249994], + [2.992480468750017, 19.91660156249999], + [3.130273437500023, 19.85019531249999], + [3.203710937500006, 19.789697265624994], + [3.203417968750017, 19.770751953125], + [3.202734375, 19.718310546875003], + [3.20166015625, 19.56040039062499], + [3.22705078125, 19.473583984374997], + [3.255859375, 19.4109375], + [3.25439453125, 19.372607421875003], + [3.219628906250022, 19.345410156249997], + [3.1923828125, 19.312060546875003], + [3.17724609375, 19.268164062499988], + [3.137890625000011, 19.212158203125], + [3.106054687500005, 19.150097656249997], + [3.119726562500006, 19.103173828124994], + [3.174218750000023, 19.072900390624994], + [3.255957031250006, 19.01328125], + [3.323437500000011, 18.98837890624999], + [3.3564453125, 18.986621093750003], + [3.40087890625, 18.98842773437499], + [3.438769531250017, 18.996142578125003], + [3.683496093750022, 19.041601562499988], + [3.91015625, 19.083740234375], + [4.227636718750006, 19.142773437499997] + ] + ] + } + }, + { + "type": "Feature", + "properties": { + "scalerank": 1, + "featurecla": "Admin-0 country", + "labelrank": 7, + "sovereignt": "Western Sahara", + "sov_a3": "SAH", + "adm0_dif": 0, + "level": 2, + "type": "Indeterminate", + "admin": "Western Sahara", + "adm0_a3": "SAH", + "geou_dif": 0, + "geounit": "Western Sahara", + "gu_a3": "SAH", + "su_dif": 0, + "subunit": "Western Sahara", + "su_a3": "SAH", + "brk_diff": 1, + "name": "W. Sahara", + "name_long": "Western Sahara", + "brk_a3": "B28", + "brk_name": "W. Sahara", + "brk_group": null, + "abbrev": "W. Sah.", + "postal": "WS", + "formal_en": "Sahrawi Arab Democratic Republic", + "formal_fr": null, + "note_adm0": "Self admin.", + "note_brk": "Self admin.; Claimed by Morocco", + "name_sort": "Western Sahara", + "name_alt": null, + "mapcolor7": 4, + "mapcolor8": 7, + "mapcolor9": 4, + "mapcolor13": 4, + "pop_est": -99, + "gdp_md_est": -99, + "pop_year": -99, + "lastcensus": -99, + "gdp_year": -99, + "economy": "7. Least developed region", + "income_grp": "5. Low income", + "wikipedia": -99, + "fips_10": null, + "iso_a2": "EH", + "iso_a3": "ESH", + "iso_n3": "732", + "un_a3": "732", + "wb_a2": "-99", + "wb_a3": "-99", + "woe_id": -99, + "adm0_a3_is": "MAR", + "adm0_a3_us": "SAH", + "adm0_a3_un": -99, + "adm0_a3_wb": -99, + "continent": "Africa", + "region_un": "Africa", + "subregion": "Northern Africa", + "region_wb": "Middle East & North Africa", + "name_len": 9, + "long_len": 14, + "abbrev_len": 7, + "tiny": -99, + "homepart": 1, + "filename": "ESH.geojson" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [-8.683349609375, 27.2859375], + [-8.68310546875, 27.119287109374994], + [-8.682861328125, 26.921337890624994], + [-8.682617187499998, 26.723144531249996], + [-8.682324218749983, 26.497705078124994], + [-8.68212890625, 26.273193359375], + [-8.68212890625, 26.10947265625], + [-8.682226562499977, 25.995507812499994], + [-8.885644531249994, 25.995507812499994], + [-9.071923828124994, 25.995507812499994], + [-9.25820312499999, 25.995507812499994], + [-9.444531249999981, 25.995507812499994], + [-9.630859375, 25.995507812499994], + [-9.817187499999989, 25.99545898437499], + [-10.003515624999977, 25.99545898437499], + [-10.189794921874977, 25.99545898437499], + [-10.376123046874994, 25.99545898437499], + [-10.562451171874983, 25.99545898437499], + [-10.748779296875, 25.99545898437499], + [-10.935107421874989, 25.99545898437499], + [-11.121386718749989, 25.99545898437499], + [-11.307714843749977, 25.99541015625], + [-11.494042968749994, 25.99541015625], + [-11.680371093749983, 25.99541015625], + [-11.866650390624983, 25.99541015625], + [-12.016308593749983, 25.99541015625], + [-12.016308593749983, 25.87631835937499], + [-12.016308593749983, 25.740136718749994], + [-12.016308593749983, 25.60400390625], + [-12.016308593749983, 25.46787109374999], + [-12.016308593749983, 25.331689453124994], + [-12.016308593749983, 25.195556640625], + [-12.016308593749983, 25.059375], + [-12.016308593749983, 24.923242187499994], + [-12.016308593749983, 24.787109375], + [-12.016308593749983, 24.65097656249999], + [-12.016308593749983, 24.514794921874994], + [-12.016308593749983, 24.378662109375], + [-12.016308593749983, 24.242480468750003], + [-12.016308593749983, 24.106347656249994], + [-12.016308593749983, 23.97021484375], + [-12.016308593749983, 23.834033203125003], + [-12.016308593749983, 23.697900390624994], + [-12.016308593749983, 23.576464843750003], + [-12.0234375, 23.467578125], + [-12.083349609374977, 23.43544921874999], + [-12.226171874999977, 23.377490234375003], + [-12.372900390624977, 23.318017578124994], + [-12.559375, 23.290820312500003], + [-12.620410156249989, 23.27133789062499], + [-12.739599609374977, 23.19272460937499], + [-12.89599609375, 23.089550781249997], + [-13.031494140625, 23.000244140625], + [-13.120898437499989, 22.88408203125], + [-13.153271484374983, 22.820507812499997], + [-13.16650390625, 22.753222656250003], + [-13.155957031249983, 22.68930664062499], + [-13.107324218749993, 22.560742187499997], + [-13.094335937499977, 22.495996093749994], + [-13.086767578124977, 22.383251953124997], + [-13.078466796874977, 22.260449218749997], + [-13.069580078124998, 22.128173828125], + [-13.060644531249977, 21.995751953124994], + [-13.051220703124983, 21.854785156250003], + [-13.041748046875, 21.713818359374997], + [-13.032226562499998, 21.572070312500003], + [-13.025097656249983, 21.466796875], + [-13.016210937499977, 21.333935546874994], + [-13.167431640624981, 21.333789062500003], + [-13.396728515625, 21.333544921875003], + [-13.626025390624987, 21.333251953124996], + [-13.855371093749994, 21.332958984374997], + [-14.084667968749983, 21.332714843749994], + [-14.31396484375, 21.33242187499999], + [-14.543261718749989, 21.33212890624999], + [-14.772607421874994, 21.33188476562499], + [-15.001904296874983, 21.331591796875003], + [-15.231201171875, 21.331298828125], + [-15.460546874999975, 21.3310546875], + [-15.689794921874977, 21.330761718749997], + [-15.919140624999981, 21.33046875], + [-16.1484375, 21.33022460937499], + [-16.377734374999985, 21.32993164062499], + [-16.607031249999977, 21.329638671875003], + [-16.83632812499999, 21.32939453125], + [-16.964550781249983, 21.329248046874994], + [-17.00590820312499, 21.14243164062499], + [-17.042382812499994, 21.008007812499997], + [-17.06396484375, 20.89882812499999], + [-17.048046874999983, 20.806152343749996], + [-17.098779296874994, 20.856884765624994], + [-17.009619140624977, 21.37709960937499], + [-17.003076171874994, 21.420703125], + [-17.00297851562499, 21.420751953124988], + [-16.951123046874983, 21.430273437499988], + [-16.73095703125, 21.4703125], + [-16.58100585937498, 21.48105468749999], + [-16.190869140624983, 21.48105468749999], + [-16.041015625, 21.50058593749999], + [-15.920849609374983, 21.50058593749999], + [-15.750927734374981, 21.49082031249999], + [-15.610791015624983, 21.4703125], + [-15.4609375, 21.45078125], + [-15.290966796874981, 21.45078125], + [-15.15087890625, 21.441015624999988], + [-14.971142578124983, 21.441015624999988], + [-14.8408203125, 21.45078125], + [-14.7509765625, 21.50058593749999], + [-14.670849609374981, 21.60019531249999], + [-14.641113281250002, 21.680273437499988], + [-14.610791015624983, 21.75058593749999], + [-14.62109375, 21.82089843749999], + [-14.630859375, 21.8609375], + [-14.581005859374981, 21.91074218749999], + [-14.520996093749998, 21.99086914062499], + [-14.460888671874983, 22.040625], + [-14.44091796875, 22.08066406249999], + [-14.380810546874985, 22.12070312499999], + [-14.311035156249998, 22.19101562499999], + [-14.27099609375, 22.240820312499988], + [-14.221191406249998, 22.31015625], + [-14.2109375, 22.37070312499999], + [-14.190869140624981, 22.45078125], + [-14.190869140624981, 22.59042968749999], + [-14.170898437499998, 22.760351562499988], + [-14.141064453124983, 22.87070312499999], + [-14.12109375, 22.96054687499999], + [-14.10107421875, 23.100195312499988], + [-14.040966796874981, 23.34042968749999], + [-14.02099609375, 23.41074218749999], + [-13.980908203124983, 23.52011718749999], + [-13.931103515624983, 23.62070312499999], + [-13.89111328125, 23.69101562499999], + [-13.840771484374983, 23.750585937499988], + [-13.770947265624983, 23.790625], + [-13.661083984374983, 23.83066406249999], + [-13.5810546875, 23.87070312499999], + [-13.48095703125, 23.910742187499988], + [-13.39111328125, 23.94101562499999], + [-13.310986328124983, 23.98105468749999], + [-13.28076171875, 24.02011718749999], + [-13.23095703125, 24.090429687499988], + [-13.1611328125, 24.2203125], + [-13.12109375, 24.30039062499999], + [-13.061035156249998, 24.40097656249999], + [-12.991162109374981, 24.4703125], + [-12.947851562499977, 24.497265625], + [-12.9111328125, 24.520117187499988], + [-12.820751953124983, 24.57089843749999], + [-12.7109375, 24.63046875], + [-12.630810546874981, 24.68027343749999], + [-12.56103515625, 24.73105468749999], + [-12.5009765625, 24.77011718749999], + [-12.43115234375, 24.83066406249999], + [-12.40087890625, 24.88046875], + [-12.360839843749998, 24.9703125], + [-12.310986328124981, 25.1109375], + [-12.270947265624983, 25.260302734375003], + [-12.23095703125, 25.420507812499988], + [-12.201123046874983, 25.52011718749999], + [-12.170849609374983, 25.64023437499999], + [-12.130859375, 25.73105468749999], + [-12.101025390624983, 25.83066406249999], + [-12.0810546875, 25.87070312499999], + [-12.0810546875, 25.92050781249999], + [-12.060986328124983, 25.99082031249999], + [-12.056787109374994, 25.996337890625], + [-12.03076171875, 26.030859375], + [-11.960888671874983, 26.050390625], + [-11.880859375, 26.0708984375], + [-11.7548828125, 26.0865234375], + [-11.718212890624983, 26.1041015625], + [-11.69921875, 26.1626953125], + [-11.684521484374981, 26.213476562499995], + [-11.63720703125, 26.2955078125], + [-11.583984375, 26.3609375], + [-11.553173828124983, 26.4009765625], + [-11.511669921874983, 26.4703125], + [-11.470703125, 26.5201171875], + [-11.39990234375, 26.58359375], + [-11.337890625, 26.6333984375], + [-11.316845703124983, 26.6841796875], + [-11.316845703124983, 26.7447265625], + [-11.361279296874983, 26.7935546875], + [-11.392578125, 26.8833984375], + [-11.263623046874983, 26.910742187499995], + [-11.150341796874983, 26.941015625], + [-11.046826171874983, 26.9703125], + [-10.922802734374983, 27.0103515625], + [-10.830078125, 27.0103515625], + [-10.757763671874983, 27.0201171875], + [-10.654248046874983, 27.0005859375], + [-10.55126953125, 26.9908203125], + [-10.478955078124983, 26.960546875], + [-10.354931640624983, 26.9009765625], + [-10.25146484375, 26.8609375], + [-10.189453125, 26.8609375], + [-10.123046875, 26.88046875], + [-10.066845703124981, 26.9087890625], + [-10.03271484375, 26.910742187499995], + [-9.980908203124983, 26.890234375], + [-9.900341796874983, 26.8501953125], + [-9.81787109375, 26.8501953125], + [-9.7353515625, 26.8609375], + [-9.67333984375, 26.910742187499995], + [-9.56982421875, 26.9908203125], + [-9.4873046875, 27.050390625], + [-9.413037109374983, 27.0884765625], + [-9.352978515624983, 27.0982421875], + [-9.285595703124983, 27.0982421875], + [-9.208447265624983, 27.1001953125], + [-9.084423828124983, 27.0904296875], + [-9.001904296874983, 27.0904296875], + [-8.8890625, 27.1041015625], + [-8.794873046874983, 27.120703125], + [-8.753857421874983, 27.1509765625], + [-8.753857421874983, 27.191015625], + [-8.774365234374983, 27.250585937499995], + [-8.796826171874983, 27.308203125], + [-8.802685546874983, 27.3609375], + [-8.788964843749994, 27.416552734374996], + [-8.774365234374983, 27.460546875], + [-8.784570312499994, 27.530859375], + [-8.813916015624983, 27.613867187499995], + [-8.817773437499994, 27.655908203124994], + [-8.817822265624983, 27.656445312499997], + [-8.683349609375, 27.656445312499997], + [-8.683349609375, 27.490234375], + [-8.683349609375, 27.2859375] + ] + ] + } + }, + { + "type": "Feature", + "properties": { + "scalerank": 1, + "featurecla": "Admin-0 country", + "labelrank": 3, + "sovereignt": "South Sudan", + "sov_a3": "SDS", + "adm0_dif": 0, + "level": 2, + "type": "Sovereign country", + "admin": "South Sudan", + "adm0_a3": "SDS", + "geou_dif": 0, + "geounit": "South Sudan", + "gu_a3": "SDS", + "su_dif": 0, + "subunit": "South Sudan", + "su_a3": "SDS", + "brk_diff": 0, + "name": "S. Sudan", + "name_long": "South Sudan", + "brk_a3": "SDS", + "brk_name": "S. Sudan", + "brk_group": null, + "abbrev": "S. Sud.", + "postal": "SS", + "formal_en": "Republic of South Sudan", + "formal_fr": null, + "note_adm0": null, + "note_brk": null, + "name_sort": "South Sudan", + "name_alt": null, + "mapcolor7": 1, + "mapcolor8": 3, + "mapcolor9": 3, + "mapcolor13": 5, + "pop_est": 10625176, + "gdp_md_est": 13227, + "pop_year": -99, + "lastcensus": 2008, + "gdp_year": -99, + "economy": "7. Least developed region", + "income_grp": "5. Low income", + "wikipedia": -99, + "fips_10": null, + "iso_a2": "SS", + "iso_a3": "SSD", + "iso_n3": "728", + "un_a3": "728", + "wb_a2": "SS", + "wb_a3": "SSD", + "woe_id": -99, + "adm0_a3_is": "SSD", + "adm0_a3_us": "SDS", + "adm0_a3_un": -99, + "adm0_a3_wb": -99, + "continent": "Africa", + "region_un": "Africa", + "subregion": "Eastern Africa", + "region_wb": "Sub-Saharan Africa", + "name_len": 8, + "long_len": 11, + "abbrev_len": 7, + "tiny": -99, + "homepart": 1, + "filename": "SSD.geojson" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [33.95917968750001, 9.845263671874987], + [33.89492187500002, 9.717626953124991], + [33.8740234375, 9.626757812499989], + [33.867773437500006, 9.550341796874989], + [33.87148437500002, 9.506152343749989], + [33.87880859375002, 9.477734375], + [33.88212890625001, 9.47119140625], + [33.88486328125, 9.46640625], + [33.88789062500001, 9.463525390624994], + [33.89091796875002, 9.462207031249989], + [34.076757812500006, 9.461523437499991], + [34.078125, 9.461523437499991], + [34.078125, 9.461523437499991], + [34.0771484375, 9.420996093749991], + [34.084570312500006, 9.218505859375], + [34.091015625, 9.041259765625], + [34.1015625, 8.751855468749994], + [34.10175781250001, 8.676367187499991], + [34.09453125000002, 8.582226562499997], + [34.07275390625, 8.545263671874991], + [34.01972656250001, 8.492089843749994], + [33.95332031250001, 8.443505859374994], + [33.78505859375002, 8.431103515624997], + [33.64482421875002, 8.432568359374997], + [33.545312500000016, 8.443408203124989], + [33.409375, 8.44775390625], + [33.28105468750001, 8.437255859375], + [33.23427734375002, 8.396386718749994], + [33.16523437500001, 8.251074218749991], + [33.06523437500002, 8.040478515624997], + [33.012597656250016, 7.951513671874991], + [32.99892578125002, 7.899511718749991], + [33.0146484375, 7.868554687499994], + [33.08076171875001, 7.823730468749999], + [33.22597656250002, 7.760644531249994], + [33.39228515625001, 7.723730468749991], + [33.51630859375001, 7.707763671875], + [33.60097656250002, 7.690429687499999], + [33.666113281250006, 7.670996093749992], + [33.902441406250006, 7.509521484374999], + [33.97792968750002, 7.434570312499999], + [34.02041015625002, 7.36796875], + [34.03017578125002, 7.296972656249991], + [34.06425781250002, 7.225732421874994], + [34.20039062500001, 7.084570312499991], + [34.279296875, 7.002832031249993], + [34.484375, 6.898388671874997], + [34.56279296875002, 6.779833984374989], + [34.638769531250006, 6.72216796875], + [34.71064453125001, 6.660302734374994], + [34.74921875, 6.56787109375], + [34.83808593750001, 6.300146484374991], + [34.89785156250002, 6.159814453124994], + [34.958984375, 6.045068359374994], + [34.98359375000001, 5.858300781249994], + [35.03193359375001, 5.77490234375], + [35.08193359375002, 5.673144531249989], + [35.16445312500002, 5.581201171874994], + [35.25244140625, 5.511035156249989], + [35.26835937500002, 5.492285156249991], + [35.08447265625, 5.311865234374991], + [34.87832031250002, 5.109570312499997], + [34.63984375000001, 4.87548828125], + [34.38017578125002, 4.620654296874989], + [34.176855468750006, 4.419091796874994], + [33.97607421875, 4.22021484375], + [33.74160156250002, 3.985253906249994], + [33.568457031250006, 3.81171875], + [33.53955078124999, 3.787109375], + [33.489355468750006, 3.755078125], + [33.32431640625, 3.754345703124997], + [33.15410156250002, 3.774707031249989], + [32.99726562500001, 3.880175781249988], + [32.83808593750001, 3.798486328124994], + [32.73710937500002, 3.772705078125], + [32.67695312500001, 3.76318359375], + [32.534765625, 3.749951171874997], + [32.33574218750002, 3.706201171874994], + [32.24550781250002, 3.651318359374997], + [32.19667968750002, 3.6078125], + [32.15625, 3.528027343749997], + [32.13593750000001, 3.519726562499997], + [32.09941406250002, 3.529199218749994], + [32.048242187500016, 3.561181640624994], + [31.941796875000023, 3.607568359374994], + [31.88828125, 3.709082031249991], + [31.838671875000014, 3.770458984374997], + [31.798046875, 3.802636718749994], + [31.62890625, 3.701464843749989], + [31.54716796875002, 3.677587890624991], + [31.47998046875, 3.680468749999989], + [31.357421875, 3.737597656249988], + [31.221972656250014, 3.785937499999989], + [31.15234375, 3.785595703124997], + [31.04804687500001, 3.725], + [30.92939453125001, 3.634082031249989], + [30.868164062499996, 3.544140625], + [30.838574218750015, 3.49072265625], + [30.81689453125, 3.533349609374994], + [30.79697265625001, 3.573144531249994], + [30.757226562500023, 3.62421875], + [30.69990234375001, 3.644091796874989], + [30.64765625, 3.634130859374991], + [30.586718750000014, 3.62421875], + [30.559375, 3.652783203124997], + [30.553515625000017, 3.722949218749989], + [30.536914062500017, 3.787207031249991], + [30.50830078125, 3.835693359375], + [30.420703125000017, 3.883886718749991], + [30.194921875, 3.98193359375], + [30.021386718750023, 4.177636718749994], + [29.933984375000023, 4.268505859374997], + [29.870214843750006, 4.3271484375], + [29.779882812500002, 4.48095703125], + [29.676855468750006, 4.5869140625], + [29.552050781250017, 4.636035156249989], + [29.469628906250023, 4.611816406249999], + [29.384863281250002, 4.498388671874991], + [29.22490234375002, 4.391894531249989], + [29.151464843750006, 4.38818359375], + [29.057421875000017, 4.445947265624994], + [28.939355468750023, 4.487060546875], + [28.727050781249996, 4.504980468749991], + [28.639550781250023, 4.454492187499994], + [28.524804687500023, 4.372851562499989], + [28.427539062500017, 4.324169921874997], + [28.3671875, 4.318652343749989], + [28.31103515625, 4.338037109374994], + [28.247265625, 4.348535156249994], + [28.19208984375001, 4.350244140624994], + [28.07861328125, 4.4248046875], + [28.019824218750017, 4.479394531249994], + [27.98066406250001, 4.532080078124991], + [27.916601562500006, 4.567919921874989], + [27.841601562500017, 4.597753906249991], + [27.788085937499996, 4.644677734374994], + [27.76142578125001, 4.703222656249991], + [27.71923828125, 4.7783203125], + [27.664160156250006, 4.845996093749989], + [27.491015625000017, 4.967578124999989], + [27.439257812500017, 5.039208984374993], + [27.403320312499996, 5.109179687499989], + [27.332421875000023, 5.186328124999989], + [27.256738281250023, 5.289648437499991], + [27.232519531250006, 5.440771484374991], + [27.229101562500006, 5.5625], + [27.21337890625, 5.618798828124994], + [27.18125, 5.675146484374991], + [27.143945312500023, 5.722949218749989], + [27.083398437500023, 5.77685546875], + [26.942285156250023, 5.854931640624996], + [26.796484375, 5.945507812499997], + [26.726367187500017, 5.998242187499997], + [26.593652343750023, 6.017529296874997], + [26.514257812500002, 6.069238281249994], + [26.44746093750001, 6.183007812499994], + [26.420507812500002, 6.274169921875], + [26.353320312500017, 6.344921875], + [26.32460937500002, 6.396240234375], + [26.30859375, 6.455322265625], + [26.361816406249996, 6.635302734374989], + [26.284570312500023, 6.699023437499989], + [26.169335937500023, 6.78173828125], + [26.0869140625, 6.872119140624989], + [26.036523437500023, 6.955224609374993], + [25.888964843750017, 7.06494140625], + [25.56660156250001, 7.228710937499997], + [25.380664062500014, 7.333398437499993], + [25.27890625, 7.427490234375001], + [25.19013671875001, 7.519335937499989], + [25.18134765625001, 7.557226562499991], + [25.238671875000023, 7.648974609374988], + [25.247363281250017, 7.724560546874997], + [25.20039062500001, 7.807910156249989], + [25.00722656250002, 7.96484375], + [24.853320312500017, 8.137548828124991], + [24.736718750000023, 8.191552734374994], + [24.4560546875, 8.239453125], + [24.37548828125, 8.258447265624994], + [24.291406250000023, 8.29140625], + [24.208398437500023, 8.369140625], + [24.179980468750017, 8.461132812499997], + [24.220898437500008, 8.608251953124991], + [24.19482421875, 8.653369140624989], + [24.147363281250023, 8.665625], + [24.147363281250023, 8.665625], + [24.160449218750017, 8.6962890625], + [24.21357421875001, 8.767822265625], + [24.300195312500023, 8.814257812499989], + [24.53193359375001, 8.886914062499997], + [24.544824218750023, 8.914843749999989], + [24.549414062500006, 9.006787109374997], + [24.568261718750023, 9.051708984374997], + [24.648046875, 9.179101562499994], + [24.659375, 9.229931640624997], + [24.662890625000017, 9.338134765624998], + [24.673632812500017, 9.389306640624994], + [24.696679687500023, 9.425683593749994], + [24.760351562500006, 9.488916015624994], + [24.78261718750002, 9.52734375], + [24.79218750000001, 9.610302734374995], + [24.785253906250006, 9.774658203125], + [24.817675781250017, 9.839599609374998], + [24.9638671875, 9.988867187499991], + [25.0029296875, 10.05527343749999], + [25.016210937500006, 10.115234375], + [25.01484375000001, 10.175878906249991], + [25.02363281250001, 10.235791015624995], + [25.066992187500006, 10.293798828124991], + [25.10400390625, 10.311816406249989], + [25.211718750000014, 10.329931640624991], + [25.28515625, 10.318505859374994], + [25.79804687500001, 10.420507812499991], + [25.858203125000017, 10.406494140625], + [25.88525390625, 10.34609375], + [25.8828125, 10.24960937499999], + [25.891503906250023, 10.20273437499999], + [25.91914062500001, 10.169335937499994], + [26.000585937500006, 10.1234375], + [26.057031250000023, 10.046777343749994], + [26.087011718750006, 10.018457031249994], + [26.16953125, 9.965917968749991], + [26.551367187500006, 9.525830078124995], + [26.65869140625, 9.484130859375], + [26.76318359375, 9.49921875], + [26.970507812500017, 9.590625], + [27.07421875, 9.613818359374989], + [27.7998046875, 9.587890625], + [27.880859375, 9.601611328124989], + [27.885839843750006, 9.599658203124989], + [27.99628906250001, 9.378808593749994], + [28.048925781250006, 9.32861328125], + [28.844531250000017, 9.326074218749994], + [28.829394531250017, 9.388818359374994], + [28.839453125, 9.459082031249991], + [28.93232421875001, 9.549462890624994], + [28.979589843750006, 9.594189453124995], + [28.979589843750006, 9.593994140625], + [28.999609375, 9.610156249999989], + [29.12236328125002, 9.67465820312499], + [29.24238281250001, 9.718066406249987], + [29.47314453125, 9.768603515624989], + [29.557421875000017, 9.848291015624993], + [29.603906250000023, 9.92138671875], + [29.60546875, 10.065087890624994], + [29.63593750000001, 10.088623046874998], + [29.691015625, 10.121923828124991], + [29.95791015625002, 10.250244140625], + [30.003027343750006, 10.277392578124989], + [30.474609375, 9.978955078124997], + [30.739355468750006, 9.74267578125], + [30.755371093749996, 9.731201171875], + [30.769140625, 9.726806640625], + [30.78310546875002, 9.734960937499991], + [30.794921875, 9.745849609375], + [30.81416015625001, 9.753125], + [30.82705078125002, 9.756298828124997], + [30.940332031250023, 9.759375], + [31.15449218750001, 9.770947265624997], + [31.224902343750014, 9.799267578124997], + [31.654882812500006, 10.221142578124997], + [31.764257812500002, 10.355712890625], + [31.791992187499996, 10.383154296874991], + [31.854296875000017, 10.479052734374989], + [31.919921875, 10.643847656249989], + [31.933007812500026, 10.6625], + [32.40410156250002, 11.057763671874994], + [32.42080078125002, 11.089111328125], + [32.425390625, 11.113964843749997], + [32.35419921875001, 11.246923828124991], + [32.3388671875, 11.314501953124989], + [32.33574218750002, 11.41855468749999], + [32.34990234375002, 11.580419921874991], + [32.34492187500001, 11.68271484374999], + [32.34306640625002, 11.694287109374995], + [32.3384765625, 11.710107421874994], + [32.33535156250002, 11.716015625], + [32.072265625, 12.006738281249994], + [32.736718750000016, 12.009667968749994], + [32.73828125, 12.033740234374989], + [32.73769531250002, 12.046435546874989], + [32.73564453125002, 12.058056640624997], + [32.72304687500002, 12.092919921874994], + [32.7158203125, 12.13925781249999], + [32.71533203125, 12.152197265624991], + [32.71630859375, 12.164843749999989], + [32.72011718750002, 12.188818359374991], + [32.72050781250002, 12.201806640624994], + [32.719824218750006, 12.2080078125], + [32.71855468750002, 12.213769531249994], + [32.71894531250001, 12.218847656249991], + [32.721875, 12.223095703124997], + [33.199316406250006, 12.21728515625], + [33.19306640625001, 12.135009765625], + [33.13505859375002, 11.941601562499997], + [33.13613281250002, 11.825585937499994], + [33.12246093750002, 11.693164062499989], + [33.119140625, 11.682421874999989], + [33.106054687500006, 11.653857421874989], + [33.09462890625002, 11.6375], + [33.08154296875, 11.621728515624994], + [33.07783203125001, 11.615771484374989], + [33.073339843750006, 11.606103515624993], + [33.07304687500002, 11.591503906249995], + [33.17216796875001, 10.850146484374989], + [33.16845703125, 10.831445312499994], + [33.164746093750004, 10.819189453124991], + [33.13828125, 10.772949218749998], + [33.131445312500006, 10.757714843749994], + [33.13007812500001, 10.74594726562499], + [33.14082031250001, 10.73789062499999], + [33.36074218750002, 10.6578125], + [33.37138671875002, 10.65273437499999], + [33.3798828125, 10.646191406249997], + [33.459082031250006, 10.550830078124989], + [33.8921875, 10.198974609375], + [33.90703125000002, 10.181445312499989], + [33.951855468750004, 10.070947265624994], + [33.95683593750001, 10.05419921875], + [33.95839843750002, 10.02773437499999], + [33.95732421875002, 10.00717773437499], + [33.94619140625002, 9.94091796875], + [33.94990234375001, 9.911132812499998], + [33.95732421875002, 9.891455078124991], + [33.96328125000002, 9.868701171874989], + [33.96328125000002, 9.861767578124997], + [33.9625, 9.855810546874991], + [33.95917968750001, 9.845263671874987] + ] + ] + } + }, + { + "type": "Feature", + "properties": { + "scalerank": 1, + "featurecla": "Admin-0 country", + "labelrank": 3, + "sovereignt": "Sudan", + "sov_a3": "SDN", + "adm0_dif": 0, + "level": 2, + "type": "Sovereign country", + "admin": "Sudan", + "adm0_a3": "SDN", + "geou_dif": 0, + "geounit": "Sudan", + "gu_a3": "SDN", + "su_dif": 0, + "subunit": "Sudan", + "su_a3": "SDN", + "brk_diff": 0, + "name": "Sudan", + "name_long": "Sudan", + "brk_a3": "SDN", + "brk_name": "Sudan", + "brk_group": null, + "abbrev": "Sudan", + "postal": "SD", + "formal_en": "Republic of the Sudan", + "formal_fr": null, + "note_adm0": null, + "note_brk": null, + "name_sort": "Sudan", + "name_alt": null, + "mapcolor7": 2, + "mapcolor8": 6, + "mapcolor9": 4, + "mapcolor13": 1, + "pop_est": 25946220, + "gdp_md_est": 88080, + "pop_year": -99, + "lastcensus": 2008, + "gdp_year": -99, + "economy": "6. Developing region", + "income_grp": "4. Lower middle income", + "wikipedia": -99, + "fips_10": null, + "iso_a2": "SD", + "iso_a3": "SDN", + "iso_n3": "729", + "un_a3": "729", + "wb_a2": "SD", + "wb_a3": "SDN", + "woe_id": -99, + "adm0_a3_is": "SDN", + "adm0_a3_us": "SDN", + "adm0_a3_un": -99, + "adm0_a3_wb": -99, + "continent": "Africa", + "region_un": "Africa", + "subregion": "Northern Africa", + "region_wb": "Sub-Saharan Africa", + "name_len": 5, + "long_len": 5, + "abbrev_len": 5, + "tiny": -99, + "homepart": 1, + "filename": "SDN.geojson" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [31.46640625, 22.084667968749997], + [31.43447265625002, 21.995849609375], + [31.621679687500006, 21.995849609375], + [31.94980468750001, 21.995898437500003], + [32.27783203124999, 21.995996093749994], + [32.606054687500006, 21.995996093749994], + [32.93408203125, 21.99609375], + [33.26220703125, 21.996142578125003], + [33.59033203125, 21.99619140624999], + [33.91845703125, 21.996240234374994], + [34.246484375000016, 21.996289062499997], + [34.57460937500002, 21.996337890625], + [34.90273437500002, 21.99638671875], + [35.23085937500002, 21.99643554687499], + [35.55898437500002, 21.99648437499999], + [35.88701171875002, 21.996533203124997], + [36.21523437500002, 21.99658203125], + [36.54326171875002, 21.996630859375003], + [36.87138671875002, 21.996728515624994], + [36.88261718750001, 21.768798828125], + [36.92695312500001, 21.58652343749999], + [37.081152343750006, 21.32602539062499], + [37.21171875000001, 21.185839843750003], + [37.25859375000001, 21.108544921874994], + [37.26318359375, 21.07265625], + [37.257226562500016, 21.03940429687499], + [37.21748046875001, 21.077636718749996], + [37.15058593750001, 21.103759765625], + [37.14111328125, 20.98178710937499], + [37.156835937500006, 20.89492187499999], + [37.17265625000002, 20.731982421875003], + [37.2275390625, 20.55673828124999], + [37.18789062500002, 20.39492187499999], + [37.19316406250002, 20.12070312499999], + [37.26259765625002, 19.791894531249994], + [37.24843750000002, 19.58188476562499], + [37.36152343750001, 19.091992187499997], + [37.471289062500006, 18.820117187500003], + [37.53164062500002, 18.753125], + [37.59941406250002, 18.717431640624994], + [37.72978515625002, 18.6943359375], + [37.921875, 18.555908203125], + [38.07402343750002, 18.40976562499999], + [38.128125, 18.33330078125], + [38.201757812500006, 18.249414062499994], + [38.252148437500004, 18.264404296874996], + [38.28310546875002, 18.286718749999988], + [38.332910156250016, 18.219042968750003], + [38.57402343750002, 18.072949218749997], + [38.609472656250006, 18.005078125], + [38.52285156250002, 17.938525390625003], + [38.422460937500006, 17.823925781249997], + [38.39716796875001, 17.778369140625], + [38.38554687500002, 17.751269531250003], + [38.37373046875001, 17.717333984375003], + [38.34736328125001, 17.68359375], + [38.28984375000002, 17.637011718750003], + [38.267285156250004, 17.61669921875], + [38.253515625, 17.584765625], + [38.21904296875001, 17.56396484375], + [38.18154296875002, 17.562841796874988], + [38.14853515625, 17.548535156249997], + [38.09892578125001, 17.52646484374999], + [38.025292968750016, 17.537792968749997], + [37.95009765625002, 17.51767578124999], + [37.92255859375001, 17.492333984374994], + [37.86298828125001, 17.470263671875003], + [37.803320312500006, 17.465527343749997], + [37.78242187500001, 17.4580078125], + [37.72597656250002, 17.42050781249999], + [37.65673828125, 17.36826171874999], + [37.57597656250002, 17.335009765625003], + [37.547460937500006, 17.324121093749994], + [37.51015625000002, 17.288134765625003], + [37.45292968750002, 17.108691406250003], + [37.41103515625002, 17.06171875], + [37.340429687500006, 17.057080078124997], + [37.24882812500002, 17.056884765625], + [37.16953125, 17.04140625], + [37.06152343749999, 17.061279296875], + [37.00898437500001, 17.05888671875], + [36.995214843750006, 17.020556640625003], + [36.97578125000001, 16.86655273437499], + [36.97871093750001, 16.800585937500003], + [36.93574218750001, 16.722363281249997], + [36.887792968750006, 16.624658203124994], + [36.90546875000001, 16.459521484375003], + [36.91376953125001, 16.296191406250003], + [36.825878906250004, 16.05029296875], + [36.81347656249999, 15.993945312500001], + [36.72451171875002, 15.798876953125003], + [36.67919921875, 15.726367187500001], + [36.566015625, 15.362109375], + [36.52177734375002, 15.250146484374993], + [36.4267578125, 15.132080078125], + [36.44814453125002, 14.940087890624993], + [36.470800781250006, 14.736474609374994], + [36.492285156250006, 14.544335937499994], + [36.52431640625002, 14.2568359375], + [36.443945312500006, 13.988427734374994], + [36.44707031250002, 13.842041015625], + [36.390625, 13.626074218749991], + [36.346289062500006, 13.526269531249994], + [36.30683593750001, 13.466845703125001], + [36.273535156250006, 13.40576171875], + [36.21220703125002, 13.27109375], + [36.16015625, 13.093310546874989], + [36.137109375000016, 12.9111328125], + [36.135351562500006, 12.805322265624994], + [36.12519531250001, 12.75703125], + [36.107519531250006, 12.726464843749994], + [35.98759765625002, 12.706298828125], + [35.82060546875002, 12.684863281249989], + [35.730566406250006, 12.661035156249994], + [35.67021484375002, 12.623730468749997], + [35.59609375000002, 12.537304687499997], + [35.44960937500002, 12.300585937499989], + [35.37275390625001, 12.155566406249989], + [35.25244140625, 11.95703125], + [35.1123046875, 11.816552734374994], + [35.08271484375001, 11.748291015625], + [35.059667968750006, 11.621044921874997], + [35.007910156250006, 11.419873046874997], + [34.96074218750002, 11.276757812499993], + [34.969140625000016, 11.161767578124994], + [34.924902343750006, 10.962109375], + [34.93144531250002, 10.864794921874989], + [34.88232421874999, 10.810546875], + [34.81621093750002, 10.759179687499993], + [34.77128906250002, 10.746191406249991], + [34.675, 10.804931640625], + [34.60175781250001, 10.864550781249989], + [34.571875, 10.880175781249989], + [34.50800781250001, 10.842871093749991], + [34.43144531250002, 10.787841796875], + [34.34394531250001, 10.658642578124997], + [34.27568359375001, 10.528125], + [34.314843750000016, 10.2515625], + [34.311230468750004, 10.190869140624995], + [34.29150390625, 10.124755859375], + [34.18525390625001, 9.918554687499991], + [34.159082031250016, 9.853417968749994], + [34.12031250000001, 9.7296875], + [34.07929687500001, 9.513476562499989], + [34.078125, 9.461523437499991], + [34.078125, 9.461523437499991], + [34.076757812500006, 9.461523437499991], + [33.89091796875002, 9.462207031249989], + [33.88789062500001, 9.463525390624994], + [33.88486328125, 9.46640625], + [33.88212890625001, 9.47119140625], + [33.87880859375002, 9.477734375], + [33.87148437500002, 9.506152343749989], + [33.867773437500006, 9.550341796874989], + [33.8740234375, 9.626757812499989], + [33.89492187500002, 9.717626953124991], + [33.95917968750001, 9.845263671874987], + [33.9625, 9.855810546874991], + [33.96328125000002, 9.861767578124997], + [33.96328125000002, 9.868701171874989], + [33.95732421875002, 9.891455078124991], + [33.94990234375001, 9.911132812499998], + [33.94619140625002, 9.94091796875], + [33.95732421875002, 10.00717773437499], + [33.95839843750002, 10.02773437499999], + [33.95683593750001, 10.05419921875], + [33.951855468750004, 10.070947265624994], + [33.90703125000002, 10.181445312499989], + [33.8921875, 10.198974609375], + [33.459082031250006, 10.550830078124989], + [33.3798828125, 10.646191406249997], + [33.37138671875002, 10.65273437499999], + [33.36074218750002, 10.6578125], + [33.14082031250001, 10.73789062499999], + [33.13007812500001, 10.74594726562499], + [33.131445312500006, 10.757714843749994], + [33.13828125, 10.772949218749998], + [33.164746093750004, 10.819189453124991], + [33.16845703125, 10.831445312499994], + [33.17216796875001, 10.850146484374989], + [33.07304687500002, 11.591503906249995], + [33.073339843750006, 11.606103515624993], + [33.07783203125001, 11.615771484374989], + [33.08154296875, 11.621728515624994], + [33.09462890625002, 11.6375], + [33.106054687500006, 11.653857421874989], + [33.119140625, 11.682421874999989], + [33.12246093750002, 11.693164062499989], + [33.13613281250002, 11.825585937499994], + [33.13505859375002, 11.941601562499997], + [33.19306640625001, 12.135009765625], + [33.199316406250006, 12.21728515625], + [32.721875, 12.223095703124997], + [32.71894531250001, 12.218847656249991], + [32.71855468750002, 12.213769531249994], + [32.719824218750006, 12.2080078125], + [32.72050781250002, 12.201806640624994], + [32.72011718750002, 12.188818359374991], + [32.71630859375, 12.164843749999989], + [32.71533203125, 12.152197265624991], + [32.7158203125, 12.13925781249999], + [32.72304687500002, 12.092919921874994], + [32.73564453125002, 12.058056640624997], + [32.73769531250002, 12.046435546874989], + [32.73828125, 12.033740234374989], + [32.736718750000016, 12.009667968749994], + [32.072265625, 12.006738281249994], + [32.33535156250002, 11.716015625], + [32.3384765625, 11.710107421874994], + [32.34306640625002, 11.694287109374995], + [32.34492187500001, 11.68271484374999], + [32.34990234375002, 11.580419921874991], + [32.33574218750002, 11.41855468749999], + [32.3388671875, 11.314501953124989], + [32.35419921875001, 11.246923828124991], + [32.425390625, 11.113964843749997], + [32.42080078125002, 11.089111328125], + [32.40410156250002, 11.057763671874994], + [31.933007812500026, 10.6625], + [31.919921875, 10.643847656249989], + [31.854296875000017, 10.479052734374989], + [31.791992187499996, 10.383154296874991], + [31.764257812500002, 10.355712890625], + [31.654882812500006, 10.221142578124997], + [31.224902343750014, 9.799267578124997], + [31.15449218750001, 9.770947265624997], + [30.940332031250023, 9.759375], + [30.82705078125002, 9.756298828124997], + [30.81416015625001, 9.753125], + [30.794921875, 9.745849609375], + [30.78310546875002, 9.734960937499991], + [30.769140625, 9.726806640625], + [30.755371093749996, 9.731201171875], + [30.739355468750006, 9.74267578125], + [30.474609375, 9.978955078124997], + [30.003027343750006, 10.277392578124989], + [29.95791015625002, 10.250244140625], + [29.691015625, 10.121923828124991], + [29.63593750000001, 10.088623046874998], + [29.60546875, 10.065087890624994], + [29.603906250000023, 9.92138671875], + [29.557421875000017, 9.848291015624993], + [29.47314453125, 9.768603515624989], + [29.24238281250001, 9.718066406249987], + [29.12236328125002, 9.67465820312499], + [28.999609375, 9.610156249999989], + [28.979589843750006, 9.593994140625], + [28.979589843750006, 9.594189453124995], + [28.93232421875001, 9.549462890624994], + [28.839453125, 9.459082031249991], + [28.829394531250017, 9.388818359374994], + [28.844531250000017, 9.326074218749994], + [28.048925781250006, 9.32861328125], + [27.99628906250001, 9.378808593749994], + [27.885839843750006, 9.599658203124989], + [27.880859375, 9.601611328124989], + [27.7998046875, 9.587890625], + [27.07421875, 9.613818359374989], + [26.970507812500017, 9.590625], + [26.76318359375, 9.49921875], + [26.65869140625, 9.484130859375], + [26.551367187500006, 9.525830078124995], + [26.16953125, 9.965917968749991], + [26.087011718750006, 10.018457031249994], + [26.057031250000023, 10.046777343749994], + [26.000585937500006, 10.1234375], + [25.91914062500001, 10.169335937499994], + [25.891503906250023, 10.20273437499999], + [25.8828125, 10.24960937499999], + [25.88525390625, 10.34609375], + [25.858203125000017, 10.406494140625], + [25.79804687500001, 10.420507812499991], + [25.28515625, 10.318505859374994], + [25.211718750000014, 10.329931640624991], + [25.10400390625, 10.311816406249989], + [25.066992187500006, 10.293798828124991], + [25.02363281250001, 10.235791015624995], + [25.01484375000001, 10.175878906249991], + [25.016210937500006, 10.115234375], + [25.0029296875, 10.05527343749999], + [24.9638671875, 9.988867187499991], + [24.817675781250017, 9.839599609374998], + [24.785253906250006, 9.774658203125], + [24.79218750000001, 9.610302734374995], + [24.78261718750002, 9.52734375], + [24.760351562500006, 9.488916015624994], + [24.696679687500023, 9.425683593749994], + [24.673632812500017, 9.389306640624994], + [24.662890625000017, 9.338134765624998], + [24.659375, 9.229931640624997], + [24.648046875, 9.179101562499994], + [24.568261718750023, 9.051708984374997], + [24.549414062500006, 9.006787109374997], + [24.544824218750023, 8.914843749999989], + [24.53193359375001, 8.886914062499997], + [24.300195312500023, 8.814257812499989], + [24.21357421875001, 8.767822265625], + [24.160449218750017, 8.6962890625], + [24.147363281250023, 8.665625], + [24.147363281250023, 8.665625], + [24.048144531250017, 8.691308593749994], + [23.921972656250006, 8.709716796875], + [23.679296875, 8.732470703124989], + [23.58320312500001, 8.765820312499997], + [23.53730468750001, 8.815820312499994], + [23.551855468750006, 8.943212890624991], + [23.528027343750008, 8.970605468749994], + [23.489062500000017, 8.993310546874994], + [23.462792968750023, 9.048486328124993], + [23.468261718749996, 9.11474609375], + [23.59609375000002, 9.261914062499997], + [23.62265625, 9.340625], + [23.64277343750001, 9.613916015624994], + [23.65625, 9.710351562499993], + [23.646289062500014, 9.822900390624994], + [23.545019531250006, 10.030078124999989], + [23.456640625, 10.174267578124997], + [23.312304687500017, 10.387939453125], + [23.255859375, 10.457812499999989], + [22.96435546875, 10.751806640624991], + [22.930761718750006, 10.7953125], + [22.86005859375001, 10.919677734375], + [22.894824218750017, 11.029003906249997], + [22.937695312500008, 11.192041015624994], + [22.942773437500023, 11.2671875], + [22.922656250000017, 11.344873046874994], + [22.849023437500023, 11.403271484374997], + [22.78339843750001, 11.409960937499989], + [22.754003906250006, 11.43984375], + [22.697363281250002, 11.482666015625], + [22.641015625000023, 11.515917968749989], + [22.591113281250017, 11.579882812499989], + [22.55634765625001, 11.66953125], + [22.580957031250023, 11.990136718749994], + [22.564355468750023, 12.032958984375], + [22.48984375, 12.044726562499987], + [22.472460937500014, 12.067773437499994], + [22.47548828125002, 12.129248046874991], + [22.435253906250008, 12.311914062499994], + [22.390234375, 12.462988281249991], + [22.414453125000023, 12.54638671875], + [22.352343750000017, 12.660449218749987], + [22.2333984375, 12.70947265625], + [22.121191406250006, 12.694580078125], + [22.00068359375001, 12.671875], + [21.928125, 12.678125], + [21.878125, 12.699365234374994], + [21.843359375, 12.7412109375], + [21.825292968750006, 12.790527343749998], + [21.841796875, 12.86474609375], + [21.90771484375, 13.0009765625], + [21.990234375, 13.113085937499989], + [22.158007812500014, 13.215039062499997], + [22.20263671875, 13.269335937500003], + [22.228125, 13.329589843749998], + [22.23261718750001, 13.39877929687499], + [22.221386718750008, 13.471630859374997], + [22.20234375000001, 13.538085937499998], + [22.152929687500006, 13.626416015624997], + [22.10761718750001, 13.730322265624991], + [22.1064453125, 13.7998046875], + [22.128222656250014, 13.850146484375003], + [22.173144531250014, 13.910595703124995], + [22.262109375000023, 13.978710937499997], + [22.283496093750017, 13.992333984374994], + [22.339355468749996, 14.028857421875003], + [22.38818359375, 14.055517578124991], + [22.509960937500008, 14.12744140625], + [22.53857421875, 14.161865234375], + [22.528222656250023, 14.203222656249991], + [22.498339843750017, 14.237060546875], + [22.449316406250002, 14.284228515625003], + [22.439355468750023, 14.34213867187499], + [22.425, 14.441210937500001], + [22.399707031250014, 14.504199218750003], + [22.381542968750008, 14.550488281249997], + [22.41621093750001, 14.585205078125], + [22.467773437499996, 14.633349609375003], + [22.532031250000017, 14.662744140624994], + [22.6318359375, 14.688085937499991], + [22.670898437499996, 14.722460937500003], + [22.682421875000017, 14.788623046875001], + [22.679199218749996, 14.851464843749993], + [22.714941406250006, 14.898388671874997], + [22.76328125, 14.998681640624994], + [22.802148437500023, 15.044433593749998], + [22.8671875, 15.096630859374997], + [22.93232421875001, 15.162109375], + [22.961328125000023, 15.23813476562499], + [22.969531250000017, 15.311328125], + [22.933886718750017, 15.533105468749994], + [23.009179687500023, 15.625830078124991], + [23.10517578125001, 15.702539062499993], + [23.243457031250017, 15.697216796874997], + [23.4580078125, 15.71396484374999], + [23.60400390625, 15.745996093749994], + [23.70820312500001, 15.74497070312499], + [23.94599609375001, 15.70351562499999], + [23.965234375000023, 15.713427734375003], + [23.970800781250006, 15.72153320312499], + [23.9833984375, 15.780175781249994], + [23.983300781250023, 15.928125], + [23.98291015625, 16.37421875], + [23.982519531250002, 16.820263671874997], + [23.982226562500014, 17.266357421875], + [23.981835937500023, 17.71240234375], + [23.981445312499996, 18.158496093750003], + [23.981054687500006, 18.604541015625003], + [23.98066406250001, 19.050585937500003], + [23.980273437500017, 19.496630859375003], + [23.980273437500017, 19.62148437499999], + [23.980273437500017, 19.746289062499997], + [23.980273437500017, 19.87109375], + [23.980273437500017, 19.99594726562499], + [24.22695312500002, 19.995849609375], + [24.473632812499996, 19.99570312499999], + [24.72041015625001, 19.995556640624997], + [24.966992187500008, 19.99545898437499], + [24.97021484375, 19.997265625], + [24.973242187500006, 19.9990234375], + [24.976367187500014, 20.00078125], + [24.9794921875, 20.002587890624994], + [24.97968750000001, 20.500927734374997], + [24.979882812500023, 20.99921875], + [24.980078125, 21.49755859375], + [24.980273437500017, 21.995849609375], + [25.3623046875, 21.995800781249994], + [25.74433593750001, 21.995751953124994], + [26.126367187500023, 21.995654296875003], + [26.508398437500006, 21.99560546875], + [26.890429687500014, 21.995556640624997], + [27.2724609375, 21.995507812499994], + [27.65449218750001, 21.99545898437499], + [28.036425781250014, 21.995361328125], + [28.418554687500006, 21.9953125], + [28.800585937500017, 21.99526367187499], + [29.182519531250023, 21.99521484374999], + [29.564550781250002, 21.995117187499996], + [29.946679687500023, 21.995117187499996], + [30.32861328125, 21.995019531249994], + [30.71064453125001, 21.994921875], + [31.092675781250026, 21.994873046875], + [31.20917968750001, 21.994873046875], + [31.260644531250023, 22.002294921874988], + [31.358496093750006, 22.188623046874994], + [31.40029296875002, 22.202441406250003], + [31.464257812500023, 22.191503906249988], + [31.486132812500017, 22.147802734374988], + [31.46640625, 22.084667968749997] + ] + ] + } + }, + { + "type": "Feature", + "properties": { + "scalerank": 1, + "featurecla": "Admin-0 country", + "labelrank": 3, + "sovereignt": "Namibia", + "sov_a3": "NAM", + "adm0_dif": 0, + "level": 2, + "type": "Sovereign country", + "admin": "Namibia", + "adm0_a3": "NAM", + "geou_dif": 0, + "geounit": "Namibia", + "gu_a3": "NAM", + "su_dif": 0, + "subunit": "Namibia", + "su_a3": "NAM", + "brk_diff": 0, + "name": "Namibia", + "name_long": "Namibia", + "brk_a3": "NAM", + "brk_name": "Namibia", + "brk_group": null, + "abbrev": "Nam.", + "postal": "NA", + "formal_en": "Republic of Namibia", + "formal_fr": null, + "note_adm0": null, + "note_brk": null, + "name_sort": "Namibia", + "name_alt": null, + "mapcolor7": 4, + "mapcolor8": 1, + "mapcolor9": 1, + "mapcolor13": 7, + "pop_est": 2108665, + "gdp_md_est": 13250, + "pop_year": -99, + "lastcensus": 2001, + "gdp_year": -99, + "economy": "6. Developing region", + "income_grp": "3. Upper middle income", + "wikipedia": -99, + "fips_10": null, + "iso_a2": "NA", + "iso_a3": "NAM", + "iso_n3": "516", + "un_a3": "516", + "wb_a2": "NA", + "wb_a3": "NAM", + "woe_id": -99, + "adm0_a3_is": "NAM", + "adm0_a3_us": "NAM", + "adm0_a3_un": -99, + "adm0_a3_wb": -99, + "continent": "Africa", + "region_un": "Africa", + "subregion": "Southern Africa", + "region_wb": "Sub-Saharan Africa", + "name_len": 7, + "long_len": 7, + "abbrev_len": 4, + "tiny": -99, + "homepart": 1, + "filename": "NAM.geojson" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [23.380664062500017, -17.640625], + [23.59492187500001, -17.599414062500003], + [23.79921875000002, -17.56015625], + [24.036914062500017, -17.52089843750001], + [24.227148437500006, -17.489550781250003], + [24.27490234375, -17.481054687500006], + [24.73291015625, -17.51777343750001], + [24.932421875000017, -17.54345703125], + [25.001757812500017, -17.56855468750001], + [25.092187500000023, -17.634375], + [25.2587890625, -17.793554687500006], + [25.21601562500001, -17.78759765625], + [24.90908203125002, -17.821386718750006], + [24.79218750000001, -17.86464843750001], + [24.530566406250017, -18.052734375], + [24.474902343750017, -18.02851562500001], + [24.412207031250002, -17.989453125], + [24.358984375, -17.97822265625001], + [24.243945312500017, -18.0234375], + [24.129296875000023, -18.077539062500005], + [24.002636718750008, -18.154101562500003], + [23.898339843750023, -18.22919921875001], + [23.8642578125, -18.26953125], + [23.700488281250017, -18.42431640625], + [23.64716796875001, -18.44941406250001], + [23.599707031250002, -18.4599609375], + [23.58056640625, -18.452929687500003], + [23.56015625, -18.38642578125001], + [23.459765625000017, -18.231054687500006], + [23.298632812500017, -18.02734375], + [23.2515625, -18.00751953125001], + [23.219335937500006, -17.99970703125001], + [23.099902343750017, -18.009570312500003], + [22.752734375000017, -18.0671875], + [22.460058593750002, -18.11572265625], + [22.01142578125001, -18.19863281250001], + [21.529687500000023, -18.265625], + [21.232519531250002, -18.30683593750001], + [20.97412109375, -18.31884765625], + [20.97431640625001, -18.5205078125], + [20.975, -18.928515625], + [20.9755859375, -19.33642578125], + [20.976171875, -19.74433593750001], + [20.976855468750017, -20.15234375], + [20.977441406250023, -20.56025390625001], + [20.978125, -20.96816406250001], + [20.97871093750001, -21.376074218750006], + [20.979296875000017, -21.78408203125001], + [20.9794921875, -21.9619140625], + [20.970996093750017, -22.00019531250001], + [20.82275390625, -22.00019531250001], + [20.4875, -22.00019531250001], + [20.205371093750017, -22.00019531250001], + [19.977343750000017, -22.00019531250001], + [19.977636718750006, -22.242578125], + [19.977929687500023, -22.529296875], + [19.978222656250008, -22.81591796875], + [19.978515625, -23.1025390625], + [19.978906250000023, -23.389160156249996], + [19.979296875000017, -23.67578125], + [19.979589843750006, -23.962402343749996], + [19.97988281250002, -24.249023437499996], + [19.980175781250008, -24.535742187500006], + [19.98046875, -24.751953125], + [19.98046875, -24.77675781250001], + [19.98046875, -25.19677734375], + [19.98046875, -25.6416015625], + [19.98046875, -26.086328125], + [19.98046875, -26.53115234375001], + [19.98046875, -26.97597656250001], + [19.98046875, -27.420703125], + [19.98046875, -27.865527343750003], + [19.98046875, -28.310351562500003], + [19.98046875, -28.451269531250006], + [19.877832031250023, -28.44941406250001], + [19.671484375, -28.50390625], + [19.539843750000017, -28.574609375], + [19.48291015625, -28.66162109375], + [19.4072265625, -28.714453125], + [19.31269531250001, -28.73330078125001], + [19.27099609375, -28.777734375000012], + [19.2822265625, -28.84794921875], + [19.24580078125001, -28.901660156250003], + [19.16171875, -28.93876953125], + [19.02607421875001, -28.927929687500008], + [18.838769531250023, -28.869140625], + [18.600390625000017, -28.8552734375], + [18.310839843750017, -28.886230468749996], + [18.102734375, -28.871679687500006], + [17.97607421875, -28.811328125], + [17.841601562500017, -28.776953125], + [17.699316406250006, -28.768359375], + [17.616796875, -28.74306640625001], + [17.44794921875001, -28.698144531250005], + [17.41572265625001, -28.62109375], + [17.395898437500023, -28.56269531250001], + [17.347851562500008, -28.50117187500001], + [17.342578125000017, -28.45166015625], + [17.380273437500023, -28.41396484375001], + [17.3857421875, -28.35322265625001], + [17.358691406250017, -28.269433593750005], + [17.31201171875, -28.228613281250006], + [17.24580078125001, -28.230859375], + [17.20458984375, -28.198828125], + [17.1884765625, -28.13251953125001], + [17.149414062499996, -28.08222656250001], + [17.05625, -28.0310546875], + [16.93330078125001, -28.06962890625], + [16.875292968750017, -28.127929687499996], + [16.841210937500023, -28.21894531250001], + [16.81015625, -28.26455078125001], + [16.79453125, -28.3408203125], + [16.7875, -28.39472656250001], + [16.755761718750023, -28.4521484375], + [16.72304687500002, -28.47548828125001], + [16.689453125, -28.464941406250006], + [16.62617187500001, -28.487890625], + [16.487109375000017, -28.572851562500006], + [16.447558593750017, -28.617578125], + [16.335058593750006, -28.53652343750001], + [16.007128906250017, -28.231738281250003], + [15.890917968750017, -28.15253906250001], + [15.719042968750015, -27.9658203125], + [15.34150390625001, -27.386523437500003], + [15.28759765625, -27.275], + [15.215722656250023, -26.9951171875], + [15.1328125, -26.78759765625], + [15.12373046875001, -26.667871093750005], + [15.163281250000011, -26.600195312500006], + [15.139062500000023, -26.50800781250001], + [15.096582031250023, -26.42578125], + [14.967773437499998, -26.31806640625001], + [14.93125, -25.95820312500001], + [14.84521484375, -25.725683593750006], + [14.863671875000023, -25.53359375], + [14.822558593750015, -25.35859375], + [14.818554687500011, -25.246386718750003], + [14.83710937500001, -25.033203125], + [14.767968750000021, -24.787988281250005], + [14.627929687499998, -24.548046875], + [14.5015625, -24.201953125], + [14.4833984375, -24.050390625], + [14.496875, -23.642871093750003], + [14.472460937500015, -23.476660156250006], + [14.47382812500001, -23.28115234375001], + [14.423828125, -23.07861328125], + [14.403320312499998, -22.968066406250003], + [14.4384765625, -22.88056640625001], + [14.459277343750015, -22.908203125], + [14.495703125, -22.92138671875], + [14.519921875000021, -22.80517578125], + [14.525976562500004, -22.70253906250001], + [14.462792968750025, -22.44912109375001], + [14.321875, -22.18994140625], + [13.973242187500006, -21.767578125], + [13.888085937500023, -21.60664062500001], + [13.83935546875, -21.473242187500006], + [13.450585937500021, -20.91669921875001], + [13.284375, -20.52392578125], + [13.168359375000021, -20.184667968750002], + [13.042089843750006, -20.02822265625001], + [12.458203125000011, -18.9267578125], + [12.328710937500006, -18.751074218750006], + [12.095703125, -18.54091796875001], + [12.041210937500011, -18.470703125], + [11.951367187500011, -18.2705078125], + [11.775878906249998, -18.001757812500003], + [11.733496093750006, -17.7509765625], + [11.7216796875, -17.466796875], + [11.743066406250021, -17.24921875000001], + [11.902539062500011, -17.2265625], + [12.013964843750017, -17.168554687500006], + [12.114355468750006, -17.16455078125], + [12.21337890625, -17.2099609375], + [12.318457031250006, -17.213378906249996], + [12.359277343750023, -17.205859375], + [12.548144531250017, -17.212695312500003], + [12.656542968750017, -17.160546875], + [12.78515625, -17.108203125], + [12.859277343750021, -17.062597656250002], + [12.963183593750015, -17.015429687500003], + [13.101171875, -16.96767578125001], + [13.179492187500017, -16.9716796875], + [13.275683593750017, -16.989550781250003], + [13.403710937500023, -17.0078125], + [13.475976562500023, -17.0400390625], + [13.561718750000011, -17.141210937500006], + [13.6943359375, -17.233496093750002], + [13.7919921875, -17.288378906250003], + [13.904199218750023, -17.36074218750001], + [13.93798828125, -17.388769531250006], + [13.987402343750006, -17.40419921875001], + [14.017480468750023, -17.40888671875001], + [14.225878906250017, -17.397753906250003], + [14.414746093750011, -17.3876953125], + [14.617968750000015, -17.387988281250003], + [15.000585937500004, -17.38857421875001], + [15.383203125000023, -17.38916015625], + [15.765820312500011, -17.3896484375], + [16.1484375, -17.390234375], + [16.531054687500017, -17.39082031250001], + [16.913671875, -17.39140625], + [17.296289062500023, -17.39199218750001], + [17.678808593750006, -17.392578125], + [17.835351562500023, -17.392773437500008], + [18.10878906250002, -17.39599609375], + [18.396386718750023, -17.399414062499996], + [18.428222656249996, -17.40517578125001], + [18.460351562500023, -17.424609375], + [18.486621093750017, -17.44277343750001], + [18.588183593750017, -17.57001953125001], + [18.718066406250017, -17.703222656250006], + [18.825976562500017, -17.76630859375001], + [18.95527343750001, -17.803515625], + [19.076464843750014, -17.817675781250003], + [19.189453125, -17.80849609375001], + [19.377148437500008, -17.825488281250003], + [19.63935546875001, -17.86865234375], + [19.911816406250008, -17.88134765625], + [20.194335937499996, -17.863671875], + [20.392968750000023, -17.88740234375001], + [20.507617187500017, -17.95253906250001], + [20.625097656250002, -17.996679687500006], + [20.74550781250002, -18.01972656250001], + [20.908300781250006, -18.00605468750001], + [21.113476562500008, -17.95576171875001], + [21.287890625000017, -17.962988281250006], + [21.36875, -17.99951171875], + [21.41689453125002, -18.00068359375001], + [21.71845703125001, -17.94775390625], + [21.960839843750023, -17.90517578125001], + [22.32421875, -17.8375], + [22.6240234375, -17.781640625], + [23.068261718750023, -17.698828125], + [23.380664062500017, -17.640625] + ] + ] + } + }, + { + "type": "Feature", + "properties": { + "scalerank": 1, + "featurecla": "Admin-0 country", + "labelrank": 6, + "sovereignt": "Sao Tome and Principe", + "sov_a3": "STP", + "adm0_dif": 0, + "level": 2, + "type": "Sovereign country", + "admin": "Sao Tome and Principe", + "adm0_a3": "STP", + "geou_dif": 0, + "geounit": "Sao Tome and Principe", + "gu_a3": "STP", + "su_dif": 0, + "subunit": "Sao Tome and Principe", + "su_a3": "STP", + "brk_diff": 0, + "name": "São Tomé and Principe", + "name_long": "São Tomé and Principe", + "brk_a3": "STP", + "brk_name": "Sao Tome and Principe", + "brk_group": null, + "abbrev": "S.T.P.", + "postal": "ST", + "formal_en": "Democratic Republic of São Tomé and Principe", + "formal_fr": null, + "note_adm0": null, + "note_brk": null, + "name_sort": "São Tomé and Principe", + "name_alt": null, + "mapcolor7": 1, + "mapcolor8": 6, + "mapcolor9": 1, + "mapcolor13": 7, + "pop_est": 212679, + "gdp_md_est": 276.5, + "pop_year": -99, + "lastcensus": 2001, + "gdp_year": -99, + "economy": "7. Least developed region", + "income_grp": "4. Lower middle income", + "wikipedia": -99, + "fips_10": null, + "iso_a2": "ST", + "iso_a3": "STP", + "iso_n3": "678", + "un_a3": "678", + "wb_a2": "ST", + "wb_a3": "STP", + "woe_id": -99, + "adm0_a3_is": "STP", + "adm0_a3_us": "STP", + "adm0_a3_un": -99, + "adm0_a3_wb": -99, + "continent": "Africa", + "region_un": "Africa", + "subregion": "Middle Africa", + "region_wb": "Sub-Saharan Africa", + "name_len": 21, + "long_len": 21, + "abbrev_len": 6, + "tiny": 3, + "homepart": 1, + "filename": "STP.geojson" + }, + "geometry": { + "type": "MultiPolygon", + "coordinates": [ + [ + [ + [6.659960937499989, 0.120654296874989], + [6.55683593750004, 0.047363281249972], + [6.51972656250004, 0.066308593750023], + [6.496972656250023, 0.117382812500026], + [6.468164062499993, 0.22734375], + [6.477539062500057, 0.280126953124963], + [6.52431640625008, 0.340283203124969], + [6.62587890625008, 0.40024414062502], + [6.68691406250008, 0.404394531249977], + [6.749804687500017, 0.325634765624997], + [6.75, 0.24345703124996], + [6.659960937499989, 0.120654296874989] + ] + ], + [ + [ + [7.423828125, 1.567724609375006], + [7.38662109375008, 1.541552734375003], + [7.342382812500034, 1.563574218749963], + [7.330664062500034, 1.603369140624991], + [7.38759765625008, 1.68017578125], + [7.414453125000051, 1.699121093750037], + [7.437011718750028, 1.683056640624969], + [7.45039062500001, 1.66196289062502], + [7.45234375000004, 1.631103515625042], + [7.423828125, 1.567724609375006] + ] + ] + ] + } + }, + { + "type": "Feature", + "properties": { + "scalerank": 1, + "featurecla": "Admin-0 country", + "labelrank": 6, + "sovereignt": "Somalia", + "sov_a3": "SOM", + "adm0_dif": 0, + "level": 2, + "type": "Sovereign country", + "admin": "Somalia", + "adm0_a3": "SOM", + "geou_dif": 0, + "geounit": "Somalia", + "gu_a3": "SOM", + "su_dif": 0, + "subunit": "Somalia", + "su_a3": "SOM", + "brk_diff": 0, + "name": "Somalia", + "name_long": "Somalia", + "brk_a3": "SOM", + "brk_name": "Somalia", + "brk_group": null, + "abbrev": "Som.", + "postal": "SO", + "formal_en": "Federal Republic of Somalia", + "formal_fr": null, + "note_adm0": null, + "note_brk": null, + "name_sort": "Somalia", + "name_alt": null, + "mapcolor7": 2, + "mapcolor8": 8, + "mapcolor9": 6, + "mapcolor13": 7, + "pop_est": 9832017, + "gdp_md_est": 5524, + "pop_year": -99, + "lastcensus": 1987, + "gdp_year": -99, + "economy": "7. Least developed region", + "income_grp": "5. Low income", + "wikipedia": -99, + "fips_10": null, + "iso_a2": "SO", + "iso_a3": "SOM", + "iso_n3": "706", + "un_a3": "706", + "wb_a2": "SO", + "wb_a3": "SOM", + "woe_id": -99, + "adm0_a3_is": "SOM", + "adm0_a3_us": "SOM", + "adm0_a3_un": -99, + "adm0_a3_wb": -99, + "continent": "Africa", + "region_un": "Africa", + "subregion": "Eastern Africa", + "region_wb": "Sub-Saharan Africa", + "name_len": 7, + "long_len": 7, + "abbrev_len": 4, + "tiny": -99, + "homepart": 1, + "filename": "SOM.geojson" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [41.53271484374999, -1.6953125], + [41.53759765625, -1.613183593750009], + [41.521875, -1.572265625], + [41.42695312500001, -1.449511718750003], + [41.24980468750002, -1.220507812500003], + [41.115820312500006, -1.047460937500005], + [40.97871093750001, -0.870312500000011], + [40.97822265625001, -0.728710937500011], + [40.9765625, -0.307324218750011], + [40.973242187500006, 0.535400390625], + [40.97001953125002, 1.378173828125], + [40.96669921875002, 2.220947265625], + [40.96503906250001, 2.642333984375], + [40.964453125, 2.814648437499997], + [40.97871093750001, 2.842431640624994], + [41.134960937500004, 2.9970703125], + [41.341796875, 3.20166015625], + [41.61347656250001, 3.590478515624994], + [41.76093750000001, 3.801611328124991], + [41.88398437500001, 3.977734375], + [41.91533203125002, 4.031298828124989], + [42.02412109375001, 4.137939453125], + [42.22841796875002, 4.20166015625], + [42.35517578125001, 4.212255859374991], + [42.791601562500006, 4.2919921875], + [42.85664062500001, 4.32421875], + [42.89472656250001, 4.361083984374999], + [42.93095703125002, 4.4453125], + [43.01601562500002, 4.563330078124991], + [43.125683593750004, 4.644482421874997], + [43.333984375, 4.75039062499999], + [43.53828125, 4.84033203125], + [43.58349609375, 4.85498046875], + [43.829199218750006, 4.911425781249989], + [43.88945312500002, 4.930761718749991], + [43.9888671875, 4.950537109374991], + [44.028125, 4.950976562499989], + [44.36953125000002, 4.931201171874989], + [44.63662109375002, 4.915771484375], + [44.91162109374999, 4.89990234375], + [44.94052734375, 4.912011718749994], + [45.1328125, 5.121679687499991], + [45.4384765625, 5.455419921874991], + [45.63359375000002, 5.668261718749989], + [45.934960937500016, 5.997216796874993], + [46.16679687500002, 6.234667968749989], + [46.422949218750006, 6.497265625], + [46.67177734375002, 6.737255859374997], + [46.97119140625, 7.026025390624994], + [47.159765625, 7.207861328124991], + [47.45283203125001, 7.490478515624999], + [47.73164062500001, 7.75932617187499], + [47.97822265625001, 7.997070312499999], + [48.12675781250002, 8.22216796875], + [48.27275390625002, 8.443359375], + [48.42861328125002, 8.679589843749993], + [48.616601562500016, 8.964599609375], + [48.793554687500006, 9.232714843749989], + [48.938085937500006, 9.451757812499991], + [48.938085937500006, 9.564111328124994], + [48.93828125000002, 9.8076171875], + [48.93828125000002, 9.973486328124991], + [48.93837890625002, 10.433251953124994], + [48.93847656249999, 10.714208984374991], + [48.93847656249999, 10.982324218749994], + [48.938574218750006, 11.258447265624994], + [49.062109375, 11.270849609374991], + [49.38828125, 11.342724609374997], + [49.64208984374999, 11.450927734374998], + [50.110058593750004, 11.529296875], + [50.46621093750002, 11.7275390625], + [50.5283203125, 11.823193359374997], + [50.63593750000001, 11.943798828124997], + [50.79228515625002, 11.983691406249987], + [51.19130859375002, 11.841992187499997], + [51.2548828125, 11.830712890624993], + [51.23183593750002, 11.745019531249993], + [51.21816406250002, 11.657666015624997], + [51.136328125, 11.505126953125], + [51.08427734375002, 11.335644531249997], + [51.12226562500001, 11.076757812499991], + [51.140625, 10.656884765624994], + [51.13125, 10.595898437499997], + [51.10488281250002, 10.535839843749997], + [51.093847656250006, 10.488525390624998], + [51.05078125, 10.471972656249989], + [51.031835937500006, 10.444775390624997], + [51.06318359375001, 10.433935546874991], + [51.18828125000001, 10.479736328125], + [51.185546875, 10.529833984374989], + [51.19296875, 10.554638671874997], + [51.29570312500001, 10.498681640624994], + [51.369140625, 10.475244140624994], + [51.390234375, 10.422607421875], + [51.38457031250002, 10.386523437499989], + [51.2681640625, 10.403125], + [51.20878906250002, 10.431054687499993], + [51.03593750000002, 10.38515625], + [50.93007812500002, 10.33554687499999], + [50.8984375, 10.253125], + [50.87373046875001, 9.924169921874991], + [50.83281250000002, 9.710498046874987], + [50.825, 9.428173828124997], + [50.68515625, 9.241162109374997], + [50.63798828125002, 9.109277343749994], + [50.429785156250006, 8.845263671874989], + [50.321191406250016, 8.619580078124997], + [50.285742187500006, 8.509423828124994], + [50.10283203125002, 8.199804687499991], + [49.85205078125, 7.962548828124994], + [49.76123046875, 7.659521484374991], + [49.67119140625002, 7.46953125], + [49.57001953125001, 7.296972656249991], + [49.34853515625002, 6.990527343749989], + [49.234960937500006, 6.77734375], + [49.09267578125002, 6.407861328124994], + [49.04931640625, 6.173632812499989], + [48.649023437500006, 5.494384765625], + [48.233984375, 4.952685546874989], + [47.97529296875001, 4.497021484374997], + [47.51142578125001, 3.96826171875], + [46.87880859375002, 3.28564453125], + [46.05117187500002, 2.475146484374989], + [45.826269531250006, 2.309863281249989], + [44.92021484375002, 1.81015625], + [44.33271484375001, 1.390966796874991], + [44.03271484375, 1.105908203124997], + [43.71757812500002, 0.857861328124997], + [43.46767578125002, 0.621630859374989], + [42.71210937500001, -0.175683593750008], + [42.63417968750002, -0.25078125], + [42.56074218750001, -0.321484375000011], + [42.465625, -0.45654296875], + [42.3994140625, -0.510058593750003], + [42.21894531250001, -0.737988281250011], + [42.10625, -0.856152343750011], + [41.97988281250002, -0.973046875], + [41.92626953124999, -1.055566406250009], + [41.88828125, -1.150585937500011], + [41.84619140625, -1.203417968750003], + [41.73222656250001, -1.430078125], + [41.63203125000001, -1.578515625], + [41.53271484374999, -1.6953125] + ] + ] + } + }, + { + "type": "Feature", + "properties": { + "scalerank": 1, + "featurecla": "Admin-0 country", + "labelrank": 4, + "sovereignt": "Sierra Leone", + "sov_a3": "SLE", + "adm0_dif": 0, + "level": 2, + "type": "Sovereign country", + "admin": "Sierra Leone", + "adm0_a3": "SLE", + "geou_dif": 0, + "geounit": "Sierra Leone", + "gu_a3": "SLE", + "su_dif": 0, + "subunit": "Sierra Leone", + "su_a3": "SLE", + "brk_diff": 0, + "name": "Sierra Leone", + "name_long": "Sierra Leone", + "brk_a3": "SLE", + "brk_name": "Sierra Leone", + "brk_group": null, + "abbrev": "S.L.", + "postal": "SL", + "formal_en": "Republic of Sierra Leone", + "formal_fr": null, + "note_adm0": null, + "note_brk": null, + "name_sort": "Sierra Leone", + "name_alt": null, + "mapcolor7": 1, + "mapcolor8": 4, + "mapcolor9": 1, + "mapcolor13": 7, + "pop_est": 6440053, + "gdp_md_est": 4285, + "pop_year": -99, + "lastcensus": 2004, + "gdp_year": -99, + "economy": "7. Least developed region", + "income_grp": "5. Low income", + "wikipedia": -99, + "fips_10": null, + "iso_a2": "SL", + "iso_a3": "SLE", + "iso_n3": "694", + "un_a3": "694", + "wb_a2": "SL", + "wb_a3": "SLE", + "woe_id": -99, + "adm0_a3_is": "SLE", + "adm0_a3_us": "SLE", + "adm0_a3_un": -99, + "adm0_a3_wb": -99, + "continent": "Africa", + "region_un": "Africa", + "subregion": "Western Africa", + "region_wb": "Sub-Saharan Africa", + "name_len": 12, + "long_len": 12, + "abbrev_len": 4, + "tiny": -99, + "homepart": 1, + "filename": "SLE.geojson" + }, + "geometry": { + "type": "MultiPolygon", + "coordinates": [ + [ + [ + [-12.526074218749926, 7.436328125000016], + [-12.540625, 7.410253906250033], + [-12.607177734375028, 7.474511718749979], + [-12.951611328124926, 7.570849609374988], + [-12.854394531249937, 7.622021484375011], + [-12.615234374999972, 7.63720703125], + [-12.544189453124972, 7.607373046875054], + [-12.5125, 7.582421875000037], + [-12.500634765624994, 7.535107421874983], + [-12.526074218749926, 7.436328125000016] + ] + ], + [ + [ + [-11.180859374999955, 9.925341796875045], + [-11.115673828124926, 9.843164062499994], + [-11.047460937499975, 9.786328125000054], + [-10.963085937499926, 9.661621093750043], + [-10.86479492187496, 9.516455078124963], + [-10.758593749999989, 9.385351562499991], + [-10.690527343749977, 9.314257812499974], + [-10.682714843750006, 9.289355468749974], + [-10.687646484374937, 9.261132812499994], + [-10.721240234374932, 9.194482421875009], + [-10.749951171874926, 9.122363281249958], + [-10.747021484374955, 9.095263671875045], + [-10.726855468749932, 9.081689453125023], + [-10.615966796875, 9.059179687499977], + [-10.60576171874996, 8.978808593750031], + [-10.605615234375023, 8.867578125000023], + [-10.551757812499972, 8.763769531250004], + [-10.500537109375017, 8.687548828125017], + [-10.503125, 8.660302734374978], + [-10.62846679687496, 8.529980468749983], + [-10.677343749999977, 8.400585937499997], + [-10.702148437499972, 8.364208984375054], + [-10.712109374999955, 8.335253906250017], + [-10.686962890624981, 8.321679687500009], + [-10.652636718749989, 8.330273437499983], + [-10.604003906249943, 8.319482421874994], + [-10.55771484374992, 8.315673828125028], + [-10.496435546874977, 8.362109374999974], + [-10.394433593749966, 8.480957031250028], + [-10.360058593749983, 8.49550781249998], + [-10.28320312499997, 8.48515625], + [-10.285742187499949, 8.454101562499986], + [-10.314648437499983, 8.310839843750017], + [-10.359814453124926, 8.187939453125026], + [-10.389550781249966, 8.15761718749998], + [-10.516748046874937, 8.12529296874996], + [-10.570849609374932, 8.071142578125034], + [-10.617578124999966, 7.896435546874969], + [-10.6474609375, 7.759375], + [-10.691308593749966, 7.736425781249963], + [-10.878076171874994, 7.538232421874994], + [-11.000244140624943, 7.46303710937505], + [-11.085400390624955, 7.398583984374965], + [-11.166113281249975, 7.314404296875054], + [-11.267675781249975, 7.232617187499997], + [-11.376660156249981, 7.094677734375054], + [-11.454541015624953, 6.95122070312496], + [-11.507519531249983, 6.906542968750003], + [-11.547509765624966, 6.946972656249983], + [-11.733447265625017, 7.088574218750053], + [-11.92919921875, 7.18354492187504], + [-12.346630859374955, 7.341796875000042], + [-12.48564453124996, 7.386279296875045], + [-12.480664062500011, 7.442480468750034], + [-12.43271484374992, 7.545019531249963], + [-12.510449218749955, 7.66572265625004], + [-12.480273437499932, 7.753271484375019], + [-12.510449218749955, 7.753369140625041], + [-12.570214843749936, 7.700585937500037], + [-12.697607421874977, 7.715869140625045], + [-12.781933593749926, 7.791113281250006], + [-12.850878906249932, 7.818701171875033], + [-12.880957031249919, 7.856640625000025], + [-12.925146484374949, 8.055175781249972], + [-12.956933593749966, 8.145312500000045], + [-13.020800781249987, 8.200927734375], + [-13.148974609374989, 8.214599609375043], + [-13.20175781249992, 8.335839843750051], + [-13.272753906249989, 8.429736328124989], + [-13.261230468749943, 8.48759765624996], + [-13.203320312499955, 8.484277343749994], + [-13.157958984374972, 8.442285156249966], + [-13.085009765624932, 8.424755859375038], + [-12.994238281249919, 8.526464843749977], + [-12.912939453124949, 8.581542968750014], + [-12.894091796874932, 8.62978515624998], + [-12.904003906249926, 8.65625], + [-12.953369140624943, 8.615136718750009], + [-13.088232421874977, 8.625732421875043], + [-13.121630859374932, 8.588769531249966], + [-13.181835937499955, 8.576904296875043], + [-13.228417968749937, 8.695898437500034], + [-13.226171874999919, 8.765966796875006], + [-13.206933593749994, 8.843115234375006], + [-13.071044921875028, 8.856347656250037], + [-13.059472656249966, 8.881152343750031], + [-13.153710937499994, 8.897705078125027], + [-13.271630859374936, 8.987402343750006], + [-13.292675781249955, 9.04921875], + [-13.234228515624949, 9.070117187499974], + [-13.178369140624937, 9.060888671874963], + [-13.129882812500028, 9.047558593749997], + [-13.077294921874964, 9.069628906249974], + [-13.028027343749955, 9.103564453125045], + [-12.99863281249992, 9.146923828124997], + [-12.958789062499987, 9.263330078124994], + [-12.831103515624989, 9.302246093750014], + [-12.755859374999943, 9.373583984374989], + [-12.684423828124949, 9.48417968749996], + [-12.65166015624993, 9.56191406249998], + [-12.622167968749977, 9.600634765624974], + [-12.60361328124992, 9.634228515624969], + [-12.589843749999943, 9.671142578125028], + [-12.557861328125, 9.704980468749993], + [-12.524365234374926, 9.787207031249963], + [-12.501464843749972, 9.862158203125048], + [-12.427978515625028, 9.898144531250011], + [-12.277734374999966, 9.929785156249963], + [-12.142333984375, 9.87539062499999], + [-11.922753906249937, 9.922753906250051], + [-11.911083984374953, 9.993017578124977], + [-11.710058593749949, 9.994189453125031], + [-11.471923828125028, 9.995458984375018], + [-11.273632812499955, 9.996533203124983], + [-11.205664062499949, 9.977734374999969], + [-11.180859374999955, 9.925341796875045] + ] + ] + ] + } + }, + { + "type": "Feature", + "properties": { + "scalerank": 1, + "featurecla": "Admin-0 country", + "labelrank": 3, + "sovereignt": "Rwanda", + "sov_a3": "RWA", + "adm0_dif": 0, + "level": 2, + "type": "Sovereign country", + "admin": "Rwanda", + "adm0_a3": "RWA", + "geou_dif": 0, + "geounit": "Rwanda", + "gu_a3": "RWA", + "su_dif": 0, + "subunit": "Rwanda", + "su_a3": "RWA", + "brk_diff": 0, + "name": "Rwanda", + "name_long": "Rwanda", + "brk_a3": "RWA", + "brk_name": "Rwanda", + "brk_group": null, + "abbrev": "Rwa.", + "postal": "RW", + "formal_en": "Republic of Rwanda", + "formal_fr": null, + "note_adm0": null, + "note_brk": null, + "name_sort": "Rwanda", + "name_alt": null, + "mapcolor7": 5, + "mapcolor8": 2, + "mapcolor9": 3, + "mapcolor13": 10, + "pop_est": 10473282, + "gdp_md_est": 9706, + "pop_year": -99, + "lastcensus": 2002, + "gdp_year": -99, + "economy": "7. Least developed region", + "income_grp": "5. Low income", + "wikipedia": -99, + "fips_10": null, + "iso_a2": "RW", + "iso_a3": "RWA", + "iso_n3": "646", + "un_a3": "646", + "wb_a2": "RW", + "wb_a3": "RWA", + "woe_id": -99, + "adm0_a3_is": "RWA", + "adm0_a3_us": "RWA", + "adm0_a3_un": -99, + "adm0_a3_wb": -99, + "continent": "Africa", + "region_un": "Africa", + "subregion": "Eastern Africa", + "region_wb": "Sub-Saharan Africa", + "name_len": 6, + "long_len": 6, + "abbrev_len": 4, + "tiny": -99, + "homepart": 1, + "filename": "RWA.geojson" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [30.509960937500008, -1.067285156250009], + [30.477050781249996, -1.0830078125], + [30.47021484375, -1.131152343750003], + [30.50810546875002, -1.208203125000011], + [30.631933593750006, -1.367480468750003], + [30.710742187500014, -1.396777343750003], + [30.76220703125, -1.458691406250011], + [30.812597656250002, -1.563085937500005], + [30.827539062500023, -1.693652343750003], + [30.806738281250006, -1.850683593750006], + [30.819140625000017, -1.967480468750011], + [30.864648437500023, -2.044042968750005], + [30.8765625, -2.143359375], + [30.85498046875, -2.265429687500003], + [30.828710937500002, -2.338476562500006], + [30.797656250000017, -2.362695312500009], + [30.7625, -2.371679687500006], + [30.71484375, -2.363476562500011], + [30.656640625000023, -2.373828125], + [30.593359375, -2.396777343750003], + [30.55361328125002, -2.400097656250011], + [30.52890625, -2.395605468750006], + [30.482226562500017, -2.376074218750006], + [30.408496093750014, -2.31298828125], + [30.270996093749996, -2.347851562500011], + [30.23378906250002, -2.347070312500008], + [30.183300781250008, -2.377050781250006], + [30.14228515625001, -2.413964843750009], + [30.117285156250006, -2.416601562500006], + [30.091894531250006, -2.411523437500009], + [29.973437500000017, -2.337109375000011], + [29.930175781250004, -2.339550781250011], + [29.912402343750014, -2.548632812500003], + [29.892578125, -2.664648437500006], + [29.868164062500004, -2.71640625], + [29.783398437500008, -2.76640625], + [29.698046875000017, -2.794726562500002], + [29.6513671875, -2.792773437500003], + [29.463671875000017, -2.808398437500003], + [29.390234375, -2.80859375], + [29.34980468750001, -2.79150390625], + [29.29707031250001, -2.673046875000011], + [29.197558593750014, -2.620312500000011], + [29.10205078125, -2.595703125], + [29.063183593750008, -2.6025390625], + [29.028613281250017, -2.66455078125], + [29.01435546875001, -2.72021484375], + [28.921777343750023, -2.68203125], + [28.893945312500023, -2.635058593750003], + [28.891406250000017, -2.555566406250008], + [28.85761718750001, -2.446679687500009], + [28.876367187500023, -2.400292968750009], + [28.912695312500002, -2.370312500000011], + [28.98955078125002, -2.312792968750003], + [29.106445312499996, -2.233203125], + [29.131542968750008, -2.195117187500003], + [29.148046875, -2.1318359375], + [29.140625, -1.984570312500011], + [29.129394531249996, -1.860253906250008], + [29.143261718750008, -1.816015625], + [29.196582031250017, -1.719921875000011], + [29.26816406250001, -1.62158203125], + [29.351660156250006, -1.517578125], + [29.401953125, -1.507421875], + [29.467968750000015, -1.468066406250003], + [29.537792968750008, -1.409765625], + [29.576953125000014, -1.387890625000011], + [29.609667968750014, -1.387109375], + [29.825390625, -1.335546875], + [29.846875, -1.351660156250006], + [29.881640625000017, -1.451757812500005], + [29.9, -1.46630859375], + [29.93007812500002, -1.469921875000011], + [29.99052734375002, -1.446972656250011], + [30.1015625, -1.36865234375], + [30.15, -1.32109375], + [30.20703125, -1.254199218750003], + [30.279882812500006, -1.178808593750006], + [30.32050781250001, -1.113085937500003], + [30.36025390625002, -1.074609375], + [30.412304687500008, -1.063085937500005], + [30.46992187500001, -1.066015625], + [30.509960937500008, -1.067285156250009] + ] + ] + } + }, + { + "type": "Feature", + "properties": { + "scalerank": 1, + "featurecla": "Admin-0 country", + "labelrank": 4, + "sovereignt": "Swaziland", + "sov_a3": "SWZ", + "adm0_dif": 0, + "level": 2, + "type": "Sovereign country", + "admin": "Swaziland", + "adm0_a3": "SWZ", + "geou_dif": 0, + "geounit": "Swaziland", + "gu_a3": "SWZ", + "su_dif": 0, + "subunit": "Swaziland", + "su_a3": "SWZ", + "brk_diff": 0, + "name": "Swaziland", + "name_long": "Swaziland", + "brk_a3": "SWZ", + "brk_name": "Swaziland", + "brk_group": null, + "abbrev": "Swz.", + "postal": "SW", + "formal_en": "Kingdom of Swaziland", + "formal_fr": null, + "note_adm0": null, + "note_brk": null, + "name_sort": "Swaziland", + "name_alt": null, + "mapcolor7": 3, + "mapcolor8": 6, + "mapcolor9": 2, + "mapcolor13": 5, + "pop_est": 1123913, + "gdp_md_est": 5702, + "pop_year": -99, + "lastcensus": 2007, + "gdp_year": -99, + "economy": "6. Developing region", + "income_grp": "4. Lower middle income", + "wikipedia": -99, + "fips_10": null, + "iso_a2": "SZ", + "iso_a3": "SWZ", + "iso_n3": "748", + "un_a3": "748", + "wb_a2": "SZ", + "wb_a3": "SWZ", + "woe_id": -99, + "adm0_a3_is": "SWZ", + "adm0_a3_us": "SWZ", + "adm0_a3_un": -99, + "adm0_a3_wb": -99, + "continent": "Africa", + "region_un": "Africa", + "subregion": "Southern Africa", + "region_wb": "Sub-Saharan Africa", + "name_len": 9, + "long_len": 9, + "abbrev_len": 4, + "tiny": -99, + "homepart": 1, + "filename": "SWZ.geojson" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [31.9482421875, -25.957617187500006], + [31.96845703125001, -25.972265625], + [32.060546875, -26.018359375], + [32.06884765625, -26.11015625], + [32.05996093750002, -26.21503906250001], + [32.04140625000002, -26.28125], + [32.04833984375, -26.34716796875], + [32.07792968750002, -26.449804687500006], + [32.10595703125, -26.520019531249996], + [32.112890625, -26.839453125], + [32.081640625, -26.824804687500006], + [32.02480468750002, -26.811132812500006], + [31.994726562500006, -26.817480468750006], + [31.967187500000026, -26.96064453125001], + [31.946093750000014, -27.1736328125], + [31.95839843750002, -27.30585937500001], + [31.742578125000023, -27.30996093750001], + [31.469531250000017, -27.295507812500006], + [31.27402343750001, -27.238378906250006], + [31.063378906250023, -27.112304687499996], + [30.938085937500006, -26.915820312500003], + [30.883300781249996, -26.79238281250001], + [30.806738281250006, -26.785253906250006], + [30.79433593750002, -26.764257812500006], + [30.7875, -26.613671875], + [30.7890625, -26.45546875], + [30.803320312500002, -26.413476562500005], + [30.945214843750023, -26.21875], + [31.033300781250006, -26.097753906250006], + [31.088085937500008, -25.980664062500008], + [31.207324218750017, -25.843359375], + [31.33515625, -25.75556640625001], + [31.38261718750002, -25.74296875], + [31.415136718750006, -25.74658203125], + [31.640429687500017, -25.867285156250006], + [31.87148437500002, -25.98164062500001], + [31.921679687500017, -25.96875], + [31.9482421875, -25.957617187500006] + ] + ] + } + }, + { + "type": "Feature", + "properties": { + "scalerank": 1, + "featurecla": "Admin-0 country", + "labelrank": 5, + "sovereignt": "Somaliland", + "sov_a3": "SOL", + "adm0_dif": 0, + "level": 2, + "type": "Indeterminate", + "admin": "Somaliland", + "adm0_a3": "SOL", + "geou_dif": 0, + "geounit": "Somaliland", + "gu_a3": "SOL", + "su_dif": 0, + "subunit": "Somaliland", + "su_a3": "SOL", + "brk_diff": 1, + "name": "Somaliland", + "name_long": "Somaliland", + "brk_a3": "B30", + "brk_name": "Somaliland", + "brk_group": null, + "abbrev": "Solnd.", + "postal": "SL", + "formal_en": "Republic of Somaliland", + "formal_fr": null, + "note_adm0": "Self admin.", + "note_brk": "Self admin.; Claimed by Somalia", + "name_sort": "Somaliland", + "name_alt": null, + "mapcolor7": 3, + "mapcolor8": 6, + "mapcolor9": 5, + "mapcolor13": 2, + "pop_est": 3500000, + "gdp_md_est": 12250, + "pop_year": -99, + "lastcensus": -99, + "gdp_year": -99, + "economy": "6. Developing region", + "income_grp": "4. Lower middle income", + "wikipedia": -99, + "fips_10": null, + "iso_a2": "-99", + "iso_a3": "-99", + "iso_n3": "-99", + "un_a3": "-099", + "wb_a2": "-99", + "wb_a3": "-99", + "woe_id": -99, + "adm0_a3_is": "SOM", + "adm0_a3_us": "SOM", + "adm0_a3_un": -99, + "adm0_a3_wb": -99, + "continent": "Africa", + "region_un": "Africa", + "subregion": "Eastern Africa", + "region_wb": "Sub-Saharan Africa", + "name_len": 10, + "long_len": 10, + "abbrev_len": 6, + "tiny": -99, + "homepart": 1, + "filename": "somaliland.geojson" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [48.938574218750006, 11.258447265624994], + [48.93847656249999, 10.982324218749994], + [48.93847656249999, 10.714208984374991], + [48.93837890625002, 10.433251953124994], + [48.93828125000002, 9.973486328124991], + [48.93828125000002, 9.8076171875], + [48.938085937500006, 9.564111328124994], + [48.938085937500006, 9.451757812499991], + [48.793554687500006, 9.232714843749989], + [48.616601562500016, 8.964599609375], + [48.42861328125002, 8.679589843749993], + [48.27275390625002, 8.443359375], + [48.12675781250002, 8.22216796875], + [47.97822265625001, 7.997070312499999], + [47.6376953125, 7.997070312499999], + [47.3056640625, 7.997070312499999], + [46.97822265625001, 7.997070312499999], + [46.91953125, 8.026123046874998], + [46.64472656250001, 8.1181640625], + [46.29599609375, 8.234960937499991], + [45.86328125, 8.3798828125], + [45.55546875000002, 8.483007812499991], + [45.22695312500002, 8.5908203125], + [44.8935546875, 8.7001953125], + [44.63203125000001, 8.786083984374997], + [44.30625, 8.89306640625], + [44.02285156250002, 8.986035156249997], + [43.98378906250002, 9.008837890624989], + [43.826757812500006, 9.15078125], + [43.62050781250002, 9.33740234375], + [43.5810546875, 9.340722656249994], + [43.482519531250006, 9.37949218749999], + [43.39433593750002, 9.480273437499989], + [43.303125, 9.609082031249997], + [43.21845703125001, 9.770166015624993], + [43.18164062499999, 9.87998046874999], + [43.0689453125, 9.926220703124997], + [43.014746093750006, 10.012597656249994], + [42.9125, 10.140820312499997], + [42.84160156250002, 10.203076171874997], + [42.81640625, 10.257373046874989], + [42.78369140625, 10.36962890625], + [42.725195312500006, 10.491748046874989], + [42.66923828125002, 10.567578125], + [42.65644531250001, 10.6], + [42.65957031250002, 10.621386718749989], + [42.76308593750002, 10.786914062499989], + [42.80976562500001, 10.845996093749987], + [42.862890625, 10.903222656249994], + [42.90615234375002, 10.960253906249989], + [42.92275390625002, 10.999316406249989], + [43.04863281250002, 11.1943359375], + [43.159375, 11.36572265625], + [43.24599609375002, 11.499804687499989], + [43.44121093750002, 11.346435546875], + [43.63115234375002, 11.035449218749989], + [43.85273437500001, 10.784277343749991], + [44.158203125, 10.55078125], + [44.279296875, 10.471875], + [44.38652343750002, 10.430224609374989], + [44.94296875, 10.43671875], + [45.33769531250001, 10.64975585937499], + [45.695898437500006, 10.80390625], + [45.81669921875002, 10.835888671874997], + [46.024511718750006, 10.793701171875], + [46.25390625, 10.781103515624991], + [46.46025390625001, 10.734179687499989], + [46.565039062500006, 10.745996093749994], + [46.97343750000002, 10.92539062499999], + [47.230078125, 11.099902343749989], + [47.40498046875001, 11.174023437499997], + [47.47382812500001, 11.1748046875], + [47.7125, 11.112011718749997], + [48.01923828125001, 11.139355468749995], + [48.43886718750002, 11.29013671874999], + [48.57255859375002, 11.320507812499997], + [48.674414062500006, 11.32265625], + [48.903125, 11.2548828125], + [48.938574218750006, 11.258447265624994] + ] + ] + } + }, + { + "type": "Feature", + "properties": { + "scalerank": 1, + "featurecla": "Admin-0 country", + "labelrank": 3, + "sovereignt": "Chad", + "sov_a3": "TCD", + "adm0_dif": 0, + "level": 2, + "type": "Sovereign country", + "admin": "Chad", + "adm0_a3": "TCD", + "geou_dif": 0, + "geounit": "Chad", + "gu_a3": "TCD", + "su_dif": 0, + "subunit": "Chad", + "su_a3": "TCD", + "brk_diff": 0, + "name": "Chad", + "name_long": "Chad", + "brk_a3": "TCD", + "brk_name": "Chad", + "brk_group": null, + "abbrev": "Chad", + "postal": "TD", + "formal_en": "Republic of Chad", + "formal_fr": null, + "note_adm0": null, + "note_brk": null, + "name_sort": "Chad", + "name_alt": null, + "mapcolor7": 6, + "mapcolor8": 1, + "mapcolor9": 8, + "mapcolor13": 6, + "pop_est": 10329208, + "gdp_md_est": 15860, + "pop_year": -99, + "lastcensus": 2009, + "gdp_year": -99, + "economy": "7. Least developed region", + "income_grp": "5. Low income", + "wikipedia": -99, + "fips_10": null, + "iso_a2": "TD", + "iso_a3": "TCD", + "iso_n3": "148", + "un_a3": "148", + "wb_a2": "TD", + "wb_a3": "TCD", + "woe_id": -99, + "adm0_a3_is": "TCD", + "adm0_a3_us": "TCD", + "adm0_a3_un": -99, + "adm0_a3_wb": -99, + "continent": "Africa", + "region_un": "Africa", + "subregion": "Middle Africa", + "region_wb": "Sub-Saharan Africa", + "name_len": 4, + "long_len": 4, + "abbrev_len": 4, + "tiny": -99, + "homepart": 1, + "filename": "TCD.geojson" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [23.980273437500017, 19.496630859375003], + [23.98066406250001, 19.050585937500003], + [23.981054687500006, 18.604541015625003], + [23.981445312499996, 18.158496093750003], + [23.981835937500023, 17.71240234375], + [23.982226562500014, 17.266357421875], + [23.982519531250002, 16.820263671874997], + [23.98291015625, 16.37421875], + [23.983300781250023, 15.928125], + [23.9833984375, 15.780175781249994], + [23.970800781250006, 15.72153320312499], + [23.965234375000023, 15.713427734375003], + [23.94599609375001, 15.70351562499999], + [23.70820312500001, 15.74497070312499], + [23.60400390625, 15.745996093749994], + [23.4580078125, 15.71396484374999], + [23.243457031250017, 15.697216796874997], + [23.10517578125001, 15.702539062499993], + [23.009179687500023, 15.625830078124991], + [22.933886718750017, 15.533105468749994], + [22.969531250000017, 15.311328125], + [22.961328125000023, 15.23813476562499], + [22.93232421875001, 15.162109375], + [22.8671875, 15.096630859374997], + [22.802148437500023, 15.044433593749998], + [22.76328125, 14.998681640624994], + [22.714941406250006, 14.898388671874997], + [22.679199218749996, 14.851464843749993], + [22.682421875000017, 14.788623046875001], + [22.670898437499996, 14.722460937500003], + [22.6318359375, 14.688085937499991], + [22.532031250000017, 14.662744140624994], + [22.467773437499996, 14.633349609375003], + [22.41621093750001, 14.585205078125], + [22.381542968750008, 14.550488281249997], + [22.399707031250014, 14.504199218750003], + [22.425, 14.441210937500001], + [22.439355468750023, 14.34213867187499], + [22.449316406250002, 14.284228515625003], + [22.498339843750017, 14.237060546875], + [22.528222656250023, 14.203222656249991], + [22.53857421875, 14.161865234375], + [22.509960937500008, 14.12744140625], + [22.38818359375, 14.055517578124991], + [22.339355468749996, 14.028857421875003], + [22.283496093750017, 13.992333984374994], + [22.262109375000023, 13.978710937499997], + [22.173144531250014, 13.910595703124995], + [22.128222656250014, 13.850146484375003], + [22.1064453125, 13.7998046875], + [22.10761718750001, 13.730322265624991], + [22.152929687500006, 13.626416015624997], + [22.20234375000001, 13.538085937499998], + [22.221386718750008, 13.471630859374997], + [22.23261718750001, 13.39877929687499], + [22.228125, 13.329589843749998], + [22.20263671875, 13.269335937500003], + [22.158007812500014, 13.215039062499997], + [21.990234375, 13.113085937499989], + [21.90771484375, 13.0009765625], + [21.841796875, 12.86474609375], + [21.825292968750006, 12.790527343749998], + [21.843359375, 12.7412109375], + [21.878125, 12.699365234374994], + [21.928125, 12.678125], + [22.00068359375001, 12.671875], + [22.121191406250006, 12.694580078125], + [22.2333984375, 12.70947265625], + [22.352343750000017, 12.660449218749987], + [22.414453125000023, 12.54638671875], + [22.390234375, 12.462988281249991], + [22.435253906250008, 12.311914062499994], + [22.47548828125002, 12.129248046874991], + [22.472460937500014, 12.067773437499994], + [22.48984375, 12.044726562499987], + [22.564355468750023, 12.032958984375], + [22.580957031250023, 11.990136718749994], + [22.55634765625001, 11.66953125], + [22.591113281250017, 11.579882812499989], + [22.641015625000023, 11.515917968749989], + [22.697363281250002, 11.482666015625], + [22.754003906250006, 11.43984375], + [22.78339843750001, 11.409960937499989], + [22.849023437500023, 11.403271484374997], + [22.922656250000017, 11.344873046874994], + [22.942773437500023, 11.2671875], + [22.937695312500008, 11.192041015624994], + [22.894824218750017, 11.029003906249997], + [22.86005859375001, 10.919677734375], + [22.8173828125, 10.927197265624997], + [22.730175781250008, 10.954052734374997], + [22.6240234375, 10.977343749999989], + [22.49384765625001, 10.996240234374994], + [22.36982421875001, 10.951513671874991], + [22.2359375, 10.89414062499999], + [22.193652343750017, 10.851367187499987], + [22.15625, 10.826074218749994], + [22.09716796875, 10.830078125], + [22.04316406250001, 10.822705078124995], + [22.013769531250006, 10.782031249999989], + [21.96484375, 10.736669921874991], + [21.771484375, 10.642822265625], + [21.73066406250001, 10.608691406249987], + [21.70654296875, 10.574804687499991], + [21.70654296875, 10.537890624999989], + [21.726171875, 10.461621093749997], + [21.72578125000001, 10.366552734374991], + [21.682714843750006, 10.289843749999989], + [21.63271484375002, 10.23828125], + [21.57578125, 10.218554687499989], + [21.52802734375001, 10.207812499999989], + [21.496875, 10.175683593749994], + [21.39599609375, 10.001367187499994], + [21.352441406250023, 9.96914062499999], + [21.26386718750001, 9.974609375], + [21.00947265625001, 9.713232421874991], + [20.984179687500014, 9.636279296874989], + [20.891015625000023, 9.527148437499989], + [20.773242187500017, 9.405664062499993], + [20.66816406250001, 9.347119140624997], + [20.65966796875, 9.324511718749987], + [20.631445312500002, 9.301367187499991], + [20.56689453125, 9.274951171874989], + [20.342089843750017, 9.127099609374994], + [20.072656250000023, 9.13320312499999], + [19.953515625000023, 9.075146484374997], + [19.837695312500014, 9.049365234374989], + [19.668359375000023, 9.020898437499994], + [19.617480468750014, 9.023583984374994], + [19.40029296875002, 9.011621093749994], + [19.1455078125, 9.01596679687499], + [19.0478515625, 8.995019531249993], + [18.95625, 8.938867187499994], + [18.88828125, 8.889746093749991], + [18.878320312500023, 8.873193359374993], + [18.888574218750023, 8.852490234374997], + [18.886035156250017, 8.836035156249991], + [19.06416015625001, 8.715429687499991], + [19.108691406250014, 8.656152343749993], + [19.063867187500023, 8.598828125], + [19.042382812500023, 8.590283203124995], + [19.039843750000017, 8.5869140625], + [19.010839843750006, 8.541210937499997], + [18.90644531250001, 8.405078124999989], + [18.747460937500023, 8.243798828124994], + [18.66621093750001, 8.197705078124997], + [18.633593750000017, 8.167724609375], + [18.591601562500017, 8.060791015625], + [18.56416015625001, 8.0458984375], + [18.455078125, 8.032031249999989], + [18.238867187500006, 8.020361328124991], + [17.940136718750008, 7.985449218749991], + [17.760839843750006, 7.973828125], + [17.6494140625, 7.98359375], + [17.49267578125, 7.909814453124993], + [17.436425781250023, 7.890917968749989], + [17.402148437500014, 7.884570312499989], + [17.24697265625002, 7.81298828125], + [17.117968750000017, 7.701904296874999], + [17.071972656250008, 7.680810546874993], + [16.89033203125001, 7.633691406249993], + [16.818164062500017, 7.557324218749996], + [16.784765625, 7.550976562499996], + [16.668359375000023, 7.651757812499993], + [16.588964843750006, 7.743359375], + [16.550195312500023, 7.835888671874997], + [16.545312500000023, 7.865478515624999], + [16.523242187500014, 7.859960937499991], + [16.459375, 7.818994140624995], + [16.404394531250006, 7.772363281249994], + [16.37890625, 7.683544921874996], + [16.19111328125001, 7.6234375], + [16.030664062500023, 7.572119140624991], + [15.957617187500006, 7.507568359374999], + [15.845019531250015, 7.475292968749997], + [15.701269531250006, 7.488427734374993], + [15.589257812500021, 7.515039062499993], + [15.480078125, 7.523779296874991], + [15.532421875000013, 7.604394531249994], + [15.552636718750021, 7.664501953124997], + [15.55781250000001, 7.738037109375], + [15.549804687499998, 7.787890624999988], + [15.484472656250007, 7.812744140625], + [15.44296875, 7.851855468749989], + [15.349023437500023, 8.083837890624991], + [15.252343750000023, 8.322363281249991], + [15.1162109375, 8.557324218749997], + [14.967968750000013, 8.707275390624998], + [14.860742187500023, 8.798632812499989], + [14.826269531250006, 8.810302734375], + [14.771289062500015, 8.839160156249987], + [14.732812500000023, 8.865673828124997], + [14.536132812499998, 9.025244140624991], + [14.332324218750017, 9.20351562499999], + [14.280078125000017, 9.285058593749994], + [14.177929687500011, 9.406494140624998], + [14.064160156250011, 9.53173828125], + [14.004980468750004, 9.588720703124991], + [13.977246093750011, 9.691552734374994], + [14.055957031250015, 9.784375], + [14.139746093750004, 9.901806640624997], + [14.243261718750006, 9.979736328125], + [14.377246093750017, 9.985058593749997], + [14.597949218750017, 9.953076171874997], + [14.835839843750023, 9.941699218749989], + [15.071582031250017, 9.965966796874993], + [15.132714843750023, 9.982861328124997], + [15.193164062500015, 9.981494140624989], + [15.32001953125001, 9.954296875], + [15.540917968750023, 9.960302734374991], + [15.654882812500004, 10.0078125], + [15.53193359375001, 10.08847656249999], + [15.399902343749998, 10.216894531249991], + [15.276074218750011, 10.357373046874997], + [15.200976562500017, 10.484521484374993], + [15.132226562500025, 10.648486328124989], + [15.068652343750015, 10.851074218749998], + [15.029882812500006, 11.11367187499999], + [15.035742187500006, 11.2625], + [15.055468750000017, 11.368554687499994], + [15.121972656250023, 11.541259765625], + [15.078027343750021, 11.642578125], + [15.087695312500015, 11.724365234375], + [15.08125, 11.845507812499989], + [15.059863281250017, 11.907128906249994], + [14.97382812500001, 12.108349609374997], + [14.95673828125001, 12.13037109375], + [14.880664062500015, 12.269384765624991], + [14.847070312500021, 12.502099609374993], + [14.76123046875, 12.65561523437499], + [14.62324218750001, 12.729931640624997], + [14.544726562500015, 12.820214843749994], + [14.516210937500006, 12.979736328125], + [14.461718750000015, 13.021777343749989], + [14.244824218750011, 13.07734375], + [14.063964843749998, 13.07851562499999], + [13.932324218750011, 13.258496093749995], + [13.763476562500017, 13.489550781250003], + [13.606347656250023, 13.70458984375], + [13.505761718750023, 14.134423828124994], + [13.448242187499998, 14.380664062500003], + [13.513671875, 14.455517578124997], + [13.642382812500017, 14.630761718749994], + [13.80712890625, 14.966113281250003], + [14.17822265625, 15.48476562499999], + [14.367968750000017, 15.750146484374994], + [14.746679687500007, 16.14663085937499], + [15.212109375000011, 16.63388671874999], + [15.47431640625001, 16.908398437499994], + [15.516699218750006, 17.408496093750003], + [15.5615234375, 17.937255859374996], + [15.595507812500017, 18.337060546874994], + [15.637597656250023, 18.810839843750003], + [15.672949218750006, 19.206787109375], + [15.698632812500021, 19.49521484374999], + [15.73505859375001, 19.904052734375], + [15.766210937500004, 19.982568359374994], + [15.948828125, 20.303173828124994], + [15.963183593750019, 20.346191406249996], + [15.929296875, 20.399853515624997], + [15.66845703125, 20.67236328125], + [15.587109375000011, 20.733300781249994], + [15.540332031250017, 20.874902343749994], + [15.607324218750023, 20.954394531250003], + [15.293652343750011, 21.411523437499994], + [15.215820312499998, 21.467431640624994], + [15.181835937500011, 21.523388671874997], + [15.177832031250006, 21.60581054687499], + [15.172265625000021, 21.922070312499997], + [15.088964843750007, 22.41835937499999], + [14.979003906250002, 22.99619140624999], + [15.347460937500017, 23.160693359375003], + [15.627148437500011, 23.28574218749999], + [15.984082031250011, 23.445214843749994], + [16.315039062500006, 23.28183593749999], + [16.79414062500001, 23.04526367187499], + [17.273242187500017, 22.80869140624999], + [17.752246093750017, 22.57211914062499], + [18.231347656250023, 22.33554687499999], + [18.710449218749996, 22.09897460937499], + [19.189453125, 21.86240234374999], + [19.668554687500006, 21.625830078124988], + [20.14765625000001, 21.38925781249999], + [20.626757812500017, 21.152636718750003], + [21.105859375000023, 20.91611328124999], + [21.5849609375, 20.679492187500003], + [22.0640625, 20.442919921875], + [22.543066406250006, 20.206347656250003], + [23.02216796875001, 19.969775390625003], + [23.501269531250017, 19.733203125], + [23.980273437500017, 19.496630859375003] + ] + ] + } + }, + { + "type": "Feature", + "properties": { + "scalerank": 1, + "featurecla": "Admin-0 country", + "labelrank": 3, + "sovereignt": "Tunisia", + "sov_a3": "TUN", + "adm0_dif": 0, + "level": 2, + "type": "Sovereign country", + "admin": "Tunisia", + "adm0_a3": "TUN", + "geou_dif": 0, + "geounit": "Tunisia", + "gu_a3": "TUN", + "su_dif": 0, + "subunit": "Tunisia", + "su_a3": "TUN", + "brk_diff": 0, + "name": "Tunisia", + "name_long": "Tunisia", + "brk_a3": "TUN", + "brk_name": "Tunisia", + "brk_group": null, + "abbrev": "Tun.", + "postal": "TN", + "formal_en": "Republic of Tunisia", + "formal_fr": null, + "note_adm0": null, + "note_brk": null, + "name_sort": "Tunisia", + "name_alt": null, + "mapcolor7": 4, + "mapcolor8": 3, + "mapcolor9": 3, + "mapcolor13": 2, + "pop_est": 10486339, + "gdp_md_est": 81710, + "pop_year": -99, + "lastcensus": 2004, + "gdp_year": -99, + "economy": "6. Developing region", + "income_grp": "3. Upper middle income", + "wikipedia": -99, + "fips_10": null, + "iso_a2": "TN", + "iso_a3": "TUN", + "iso_n3": "788", + "un_a3": "788", + "wb_a2": "TN", + "wb_a3": "TUN", + "woe_id": -99, + "adm0_a3_is": "TUN", + "adm0_a3_us": "TUN", + "adm0_a3_un": -99, + "adm0_a3_wb": -99, + "continent": "Africa", + "region_un": "Africa", + "subregion": "Northern Africa", + "region_wb": "Middle East & North Africa", + "name_len": 7, + "long_len": 7, + "abbrev_len": 4, + "tiny": -99, + "homepart": 1, + "filename": "TUN.geojson" + }, + "geometry": { + "type": "MultiPolygon", + "coordinates": [ + [ + [ + [10.957617187500063, 33.72207031250005], + [10.93134765625004, 33.717431640624994], + [10.883007812500066, 33.69018554687502], + [10.857421875, 33.68715820312502], + [10.784765625000032, 33.71767578125002], + [10.757031250000068, 33.71748046874998], + [10.72207031250005, 33.738916015624994], + [10.733886718750057, 33.855615234374966], + [10.74521484375006, 33.88867187500006], + [10.921972656250006, 33.89311523437499], + [11.017871093749989, 33.82333984374998], + [11.03359375, 33.80502929687498], + [11.037597656250028, 33.785058593749994], + [10.993066406249994, 33.745947265625006], + [10.957617187500063, 33.72207031250005] + ] + ], + [ + [ + [11.278027343750068, 34.753808593749994], + [11.123632812500063, 34.68168945312496], + [11.153027343750011, 34.74458007812498], + [11.254882812500057, 34.82031250000006], + [11.281054687500045, 34.80219726562501], + [11.278027343750068, 34.753808593749994] + ] + ], + [ + [ + [9.783984375000074, 37.21142578125002], + [9.830273437499983, 37.13535156250006], + [9.896386718750051, 37.181640625], + [9.879394531250055, 37.21284179687504], + [9.875585937499975, 37.25415039062503], + [9.988085937500074, 37.257763671874955], + [10.087402343750057, 37.25126953124996], + [10.196386718750063, 37.205859375000045], + [10.188769531250017, 37.03388671874998], + [10.334082031250034, 36.86538085937505], + [10.293261718750074, 36.781494140625], + [10.412304687499983, 36.73183593750002], + [10.518164062500063, 36.79135742187506], + [10.571289062500057, 36.87944335937496], + [10.766210937500063, 36.930273437500034], + [10.951367187500038, 37.05927734375001], + [11.053906250000068, 37.07250976562506], + [11.07705078125005, 36.96669921874999], + [11.126660156250038, 36.874072265625045], + [11.056542968750051, 36.84145507812505], + [10.967187500000051, 36.74301757812498], + [10.798144531249989, 36.493115234374955], + [10.642382812500074, 36.419628906250004], + [10.525683593749989, 36.323339843750006], + [10.48798828125004, 36.2548828125], + [10.476562500000028, 36.175146484375006], + [10.505761718750023, 36.03242187499998], + [10.590820312500028, 35.88725585937499], + [10.688964843750057, 35.799511718749955], + [10.783691406249972, 35.77207031250006], + [11.00429687500008, 35.63383789062496], + [11.00068359375004, 35.551611328125006], + [11.031542968750017, 35.45385742187497], + [11.043261718750017, 35.33510742187502], + [11.120117187500057, 35.24028320312499], + [10.955859375000074, 35.03364257812498], + [10.8662109375, 34.88432617187504], + [10.69091796875, 34.67846679687502], + [10.534863281250011, 34.544726562500045], + [10.200390625000068, 34.34604492187506], + [10.118359375000068, 34.28007812500004], + [10.06484375000008, 34.21162109375004], + [10.0400390625, 34.14033203124998], + [10.049023437500066, 34.056298828124994], + [10.158984375000072, 33.850048828125004], + [10.305273437500034, 33.72827148437497], + [10.454296875000011, 33.6625], + [10.713183593750017, 33.68901367187496], + [10.704296875000068, 33.60966796874996], + [10.722753906250006, 33.514404296875], + [10.828125, 33.518896484375034], + [10.8984375, 33.53369140625003], + [10.958007812500057, 33.62631835937498], + [11.084570312500006, 33.56289062500002], + [11.150292968750051, 33.369238281250006], + [11.257421875000034, 33.30883789062506], + [11.269921875000023, 33.28632812499998], + [11.23212890625004, 33.271582031250006], + [11.20263671874997, 33.24921874999998], + [11.234277343750023, 33.23359375000001], + [11.33808593750004, 33.20947265624997], + [11.400585937500066, 33.22490234375002], + [11.50458984375004, 33.181933593750045], + [11.502441406250028, 33.15556640624999], + [11.467187500000051, 32.96572265625005], + [11.459179687500011, 32.897363281249966], + [11.453906250000017, 32.78168945312504], + [11.453906250000017, 32.64257812500003], + [11.533789062500034, 32.52495117187495], + [11.535937500000017, 32.47333984375001], + [11.504980468750034, 32.41367187500003], + [11.358007812500006, 32.34521484375003], + [11.168261718750072, 32.25673828125002], + [11.005175781250074, 32.17270507812506], + [10.826367187500066, 32.080664062500034], + [10.771582031250006, 32.02119140625001], + [10.68300781250008, 31.97539062499999], + [10.60888671875, 31.929541015624977], + [10.595507812500017, 31.88574218750003], + [10.543652343750011, 31.802539062500042], + [10.47578125000004, 31.736035156249983], + [10.306054687500021, 31.704833984375025], + [10.274609375000011, 31.684960937499994], + [10.195996093750068, 31.585107421874966], + [10.159863281249981, 31.54580078124997], + [10.114941406250068, 31.46376953125005], + [10.172656250000017, 31.250976562500025], + [10.24335937500004, 31.03212890625002], + [10.257031250000068, 30.940820312499994], + [10.25605468750004, 30.86494140624998], + [10.216406250000063, 30.78320312500003], + [10.125976562500028, 30.66596679687495], + [10.05976562500004, 30.580078125000025], + [9.932519531250051, 30.425341796874964], + [9.895019531250028, 30.387304687500034], + [9.807421875000045, 30.342236328124983], + [9.637988281250074, 30.282324218750034], + [9.51875, 30.22939453124999], + [9.4580078125, 30.465380859375042], + [9.406054687500074, 30.666796875000045], + [9.363281250000057, 30.832910156250023], + [9.287890625000074, 31.12534179687501], + [9.224023437500021, 31.373681640624998], + [9.160253906250006, 31.621337890625], + [9.102343750000015, 31.846142578124955], + [9.044042968750032, 32.072363281250034], + [9.018945312500078, 32.10537109375002], + [8.844042968750074, 32.21210937499998], + [8.682910156250017, 32.31044921875005], + [8.515136718750028, 32.42231445312501], + [8.333398437500051, 32.54360351562502], + [8.304199218750028, 32.69628906250006], + [8.210937500000057, 32.92670898437501], + [8.1125, 33.055322265624994], + [8.075585937499994, 33.089062499999955], + [7.877246093750017, 33.172119140625], + [7.762695312500028, 33.23310546874998], + [7.73134765625005, 33.26850585937501], + [7.709179687500068, 33.36230468750003], + [7.627539062500034, 33.54863281249996], + [7.534375, 33.717919921874994], + [7.500195312500011, 33.83247070312498], + [7.495605468750057, 33.976513671875004], + [7.513867187500067, 34.080517578124955], + [7.554492187500074, 34.125], + [7.74853515625, 34.25449218750006], + [7.838281250000079, 34.410302734374994], + [7.949414062500068, 34.46870117187501], + [8.04560546875004, 34.51269531249999], + [8.12343750000008, 34.56391601562504], + [8.19277343750008, 34.646289062500045], + [8.24560546875, 34.73408203124998], + [8.254687500000072, 34.82895507812503], + [8.276855468750057, 34.97949218749997], + [8.312109375000063, 35.084619140624994], + [8.394238281250011, 35.20385742187503], + [8.35986328125, 35.29960937499999], + [8.316406250000028, 35.403125], + [8.329003906250021, 35.58222656250001], + [8.318066406250011, 35.654931640624994], + [8.282910156250068, 35.71928710937496], + [8.247070312500028, 35.80180664062499], + [8.245703125000034, 35.870556640624955], + [8.280273437500057, 36.05097656250004], + [8.306738281250034, 36.188769531250045], + [8.348730468750063, 36.367968750000045], + [8.33398437499997, 36.418164062499955], + [8.302734375, 36.45561523437495], + [8.208789062500045, 36.4951171875], + [8.207617187500006, 36.518945312499994], + [8.230761718749987, 36.545263671875006], + [8.369628906250055, 36.63251953125004], + [8.444238281250051, 36.76074218750003], + [8.506738281249994, 36.7875], + [8.601269531250066, 36.83393554687504], + [8.597656250000057, 36.88388671874998], + [8.576562500000023, 36.937207031250004], + [8.823535156250072, 36.99760742187499], + [9.058886718750045, 37.15585937499998], + [9.141992187500023, 37.19462890624996], + [9.687988281250055, 37.34038085937499], + [9.758886718750006, 37.330273437499976], + [9.838476562500063, 37.30898437499999], + [9.815527343750006, 37.25463867187503], + [9.783984375000074, 37.21142578125002] + ] + ] + ] + } + }, + { + "type": "Feature", + "properties": { + "scalerank": 1, + "featurecla": "Admin-0 country", + "labelrank": 3, + "sovereignt": "Uganda", + "sov_a3": "UGA", + "adm0_dif": 0, + "level": 2, + "type": "Sovereign country", + "admin": "Uganda", + "adm0_a3": "UGA", + "geou_dif": 0, + "geounit": "Uganda", + "gu_a3": "UGA", + "su_dif": 0, + "subunit": "Uganda", + "su_a3": "UGA", + "brk_diff": 0, + "name": "Uganda", + "name_long": "Uganda", + "brk_a3": "UGA", + "brk_name": "Uganda", + "brk_group": null, + "abbrev": "Uga.", + "postal": "UG", + "formal_en": "Republic of Uganda", + "formal_fr": null, + "note_adm0": null, + "note_brk": null, + "name_sort": "Uganda", + "name_alt": null, + "mapcolor7": 6, + "mapcolor8": 3, + "mapcolor9": 6, + "mapcolor13": 4, + "pop_est": 32369558, + "gdp_md_est": 39380, + "pop_year": -99, + "lastcensus": 2002, + "gdp_year": -99, + "economy": "7. Least developed region", + "income_grp": "5. Low income", + "wikipedia": -99, + "fips_10": null, + "iso_a2": "UG", + "iso_a3": "UGA", + "iso_n3": "800", + "un_a3": "800", + "wb_a2": "UG", + "wb_a3": "UGA", + "woe_id": -99, + "adm0_a3_is": "UGA", + "adm0_a3_us": "UGA", + "adm0_a3_un": -99, + "adm0_a3_wb": -99, + "continent": "Africa", + "region_un": "Africa", + "subregion": "Eastern Africa", + "region_wb": "Sub-Saharan Africa", + "name_len": 6, + "long_len": 6, + "abbrev_len": 4, + "tiny": -99, + "homepart": 1, + "filename": "UGA.geojson" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [33.90322265625002, -1.002050781250006], + [33.794042968750006, -1.002050781250006], + [33.616308593750006, -1.002050781250006], + [33.4384765625, -1.002050781250006], + [33.2607421875, -1.002050781250006], + [33.0830078125, -1.002050781250006], + [32.90517578125002, -1.002050781250006], + [32.72744140625002, -1.002050781250006], + [32.54970703125002, -1.002050781250006], + [32.371875, -1.002050781250006], + [32.19414062500002, -1.002050781250006], + [32.01640625000002, -1.002050781250006], + [31.838574218750008, -1.002050781250006], + [31.66083984375001, -1.002050781250006], + [31.483105468750008, -1.002050781250006], + [31.305273437500006, -1.002050781250006], + [31.127539062500002, -1.002050781250006], + [30.94970703125, -1.002050781250006], + [30.8447265625, -1.002050781250006], + [30.823632812500023, -0.9990234375], + [30.809179687500006, -0.994921875], + [30.741992187500017, -1.007519531250011], + [30.67275390625002, -1.051367187500006], + [30.598730468750002, -1.069726562500009], + [30.519921875000023, -1.0625], + [30.509960937500008, -1.067285156250009], + [30.46992187500001, -1.066015625], + [30.412304687500008, -1.063085937500005], + [30.36025390625002, -1.074609375], + [30.32050781250001, -1.113085937500003], + [30.279882812500006, -1.178808593750006], + [30.20703125, -1.254199218750003], + [30.15, -1.32109375], + [30.1015625, -1.36865234375], + [29.99052734375002, -1.446972656250011], + [29.93007812500002, -1.469921875000011], + [29.9, -1.46630859375], + [29.881640625000017, -1.451757812500005], + [29.846875, -1.351660156250006], + [29.825390625, -1.335546875], + [29.609667968750014, -1.387109375], + [29.576953125000014, -1.387890625000011], + [29.579980468750023, -1.356738281250003], + [29.5640625, -1.121386718750003], + [29.561914062500023, -0.97734375], + [29.59003906250001, -0.887109375], + [29.606445312499996, -0.783105468750009], + [29.608203125000017, -0.691308593750009], + [29.64785156250002, -0.535253906250006], + [29.633203125000023, -0.441699218750003], + [29.684375, -0.113574218750003], + [29.697851562500006, -0.060205078125009], + [29.717675781250023, 0.098339843749997], + [29.74970703125001, 0.147216796875], + [29.77783203125, 0.166357421874991], + [29.81464843750001, 0.263623046874997], + [29.88544921875001, 0.4189453125], + [29.934472656250023, 0.4990234375], + [29.923828125, 0.673925781249991], + [29.931640625, 0.792871093749994], + [29.942871093750004, 0.819238281249994], + [30.04736328125, 0.863525390625], + [30.18291015625002, 0.973486328124992], + [30.24013671875002, 1.102783203125], + [30.321093750000014, 1.185302734375], + [30.477832031250014, 1.238818359374989], + [30.478125, 1.239062499999989], + [30.942578125, 1.6828125], + [31.158789062500006, 1.922021484374994], + [31.252734375000014, 2.044580078124994], + [31.25605468750001, 2.088476562499991], + [31.27402343750001, 2.146289062499989], + [31.236328125, 2.191357421874997], + [31.19140625, 2.232275390624991], + [31.176367187500006, 2.270068359374989], + [31.137597656250023, 2.288867187499989], + [31.082128906250002, 2.2880859375], + [31.045312500000023, 2.315527343749991], + [31.00361328125001, 2.369384765625], + [30.961914062499996, 2.403271484374997], + [30.830078125, 2.400439453124989], + [30.72861328125001, 2.455371093749989], + [30.72988281250002, 2.5302734375], + [30.76953125, 2.677978515625], + [30.846679687499996, 2.847021484374991], + [30.85078125000001, 2.893652343749991], + [30.83994140625001, 2.933496093749994], + [30.821386718750002, 2.967578124999989], + [30.78652343750002, 3.001367187499994], + [30.754003906250002, 3.041796874999989], + [30.779296875, 3.163378906249989], + [30.82783203125001, 3.282617187499994], + [30.86757812500002, 3.342138671874991], + [30.90644531250001, 3.408935546875], + [30.895312500000017, 3.463671874999989], + [30.838574218750015, 3.49072265625], + [30.868164062499996, 3.544140625], + [30.92939453125001, 3.634082031249989], + [31.04804687500001, 3.725], + [31.15234375, 3.785595703124997], + [31.221972656250014, 3.785937499999989], + [31.357421875, 3.737597656249988], + [31.47998046875, 3.680468749999989], + [31.54716796875002, 3.677587890624991], + [31.62890625, 3.701464843749989], + [31.798046875, 3.802636718749994], + [31.838671875000014, 3.770458984374997], + [31.88828125, 3.709082031249991], + [31.941796875000023, 3.607568359374994], + [32.048242187500016, 3.561181640624994], + [32.09941406250002, 3.529199218749994], + [32.13593750000001, 3.519726562499997], + [32.15625, 3.528027343749997], + [32.19667968750002, 3.6078125], + [32.24550781250002, 3.651318359374997], + [32.33574218750002, 3.706201171874994], + [32.534765625, 3.749951171874997], + [32.67695312500001, 3.76318359375], + [32.73710937500002, 3.772705078125], + [32.83808593750001, 3.798486328124994], + [32.99726562500001, 3.880175781249988], + [33.15410156250002, 3.774707031249989], + [33.32431640625, 3.754345703124997], + [33.489355468750006, 3.755078125], + [33.53955078124999, 3.787109375], + [33.568457031250006, 3.81171875], + [33.74160156250002, 3.985253906249994], + [33.97607421875, 4.22021484375], + [34.13203125000001, 3.88916015625], + [34.18574218750001, 3.869775390624994], + [34.17822265625, 3.840869140624989], + [34.1650390625, 3.81298828125], + [34.26708984375, 3.733154296875], + [34.39287109375002, 3.691503906249991], + [34.43769531250001, 3.650585937499997], + [34.44179687500002, 3.60625], + [34.3994140625, 3.412695312499991], + [34.4072265625, 3.357519531249991], + [34.447851562500006, 3.163476562499994], + [34.522558593750006, 3.119970703124991], + [34.58916015625002, 2.924755859374997], + [34.723242187500006, 2.841943359374994], + [34.74248046875002, 2.818115234375], + [34.7734375, 2.723437499999989], + [34.814453125, 2.619824218749997], + [34.8466796875, 2.595751953124989], + [34.8662109375, 2.589697265624991], + [34.90576171875, 2.4796875], + [34.88300781250001, 2.417919921874997], + [34.91396484375002, 2.230175781249997], + [34.96406250000001, 2.062402343749994], + [34.9775390625, 1.861914062499991], + [34.978222656250004, 1.773632812499997], + [34.97646484375002, 1.719628906249994], + [34.965234375000016, 1.643359374999989], + [34.94121093750002, 1.599267578124994], + [34.89833984375002, 1.556494140624991], + [34.85097656250002, 1.489013671875], + [34.8095703125, 1.416699218749997], + [34.78359375000002, 1.381152343749989], + [34.803808593750006, 1.272851562499994], + [34.79863281250002, 1.24453125], + [34.78759765625, 1.230712890625], + [34.72675781250001, 1.214257812499994], + [34.649121093750004, 1.185302734375], + [34.60195312500002, 1.156445312499997], + [34.535253906250006, 1.1015625], + [34.48173828125002, 1.042138671874994], + [34.41083984375001, 0.867285156249991], + [34.292578125, 0.73125], + [34.272558593750006, 0.686425781249994], + [34.16093750000002, 0.605175781249997], + [34.11171875000002, 0.505126953125], + [34.08056640625, 0.382470703124994], + [34.037207031250006, 0.29453125], + [33.94316406250002, 0.173779296874997], + [33.921484375, -0.016992187500009], + [33.924414062500006, -0.397851562500009], + [33.9, -0.831640625], + [33.90322265625002, -1.002050781250006] + ] + ] + } + }, + { + "type": "Feature", + "properties": { + "scalerank": 1, + "featurecla": "Admin-0 country", + "labelrank": 3, + "sovereignt": "United Republic of Tanzania", + "sov_a3": "TZA", + "adm0_dif": 0, + "level": 2, + "type": "Sovereign country", + "admin": "United Republic of Tanzania", + "adm0_a3": "TZA", + "geou_dif": 0, + "geounit": "Tanzania", + "gu_a3": "TZA", + "su_dif": 0, + "subunit": "Tanzania", + "su_a3": "TZA", + "brk_diff": 0, + "name": "Tanzania", + "name_long": "Tanzania", + "brk_a3": "TZA", + "brk_name": "Tanzania", + "brk_group": null, + "abbrev": "Tanz.", + "postal": "TZ", + "formal_en": "United Republic of Tanzania", + "formal_fr": null, + "note_adm0": null, + "note_brk": null, + "name_sort": "Tanzania", + "name_alt": null, + "mapcolor7": 3, + "mapcolor8": 6, + "mapcolor9": 2, + "mapcolor13": 2, + "pop_est": 41048532, + "gdp_md_est": 54250, + "pop_year": -99, + "lastcensus": 2002, + "gdp_year": -99, + "economy": "7. Least developed region", + "income_grp": "5. Low income", + "wikipedia": -99, + "fips_10": null, + "iso_a2": "TZ", + "iso_a3": "TZA", + "iso_n3": "834", + "un_a3": "834", + "wb_a2": "TZ", + "wb_a3": "TZA", + "woe_id": -99, + "adm0_a3_is": "TZA", + "adm0_a3_us": "TZA", + "adm0_a3_un": -99, + "adm0_a3_wb": -99, + "continent": "Africa", + "region_un": "Africa", + "subregion": "Eastern Africa", + "region_wb": "Sub-Saharan Africa", + "name_len": 8, + "long_len": 8, + "abbrev_len": 5, + "tiny": -99, + "homepart": 1, + "filename": "TZA.geojson" + }, + "geometry": { + "type": "MultiPolygon", + "coordinates": [ + [ + [ + [39.71132812499999, -7.977441406250023], + [39.65722656249997, -7.990527343750017], + [39.63613281250005, -7.977832031250017], + [39.60292968749999, -7.936132812499949], + [39.66064453124997, -7.900585937499996], + [39.71660156250002, -7.831542968749957], + [39.846582031249994, -7.73027343750003], + [39.890917968750074, -7.663476562500009], + [39.907128906249994, -7.64921875000003], + [39.89775390625002, -7.728125], + [39.82441406250004, -7.900683593750017], + [39.76181640625006, -7.911914062499988], + [39.71132812499999, -7.977441406250023] + ] + ], + [ + [ + [39.49648437499999, -6.174609375], + [39.57304687500007, -6.38740234375001], + [39.5631835937501, -6.427246093749957], + [39.50917968749999, -6.451660156249957], + [39.48095703124997, -6.45371093750002], + [39.44736328125006, -6.419726562500017], + [39.42363281250002, -6.347851562500026], + [39.382617187500074, -6.364941406249955], + [39.31269531250004, -6.279101562499974], + [39.243457031250074, -6.275], + [39.18232421875004, -6.172558593750025], + [39.20625, -6.083203125000026], + [39.19238281249997, -5.931054687500022], + [39.26699218750005, -5.853125], + [39.30898437499999, -5.721972656249974], + [39.357226562500074, -5.811523437500014], + [39.368261718750006, -5.951171874999957], + [39.43330078125009, -6.115429687500025], + [39.487890625, -6.166210937499969], + [39.49648437499999, -6.174609375] + ] + ], + [ + [ + [39.86503906250002, -4.906152343750037], + [39.870996093749994, -4.95654296875], + [39.8556640625001, -5.004003906249991], + [39.85898437500006, -5.155175781249966], + [39.85302734374997, -5.255468749999977], + [39.79589843749997, -5.394433593750037], + [39.74931640625002, -5.443847656249986], + [39.7076171875, -5.429492187499989], + [39.6734375, -5.406640625000036], + [39.646777343750074, -5.368554687500008], + [39.70107421875005, -5.113671875000036], + [39.6734375, -4.927050781250031], + [39.78076171875003, -4.944921875000034], + [39.86503906250002, -4.906152343750037] + ] + ], + [ + [ + [30.82363281250005, -0.999023437499943], + [30.844726562500025, -1.002050781250034], + [30.949707031249968, -1.002050781250034], + [31.12753906250006, -1.002050781250034], + [31.305273437500063, -1.002050781250034], + [31.48310546875004, -1.002050781250034], + [31.660839843750093, -1.002050781250034], + [31.83857421875004, -1.002050781250034], + [32.016406250000074, -1.002050781250034], + [32.19414062500002, -1.002050781250034], + [32.371875, -1.002050781250034], + [32.549707031249994, -1.002050781250034], + [32.72744140625005, -1.002050781250034], + [32.905175781249994, -1.002050781250034], + [33.08300781250003, -1.002050781250034], + [33.26074218749997, -1.002050781250034], + [33.43847656249997, -1.002050781250034], + [33.616308593750006, -1.002050781250034], + [33.794042968750006, -1.002050781250034], + [33.90322265625005, -1.002050781250034], + [33.979394531249994, -1.002050781250034], + [34.05156250000007, -1.03984375], + [34.13164062500002, -1.084570312499963], + [34.34472656250003, -1.203613281249971], + [34.55791015625001, -1.32255859374996], + [34.77109375, -1.441601562499969], + [34.984277343749994, -1.560546874999943], + [35.1974609375001, -1.679589843749952], + [35.41054687499999, -1.79863281249996], + [35.6237304687501, -1.917578125000034], + [35.83691406249997, -2.036621093749943], + [36.05, -2.155664062499951], + [36.263085937500044, -2.274609375000025], + [36.47636718750007, -2.393554687500014], + [36.68945312500003, -2.512597656250022], + [36.90263671875002, -2.631640625000017], + [37.11582031250006, -2.750585937500006], + [37.32900390625005, -2.869628906250014], + [37.54218750000004, -2.988574218750003], + [37.643847656250074, -3.045410156250028], + [37.65917968749997, -3.070019531249983], + [37.676855468750006, -3.178417968750039], + [37.68798828124997, -3.246191406249991], + [37.68183593750004, -3.305761718749963], + [37.62539062499999, -3.407226562500028], + [37.608691406250074, -3.460253906249988], + [37.608203125000074, -3.497070312500028], + [37.62207031249997, -3.51152343749996], + [37.6701171875001, -3.516796874999968], + [37.71103515625006, -3.540820312499974], + [37.72617187500006, -3.559765625000011], + [37.757421875, -3.636132812500023], + [37.79726562500005, -3.674414062500005], + [37.887304687500006, -3.739257812499985], + [38.04082031250002, -3.84980468750004], + [38.19433593750003, -3.960351562499994], + [38.34785156250004, -4.070898437499963], + [38.50136718750005, -4.181445312500016], + [38.65488281250006, -4.291894531249952], + [38.808398437500074, -4.402441406250006], + [38.96191406249997, -4.51298828124996], + [39.1154296875001, -4.623535156250014], + [39.19013671875004, -4.677246093749943], + [39.221777343750006, -4.692382812500014], + [39.20185546875003, -4.776464843749991], + [39.12324218750009, -4.980468749999986], + [39.11875, -5.065429687499986], + [39.087988281250006, -5.165429687500008], + [39.0583007812501, -5.231542968749977], + [38.97822265625004, -5.518554687500014], + [38.911035156249994, -5.625976562499957], + [38.81923828125005, -5.877636718749983], + [38.80468750000002, -6.070117187500031], + [38.85527343750002, -6.204882812499946], + [38.87402343750003, -6.33125], + [38.98144531249997, -6.455078125000028], + [39.06738281249997, -6.499316406249974], + [39.12548828125003, -6.555957031249974], + [39.228417968749994, -6.685253906250025], + [39.28730468750004, -6.814941406249972], + [39.47236328125004, -6.878613281249982], + [39.5460937500001, -7.024023437500034], + [39.51923828125004, -7.124121093749991], + [39.43339843750002, -7.207031250000013], + [39.353125, -7.341406250000034], + [39.288476562499994, -7.517871093750003], + [39.28701171875005, -7.787695312500006], + [39.33046875000005, -7.746679687499991], + [39.4284179687501, -7.81279296874996], + [39.441015625, -8.011523437499946], + [39.34003906250004, -8.24287109375001], + [39.30898437499999, -8.350976562500009], + [39.304003906250074, -8.44384765625], + [39.37734375, -8.720800781250034], + [39.48837890625006, -8.861816406249986], + [39.48007812500006, -8.905957031249997], + [39.451269531250006, -8.94296875], + [39.64130859375004, -9.192480468750018], + [39.62548828124997, -9.409472656250003], + [39.69667968750005, -9.57841796874996], + [39.727929687499994, -9.724804687500024], + [39.774804687500044, -9.837109374999983], + [39.783789062500006, -9.914550781249957], + [39.725195312500055, -10.000488281249972], + [39.86376953124997, -10.021972656249986], + [39.94521484375005, -10.092285156250014], + [39.98359375000004, -10.159570312499952], + [40.0836914062501, -10.15664062499998], + [40.13789062500004, -10.202636718750028], + [40.21601562500004, -10.240625], + [40.38876953125006, -10.353515624999941], + [40.43554687500003, -10.410253906249963], + [40.452539062499994, -10.442968749999963], + [40.46357421875003, -10.464355468749972], + [40.34746093750002, -10.551562499999974], + [40.16621093750003, -10.6875], + [39.98867187499999, -10.820800781250014], + [39.81708984375004, -10.912402343750031], + [39.694433593750006, -10.954785156249955], + [39.56347656249997, -10.978515625], + [39.43916015625004, -11.034570312499966], + [39.321582031250074, -11.122558593749943], + [39.170996093750055, -11.166894531250009], + [38.9875, -11.167285156250003], + [38.79472656250002, -11.228906250000023], + [38.60332031250002, -11.345312500000034], + [38.49179687500006, -11.413281250000026], + [38.31513671875004, -11.311132812499991], + [38.17656250000002, -11.278710937499964], + [38.01728515625009, -11.282128906250037], + [37.92021484375002, -11.294726562500031], + [37.88535156250006, -11.316699218749974], + [37.855078125, -11.379101562499983], + [37.8292968750001, -11.481933593749972], + [37.72480468750004, -11.58066406250002], + [37.54169921875004, -11.675097656249974], + [37.37285156250002, -11.710449218749986], + [37.21835937500006, -11.6865234375], + [37.113867187500006, -11.647167968749969], + [37.05917968750006, -11.592187499999966], + [36.97890625000005, -11.566992187499975], + [36.87265625000006, -11.571289062499972], + [36.77109375000006, -11.610351562500027], + [36.67382812499997, -11.684277343749983], + [36.51865234375006, -11.716210937500007], + [36.30566406250003, -11.706347656249946], + [36.191308593749994, -11.670703124999974], + [36.17548828125004, -11.609277343749978], + [36.08222656250004, -11.537304687499969], + [35.91132812500004, -11.45468750000002], + [35.78544921875007, -11.452929687500017], + [35.704687500000055, -11.53212890624998], + [35.63095703125006, -11.582031250000028], + [35.564355468749994, -11.602343749999989], + [35.50439453125003, -11.60478515624996], + [35.45136718750004, -11.589550781249955], + [35.418261718750074, -11.583203125], + [35.18261718750003, -11.574804687499977], + [34.95947265625003, -11.578125], + [34.952636718749964, -11.54375], + [34.93701171874997, -11.463476562500034], + [34.890625, -11.3935546875], + [34.85058593749997, -11.351953124999966], + [34.80087890625006, -11.34091796875002], + [34.77382812500005, -11.341699218750009], + [34.75214843750004, -11.309472656250009], + [34.726464843749994, -11.238183593749964], + [34.68847656249997, -11.177441406250026], + [34.638085937499994, -11.127148437499997], + [34.60791015624997, -11.08046875], + [34.59765625000003, -11.0375], + [34.60566406250004, -10.990234374999986], + [34.65234374999997, -10.87285156249996], + [34.66708984375006, -10.792480468750028], + [34.66181640625004, -10.71005859375002], + [34.63652343750002, -10.625585937499949], + [34.58359375, -10.525097656249997], + [34.58955078125004, -10.496191406249963], + [34.571582031250074, -10.427636718750037], + [34.569726562500044, -10.379687499999944], + [34.57998046874999, -10.319824218750014], + [34.56992187500006, -10.241113281249966], + [34.524218750000074, -10.073144531250023], + [34.524218750000074, -10.03017578124998], + [34.475976562499994, -9.948828125], + [34.32783203125004, -9.756542968750011], + [34.32089843750006, -9.731542968749977], + [34.08857421875004, -9.537792968750026], + [33.99560546875003, -9.495410156250003], + [33.96210937500004, -9.531738281249943], + [33.94960937499999, -9.565332031249952], + [33.959375, -9.62734375], + [33.953710937500006, -9.658203124999957], + [33.943945312500006, -9.67216796874996], + [33.88886718750004, -9.670117187499981], + [33.8541992187501, -9.662988281249952], + [33.766210937500006, -9.6109375], + [33.69765625, -9.598144531249972], + [33.52753906250004, -9.60751953125002], + [33.46777343749997, -9.61972656250002], + [33.42089843750003, -9.608007812500034], + [33.330859375000074, -9.519140624999963], + [33.22529296875004, -9.50048828124997], + [33.13046875, -9.495898437500017], + [32.97402343749999, -9.395019531249986], + [32.937304687500074, -9.39970703124996], + [32.91992187500003, -9.407421875000026], + [32.86328125000003, -9.380859375000028], + [32.75664062500002, -9.322265625], + [32.60839843749997, -9.270507812500014], + [32.48710937500002, -9.21269531249996], + [32.43320312500006, -9.156347656250034], + [32.31933593750003, -9.134863281250006], + [32.22089843750004, -9.125585937499977], + [32.129785156250044, -9.073339843749991], + [32.0353515625001, -9.067382812500028], + [31.94257812500004, -9.05400390624996], + [31.921875, -9.019433593750023], + [31.918652343750043, -8.942187500000017], + [31.886132812499994, -8.921972656249977], + [31.81806640625004, -8.902246093749952], + [31.744726562500066, -8.90322265624998], + [31.7, -8.914355468750031], + [31.673632812500017, -8.908789062499963], + [31.612792968749968, -8.863281250000014], + [31.55625, -8.80546875], + [31.534863281250097, -8.71328125], + [31.44921874999997, -8.65390625], + [31.35058593750003, -8.607031250000034], + [31.07636718750004, -8.611914062499963], + [31.033398437500097, -8.597656249999986], + [30.968359375000063, -8.550976562499983], + [30.89199218750005, -8.473730468749961], + [30.830664062500063, -8.385546875000031], + [30.776757812499994, -8.265820312499969], + [30.75117187500004, -8.193652343750017], + [30.720898437500097, -8.104394531250037], + [30.653808593750025, -7.970898437500026], + [30.558886718750014, -7.781933593749984], + [30.485644531250014, -7.627148437499983], + [30.406738281250025, -7.460644531249983], + [30.37451171874997, -7.338671875], + [30.313183593750097, -7.203710937499949], + [30.212695312500017, -7.037890625000016], + [30.16181640625004, -6.973046875000036], + [30.10625, -6.915039062500028], + [29.961816406249994, -6.803125], + [29.79814453125002, -6.691894531249957], + [29.70966796875004, -6.616894531250039], + [29.590625, -6.394433593750023], + [29.540820312500017, -6.313867187500036], + [29.50625, -6.172070312500011], + [29.480078125, -6.025], + [29.490820312500066, -5.96542968750002], + [29.596386718750043, -5.775976562499963], + [29.60703125, -5.722656250000028], + [29.59414062500005, -5.650781250000037], + [29.542382812499994, -5.499804687500016], + [29.503710937500014, -5.400976562499948], + [29.47646484375005, -5.316601562499997], + [29.42011718750004, -5.17617187499998], + [29.342773437499968, -4.983105468749997], + [29.323437500000036, -4.898828124999966], + [29.32568359374997, -4.835644531249969], + [29.36757812499999, -4.668847656250009], + [29.40419921874999, -4.49667968750002], + [29.40322265625005, -4.449316406249963], + [29.71777343750003, -4.45585937499996], + [29.76953124999997, -4.418066406249991], + [29.94726562499997, -4.307324218749983], + [30.147167968750093, -4.085351562499979], + [30.18710937500006, -3.992871093749969], + [30.26855468750003, -3.850488281249994], + [30.348437500000074, -3.779785156249985], + [30.379101562500097, -3.730761718750031], + [30.4, -3.65390625], + [30.425, -3.588867187499986], + [30.52988281250001, -3.492480468749989], + [30.631933593750006, -3.41865234375004], + [30.624609375, -3.388671874999972], + [30.61093750000006, -3.366406249999969], + [30.62607421875006, -3.347363281249997], + [30.68183593750004, -3.309375], + [30.790234375000093, -3.274609375000011], + [30.811425781250048, -3.200585937500023], + [30.811132812500002, -3.116406250000011], + [30.79355468750006, -3.069335937500014], + [30.796875, -3.015136718749986], + [30.780273437500025, -2.984863281249957], + [30.709472656249968, -2.977246093749997], + [30.60429687500007, -2.935253906249969], + [30.515039062499998, -2.917578125], + [30.45556640625003, -2.893164062500006], + [30.433496093749994, -2.874511718750028], + [30.4240234375001, -2.82402343749996], + [30.44130859375005, -2.769042968749943], + [30.450488281250074, -2.753222656250017], + [30.4733398437501, -2.6943359375], + [30.434375, -2.658886718749983], + [30.424218750000048, -2.641601562500014], + [30.441992187500006, -2.613476562499969], + [30.533691406249968, -2.426269531250014], + [30.55361328125005, -2.400097656250011], + [30.59335937500006, -2.39677734374996], + [30.656640625000055, -2.373828124999989], + [30.71484375000003, -2.363476562500011], + [30.7625, -2.371679687499991], + [30.797656250000017, -2.362695312500037], + [30.828710937500002, -2.338476562499977], + [30.854980468749968, -2.265429687500017], + [30.8765625, -2.143359375000017], + [30.86464843749999, -2.044042968749948], + [30.819140625000017, -1.967480468749983], + [30.806738281250006, -1.850683593749991], + [30.827539062500055, -1.693652343749974], + [30.812597656250002, -1.56308593750002], + [30.76220703124997, -1.458691406249983], + [30.71074218750007, -1.396777343749974], + [30.631933593750006, -1.36748046874996], + [30.50810546875007, -1.208203125000026], + [30.470214843749968, -1.13115234374996], + [30.47705078124997, -1.0830078125], + [30.509960937500097, -1.067285156249994], + [30.51992187499999, -1.0625], + [30.598730468750063, -1.069726562499966], + [30.67275390625005, -1.051367187499949], + [30.741992187500017, -1.007519531249997], + [30.809179687500063, -0.994921875], + [30.82363281250005, -0.999023437499943] + ] + ] + ] + } + }, + { + "type": "Feature", + "properties": { + "scalerank": 1, + "featurecla": "Admin-0 country", + "labelrank": 3, + "sovereignt": "Zimbabwe", + "sov_a3": "ZWE", + "adm0_dif": 0, + "level": 2, + "type": "Sovereign country", + "admin": "Zimbabwe", + "adm0_a3": "ZWE", + "geou_dif": 0, + "geounit": "Zimbabwe", + "gu_a3": "ZWE", + "su_dif": 0, + "subunit": "Zimbabwe", + "su_a3": "ZWE", + "brk_diff": 0, + "name": "Zimbabwe", + "name_long": "Zimbabwe", + "brk_a3": "ZWE", + "brk_name": "Zimbabwe", + "brk_group": null, + "abbrev": "Zimb.", + "postal": "ZW", + "formal_en": "Republic of Zimbabwe", + "formal_fr": null, + "note_adm0": null, + "note_brk": null, + "name_sort": "Zimbabwe", + "name_alt": null, + "mapcolor7": 1, + "mapcolor8": 5, + "mapcolor9": 3, + "mapcolor13": 9, + "pop_est": 12619600, + "gdp_md_est": 9323, + "pop_year": 0, + "lastcensus": 2002, + "gdp_year": 0, + "economy": "5. Emerging region: G20", + "income_grp": "5. Low income", + "wikipedia": -99, + "fips_10": null, + "iso_a2": "ZW", + "iso_a3": "ZWE", + "iso_n3": "716", + "un_a3": "716", + "wb_a2": "ZW", + "wb_a3": "ZWE", + "woe_id": -99, + "adm0_a3_is": "ZWE", + "adm0_a3_us": "ZWE", + "adm0_a3_un": -99, + "adm0_a3_wb": -99, + "continent": "Africa", + "region_un": "Africa", + "subregion": "Eastern Africa", + "region_wb": "Sub-Saharan Africa", + "name_len": 8, + "long_len": 8, + "abbrev_len": 5, + "tiny": -99, + "homepart": 1, + "filename": "ZWE.geojson" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [31.287890625000014, -22.40205078125001], + [31.197265625, -22.34492187500001], + [31.07343750000001, -22.30781250000001], + [30.916113281250002, -22.29072265625001], + [30.71162109375001, -22.2978515625], + [30.460156250000015, -22.329003906250005], + [30.1904296875, -22.291113281250002], + [29.90234375, -22.184179687500002], + [29.6630859375, -22.1462890625], + [29.377441406249996, -22.19277343750001], + [29.36484375, -22.193945312500006], + [29.315234375000014, -22.15771484375], + [29.237207031250023, -22.07949218750001], + [29.106835937500023, -22.065722656250003], + [29.07148437500001, -22.047460937500006], + [29.042382812500023, -22.018359375], + [29.023339843750023, -21.98125], + [29.01582031250001, -21.93994140625], + [29.03730468750001, -21.811328125], + [29.02558593750001, -21.796875], + [28.99072265625, -21.78144531250001], + [28.919335937500023, -21.766015625], + [28.74775390625001, -21.707617187500006], + [28.532031250000017, -21.65126953125001], + [28.181640625, -21.58935546875], + [28.04560546875001, -21.573046875], + [28.01406250000002, -21.55419921875], + [27.974609375, -21.50673828125001], + [27.907421875, -21.35908203125001], + [27.844140625000023, -21.261523437500003], + [27.693457031250006, -21.11103515625001], + [27.66943359375, -21.0642578125], + [27.67695312500001, -20.94482421875], + [27.688085937500006, -20.848339843750008], + [27.704296875, -20.76640625], + [27.69697265625001, -20.689746093750003], + [27.69482421875, -20.59453125], + [27.69960937500002, -20.53066406250001], + [27.679296875, -20.503027343750006], + [27.624609375, -20.48359375000001], + [27.468945312500008, -20.47480468750001], + [27.28076171875, -20.47871093750001], + [27.274609375, -20.3818359375], + [27.256738281250023, -20.23203125], + [27.221484375000017, -20.145800781250003], + [27.17822265625, -20.10097656250001], + [27.091796875, -20.05419921875], + [26.91669921875001, -19.99013671875001], + [26.678222656249996, -19.89277343750001], + [26.474609375, -19.748632812500006], + [26.241015625000017, -19.5693359375], + [26.168066406250002, -19.53828125000001], + [26.081933593750023, -19.369921875], + [25.95068359375, -19.08173828125001], + [25.959179687500008, -18.98564453125], + [25.939355468750023, -18.93867187500001], + [25.811914062500023, -18.79707031250001], + [25.78369140625, -18.723535156250005], + [25.76123046875, -18.64921875], + [25.55830078125001, -18.441796875], + [25.489257812499996, -18.35126953125001], + [25.43671875000001, -18.234960937500006], + [25.384375, -18.14199218750001], + [25.340234375000023, -18.1044921875], + [25.28242187500001, -18.04121093750001], + [25.242285156250006, -17.969042968750003], + [25.224023437500023, -17.91523437500001], + [25.239062500000017, -17.843066406250003], + [25.2587890625, -17.793554687500006], + [25.451757812500002, -17.84511718750001], + [25.55712890625, -17.84951171875001], + [25.6396484375, -17.82412109375001], + [25.741601562500023, -17.858203125], + [25.86328125, -17.951953125], + [25.995898437500017, -17.969824218750006], + [26.139550781250023, -17.91171875], + [26.333398437500023, -17.929296875], + [26.577539062500023, -18.022558593750002], + [26.779882812500006, -18.04150390625], + [27.020800781250014, -17.95839843750001], + [27.23574218750002, -17.7283203125], + [27.437890625000023, -17.51191406250001], + [27.63671875, -17.262109375], + [27.75654296875001, -17.060351562500003], + [27.932226562500002, -16.89619140625001], + [28.16376953125001, -16.76972656250001], + [28.399804687500023, -16.66279296875001], + [28.76064453125002, -16.53193359375001], + [28.760546875000014, -16.53212890625001], + [28.832714843750015, -16.424121093750003], + [28.856738281250014, -16.30615234375], + [28.856738281250014, -16.14228515625001], + [28.875585937500006, -16.0361328125], + [28.913085937499996, -15.987792968749998], + [28.97304687500002, -15.95009765625001], + [29.050585937500014, -15.901171875], + [29.287890625000017, -15.776464843750006], + [29.487304687500004, -15.696777343749998], + [29.729589843750006, -15.644628906250004], + [29.994921875000017, -15.644042968750002], + [30.25068359375001, -15.643457031250007], + [30.39609375, -15.64306640625], + [30.398144531250015, -15.80078125], + [30.409375, -15.978222656250011], + [30.437792968750017, -15.995312500000011], + [30.630175781250017, -15.999218750000011], + [30.938769531250014, -16.01171875], + [31.236230468750023, -16.02363281250001], + [31.426171875000023, -16.15234375], + [31.48984375, -16.1796875], + [31.687597656250006, -16.21416015625], + [31.939843750000023, -16.428808593750006], + [32.243261718750006, -16.44873046875], + [32.45195312500002, -16.515722656250006], + [32.63583984375, -16.589453125], + [32.741796875, -16.67763671875001], + [32.81025390625001, -16.69765625], + [32.9029296875, -16.704199218750006], + [32.94804687500002, -16.71230468750001], + [32.937890625000016, -16.775976562500002], + [32.87626953125002, -16.88359375], + [32.884375, -17.037792968750008], + [32.969335937500006, -17.2515625], + [32.98076171875002, -17.4375], + [32.9546875, -17.765429687500003], + [32.95556640625, -18.08291015625001], + [32.96464843750001, -18.1962890625], + [32.978515625, -18.271484375], + [32.99638671875002, -18.312597656250006], + [32.99306640625002, -18.35957031250001], + [32.942480468750006, -18.49267578125], + [32.90166015625002, -18.632910156250006], + [32.90029296875002, -18.6890625], + [32.88457031250002, -18.728515625], + [32.8544921875, -18.763671875], + [32.72197265625002, -18.828417968750003], + [32.69921875, -18.868457031250003], + [32.69970703125, -18.94091796875], + [32.71650390625001, -19.00185546875001], + [32.7662109375, -19.02431640625001], + [32.826171875, -19.05878906250001], + [32.84980468750001, -19.10439453125001], + [32.85, -19.152441406250006], + [32.83095703125002, -19.24140625000001], + [32.77763671875002, -19.388769531250006], + [32.83076171875001, -19.558203125], + [32.89042968750002, -19.668066406250006], + [32.97265625, -19.79541015625], + [33.00673828125002, -19.873828125], + [33.0048828125, -19.93017578125], + [32.9927734375, -19.984863281249996], + [32.86962890625, -20.2171875], + [32.780859375, -20.36152343750001], + [32.67255859375001, -20.51611328125], + [32.529296875, -20.6130859375], + [32.49238281250001, -20.659765625], + [32.47763671875, -20.712988281250002], + [32.48281250000002, -20.82890625], + [32.476171875, -20.95009765625001], + [32.35361328125, -21.136523437500003], + [32.429785156250006, -21.29707031250001], + [32.41240234375002, -21.311816406250003], + [32.37109375, -21.33486328125001], + [32.19472656250002, -21.5154296875], + [32.01630859375001, -21.698046875], + [31.88593750000001, -21.83154296875], + [31.737695312500023, -21.9833984375], + [31.571484375, -22.15351562500001], + [31.429492187500014, -22.298828125], + [31.287890625000014, -22.40205078125001] + ] + ] + } + }, + { + "type": "Feature", + "properties": { + "scalerank": 1, + "featurecla": "Admin-0 country", + "labelrank": 3, + "sovereignt": "Zambia", + "sov_a3": "ZMB", + "adm0_dif": 0, + "level": 2, + "type": "Sovereign country", + "admin": "Zambia", + "adm0_a3": "ZMB", + "geou_dif": 0, + "geounit": "Zambia", + "gu_a3": "ZMB", + "su_dif": 0, + "subunit": "Zambia", + "su_a3": "ZMB", + "brk_diff": 0, + "name": "Zambia", + "name_long": "Zambia", + "brk_a3": "ZMB", + "brk_name": "Zambia", + "brk_group": null, + "abbrev": "Zambia", + "postal": "ZM", + "formal_en": "Republic of Zambia", + "formal_fr": null, + "note_adm0": null, + "note_brk": null, + "name_sort": "Zambia", + "name_alt": null, + "mapcolor7": 5, + "mapcolor8": 8, + "mapcolor9": 5, + "mapcolor13": 13, + "pop_est": 11862740, + "gdp_md_est": 17500, + "pop_year": -99, + "lastcensus": 2010, + "gdp_year": -99, + "economy": "7. Least developed region", + "income_grp": "4. Lower middle income", + "wikipedia": -99, + "fips_10": null, + "iso_a2": "ZM", + "iso_a3": "ZMB", + "iso_n3": "894", + "un_a3": "894", + "wb_a2": "ZM", + "wb_a3": "ZMB", + "woe_id": -99, + "adm0_a3_is": "ZMB", + "adm0_a3_us": "ZMB", + "adm0_a3_un": -99, + "adm0_a3_wb": -99, + "continent": "Africa", + "region_un": "Africa", + "subregion": "Eastern Africa", + "region_wb": "Sub-Saharan Africa", + "name_len": 6, + "long_len": 6, + "abbrev_len": 6, + "tiny": -99, + "homepart": 1, + "filename": "ZMB.geojson" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [32.919921875, -9.407421875000011], + [32.92333984375, -9.433984375], + [32.95107421875002, -9.484179687500003], + [32.97988281250002, -9.5203125], + [32.98212890625001, -9.573632812500009], + [32.99599609375002, -9.622851562500003], + [33.03779296875001, -9.635058593750003], + [33.07246093750001, -9.63818359375], + [33.1044921875, -9.602636718750006], + [33.148046875, -9.603515625], + [33.19570312500002, -9.626171875000011], + [33.21269531250001, -9.683007812500009], + [33.25, -9.759570312500003], + [33.31044921875002, -9.811816406250003], + [33.35097656250002, -9.862207031250007], + [33.33710937500001, -9.954003906250009], + [33.3115234375, -10.037988281250009], + [33.3935546875, -10.120898437500003], + [33.500097656250006, -10.19970703125], + [33.52890625, -10.234667968750003], + [33.53759765625, -10.3515625], + [33.5537109375, -10.391308593750011], + [33.62617187500001, -10.488574218750003], + [33.66152343750002, -10.553125], + [33.65908203125002, -10.590527343750011], + [33.46474609375002, -10.783105468750009], + [33.403125, -10.8017578125], + [33.34492187500001, -10.812695312500011], + [33.29277343750002, -10.85234375], + [33.261328125, -10.893359375], + [33.27275390625002, -10.9150390625], + [33.29326171875002, -10.98115234375001], + [33.33867187500002, -11.085156250000011], + [33.37978515625002, -11.157910156250011], + [33.34550781250001, -11.249121093750006], + [33.26835937500001, -11.40390625], + [33.23271484375002, -11.417675781250011], + [33.22636718750002, -11.534863281250011], + [33.25, -11.57763671875], + [33.28828125000001, -11.611132812500003], + [33.30390625, -11.690820312500009], + [33.30507812500002, -11.8], + [33.30097656250001, -11.888183593749998], + [33.25234375000002, -12.112597656250003], + [33.34013671875002, -12.308300781250011], + [33.37001953125002, -12.3296875], + [33.49140625000001, -12.3310546875], + [33.512304687500006, -12.347753906250004], + [33.48320312500002, -12.403417968750004], + [33.4306640625, -12.46044921875], + [33.39794921875, -12.48984375], + [33.24345703125002, -12.556542968750009], + [33.021582031250006, -12.63046875], + [32.975195312500006, -12.701367187500011], + [32.94560546875001, -12.804394531250011], + [32.97050781250002, -12.86474609375], + [33, -12.899609375000011], + [32.99042968750001, -12.989453125000011], + [32.97109375000002, -13.084277343750003], + [32.977636718750006, -13.158886718750011], + [32.96757812500002, -13.225], + [32.938574218750006, -13.257421875], + [32.89970703125002, -13.35703125], + [32.85185546875002, -13.45703125], + [32.8140625, -13.502734375], + [32.758398437500006, -13.55029296875], + [32.67041015625, -13.590429687500006], + [32.67207031250001, -13.6103515625], + [32.77177734375002, -13.656542968750003], + [32.797460937500006, -13.6884765625], + [32.80673828125, -13.710253906250003], + [32.78535156250001, -13.731445312499998], + [32.76513671874999, -13.761035156250003], + [32.81103515625, -13.791601562500006], + [32.8671875, -13.8173828125], + [32.92031250000002, -13.883886718750006], + [32.96757812500002, -13.976855468750001], + [32.98125, -14.009375], + [32.99208984375002, -14.022167968750011], + [33.00927734374999, -14.023730468750003], + [33.04238281250002, -14.010058593750001], + [33.103613281250006, -13.959179687500011], + [33.148046875, -13.94091796875], + [33.201757812500006, -14.01337890625001], + [32.98710937500002, -14.0849609375], + [32.87451171875, -14.122460937500009], + [32.55322265625, -14.229589843750004], + [32.27285156250002, -14.323046875], + [32.19990234375001, -14.3408203125], + [32.05449218750002, -14.386523437500003], + [31.98212890625001, -14.414453125], + [31.728906250000023, -14.49609375], + [31.623046875, -14.53671875], + [31.537890625000017, -14.5771484375], + [31.32851562500002, -14.6376953125], + [31.130859375, -14.694628906250003], + [30.915136718750002, -14.753320312500009], + [30.673339843749996, -14.819140625], + [30.537695312500002, -14.866503906250001], + [30.44609375000002, -14.907519531250001], + [30.231835937500023, -14.990332031250004], + [30.221777343750006, -15.010546875], + [30.225, -15.06689453125], + [30.25214843750001, -15.183203125], + [30.3056640625, -15.288867187500003], + [30.350585937499996, -15.349707031250004], + [30.379882812499996, -15.505859375], + [30.39609375, -15.64306640625], + [30.25068359375001, -15.643457031250007], + [29.994921875000017, -15.644042968750002], + [29.729589843750006, -15.644628906250004], + [29.487304687500004, -15.696777343749998], + [29.287890625000017, -15.776464843750006], + [29.050585937500014, -15.901171875], + [28.97304687500002, -15.95009765625001], + [28.913085937499996, -15.987792968749998], + [28.875585937500006, -16.0361328125], + [28.856738281250014, -16.14228515625001], + [28.856738281250014, -16.30615234375], + [28.832714843750015, -16.424121093750003], + [28.760546875000014, -16.53212890625001], + [28.76064453125002, -16.53193359375001], + [28.399804687500023, -16.66279296875001], + [28.16376953125001, -16.76972656250001], + [27.932226562500002, -16.89619140625001], + [27.75654296875001, -17.060351562500003], + [27.63671875, -17.262109375], + [27.437890625000023, -17.51191406250001], + [27.23574218750002, -17.7283203125], + [27.020800781250014, -17.95839843750001], + [26.779882812500006, -18.04150390625], + [26.577539062500023, -18.022558593750002], + [26.333398437500023, -17.929296875], + [26.139550781250023, -17.91171875], + [25.995898437500017, -17.969824218750006], + [25.86328125, -17.951953125], + [25.741601562500023, -17.858203125], + [25.6396484375, -17.82412109375001], + [25.55712890625, -17.84951171875001], + [25.451757812500002, -17.84511718750001], + [25.2587890625, -17.793554687500006], + [25.092187500000023, -17.634375], + [25.001757812500017, -17.56855468750001], + [24.932421875000017, -17.54345703125], + [24.73291015625, -17.51777343750001], + [24.27490234375, -17.481054687500006], + [24.227148437500006, -17.489550781250003], + [24.036914062500017, -17.52089843750001], + [23.79921875000002, -17.56015625], + [23.59492187500001, -17.599414062500003], + [23.380664062500017, -17.640625], + [23.181640625, -17.474414062500003], + [22.955859375000014, -17.285742187500006], + [22.721972656250017, -17.075292968750002], + [22.545996093750006, -16.910253906250006], + [22.45947265625, -16.81513671875001], + [22.305078125000023, -16.689550781250006], + [22.193945312500006, -16.628125], + [22.150683593750017, -16.59716796875], + [22.04023437500001, -16.262792968750002], + [21.979785156250017, -15.955566406249998], + [21.979785156250017, -15.72412109375], + [21.9796875, -15.403222656250009], + [21.979589843750006, -15.082324218750001], + [21.9794921875, -14.761425781250011], + [21.97939453125002, -14.440527343750004], + [21.979296875000017, -14.119628906249998], + [21.979101562500006, -13.798730468750009], + [21.979101562500006, -13.47773437500001], + [21.97900390625, -13.156835937500006], + [21.978906250000023, -13.0009765625], + [22.209570312500006, -13.0009765625], + [22.470996093750017, -13.0009765625], + [22.74433593750001, -13.0009765625], + [23.04150390625, -13.0009765625], + [23.338671875000017, -13.0009765625], + [23.635839843750006, -13.0009765625], + [23.843164062500023, -13.0009765625], + [23.8974609375, -12.998242187500011], + [23.962988281250006, -12.988476562500011], + [23.968066406250017, -12.956933593750009], + [23.882421875, -12.799023437500011], + [23.886523437500017, -12.743261718750004], + [23.909375, -12.636132812500009], + [23.944726562500023, -12.54375], + [23.991308593750006, -12.422167968750001], + [23.996484375000023, -12.350683593750006], + [23.958886718750023, -12.117773437500004], + [23.962304687500023, -11.987890625], + [23.973437500000014, -11.852929687500009], + [23.983886718749996, -11.725], + [23.970996093750017, -11.635839843750006], + [23.98681640625, -11.587207031250003], + [24.0146484375, -11.517675781250006], + [24.029296875, -11.439160156250011], + [24.046679687500017, -11.405371093750006], + [24.041406250000023, -11.374121093750006], + [24.02558593750001, -11.315625], + [24.010058593750014, -11.184765625000011], + [23.98828125, -11.002832031250009], + [23.96650390625001, -10.871777343750011], + [24.002734375000017, -10.879101562500011], + [24.078417968750014, -10.891503906250009], + [24.115136718750023, -10.955664062500004], + [24.136523437500017, -11.025976562500006], + [24.18720703125001, -11.029980468750011], + [24.319921875, -11.07177734375], + [24.36572265625, -11.1298828125], + [24.396289062500017, -11.255175781250003], + [24.3779296875, -11.319335937499998], + [24.33515625000001, -11.37128906250001], + [24.3779296875, -11.417089843750006], + [24.466601562500017, -11.44765625], + [24.518554687499996, -11.4384765625], + [24.668261718750017, -11.352929687500009], + [24.728125, -11.337792968750007], + [24.80634765625001, -11.321191406250009], + [24.87685546875002, -11.299121093750003], + [25.075976562500017, -11.260058593750003], + [25.184863281250017, -11.24296875], + [25.245996093750023, -11.212402343749998], + [25.28876953125001, -11.212402343749998], + [25.3193359375, -11.236914062500004], + [25.291796875000017, -11.325488281250003], + [25.282617187500023, -11.404980468750011], + [25.320703125000023, -11.553515625], + [25.349414062500017, -11.623046875], + [25.413378906250017, -11.673535156250011], + [25.4599609375, -11.699804687500004], + [25.51191406250001, -11.753417968749998], + [25.61884765625001, -11.744140625], + [25.854882812500023, -11.820117187500001], + [25.926562500000017, -11.855273437500003], + [26.025976562500006, -11.89013671875], + [26.096386718750008, -11.903222656250009], + [26.339648437500017, -11.929882812500011], + [26.4296875, -11.947851562500004], + [26.596386718750008, -11.972070312500009], + [26.72968750000001, -11.975976562500009], + [26.824023437500014, -11.965234375], + [26.890429687500014, -11.943554687500011], + [26.93085937500001, -11.919335937500009], + [26.949609375000023, -11.898828125], + [26.976855468750017, -11.824609375], + [27.026660156250017, -11.663769531250011], + [27.04609375000001, -11.615917968750011], + [27.09541015625001, -11.59375], + [27.159179687499996, -11.579199218750006], + [27.196386718750002, -11.605078125], + [27.238085937500017, -11.783496093750003], + [27.423632812500017, -11.94453125000001], + [27.48701171875001, -12.0796875], + [27.533398437500008, -12.1953125], + [27.573828125, -12.227050781249998], + [27.644335937500017, -12.266796875000011], + [27.7568359375, -12.280859375], + [27.857421875, -12.284863281250011], + [28.06884765625, -12.368164062499998], + [28.237304687499996, -12.434570312499998], + [28.357714843750017, -12.48203125], + [28.412890625000014, -12.51806640625], + [28.451464843750014, -12.577441406250003], + [28.474414062500017, -12.623339843750003], + [28.51123046875, -12.7421875], + [28.550878906250006, -12.83613281250001], + [28.615429687500008, -12.854101562500006], + [28.672949218750006, -12.861328125], + [28.730078125, -12.925488281250011], + [28.77314453125001, -12.981933593749998], + [28.858789062500023, -13.119433593750003], + [28.921679687500017, -13.214648437500003], + [28.942285156250023, -13.307128906249998], + [29.014257812500002, -13.368847656250011], + [29.111621093750017, -13.395117187500006], + [29.20185546875001, -13.398339843750009], + [29.253710937500017, -13.37080078125001], + [29.3818359375, -13.322851562500004], + [29.4814453125, -13.26796875], + [29.55419921875, -13.248925781250009], + [29.59716796875, -13.260546875], + [29.630273437500023, -13.298535156250011], + [29.64765625000001, -13.372949218750009], + [29.651757812500023, -13.414355468750001], + [29.72265625, -13.453808593750011], + [29.775195312500017, -13.438085937500006], + [29.795312500000023, -13.392773437500011], + [29.796484375, -13.369726562500006], + [29.796289062500023, -13.16748046875], + [29.79609375, -12.992089843750009], + [29.79580078125002, -12.827050781250009], + [29.79560546875001, -12.625878906250009], + [29.795507812500006, -12.450585937500009], + [29.795312500000023, -12.306152343749998], + [29.79511718750001, -12.155468750000011], + [29.749609375, -12.1640625], + [29.691992187500006, -12.198339843750006], + [29.55976562500001, -12.202441406250003], + [29.508203125000026, -12.228222656250011], + [29.491992187500014, -12.266894531250003], + [29.502246093750014, -12.31757812500001], + [29.5048828125, -12.386132812500009], + [29.48554687500001, -12.418457031249998], + [29.427539062500014, -12.43125], + [29.34375, -12.40478515625], + [29.191210937500014, -12.370214843750004], + [29.06435546875002, -12.348828125000011], + [28.973437500000014, -12.2578125], + [28.85, -12.120507812500007], + [28.76943359375002, -12.05126953125], + [28.574609375000023, -11.908105468750009], + [28.541601562500002, -11.879199218750003], + [28.482519531250006, -11.812109375], + [28.43183593750001, -11.698339843750006], + [28.407031250000017, -11.622851562500003], + [28.383398437500002, -11.566699218750001], + [28.357226562500014, -11.483007812500006], + [28.404199218750023, -11.354394531250009], + [28.4703125, -11.109570312500011], + [28.517968750000023, -10.933203125], + [28.544238281250017, -10.80234375], + [28.638867187500008, -10.669238281250003], + [28.645507812499996, -10.550195312500009], + [28.607421875, -10.397363281250009], + [28.6171875, -10.31298828125], + [28.62353515625, -10.098828125000011], + [28.62890625, -9.91875], + [28.630078125, -9.83125], + [28.60419921875001, -9.678808593750006], + [28.54052734375, -9.510058593750003], + [28.400195312500014, -9.275], + [28.400683593750017, -9.224804687500011], + [28.48427734375002, -9.16943359375], + [28.616503906250017, -9.072265625], + [28.68125, -9.0146484375], + [28.758789062499996, -8.9326171875], + [28.793554687500006, -8.891015625], + [28.86953125000002, -8.785839843750011], + [28.917773437500014, -8.700585937500009], + [28.934472656250023, -8.590234375], + [28.89814453125001, -8.485449218750006], + [28.972265625, -8.464941406250006], + [29.215625, -8.427832031250006], + [29.483789062500023, -8.386914062500011], + [29.766210937500006, -8.34375], + [30.051367187500006, -8.30029296875], + [30.32753906250002, -8.258203125], + [30.577929687500014, -8.220019531250003], + [30.75117187500001, -8.193652343750003], + [30.77675781250002, -8.265820312500011], + [30.830664062500006, -8.385546875], + [30.891992187500023, -8.473730468750006], + [30.968359375, -8.550976562500011], + [31.03339843750001, -8.59765625], + [31.07636718750001, -8.611914062500004], + [31.350585937499996, -8.60703125], + [31.44921875, -8.65390625], + [31.534863281250008, -8.71328125], + [31.55625, -8.80546875], + [31.61279296875, -8.86328125], + [31.673632812500017, -8.908789062500006], + [31.7, -8.914355468750003], + [31.744726562500006, -8.903222656250009], + [31.818066406250015, -8.902246093750009], + [31.886132812500026, -8.921972656250004], + [31.91865234375001, -8.9421875], + [31.921875, -9.019433593750009], + [31.942578125, -9.054003906250003], + [32.03535156250001, -9.0673828125], + [32.12978515625002, -9.073339843750006], + [32.22089843750001, -9.125585937500006], + [32.3193359375, -9.134863281250006], + [32.433203125, -9.156347656250006], + [32.48710937500002, -9.212695312500003], + [32.6083984375, -9.2705078125], + [32.75664062500002, -9.322265625], + [32.86328125, -9.380859375], + [32.919921875, -9.407421875000011] + ] + ] + } + }, + { + "type": "Feature", + "properties": { + "scalerank": 1, + "featurecla": "Admin-0 country", + "labelrank": 2, + "sovereignt": "South Africa", + "sov_a3": "ZAF", + "adm0_dif": 0, + "level": 2, + "type": "Sovereign country", + "admin": "South Africa", + "adm0_a3": "ZAF", + "geou_dif": 0, + "geounit": "South Africa", + "gu_a3": "ZAF", + "su_dif": 0, + "subunit": "South Africa", + "su_a3": "ZAF", + "brk_diff": 0, + "name": "South Africa", + "name_long": "South Africa", + "brk_a3": "ZAF", + "brk_name": "South Africa", + "brk_group": null, + "abbrev": "S.Af.", + "postal": "ZA", + "formal_en": "Republic of South Africa", + "formal_fr": null, + "note_adm0": null, + "note_brk": null, + "name_sort": "South Africa", + "name_alt": null, + "mapcolor7": 2, + "mapcolor8": 3, + "mapcolor9": 4, + "mapcolor13": 2, + "pop_est": 49052489, + "gdp_md_est": 491000, + "pop_year": -99, + "lastcensus": 2001, + "gdp_year": -99, + "economy": "5. Emerging region: G20", + "income_grp": "3. Upper middle income", + "wikipedia": -99, + "fips_10": null, + "iso_a2": "ZA", + "iso_a3": "ZAF", + "iso_n3": "710", + "un_a3": "710", + "wb_a2": "ZA", + "wb_a3": "ZAF", + "woe_id": -99, + "adm0_a3_is": "ZAF", + "adm0_a3_us": "ZAF", + "adm0_a3_un": -99, + "adm0_a3_wb": -99, + "continent": "Africa", + "region_un": "Africa", + "subregion": "Southern Africa", + "region_wb": "Sub-Saharan Africa", + "name_len": 12, + "long_len": 12, + "abbrev_len": 5, + "tiny": -99, + "homepart": 1, + "filename": "ZAF.geojson" + }, + "geometry": { + "type": "MultiPolygon", + "coordinates": [ + [ + [ + [37.85693359375002, -46.94423828124998], + [37.813964843749964, -46.96289062499996], + [37.61181640625003, -46.94648437499998], + [37.5900390625001, -46.90800781250006], + [37.64970703125002, -46.84892578125], + [37.684863281250074, -46.8240234375], + [37.78955078124997, -46.8375], + [37.872851562500074, -46.88544921874998], + [37.88769531249997, -46.901660156249996], + [37.85693359375002, -46.94423828124998] + ] + ], + [ + [ + [30.190429687500025, -22.29111328125003], + [30.460156250000097, -22.329003906250023], + [30.711621093750036, -22.297851562499986], + [30.91611328125006, -22.29072265625004], + [31.073437500000036, -22.307812499999965], + [31.19726562499997, -22.344921874999983], + [31.28789062500007, -22.402050781249983], + [31.29316406250004, -22.454687499999963], + [31.300195312499994, -22.478613281250034], + [31.348046875000048, -22.617578125000023], + [31.419335937499994, -22.825097656250023], + [31.466699218750048, -23.016699218749977], + [31.531738281249975, -23.27949218750004], + [31.5296875, -23.42578125], + [31.545605468750036, -23.48232421874998], + [31.604101562500006, -23.55292968749997], + [31.675585937500074, -23.67421875], + [31.7, -23.74306640624998], + [31.72402343749999, -23.79453125], + [31.799609375000017, -23.8921875], + [31.858300781249994, -24.04023437500004], + [31.90800781250007, -24.236230468749994], + [31.95058593750005, -24.33027343749997], + [31.966601562500017, -24.37646484374997], + [31.98583984374997, -24.460644531249983], + [31.983203125000017, -24.63828125000002], + [31.984375, -24.844042968750014], + [31.98574218749999, -25.07382812500002], + [31.987011718750093, -25.263476562500017], + [31.979394531250048, -25.359472656250034], + [31.984570312500036, -25.631933593750034], + [31.9203125, -25.773925781250014], + [31.92832031250006, -25.885351562499977], + [31.948242187500025, -25.957617187500034], + [31.921679687500017, -25.96875], + [31.87148437499999, -25.981640625000054], + [31.640429687500017, -25.86728515625002], + [31.415136718750063, -25.74658203125003], + [31.38261718750007, -25.74296875], + [31.3351562500001, -25.755566406249997], + [31.207324218750074, -25.843359375000034], + [31.08808593750004, -25.980664062500026], + [31.033300781250063, -26.09775390624999], + [30.945214843750055, -26.21875], + [30.803320312500002, -26.413476562500005], + [30.789062500000025, -26.455468750000037], + [30.7875, -26.613671875000023], + [30.79433593750005, -26.764257812499977], + [30.806738281250006, -26.78525390624999], + [30.88330078124997, -26.792382812500023], + [30.938085937500006, -26.91582031250003], + [31.063378906250048, -27.112304687499996], + [31.27402343750006, -27.238378906250016], + [31.469531250000017, -27.29550781250002], + [31.742578125000048, -27.309960937500037], + [31.95839843750005, -27.305859375], + [31.946093750000014, -27.17363281249997], + [31.96718750000005, -26.96064453125001], + [31.994726562500006, -26.817480468749977], + [32.024804687499994, -26.81113281250002], + [32.081640625, -26.824804687499963], + [32.112890625, -26.83945312500002], + [32.19960937499999, -26.833496093749957], + [32.35351562499997, -26.86162109375], + [32.47773437500004, -26.85849609374999], + [32.58876953125005, -26.855761718749957], + [32.7765625000001, -26.850976562499966], + [32.88613281250005, -26.849316406249983], + [32.84912109374997, -27.080175781250034], + [32.70585937500002, -27.441601562500026], + [32.65703125000002, -27.607324218750037], + [32.53476562500006, -28.19970703125003], + [32.37519531250004, -28.498242187499997], + [32.285742187500006, -28.62148437499998], + [32.02724609375005, -28.839550781249997], + [31.955371093750074, -28.88378906250003], + [31.891503906249994, -28.912109375000025], + [31.77822265624999, -28.937109374999977], + [31.3351562500001, -29.378125], + [31.169921874999968, -29.590820312500014], + [31.023339843749994, -29.900878906250025], + [30.877636718750036, -30.07109374999997], + [30.663574218749975, -30.43417968749996], + [30.472265625000063, -30.71455078124997], + [30.288671875000063, -30.970117187499994], + [29.97119140625003, -31.322070312500014], + [29.830273437500097, -31.42382812499997], + [29.73515625000007, -31.47041015625004], + [29.482910156250025, -31.674707031250005], + [29.12783203125008, -32.003125], + [28.85595703125003, -32.29423828125002], + [28.449414062500068, -32.62460937499999], + [28.214062499999983, -32.76923828124997], + [27.860644531250017, -33.05390624999997], + [27.762109375000023, -33.09599609375002], + [27.363769531250057, -33.36054687499999], + [27.077441406250074, -33.52119140625004], + [26.613671875000076, -33.70742187499996], + [26.429492187500045, -33.75957031250002], + [25.989550781250045, -33.711328124999966], + [25.80585937500001, -33.737109374999974], + [25.652441406250002, -33.849609374999986], + [25.63818359375003, -34.011132812500016], + [25.574218750000057, -34.03535156249998], + [25.47724609375004, -34.028125], + [25.169726562500074, -33.960742187499974], + [25.00292968750003, -33.97363281250003], + [24.90556640624999, -34.05976562499998], + [24.8271484375, -34.16894531250003], + [24.595507812500074, -34.17451171875], + [24.18300781250005, -34.061523437499986], + [23.697851562500063, -33.99277343750001], + [23.585546875, -33.985156249999974], + [23.350390625000074, -34.06894531249999], + [23.268164062500002, -34.08115234374999], + [22.925585937500045, -34.06318359374997], + [22.73554687500004, -34.01025390625003], + [22.553808593750063, -34.01005859374999], + [22.41445312500008, -34.05380859375002], + [22.24550781250005, -34.06914062500003], + [21.78896484375002, -34.37265624999996], + [21.553222656250057, -34.37304687500004], + [21.349804687499983, -34.408203125], + [21.24892578125005, -34.40703125000003], + [21.060156250000063, -34.36464843750001], + [20.989843750000034, -34.367480468749974], + [20.882421874999977, -34.38652343750003], + [20.774804687499994, -34.439941406249986], + [20.529882812500034, -34.4630859375], + [20.434667968749974, -34.50859375000003], + [20.020605468750006, -34.785742187500006], + [19.926269531250057, -34.77470703124997], + [19.85, -34.75664062500003], + [19.63496093750004, -34.753320312499966], + [19.391503906249994, -34.6056640625], + [19.298242187500023, -34.61503906249996], + [19.323242187500057, -34.57080078125], + [19.330761718750068, -34.49238281250001], + [19.279394531250006, -34.437011718750014], + [19.24462890625003, -34.41230468750004], + [19.14912109375001, -34.416894531249994], + [19.098339843750068, -34.350097656249986], + [18.952148437500025, -34.34375], + [18.90156250000001, -34.36064453125], + [18.831347656250017, -34.36406249999999], + [18.82509765625008, -34.29648437499998], + [18.830664062500063, -34.253906250000014], + [18.826367187500068, -34.1884765625], + [18.80878906250004, -34.10820312499999], + [18.75214843750004, -34.08261718750001], + [18.708691406250068, -34.071875], + [18.60517578125004, -34.07734375000001], + [18.533886718749983, -34.08593749999998], + [18.50039062499999, -34.10927734375004], + [18.46210937500001, -34.16806640625002], + [18.46162109375001, -34.346875], + [18.41035156250004, -34.29560546874998], + [18.35205078124997, -34.1884765625], + [18.333398437499994, -34.07421875], + [18.354394531250023, -33.939062499999984], + [18.46503906250001, -33.887792968750034], + [18.456445312500023, -33.79648437499999], + [18.43300781250005, -33.71728515625002], + [18.309472656250023, -33.514453125], + [18.261230468750057, -33.42167968750002], + [18.156347656250006, -33.35878906249999], + [18.074804687499977, -33.20732421874996], + [17.992578125000023, -33.15234375000004], + [17.95839843750008, -33.04638671875003], + [17.87822265624999, -32.96152343749998], + [17.851074218750053, -32.82744140625002], + [17.895312500000017, -32.75048828124997], + [17.96523437500005, -32.70859374999996], + [18.036523437499994, -32.77509765625001], + [18.125, -32.74912109374996], + [18.25087890625008, -32.6521484375], + [18.325292968750034, -32.50498046874996], + [18.32988281249999, -32.26953124999996], + [18.31074218750001, -32.12246093750001], + [18.21083984375008, -31.742480468749957], + [18.163671875000063, -31.655175781250023], + [17.938574218750034, -31.383203125000033], + [17.67744140625004, -31.01904296875001], + [17.34707031250005, -30.44482421875], + [17.1890625, -30.09980468749997], + [16.95, -29.40341796875002], + [16.739453124999983, -29.009375], + [16.480761718750045, -28.641503906249966], + [16.447558593750045, -28.61757812499998], + [16.487109375000017, -28.572851562500016], + [16.62617187500001, -28.48789062500002], + [16.68945312500003, -28.464941406249963], + [16.72304687500002, -28.47548828124998], + [16.755761718750023, -28.45214843750003], + [16.7875, -28.39472656249997], + [16.794531250000034, -28.3408203125], + [16.81015625, -28.264550781249994], + [16.841210937500023, -28.21894531250004], + [16.875292968750045, -28.127929687499968], + [16.93330078125004, -28.06962890624999], + [17.05625, -28.03105468750003], + [17.149414062500025, -28.082226562499983], + [17.1884765625, -28.13251953125001], + [17.20458984374997, -28.19882812500002], + [17.24580078125004, -28.230859374999977], + [17.312011718750025, -28.228613281249963], + [17.358691406250017, -28.269433593750023], + [17.38574218750003, -28.35322265625004], + [17.38027343750008, -28.41396484374998], + [17.342578125000017, -28.451660156250014], + [17.347851562500036, -28.501171874999983], + [17.39589843750005, -28.562695312499983], + [17.41572265625001, -28.621093749999982], + [17.44794921875001, -28.698144531249966], + [17.616796875000034, -28.743066406249962], + [17.699316406250063, -28.768359374999957], + [17.84160156249999, -28.77695312500003], + [17.97607421875003, -28.811328125000014], + [18.102734374999983, -28.87167968749996], + [18.310839843750017, -28.886230468749996], + [18.600390625000045, -28.8552734375], + [18.838769531250023, -28.869140624999986], + [19.026074218750068, -28.92792968749997], + [19.16171875, -28.93876953124996], + [19.245800781250068, -28.901660156250028], + [19.28222656250003, -28.847949218750014], + [19.270996093750053, -28.777734375000012], + [19.31269531250004, -28.733300781250023], + [19.4072265625, -28.71445312499999], + [19.482910156250057, -28.661621093749986], + [19.539843750000017, -28.574609375000023], + [19.67148437500003, -28.50390625], + [19.87783203125005, -28.449414062499994], + [19.98046875, -28.45126953125002], + [19.98046875, -28.310351562500003], + [19.98046875, -27.865527343749974], + [19.98046875, -27.42070312500003], + [19.98046875, -26.975976562500023], + [19.98046875, -26.531152343749994], + [19.98046875, -26.086328124999966], + [19.98046875, -25.641601562499957], + [19.98046875, -25.19677734375003], + [19.98046875, -24.77675781249998], + [20.028613281250045, -24.807031250000023], + [20.345214843750057, -25.029882812500034], + [20.430664062500057, -25.147070312500016], + [20.47314453125, -25.22128906250005], + [20.609277343750023, -25.491210937499968], + [20.710742187500017, -25.733203124999974], + [20.79316406250001, -25.915625], + [20.799414062500034, -25.999023437500043], + [20.81103515625, -26.080566406249957], + [20.822656250000076, -26.12060546875003], + [20.815039062500034, -26.164941406249994], + [20.75703125000001, -26.264160156249954], + [20.69785156250003, -26.34013671874999], + [20.626757812500045, -26.44384765624997], + [20.619921875000074, -26.580859375], + [20.641406250000017, -26.7421875], + [20.68505859375003, -26.82246093750001], + [20.739843749999977, -26.84882812499997], + [20.870898437500042, -26.808789062499983], + [20.953906250000074, -26.82109375], + [21.070996093750036, -26.85175781250004], + [21.454980468750023, -26.83281249999999], + [21.50136718750005, -26.842675781249966], + [21.64628906249999, -26.854199218749994], + [21.69472656250002, -26.840917968749963], + [21.738085937500045, -26.806835937500026], + [21.788281250000068, -26.710058593750034], + [21.833203125000068, -26.678320312499963], + [21.91455078125003, -26.66191406249999], + [22.01093750000004, -26.635839843750006], + [22.090917968749977, -26.580175781250034], + [22.217578125000045, -26.38886718749997], + [22.47089843750004, -26.219042968750003], + [22.548632812500074, -26.178417968749994], + [22.59765625000003, -26.13271484375001], + [22.640234374999977, -26.071191406249994], + [22.729003906250057, -25.857324218750033], + [22.79609375000004, -25.679101562499966], + [22.818945312500063, -25.59511718749999], + [22.878808593750023, -25.457910156250023], + [22.951269531250034, -25.370312500000022], + [23.022070312500063, -25.324121093750037], + [23.057519531249994, -25.312304687500014], + [23.148730468750017, -25.288671875], + [23.266015625000023, -25.266601562500043], + [23.389257812500006, -25.291406250000023], + [23.52148437500003, -25.344433593749994], + [23.670703125000045, -25.433984375000033], + [23.823437500000065, -25.544628906250008], + [23.89375, -25.600878906250014], + [23.96953124999999, -25.62607421874999], + [24.104492187500057, -25.634863281250006], + [24.192968750000034, -25.632910156249963], + [24.33056640625, -25.742871093749983], + [24.400195312500074, -25.749804687499974], + [24.555859375000068, -25.78310546875001], + [24.748144531250002, -25.817382812499982], + [24.869238281250063, -25.813476562499986], + [24.99892578125002, -25.754003906250034], + [25.092480468750068, -25.751464843749957], + [25.213378906249996, -25.75625], + [25.346191406250053, -25.73994140625001], + [25.443652343750017, -25.714453124999974], + [25.518164062500006, -25.66279296875001], + [25.583789062500074, -25.60625], + [25.659179687500057, -25.437890625000023], + [25.70263671875003, -25.302343750000034], + [25.76992187500005, -25.146484374999986], + [25.852441406250076, -24.935253906250036], + [25.88183593750003, -24.787988281249966], + [25.91210937499997, -24.747460937499966], + [26.031835937500034, -24.70244140625003], + [26.130859375000053, -24.671484375000034], + [26.39716796875004, -24.61357421874996], + [26.451757812500063, -24.582714843749983], + [26.501562499999974, -24.51328125000005], + [26.617773437500034, -24.39550781250003], + [26.761132812500023, -24.29716796874997], + [26.835058593750063, -24.240820312499963], + [26.970605468750048, -23.76347656249996], + [26.98701171875004, -23.704589843749954], + [27.08554687500003, -23.577929687500003], + [27.14638671875008, -23.52441406250003], + [27.185546875000057, -23.5234375], + [27.24121093750003, -23.49003906250003], + [27.31337890625008, -23.424218750000037], + [27.399218750000074, -23.383593750000017], + [27.49873046875001, -23.368359375000026], + [27.56318359374998, -23.32460937499999], + [27.592675781250048, -23.252636718749983], + [27.64384765624999, -23.217675781249966], + [27.71679687500003, -23.21962890625001], + [27.758300781250053, -23.196777343749968], + [27.7685546875, -23.14892578125], + [27.812597656250002, -23.108007812500002], + [27.89052734375008, -23.073925781249997], + [27.93134765625004, -23.033593750000037], + [27.93505859375, -22.98701171874997], + [28.027929687500006, -22.873730468749983], + [28.210156249999983, -22.69365234374997], + [28.381738281250048, -22.59335937499996], + [28.542871093750023, -22.572949218749983], + [28.69550781250001, -22.53544921874999], + [28.83984375000003, -22.480859374999966], + [28.94580078125003, -22.39511718749999], + [29.013476562500045, -22.27841796875002], + [29.129882812500057, -22.213281249999977], + [29.364843750000063, -22.193945312500045], + [29.37744140625003, -22.19277343749998], + [29.66308593749997, -22.146289062500017], + [29.90234375000003, -22.184179687500002], + [30.190429687500025, -22.29111328125003] + ], + [ + [27.830371093750074, -28.909082031250033], + [27.73554687500004, -28.94003906250003], + [27.660449218750014, -29.046972656249977], + [27.59023437500008, -29.146484375], + [27.527148437500017, -29.23613281249996], + [27.491015625000045, -29.276562500000026], + [27.458007812500057, -29.30273437500003], + [27.424902343750063, -29.36005859374998], + [27.35683593750005, -29.455273437500026], + [27.294531250000063, -29.519335937500017], + [27.20742187500008, -29.554199218750014], + [27.095214843750057, -29.59931640624997], + [27.056933593750074, -29.62558593749999], + [27.0517578125, -29.664062500000014], + [27.091796875000057, -29.753710937499974], + [27.13046875000003, -29.84023437500002], + [27.19355468750001, -29.94130859375001], + [27.23974609375, -30.015332031249983], + [27.31269531250004, -30.10566406250001], + [27.35537109375002, -30.158593750000037], + [27.349707031250034, -30.24736328125], + [27.364062500000017, -30.27919921875001], + [27.388476562500014, -30.315917968750025], + [27.40859375000002, -30.32529296874999], + [27.431445312500074, -30.338476562500006], + [27.491992187500045, -30.36396484375005], + [27.50654296875001, -30.380957031249967], + [27.54902343750004, -30.41123046874999], + [27.589648437500042, -30.466406249999963], + [27.666601562500006, -30.54228515624996], + [27.753125, -30.6], + [27.90185546874997, -30.623828124999957], + [28.01816406250006, -30.642285156249994], + [28.05683593750001, -30.631054687500015], + [28.09638671875001, -30.584570312499963], + [28.128710937500014, -30.525097656250008], + [28.13906250000008, -30.44990234374997], + [28.17617187500008, -30.409863281249983], + [28.31542968750003, -30.218457031249983], + [28.39208984375003, -30.14755859375002], + [28.4390625, -30.14248046875005], + [28.499609374999977, -30.12890625000003], + [28.576660156250057, -30.123046875], + [28.634375, -30.12871093749999], + [28.646875, -30.1265625], + [28.736914062500002, -30.101953124999962], + [28.901074218750065, -30.038476562499994], + [28.97529296875001, -29.999414062500037], + [29.029003906250008, -29.96757812500003], + [29.09804687500005, -29.919042968750002], + [29.121972656250048, -29.801171874999966], + [29.142187500000063, -29.70097656249999], + [29.195117187500017, -29.651660156249974], + [29.24921875000004, -29.61884765625004], + [29.293554687500002, -29.56689453125003], + [29.348828125000097, -29.441992187499977], + [29.386718749999975, -29.31972656250002], + [29.390722656250006, -29.269726562499972], + [29.370898437500014, -29.218457031249994], + [29.33593750000003, -29.163671875000034], + [29.301367187500002, -29.08984375], + [29.25976562499997, -29.07832031249997], + [29.17802734374999, -29.036914062499957], + [29.05800781250005, -28.95371093749998], + [28.953710937500038, -28.881445312500002], + [28.85625, -28.77607421875003], + [28.816210937500014, -28.75888671874999], + [28.721777343750034, -28.687695312499965], + [28.68115234375003, -28.64677734374997], + [28.652636718750074, -28.59785156250004], + [28.625781250000017, -28.581738281250054], + [28.583398437499994, -28.59414062499999], + [28.471875, -28.615820312499977], + [28.232617187500036, -28.701269531249977], + [28.084375, -28.779980468750022], + [27.95986328125008, -28.873339843750035], + [27.830371093750074, -28.909082031250033] + ] + ] + ] + } + }, + { + "type": "Feature", + "properties": { + "scalerank": 1, + "featurecla": "Admin-0 country", + "labelrank": 6, + "sovereignt": "Togo", + "sov_a3": "TGO", + "adm0_dif": 0, + "level": 2, + "type": "Sovereign country", + "admin": "Togo", + "adm0_a3": "TGO", + "geou_dif": 0, + "geounit": "Togo", + "gu_a3": "TGO", + "su_dif": 0, + "subunit": "Togo", + "su_a3": "TGO", + "brk_diff": 0, + "name": "Togo", + "name_long": "Togo", + "brk_a3": "TGO", + "brk_name": "Togo", + "brk_group": null, + "abbrev": "Togo", + "postal": "TG", + "formal_en": "Togolese Republic", + "formal_fr": "République Togolaise", + "note_adm0": null, + "note_brk": null, + "name_sort": "Togo", + "name_alt": null, + "mapcolor7": 3, + "mapcolor8": 1, + "mapcolor9": 3, + "mapcolor13": 5, + "pop_est": 6019877, + "gdp_md_est": 5118, + "pop_year": -99, + "lastcensus": 2010, + "gdp_year": -99, + "economy": "7. Least developed region", + "income_grp": "5. Low income", + "wikipedia": -99, + "fips_10": null, + "iso_a2": "TG", + "iso_a3": "TGO", + "iso_n3": "768", + "un_a3": "768", + "wb_a2": "TG", + "wb_a3": "TGO", + "woe_id": -99, + "adm0_a3_is": "TGO", + "adm0_a3_us": "TGO", + "adm0_a3_un": -99, + "adm0_a3_wb": -99, + "continent": "Africa", + "region_un": "Africa", + "subregion": "Western Africa", + "region_wb": "Sub-Saharan Africa", + "name_len": 4, + "long_len": 4, + "abbrev_len": 4, + "tiny": -99, + "homepart": 1, + "filename": "TGO.geojson" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [0.900488281250006, 10.993261718749991], + [0.874804687500017, 10.8857421875], + [0.821875, 10.752587890624994], + [0.7875, 10.710253906249987], + [0.763378906250011, 10.386669921874997], + [0.779980468750011, 10.359570312499997], + [0.792187500000011, 10.3515625], + [0.958300781250017, 10.242041015624991], + [1.176171875000023, 10.098388671875], + [1.330078125, 9.996972656249993], + [1.342871093750006, 9.962939453124987], + [1.345117187500023, 9.750195312499997], + [1.347070312500023, 9.567529296874994], + [1.37890625, 9.46298828124999], + [1.3857421875, 9.361669921874991], + [1.42431640625, 9.285009765624991], + [1.566308593750023, 9.137255859374989], + [1.600195312500006, 9.050048828125], + [1.603808593750017, 8.77099609375], + [1.606640625000011, 8.559277343749995], + [1.624609375, 8.270996093749998], + [1.624609375, 8.030224609374997], + [1.624609375, 7.725878906249988], + [1.624707031250011, 7.369189453124989], + [1.624707031250011, 6.997314453124999], + [1.530957031250011, 6.992431640624999], + [1.58203125, 6.877001953124989], + [1.5908203125, 6.772265624999989], + [1.602929687500023, 6.738085937499989], + [1.577539062500023, 6.687402343749993], + [1.598535156250023, 6.610205078124991], + [1.639257812500005, 6.58154296875], + [1.7431640625, 6.426269531249999], + [1.777929687500006, 6.294628906249997], + [1.6109375, 6.250830078124991], + [1.62265625, 6.216796875], + [1.310644531250006, 6.146875], + [1.187207031250011, 6.089404296874989], + [1.18505859375, 6.14501953125], + [1.1396484375, 6.155029296875], + [1.08447265625, 6.173779296874997], + [1.049902343750006, 6.20263671875], + [1.002148437500011, 6.268554687499999], + [0.984960937500006, 6.3203125], + [0.912207031250006, 6.328564453124996], + [0.822460937500011, 6.386376953124993], + [0.736914062500006, 6.452587890624996], + [0.707226562500011, 6.51875], + [0.715429687500006, 6.549316406249999], + [0.702246093750006, 6.580761718749997], + [0.672753906250023, 6.592529296874999], + [0.595703125, 6.7421875], + [0.548046875000011, 6.802490234375], + [0.525585937500011, 6.850927734374991], + [0.533398437500011, 6.888330078124994], + [0.523046875, 6.938867187499994], + [0.5380859375, 6.9796875], + [0.579492187500023, 7.004101562499997], + [0.592480468750011, 7.033984374999988], + [0.59619140625, 7.096630859374997], + [0.619531250000023, 7.2265625], + [0.634765625, 7.353662109374993], + [0.591015625000011, 7.388818359374993], + [0.537304687500011, 7.398730468749988], + [0.509570312500017, 7.435107421874988], + [0.498925781250023, 7.4951171875], + [0.5, 7.546875], + [0.605175781250011, 7.728222656249996], + [0.58359375, 8.145800781249989], + [0.59921875, 8.209570312499991], + [0.647070312500006, 8.253466796874989], + [0.688085937500006, 8.304248046874989], + [0.686328125000017, 8.354882812499994], + [0.6162109375, 8.479638671874993], + [0.483300781250023, 8.575292968749991], + [0.415332031250017, 8.65273437499999], + [0.378613281250011, 8.722021484374991], + [0.37255859375, 8.75927734375], + [0.453125, 8.813769531249989], + [0.48876953125, 8.851464843749994], + [0.493261718750006, 8.89492187499999], + [0.460351562500023, 8.97421875], + [0.466113281250017, 9.115332031249991], + [0.497167968750006, 9.221240234374989], + [0.529003906250011, 9.358300781249994], + [0.525683593750017, 9.398486328124989], + [0.447558593750017, 9.480273437499989], + [0.4052734375, 9.491455078125], + [0.370996093750023, 9.485546875], + [0.289355468750017, 9.431835937499997], + [0.259960937500011, 9.426025390625], + [0.241503906250017, 9.44189453125], + [0.2333984375, 9.463525390624994], + [0.261914062500011, 9.49560546875], + [0.2515625, 9.53564453125], + [0.275488281250006, 9.570605468749989], + [0.327343750000011, 9.586572265624994], + [0.342578125000017, 9.604150390624994], + [0.272753906250017, 9.620947265624991], + [0.264550781250023, 9.644726562499997], + [0.26953125, 9.667919921874997], + [0.289648437500006, 9.672314453124995], + [0.311718750000011, 9.670996093749991], + [0.323925781250011, 9.687597656249991], + [0.334570312500006, 9.803955078125], + [0.343066406250017, 9.84458007812499], + [0.351855468750017, 9.924902343749991], + [0.362695312500023, 10.236474609374993], + [0.378613281250011, 10.2685546875], + [0.380859375, 10.291845703124991], + [0.331835937500017, 10.306933593749989], + [0.216015625000011, 10.390527343749994], + [0.148242187500017, 10.454785156249997], + [0.089257812500023, 10.520605468749991], + [0.039453125000023, 10.563867187499994], + [-0.057714843749977, 10.630615234375], + [-0.08632812499999, 10.673046875], + [-0.090185546874977, 10.715527343749997], + [-0.060595703124989, 10.800585937499989], + [-0.013867187499983, 10.891357421875], + [0.009423828125023, 11.020996093749998], + [-0.004736328124977, 11.055566406249994], + [-0.068603515625, 11.115625], + [0.159277343750006, 11.069628906249989], + [0.484179687500017, 10.991992187499989], + [0.49072265625, 10.978173828124994], + [0.49267578125, 10.954980468749993], + [0.549121093750017, 10.955419921874991], + [0.642968750000023, 10.983056640624994], + [0.900488281250006, 10.993261718749991] + ] + ] + } + }, + { + "type": "Feature", + "properties": { + "scalerank": 1, + "featurecla": "Admin-0 country", + "labelrank": 3, + "sovereignt": "Senegal", + "sov_a3": "SEN", + "adm0_dif": 0, + "level": 2, + "type": "Sovereign country", + "admin": "Senegal", + "adm0_a3": "SEN", + "geou_dif": 0, + "geounit": "Senegal", + "gu_a3": "SEN", + "su_dif": 0, + "subunit": "Senegal", + "su_a3": "SEN", + "brk_diff": 0, + "name": "Senegal", + "name_long": "Senegal", + "brk_a3": "SEN", + "brk_name": "Senegal", + "brk_group": null, + "abbrev": "Sen.", + "postal": "SN", + "formal_en": "Republic of Senegal", + "formal_fr": null, + "note_adm0": null, + "note_brk": null, + "name_sort": "Senegal", + "name_alt": null, + "mapcolor7": 2, + "mapcolor8": 6, + "mapcolor9": 5, + "mapcolor13": 5, + "pop_est": 13711597, + "gdp_md_est": 21980, + "pop_year": -99, + "lastcensus": 2002, + "gdp_year": -99, + "economy": "7. Least developed region", + "income_grp": "4. Lower middle income", + "wikipedia": -99, + "fips_10": null, + "iso_a2": "SN", + "iso_a3": "SEN", + "iso_n3": "686", + "un_a3": "686", + "wb_a2": "SN", + "wb_a3": "SEN", + "woe_id": -99, + "adm0_a3_is": "SEN", + "adm0_a3_us": "SEN", + "adm0_a3_un": -99, + "adm0_a3_wb": -99, + "continent": "Africa", + "region_un": "Africa", + "subregion": "Western Africa", + "region_wb": "Sub-Saharan Africa", + "name_len": 7, + "long_len": 7, + "abbrev_len": 4, + "tiny": -99, + "homepart": 1, + "filename": "SEN.geojson" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [-12.280615234374977, 14.809033203124995], + [-12.186523437499998, 14.648144531249999], + [-12.206835937499989, 14.57114257812499], + [-12.228417968749993, 14.45859375], + [-12.175244140624981, 14.376660156249997], + [-12.112890624999977, 14.323291015625001], + [-12.068359375, 14.27421875], + [-12.019189453124994, 14.206494140624997], + [-12.011181640624983, 14.071826171875003], + [-12.020117187499977, 13.974658203125001], + [-11.988085937499989, 13.930761718749991], + [-11.960888671874983, 13.875292968750001], + [-11.966357421874989, 13.828955078124991], + [-11.984179687499989, 13.788085937499998], + [-12.044140624999983, 13.73388671875], + [-12.05419921875, 13.633056640624998], + [-11.957080078124989, 13.510888671874994], + [-11.894580078124989, 13.444433593749991], + [-11.895214843749981, 13.406298828125003], + [-11.877783203124977, 13.364550781250003], + [-11.831689453124993, 13.315820312499993], + [-11.803369140624994, 13.327294921874994], + [-11.772216796875, 13.367089843749993], + [-11.758251953124981, 13.39453125], + [-11.674462890624993, 13.382373046875001], + [-11.634960937499983, 13.369873046875], + [-11.581347656249989, 13.2900390625], + [-11.561669921874994, 13.236962890624994], + [-11.548779296874981, 13.170263671874991], + [-11.492822265624993, 13.086962890624989], + [-11.444140624999989, 13.028222656249993], + [-11.433935546874977, 12.991601562499994], + [-11.390380859375, 12.941992187499991], + [-11.417431640624983, 12.831884765624991], + [-11.414355468749989, 12.775488281249991], + [-11.444091796875, 12.627587890624994], + [-11.450585937499994, 12.557714843749991], + [-11.448779296874989, 12.531933593749997], + [-11.382421874999977, 12.479248046875], + [-11.389404296875, 12.40439453124999], + [-11.456738281249981, 12.41757812499999], + [-11.573681640624983, 12.426318359374987], + [-11.80810546875, 12.38730468749999], + [-11.888574218749994, 12.4033203125], + [-12.042382812499993, 12.39804687499999], + [-12.151953124999975, 12.376611328124994], + [-12.291210937499983, 12.328027343749994], + [-12.399072265624994, 12.340087890625], + [-12.457373046874977, 12.378369140624997], + [-12.534228515624989, 12.375781249999989], + [-12.620800781249983, 12.396191406249997], + [-12.713037109374994, 12.433154296874989], + [-12.797314453124983, 12.451904296875], + [-12.88818359375, 12.520019531249998], + [-12.930712890624989, 12.532275390624987], + [-12.960546874999977, 12.514355468749995], + [-12.985644531249987, 12.491650390624997], + [-13.011914062499983, 12.477636718749991], + [-13.061279296875, 12.489990234375], + [-13.079833984375, 12.536279296874993], + [-13.064404296874983, 12.581054687499998], + [-13.059765624999983, 12.615039062499989], + [-13.082910156249994, 12.633544921875], + [-13.138476562499987, 12.639746093749991], + [-13.228076171874989, 12.639599609374997], + [-13.37255859375, 12.653613281249989], + [-13.40576171875, 12.662255859374994], + [-13.729248046875, 12.673925781249991], + [-14.06484375, 12.67529296875], + [-14.349218749999977, 12.676416015624993], + [-14.708154296874994, 12.677978515625], + [-14.960595703124994, 12.678955078125], + [-15.196093749999989, 12.679931640625], + [-15.3779296875, 12.588964843749991], + [-15.574804687499977, 12.490380859374993], + [-15.839550781249981, 12.43789062499999], + [-16.144189453124994, 12.45742187499999], + [-16.24150390624999, 12.443310546874997], + [-16.34228515625, 12.399511718749991], + [-16.41630859374999, 12.36767578125], + [-16.521337890624977, 12.3486328125], + [-16.65693359374998, 12.364355468749991], + [-16.711816406249994, 12.354833984374991], + [-16.745849609375, 12.399707031249987], + [-16.784863281249983, 12.472509765624991], + [-16.76030273437499, 12.52578125], + [-16.677636718749994, 12.56005859375], + [-16.55322265625, 12.604882812499994], + [-16.48808593749999, 12.581835937499989], + [-16.449951171875, 12.580712890624994], + [-16.44287109375, 12.609472656249991], + [-16.455029296874983, 12.624804687499989], + [-16.548828125, 12.663818359375], + [-16.59765625, 12.715283203124995], + [-16.637841796874994, 12.68515625], + [-16.672558593749983, 12.622021484374997], + [-16.701416015624996, 12.603173828124994], + [-16.743896484375, 12.58544921875], + [-16.76796875, 12.62841796875], + [-16.778417968749977, 12.670166015625], + [-16.758984374999983, 12.70234375], + [-16.768945312499994, 12.88330078125], + [-16.757373046874985, 12.979785156249989], + [-16.763330078124994, 13.064160156249997], + [-16.704541015624983, 13.11972656249999], + [-16.648779296874977, 13.154150390624991], + [-16.430859374999983, 13.157324218749991], + [-16.22832031249999, 13.160302734374994], + [-16.033056640624977, 13.158349609374994], + [-15.834277343749987, 13.156445312499997], + [-15.814404296874983, 13.325146484374997], + [-15.751562499999975, 13.33837890625], + [-15.657324218749975, 13.355810546874991], + [-15.481835937499994, 13.376367187499994], + [-15.286230468749977, 13.39599609375], + [-15.24453125, 13.429101562499993], + [-15.212109374999983, 13.485058593749995], + [-15.191601562499981, 13.535253906249991], + [-15.151123046875002, 13.556494140624991], + [-15.096386718749983, 13.539648437499991], + [-15.024609374999983, 13.513330078124994], + [-14.950292968749977, 13.472607421874997], + [-14.865039062499989, 13.434863281250003], + [-14.808251953124994, 13.4111328125], + [-14.671923828124987, 13.351708984374994], + [-14.438574218749975, 13.268896484374991], + [-14.246777343749983, 13.23583984375], + [-14.014892578124998, 13.296386718749998], + [-13.847509765624977, 13.335302734374991], + [-13.826708984374989, 13.4078125], + [-13.852832031249989, 13.478564453125001], + [-13.977392578124977, 13.54345703125], + [-14.14697265625, 13.5361328125], + [-14.199023437499987, 13.51875], + [-14.278027343749983, 13.49716796874999], + [-14.325537109374977, 13.488574218750003], + [-14.405468749999983, 13.503710937500003], + [-14.506982421874994, 13.559716796874994], + [-14.570849609374989, 13.616162109374997], + [-14.66015625, 13.642626953125003], + [-14.76601562499999, 13.669091796874994], + [-14.935791015625, 13.785205078125003], + [-15.024462890624987, 13.80600585937499], + [-15.108349609374983, 13.81210937499999], + [-15.26953125, 13.789111328125003], + [-15.426855468749977, 13.727001953124997], + [-15.509667968749994, 13.586230468750003], + [-15.667187499999983, 13.58828125], + [-16.001611328124994, 13.5927734375], + [-16.308740234374994, 13.596875], + [-16.56230468749999, 13.587304687499993], + [-16.587792968749994, 13.68955078124999], + [-16.647851562499994, 13.770996093749998], + [-16.745410156249985, 13.840429687499991], + [-16.766943359374977, 13.904931640624993], + [-16.73388671875, 13.961181640625], + [-16.639599609374983, 14.007470703124993], + [-16.618115234374983, 14.040527343749998], + [-16.66748046875, 14.035595703124997], + [-16.742138671874983, 14.005810546874995], + [-16.791748046875, 14.004150390624998], + [-16.79775390624999, 14.09326171875], + [-16.880517578124994, 14.208349609374991], + [-16.973828124999983, 14.403222656249994], + [-17.07939453124999, 14.483056640624996], + [-17.168066406249977, 14.640625], + [-17.260644531249994, 14.701074218749994], + [-17.345800781249977, 14.729296875], + [-17.41845703125, 14.723486328124991], + [-17.445019531249983, 14.651611328125], + [-17.53564453125, 14.755126953124998], + [-17.41181640624998, 14.7921875], + [-17.147167968749983, 14.922021484374994], + [-16.843408203124994, 15.293994140625003], + [-16.570751953124983, 15.734423828125003], + [-16.535253906249977, 15.838378906249998], + [-16.502050781249974, 15.917333984374991], + [-16.480078124999977, 16.097216796875003], + [-16.441015624999977, 16.204541015624997], + [-16.404345703124985, 16.22490234375], + [-16.358105468749983, 16.307177734375], + [-16.30229492187499, 16.451318359374994], + [-16.239013671875, 16.531298828125003], + [-16.16835937499999, 16.547070312499997], + [-16.11328125, 16.54013671874999], + [-16.074023437499985, 16.510449218749994], + [-15.958984375, 16.492138671874997], + [-15.768212890624996, 16.485107421875], + [-15.620800781249983, 16.506591796875], + [-15.516699218749977, 16.556591796874994], + [-15.379980468749977, 16.581982421874997], + [-15.210546874999975, 16.58261718749999], + [-15.121435546874975, 16.60361328124999], + [-15.112646484374975, 16.64492187499999], + [-15.090576171874998, 16.657373046874994], + [-15.05522460937499, 16.64096679687499], + [-15.021923828124981, 16.6474609375], + [-14.990625, 16.67690429687499], + [-14.959521484374989, 16.67890625], + [-14.928613281249993, 16.653515625], + [-14.786718749999975, 16.64589843749999], + [-14.533740234374989, 16.655957031249994], + [-14.300097656249989, 16.580273437499997], + [-14.085644531249983, 16.418847656249994], + [-13.975048828124983, 16.31113281249999], + [-13.968164062499994, 16.257226562499994], + [-13.932617187499998, 16.202880859375], + [-13.868457031249989, 16.148144531249997], + [-13.809814453125, 16.13803710937499], + [-13.756640624999989, 16.172509765624994], + [-13.714941406249977, 16.16879882812499], + [-13.684667968749977, 16.126904296874997], + [-13.623535156249998, 16.118310546874994], + [-13.555517578124977, 16.14404296875], + [-13.506982421874994, 16.135205078124994], + [-13.498144531249975, 16.110302734374997], + [-13.486962890624994, 16.09702148437499], + [-13.4541015625, 16.091113281250003], + [-13.409667968749998, 16.05917968749999], + [-13.347558593749994, 15.97348632812499], + [-13.297021484374994, 15.85385742187499], + [-13.258007812499983, 15.700390625], + [-13.206445312499994, 15.616894531249999], + [-13.142382812499989, 15.603320312500003], + [-13.105273437499987, 15.57177734375], + [-13.097900390625, 15.535253906249991], + [-13.079296874999983, 15.510449218749997], + [-13.048535156249983, 15.496630859375001], + [-12.994335937499981, 15.504882812499998], + [-12.930859374999983, 15.453027343749994], + [-12.862695312499994, 15.340429687499991], + [-12.851904296874977, 15.289648437499991], + [-12.862646484374977, 15.262402343749997], + [-12.858496093749977, 15.24252929687499], + [-12.813183593749983, 15.223535156249993], + [-12.770312499999989, 15.186669921874994], + [-12.735253906249993, 15.13125], + [-12.659619140624981, 15.082080078125005], + [-12.543554687499977, 15.039013671874997], + [-12.459863281249994, 14.974658203125001], + [-12.40869140625, 14.889013671874991], + [-12.302539062499989, 14.816992187499991], + [-12.280615234374977, 14.809033203124995] + ] + ] + } + } + ] +} diff --git a/public/favicon.ico b/public/favicon.ico new file mode 100644 index 00000000..df36fcfb Binary files /dev/null and b/public/favicon.ico differ diff --git a/public/vite.svg b/public/vite.svg deleted file mode 100644 index e7b8dfb1..00000000 --- a/public/vite.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/App.vue b/src/App.vue new file mode 100644 index 00000000..09bea99a --- /dev/null +++ b/src/App.vue @@ -0,0 +1,257 @@ + + + + + diff --git a/src/assets/base.css b/src/assets/base.css new file mode 100644 index 00000000..8816868a --- /dev/null +++ b/src/assets/base.css @@ -0,0 +1,86 @@ +/* color palette from */ +:root { + --vt-c-white: #ffffff; + --vt-c-white-soft: #f8f8f8; + --vt-c-white-mute: #f2f2f2; + + --vt-c-black: #181818; + --vt-c-black-soft: #222222; + --vt-c-black-mute: #282828; + + --vt-c-indigo: #2c3e50; + + --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); + --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); + --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); + --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); + + --vt-c-text-light-1: var(--vt-c-indigo); + --vt-c-text-light-2: rgba(60, 60, 60, 0.66); + --vt-c-text-dark-1: var(--vt-c-white); + --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); +} + +/* semantic color variables for this project */ +:root { + --color-background: var(--vt-c-white); + --color-background-soft: var(--vt-c-white-soft); + --color-background-mute: var(--vt-c-white-mute); + + --color-border: var(--vt-c-divider-light-2); + --color-border-hover: var(--vt-c-divider-light-1); + + --color-heading: var(--vt-c-text-light-1); + --color-text: var(--vt-c-text-light-1); + + --section-gap: 160px; +} + +@media (prefers-color-scheme: dark) { + :root { + --color-background: var(--vt-c-black); + --color-background-soft: var(--vt-c-black-soft); + --color-background-mute: var(--vt-c-black-mute); + + --color-border: var(--vt-c-divider-dark-2); + --color-border-hover: var(--vt-c-divider-dark-1); + + --color-heading: var(--vt-c-text-dark-1); + --color-text: var(--vt-c-text-dark-2); + } +} + +*, +*::before, +*::after { + box-sizing: border-box; + margin: 0; + font-weight: normal; +} + +body { + min-height: 100vh; + color: var(--color-text); + background: var(--color-background); + transition: + color 0.5s, + background-color 0.5s; + line-height: 1.6; + font-family: + Inter, + -apple-system, + BlinkMacSystemFont, + 'Segoe UI', + Roboto, + Oxygen, + Ubuntu, + Cantarell, + 'Fira Sans', + 'Droid Sans', + 'Helvetica Neue', + sans-serif; + font-size: 15px; + text-rendering: optimizeLegibility; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} diff --git a/src/assets/lit.svg b/src/assets/lit.svg deleted file mode 100644 index 4a9c1fe6..00000000 --- a/src/assets/lit.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/assets/logo.svg b/src/assets/logo.svg new file mode 100644 index 00000000..75656603 --- /dev/null +++ b/src/assets/logo.svg @@ -0,0 +1 @@ + diff --git a/src/assets/main.css b/src/assets/main.css new file mode 100644 index 00000000..36fb845b --- /dev/null +++ b/src/assets/main.css @@ -0,0 +1,35 @@ +@import './base.css'; + +#app { + max-width: 1280px; + margin: 0 auto; + padding: 2rem; + font-weight: normal; +} + +a, +.green { + text-decoration: none; + color: hsla(160, 100%, 37%, 1); + transition: 0.4s; + padding: 3px; +} + +@media (hover: hover) { + a:hover { + background-color: hsla(160, 100%, 37%, 0.2); + } +} + +@media (min-width: 1024px) { + body { + display: flex; + place-items: center; + } + + #app { + display: grid; + grid-template-columns: 1fr 1fr; + padding: 0 2rem; + } +} diff --git a/src/cerulean_style.json b/src/cerulean_style.json deleted file mode 100644 index 43996cb4..00000000 --- a/src/cerulean_style.json +++ /dev/null @@ -1,626 +0,0 @@ -{ - "legend":[ - { - "title":"Total concentration colour code standard", - "range":[ - "#367a4a", - "#3e9655", - "#66bc76", - "#fcfb01", - "#e36c09", - "#bc0106", - "#fcfb01" - ], - "domain":[ - "RIO > 20", - ">= 10 RIO < 20", - ">= 0 RIO < 10", - ">= -10 RIO < 0", - ">= -20 RIO < -10", - "RIO < -20", - "<= -10 RIO < 0" - ], - "scaleType":"categorical", - "markType":"circle", - "boundTo":{ - "key":"type_of_visualisation", - "value":"polaris" - } - }, - { - "title":"WMO Concentration", - "range":[ - "#8cff9f", - "#ffff00", - "#ff7d07", - "#ff0000" - ], - "domain":[ - "1 - 3", - "4 - 6", - "7 - 9", - "10" - ], - "scaleType":"categorical", - "markType":"circle", - "boundTo":{ - "key":"type_of_visualisation", - "value":"WMO Concentration" - } - }, - { - "title":"WMO Stage of Development", - "range":[ - "#0064ff", - "#00000000", - "#ffffff", - "#ffccff", - "#ff64ff", - "#00000000", - "#9933cc", - "#ff66ff", - "#ffff00", - "#99cc00", - "#00cc00", - "#006600", - "#cc6633", - "#ff6600", - "#cc0000", - "#660000", - "#ffffff" - ], - "domain":[ - "Ice Free", - "Brash Ice", - "No stage of development", - "New Ice", - "Nilas Ice Rind (<10 cm)", - "Young Ice (10 to 30 cm)", - "Grey Ice", - "Grey-White Ice", - "First Year Ice (>30 cm) or Brash Ice", - "Thin First Year Ice (30 to 70 cm)", - "Medium First Year Ice (70 to 120 cm)", - "Thick First Year Ice (>120 cm)", - "Old Ice", - "Second-Year Ice", - "Multi-Year Ice", - "Glacier Ice (Icebergs)", - "Unknown/Undetermined" - ], - "scaleType":"categorical", - "markType":"circle", - "boundTo":{ - "key":"type_of_visualisation", - "value":"WMO Stage of Development" - } - } - ], - "jsonform":{ - "type":"object", - "title":"Data configuration", - "properties":{ - "type_of_visualisation":{ - "title":"Type of Visualisation", - "type":"string", - "enum":[ - "polaris", - "WMO Concentration", - "WMO Stage of Development", - "AIRSS Ice Numeral Go/No Go" - ], - "options":{ - "enum_titles":[ - "POLARIS", - "WMO Concentration", - "WMO Stage of Development", - "AIRSS Ice Numeral Go/No Go" - ] - }, - "default":"polaris" - }, - "ship_class":{ - "title":"Ship Class", - "type":"string", - "enum":[ - "pc_1", - "pc_2", - "pc_3", - "pc_4", - "pc_5", - "pc_6", - "pc_7", - "pc_ias", - "pc_ia", - "pc_ib", - "pc_ic", - "pc_nis" - ], - "options":{ - "enum_titles":[ - "PC1", - "PC2", - "PC3", - "PC4", - "PC5", - "PC6", - "PC7", - "PC IA Super", - "PC IA", - "PC IB", - "PC IC", - "PC NIS" - ] - }, - "default":"pc_nis" - }, - "type_of_ice":{ - "title":"Type of Ice (decayed/standard)", - "type":"string", - "enum":[ - "standard", - "decayed" - ], - "default":"standard" - }, - "combined_prop":{ - "type":"string", - "template":"{{vis}}_{{ice}}_{{ship}}_rio", - "options":{ - "hidden":true - }, - "watch":{ - "vis":"type_of_visualisation", - "ice":"type_of_ice", - "ship":"ship_class" - } - } - } - }, - "variables":{ - "ship_class":"nis", - "type_of_ice":"standard", - "type_of_visualisation":"polaris", - "combined_prop":"polaris_standard_pc_nis_rio" - }, - "tooltip":[ - { - "id":"wmo_concentration", - "title":"WMO Concentration" - }, - { - "id":"wmo_stage_of_development", - "title":"Stage of development" - }, - { - "id":"{{combined_prop}}", - "title":"Total concentration ({{ship_class}} ice: {{type_of_ice}})" - } - ], - "fill-color":[ - "case", - [ - "==", - [ - "var", - "type_of_visualisation" - ], - "WMO Concentration" - ], - [ - "match", - [ - "get", - "wmo_concentration" - ], - "Ice Free", - [ - 0, - 100, - 255, - 1 - ], - "Open Water (< 1/10 ice)", - [ - 150, - 200, - 255, - 1 - ], - "Bergy Water", - [ - 150, - 200, - 255, - 1 - ], - "1/10", - [ - 140, - 255, - 159, - 1 - ], - "2/10", - [ - 140, - 255, - 159, - 1 - ], - "3/10", - [ - 140, - 255, - 159, - 1 - ], - "4/10", - [ - 255, - 255, - 0, - 1 - ], - "5/10", - [ - 255, - 255, - 0, - 1 - ], - "6/10", - [ - 255, - 255, - 0, - 1 - ], - "7/10", - [ - 255, - 125, - 7, - 1 - ], - "8/10", - [ - 255, - 125, - 7, - 1 - ], - "9/10", - [ - 255, - 0, - 0, - 1 - ], - "10/10", - [ - 255, - 0, - 0, - 1 - ], - "9/10 to 10/10 ice, 9+/10", - [ - 255, - 0, - 0, - 1 - ], - "Unknown/Undetermined", - [ - 255, - 255, - 255, - 1 - ], - [ - 255, - 255, - 255, - 1 - ] - ], - [ - "==", - [ - "var", - "type_of_visualisation" - ], - "WMO Stage of Development" - ], - [ - "match", - [ - "get", - "wmo_stage_of_development" - ], - "Ice Free", - [ - 0, - 100, - 255, - 1 - ], - "Brash Ice", - [ - 0, - 0, - 0, - 0 - ], - "No stage of development", - [ - 255, - 255, - 255, - 1 - ], - "New Ice", - [ - 255, - 204, - 255, - 1 - ], - "Nilas Ice Rind (<10 cm)", - [ - 255, - 100, - 255, - 1 - ], - "Young Ice (10 to 30 cm)", - [ - 0, - 0, - 0, - 0 - ], - "Grey Ice", - [ - 153, - 51, - 204, - 1 - ], - "Grey-White Ice", - [ - 255, - 102, - 255, - 1 - ], - "First Year Ice (>30 cm) or Brash Ice", - [ - 255, - 255, - 0, - 1 - ], - "Thin First Year Ice (30 to 70 cm)", - [ - 153, - 204, - 0, - 1 - ], - "Medium First Year Ice (70 to 120 cm)", - [ - 0, - 204, - 0, - 1 - ], - "Thick First Year Ice (>120 cm)", - [ - 0, - 102, - 0, - 1 - ], - "Old Ice", - [ - 204, - 102, - 51, - 1 - ], - "Second-Year Ice", - [ - 255, - 102, - 0, - 1 - ], - "Multi-Year Ice", - [ - 204, - 0, - 0, - 1 - ], - "Glacier Ice (Icebergs)", - [ - 102, - 0, - 0, - 1 - ], - "Unknown/Undetermined", - [ - 255, - 255, - 255, - 1 - ], - [ - 0, - 0, - 0, - 0 - ] - ], - [ - "==", - [ - "var", - "type_of_visualisation" - ], - "polaris" - ], - [ - "case", - [ - "==", - [ - "get", - "polygon_type" - ], - "Ice Free" - ], - [ - 0, - 100, - 255 - ], - [ - "==", - [ - "get", - [ - "var", - "combined_prop" - ] - ], - "RIO > 20: Normal Operation" - ], - [ - 54, - 122, - 74, - 1 - ], - [ - "==", - [ - "get", - [ - "var", - "combined_prop" - ] - ], - ">= 10 RIO < 20: Normal Operation" - ], - [ - 62, - 150, - 85, - 1 - ], - [ - "==", - [ - "get", - [ - "var", - "combined_prop" - ] - ], - ">= 0 RIO < 10: Normal Operation" - ], - [ - 102, - 188, - 118, - 1 - ], - [ - "==", - [ - "get", - [ - "var", - "combined_prop" - ] - ], - ">= -10 RIO < 0: Operation subject to special consideration" - ], - [ - 252, - 251, - 1, - 1 - ], - [ - "==", - [ - "get", - [ - "var", - "combined_prop" - ] - ], - ">= -20 RIO < -10: Operation subject to special consideration" - ], - [ - 227, - 108, - 9, - 1 - ], - [ - "==", - [ - "get", - [ - "var", - "combined_prop" - ] - ], - "RIO < -20: Operation subject to special consideration" - ], - [ - 188, - 1, - 6, - 1 - ], - [ - "==", - [ - "get", - [ - "var", - "combined_prop" - ] - ], - "<= -10 RIO < 0: Elevated operational risk" - ], - [ - 252, - 251, - 1, - 1 - ], - [ - 0, - 0, - 0, - 1 - ] - ], - [ - 0, - 0, - 0, - 0 - ] - ], - "stroke-color":"black", - "stroke-width":1 -} \ No newline at end of file diff --git a/src/components/CodeEditor.vue b/src/components/CodeEditor.vue new file mode 100644 index 00000000..d874a5c7 --- /dev/null +++ b/src/components/CodeEditor.vue @@ -0,0 +1,416 @@ + + + + + + + diff --git a/src/components/LayerControl.vue b/src/components/LayerControl.vue new file mode 100644 index 00000000..0cf0a87f --- /dev/null +++ b/src/components/LayerControl.vue @@ -0,0 +1,168 @@ + + + + + diff --git a/src/components/MapButtons.vue b/src/components/MapButtons.vue new file mode 100644 index 00000000..eecf4eaa --- /dev/null +++ b/src/components/MapButtons.vue @@ -0,0 +1,100 @@ + + + + + diff --git a/src/components/MapToolbar.vue b/src/components/MapToolbar.vue new file mode 100644 index 00000000..f1aa2280 --- /dev/null +++ b/src/components/MapToolbar.vue @@ -0,0 +1,656 @@ + + + + + diff --git a/src/components/MapView.vue b/src/components/MapView.vue new file mode 100644 index 00000000..6e916fc2 --- /dev/null +++ b/src/components/MapView.vue @@ -0,0 +1,613 @@ + + + + + + diff --git a/src/components/card.css b/src/components/card.css deleted file mode 100644 index 91efc8a7..00000000 --- a/src/components/card.css +++ /dev/null @@ -1,24 +0,0 @@ -@import "tailwindcss"; - -:host { - display: flex; - width:300px; - height: 300px; -} - -.style-editor-card { - position: relative; - display: flex; - padding: 20px 20px; - margin-bottom: 16px; - border-radius: 12px; - width: 460px; - min-height: 300px; - background: #fffa; - box-shadow: 0px 3px 5px 0px rgba(0,0,0,0.17); - backdrop-filter: blur(10px); - overflow: hidden; -} -div { - display: flex; -} \ No newline at end of file diff --git a/src/components/card.js b/src/components/card.js deleted file mode 100644 index 1dbd2efc..00000000 --- a/src/components/card.js +++ /dev/null @@ -1,23 +0,0 @@ -import { LitElement, html, css } from "lit"; -import cardCss from "./card.css?inline" - -export class Card extends LitElement { - constructor() { - super() - } - - render() { - return html` - -
- -
- `; - } -} - -window.customElements.define("eodash-style-editor-card", Card) \ No newline at end of file diff --git a/src/components/modal/modal.js b/src/components/modal/modal.js deleted file mode 100644 index be1d8a33..00000000 --- a/src/components/modal/modal.js +++ /dev/null @@ -1,115 +0,0 @@ -import { LitElement, html, css, unsafeCSS } from "lit" - -import staticStyle from "./modal.css?inline" - -import eoxUiStyle from "@eox/ui/style.css?inline" - -export class StyleEditorModal extends LitElement { - constructor() { - super() - this._isInitialized = false - this._isFormatDropdownVisible = false - } - - firstUpdated() { - if (!this._isInitialized) { - this._inputValue = this.url - this._isInitialized = true - } -/* - this.renderRoot - .querySelector("#toolbar-format-dropdown") - .addEventListener("blur", (_e) => { - this._isFormatDropdownVisible = false - this.requestUpdate() - }) - - this.renderRoot - .querySelector("#toolbar-format-dropdown") - .focus() -*/ - } - - static properties = { - /** - * The default URL value given to the input within the toolbar. - */ - url: { - type: String, - attribute: true, - }, - /** - * The current value of the internal input field. - */ - _inputValue: { - state: true - }, - }; - - _onSubmit(e) { - console.log("Toolbar onInput") - this._inputValue = e.target.value - } - - _onCancel(e) { - console.log("Toolbar onInput") - this._inputValue = e.target.value - } - - render() { - return html` - -
-
- - -
- - arrow_drop_down -
-
-
- `; - } -} - -window.customElements.define("style-editor-toolbar", StyleEditorToolbar) \ No newline at end of file diff --git a/src/components/style-import-dialog.js b/src/components/style-import-dialog.js deleted file mode 100644 index 50f46a48..00000000 --- a/src/components/style-import-dialog.js +++ /dev/null @@ -1,388 +0,0 @@ -import { LitElement, html, css } from "lit" -import { property, state } from "lit/decorators.js" -import eoxUiStyle from "@eox/ui/style.css?inline" - -import StyleParser from "../lib/style/style-parser.js" -import StyleFormatDetector from "../lib/style/format-detector.js" - -import * as SLDReader from '@nieuwlandgeo/sldreader' - -import componentStyle from "../styles/app.css?inline" - -class StyleImportDialog extends LitElement { - - static properties = { - isVisible: { - type: Boolean, - attribute: true, - }, - _isLoading: { type: Boolean, state: true }, - _loadingHint: { type: String, state: true }, - _urlValue: { type: String, state: true }, - _selectedFormat: { type: String, state: true }, - _validationErrors: { type: Object, state: true }, - _loadingIndicators: { type: Object, state: true }, - } - - constructor() { - super() - - this._isLoading = false - this._loadingHint = "Loading data" - this._urlValue = "" - this._selectedFormat = "eodash_openlayers" - this._validationErrors = [] - this._loadingIndicators = { "url-input": false } - } - - _cancel() { - // Reset any errors and loading indicators - this._isLoading = false - this._validationErrors = [] - - const event = new CustomEvent('cancel', { - bubbles: true, - composed: true, - }) - this.dispatchEvent(event) - } - - async _loadStyleFromUrl(e) { - // Reset all errors first. - this._validationErrors = this._validationErrors.filter(error => error.region != "url-input") - - // - // 1. Preflight checks - // - - // 1.1 The URL input could be empty - if (this._urlValue.length === 0) { - this._reportError("url-input", "URL field cannot be empty") - return - } - - // 1.2 The URL could be malformed - try { - // Try to parse the string from the input into a `URL` object. - // The following line will throw an error if the text is not a URL. - const _testUrl = new URL(this._urlValue); - } catch (_) { - this._reportError("url-input", "The provided input is not a valid web address") - return - } - - /* - this._loadingIndicators = { - "url-input": true, - }*/ - this._isLoading = true - this._loadingHint = "Downloading data from URL" - - var styleParser = new StyleParser() - - const response = await fetch(this._urlValue) - if (!response.ok) { - throw new Error(`Response status: ${response.status}`) - } - - const styleString = await response.text() - //console.log(this._selectedFormat) - - let formatDetector = new StyleFormatDetector() - console.log(styleString) - console.log(`Detected format: ${formatDetector.detect(styleString)}`) - - switch (this._selectedFormat) { - case "eodash_openlayers": - try { - const parsedStyle = JSON.parse(styleString) - - const event = new CustomEvent('loadstyle', { - detail: parsedStyle, - bubbles: true, - composed: true, - }) - this.dispatchEvent(event) - this._cancel() - } catch (e) { - this._loadingHint = "The file is not a valid Eodash or OpenLayers style." - setTimeout(() => this._isLoading = false, 1000) - } - break - case "sld": - try { - const sldObject = SLDReader.Reader(styleString) - const sldLayer = SLDReader.getLayer(sldObject) - const style = SLDReader.getStyle(sldLayer) - console.log(style) - - const event = new CustomEvent('loadsld', { - detail: styleString, - bubbles: true, - composed: true, - }) - this.dispatchEvent(event) - this._cancel() - } catch (e) { - this._loadingHint = "Fetched file is not a valid SLD style" - setTimeout(() => this._isLoading = false, 1000) - } - - break - } -/* - const { output: geostylerStyle } = await sldParser.readStyle(someSld); - const { output: olStyle } = await olParser.writeStyle(geostylerStyle); -*/ - } - - _urlInputHandler(e) { - this._urlValue = e.target.value -/* - // Trigger auto-loading of the URL when one is entered into the input. - try { - // Try to parse the string from the input into a `URL` object. - // The following line will throw an error if the text is not a URL. - const _testUrl = new URL(this._urlValue); - - // This will only execute if the URL is parsed successfully. - this._loadStyleFromUrl() - } catch (_) { - this._reportError("url-input", "The provided input is not a valid web address") - return - } -*/ - } - - _dropHandler(e) { - } - - _dropoverHandler(e) { - } - - _reportError(region, description) { - const event = new CustomEvent('error', { - detail: description, - bubbles: true, - composed: true, - }) - this.dispatchEvent(event) - - const error = { - region, - description, - } - // Make sure the property is reactive in the UI by re-setting the entire variable. - // Also, ensure to not add another error if it is already there. - if (this._validationErrors.find(e => - e.region === error.region - && e.description === error.description) == undefined) { - console.log(`Reporting error in ${region}, ${description}`) - - this._validationErrors = [ - ...this._validationErrors, - error, - ] - } else { - console.log("Error already reported") - } - - console.log(this._validationErrors) - } - - _onDragEnter(e) { - // Make sure the drag events do not trigger any inherent browser functionalities - e.preventDefault() - e.stopPropagation() - - console.log("onDrop") - } - _onDragOver(e) { - // Make sure the drag events do not trigger any inherent browser functionalities - e.preventDefault() - e.stopPropagation() - - console.log("onDragOver") - } - _onDragLeave(e) { - // Make sure the drag events do not trigger any inherent browser functionalities - e.preventDefault() - e.stopPropagation() - - console.log("onDragLeave") - } - _onDrop(e) { - // Make sure the drag events do not trigger any inherent browser functionalities - e.preventDefault() - e.stopPropagation() - - console.log("onDrop") - } - - get _hasUrlInputError() { - return this._validationErrors.find(e => e.region === "url-input") !== undefined - } - - get _isUrlInputLoading() { - return this._loadingIndicators["url-input"] - } - - get _urlInputErrors() { - return this._validationErrors.filter(e => e.region === "url-input") - } - - render() { - const dialogFieldsetHeight = 250 - const fileUrlRowHeight = 50 - - return html` - - -
Import style
-
Upload a local file from your computer via the file selector or drag-and-drop interface, or use the URL field to download a style file from the Internet.
- ${ - this._isLoading - ? html` - - ` - : html` - - -
- Format - -
-
- - - - - - - -
- ` - } - -
- ` - } -} - -customElements.define('style-import-dialog', StyleImportDialog) \ No newline at end of file diff --git a/src/components/toolbar/examples.json b/src/components/toolbar/examples.json deleted file mode 100644 index c75eceed..00000000 --- a/src/components/toolbar/examples.json +++ /dev/null @@ -1,43 +0,0 @@ -[ - { - "name": "GeoJSON", - "uri": "https://gist.githubusercontent.com/spectrachrome/911295cd5d54a30495520ed3dde0f3bc/raw/387cbba42f99684c1306891e472b3c706cc9b4d2/testFeatures.json", - "style": {"stroke-width": 7,"radius":5,"fill":"red"} - }, - { - "name": "GeoJSON with Tooltip", - "uri": "https://gist.githubusercontent.com/spectrachrome/911295cd5d54a30495520ed3dde0f3bc/raw/387cbba42f99684c1306891e472b3c706cc9b4d2/testFeatures.json", - "style": { - "variables": { - "strokeWidth": 1 - }, - "fill-color": "red", - "stroke-color": "black", - "stroke-width": ["var", "strokeWidth"], - "jsonform": { - "type": "object", - "title": "Data configuration", - "properties": { - "strokeWidth": { - "type": "number", - "minimum": 0, - "maximum": 10, - "format": "range", - "default": 0 - } - } - }, - "tooltip": [{"id": "name", "title": "Projection: "}] - } - }, - { - "name": "Crop Circles COG", - "uri": "https://sentinel-cogs.s3.us-west-2.amazonaws.com/sentinel-s2-l2a-cogs/36/Q/WD/2020/7/S2A_36QWD_20200701_0_L2A/TCI.tif", - "style": {"color":["case",[">",["band",1],0],["array",["/",["band",1],400],["/",["band",2],500],["/",["band",3],500],1],["color",0,0,0,0]]} - }, - { - "name": "Polar Ice FGB", - "uri": "https://workspace-ui-public.cif.gtif.eox.at/api/public/share/public-4WaZei3Y-02/examples/202501200900_SouthEast_RIC-processed.fgb", - "style": {"legend":[{"title":"Total concentration colour code standard","range":["#367a4a","#3e9655","#66bc76","#fcfb01","#e36c09","#bc0106","#fcfb01"],"domain":["RIO > 20",">= 10 RIO < 20",">= 0 RIO < 10",">= -10 RIO < 0",">= -20 RIO < -10","RIO < -20","<= -10 RIO < 0"],"scaleType":"categorical","markType":"circle","boundTo":{"key":"type_of_visualisation","value":"polaris"}},{"title":"WMO Concentration","range":["#8cff9f","#ffff00","#ff7d07","#ff0000"],"domain":["1 - 3","4 - 6","7 - 9","10"],"scaleType":"categorical","markType":"circle","boundTo":{"key":"type_of_visualisation","value":"WMO Concentration"}},{"title":"WMO Stage of Development","range":["#0064ff","#00000000","#ffffff","#ffccff","#ff64ff","#00000000","#9933cc","#ff66ff","#ffff00","#99cc00","#00cc00","#006600","#cc6633","#ff6600","#cc0000","#660000","#ffffff"],"domain":["Ice Free","Brash Ice","No stage of development","New Ice","Nilas Ice Rind (<10 cm)","Young Ice (10 to 30 cm)","Grey Ice","Grey-White Ice","First Year Ice (>30 cm) or Brash Ice","Thin First Year Ice (30 to 70 cm)","Medium First Year Ice (70 to 120 cm)","Thick First Year Ice (>120 cm)","Old Ice","Second-Year Ice","Multi-Year Ice","Glacier Ice (Icebergs)","Unknown/Undetermined"],"scaleType":"categorical","markType":"circle","boundTo":{"key":"type_of_visualisation","value":"WMO Stage of Development"}}],"jsonform":{"type":"object","title":"Data configuration","properties":{"type_of_visualisation":{"title":"Type of Visualisation","type":"string","enum":["polaris","WMO Concentration","WMO Stage of Development","AIRSS Ice Numeral Go/No Go"],"options":{"enum_titles":["POLARIS","WMO Concentration","WMO Stage of Development","AIRSS Ice Numeral Go/No Go"]},"default":"polaris"},"ship_class":{"title":"Ship Class","type":"string","enum":["pc_1","pc_2","pc_3","pc_4","pc_5","pc_6","pc_7","pc_ias","pc_ia","pc_ib","pc_ic","pc_nis"],"options":{"enum_titles":["PC1","PC2","PC3","PC4","PC5","PC6","PC7","PC IA Super","PC IA","PC IB","PC IC","PC NIS"]},"default":"pc_nis"},"type_of_ice":{"title":"Type of Ice (decayed/standard)","type":"string","enum":["standard","decayed"],"default":"standard"},"combined_prop":{"type":"string","template":"{{vis}}_{{ice}}_{{ship}}_rio","options":{"hidden":true},"watch":{"vis":"type_of_visualisation","ice":"type_of_ice","ship":"ship_class"}}}},"variables":{"ship_class":"nis","type_of_ice":"standard","type_of_visualisation":"polaris","combined_prop":"polaris_standard_pc_nis_rio"},"tooltip":[{"id":"wmo_concentration","title":"WMO Concentration"},{"id":"wmo_stage_of_development","title":"Stage of development"},{"id":"{{combined_prop}}","title":"Total concentration ({{ship_class}} ice: {{type_of_ice}})"}],"fill-color":["case",["==",["var","type_of_visualisation"],"WMO Concentration"],["match",["get","wmo_concentration"],"Ice Free",[0,100,255,1],"Open Water (< 1/10 ice)",[150,200,255,1],"Bergy Water",[150,200,255,1],"1/10",[140,255,159,1],"2/10",[140,255,159,1],"3/10",[140,255,159,1],"4/10",[255,255,0,1],"5/10",[255,255,0,1],"6/10",[255,255,0,1],"7/10",[255,125,7,1],"8/10",[255,125,7,1],"9/10",[255,0,0,1],"10/10",[255,0,0,1],"9/10 to 10/10 ice, 9+/10",[255,0,0,1],"Unknown/Undetermined",[255,255,255,1],[255,255,255,1]],["==",["var","type_of_visualisation"],"WMO Stage of Development"],["match",["get","wmo_stage_of_development"],"Ice Free",[0,100,255,1],"Brash Ice",[0,0,0,0],"No stage of development",[255,255,255,1],"New Ice",[255,204,255,1],"Nilas Ice Rind (<10 cm)",[255,100,255,1],"Young Ice (10 to 30 cm)",[0,0,0,0],"Grey Ice",[153,51,204,1],"Grey-White Ice",[255,102,255,1],"First Year Ice (>30 cm) or Brash Ice",[255,255,0,1],"Thin First Year Ice (30 to 70 cm)",[153,204,0,1],"Medium First Year Ice (70 to 120 cm)",[0,204,0,1],"Thick First Year Ice (>120 cm)",[0,102,0,1],"Old Ice",[204,102,51,1],"Second-Year Ice",[255,102,0,1],"Multi-Year Ice",[204,0,0,1],"Glacier Ice (Icebergs)",[102,0,0,1],"Unknown/Undetermined",[255,255,255,1],[0,0,0,0]],["==",["var","type_of_visualisation"],"polaris"],["case",["==",["get","polygon_type"],"Ice Free"],[0,100,255],["==",["get",["var","combined_prop"]],"RIO > 20: Normal Operation"],[54,122,74,1],["==",["get",["var","combined_prop"]],">= 10 RIO < 20: Normal Operation"],[62,150,85,1],["==",["get",["var","combined_prop"]],">= 0 RIO < 10: Normal Operation"],[102,188,118,1],["==",["get",["var","combined_prop"]],">= -10 RIO < 0: Operation subject to special consideration"],[252,251,1,1],["==",["get",["var","combined_prop"]],">= -20 RIO < -10: Operation subject to special consideration"],[227,108,9,1],["==",["get",["var","combined_prop"]],"RIO < -20: Operation subject to special consideration"],[188,1,6,1],["==",["get",["var","combined_prop"]],"<= -10 RIO < 0: Elevated operational risk"],[252,251,1,1],[0,0,0,1]],[0,0,0,0]],"stroke-color":"black","stroke-width":1} - } -] \ No newline at end of file diff --git a/src/components/toolbar/toolbar.css b/src/components/toolbar/toolbar.css deleted file mode 100644 index fb95d097..00000000 --- a/src/components/toolbar/toolbar.css +++ /dev/null @@ -1,52 +0,0 @@ -@import url("@eox/ui/style.css"); - -.style-editor-toolbar { - --app-padding: 16px; - --toolbar-height: 40px; - --toolbar-border-radius: 12px; -} - -.style-editor-toolbar .flex { - display: flex; -} - -#logo { - height: var(--toolbar-height); - width: var(--toolbar-height); - border-radius: var(--toolbar-border-radius); - background: #004170; - margin-right: 10px; - display: flex; - justify-content: center; - align-items: center; - box-shadow: 0px 3px 5px 0px rgba(0,0,0,0.17); -} - -.style-editor-toolbar { - position: fixed; - top: var(--app-padding); - left: var(--app-padding); - right: var(--app-padding); - height: var(--toolbar-height); -} - -.style-editor-toolbar input { - min-width: 400px; - padding-left: 16px; - font-family: "IBM Plex Mono"; - font-weight: 600; - - background: #fffc; - backdrop-filter: blur(10px); - box-shadow: 0px 3px 5px 0px rgba(0,0,0,0.17); -} - -.style-editor-toolbar .load-button { - width: 100px; - min-height: 48px; - background: #004170; - border-radius: 0 12px 12px 0; - user-select: none; - cursor: pointer; - box-shadow: 0px 3px 5px 0px rgba(0,0,0,0.17); -} \ No newline at end of file diff --git a/src/components/toolbar/toolbar.js b/src/components/toolbar/toolbar.js deleted file mode 100644 index 92b93efa..00000000 --- a/src/components/toolbar/toolbar.js +++ /dev/null @@ -1,191 +0,0 @@ -import { LitElement, html, css, unsafeCSS } from "lit"; - -import staticStyle from "./toolbar.css?inline"; -import examples from "./examples.json?inline"; - -import eoxUiStyle from "@eox/ui/style.css?inline"; - -export class StyleEditorToolbar extends LitElement { - constructor() { - super(); - this._isInitialized = false; - this._isFormatDropdownVisible = false; - } - - firstUpdated() { - if (!this._isInitialized) { - this._inputValue = this.url; - this._isInitialized = true; - } - /* - this.renderRoot - .querySelector("#toolbar-format-dropdown") - .addEventListener("blur", (_e) => { - this._isFormatDropdownVisible = false - this.requestUpdate() - }) - - this.renderRoot - .querySelector("#toolbar-format-dropdown") - .focus() -*/ - } - - static properties = { - /** - * The default URL value given to the input within the toolbar. - */ - url: { - type: String, - attribute: true, - }, - enableStyleImport: { - type: String, - attribute: true, - }, - /** - * The current value of the internal input field. - */ - _inputValue: { - state: true, - }, - _isInitialized: { - state: true, - }, - _isFormatDropdownVisible: { - state: true, - }, - _selectedFormat: { - state: true, - }, - }; - - static get styles() { - return [unsafeCSS(staticStyle)]; - } - - _onSelectExample(evt) { - const foundExample = examples.find( - (example) => example.name === evt.target.value, - ); - - if (foundExample) { - this._inputValue = foundExample.uri; - const event = new CustomEvent("submit", { - detail: { - uri: this._inputValue, - style: foundExample.style, - }, - bubbles: true, - composed: true, - }); - this.dispatchEvent(event); - } - } - - _openStyleImportModal() { - const event = new CustomEvent("importstyle", { - detail: "foo", - bubbles: true, - composed: true, - }); - this.dispatchEvent(event); - } - - _triggerFileLoad(_e) { - console.log("triggerFileLoad"); - console.log(this._inputValue); - const event = new CustomEvent("submit", { - detail: { - uri: this._inputValue, - }, - bubbles: true, - composed: true, - }); - this.dispatchEvent(event); - } - - _onInput(e) { - console.log("Toolbar onInput"); - this._inputValue = e.target.value; - } - - render() { - return html` - -
-
- - -
- - arrow_drop_down -
-
-
- `; - } -} - -window.customElements.define("style-editor-toolbar", StyleEditorToolbar); diff --git a/src/composables/useExamples.js b/src/composables/useExamples.js new file mode 100644 index 00000000..51ac6e74 --- /dev/null +++ b/src/composables/useExamples.js @@ -0,0 +1,211 @@ +import { ref, computed } from 'vue' +import { generateMapLayer, detectDataFormat } from '../utils/layerGenerator.js' +import { processLayers } from '../formats/formatRegistry.js' +import { updateVectorLayerStyle } from '../utils/styleProcessor.js' +import { useLoading } from './useLoading.js' + +const currentExample = ref(null) +const currentExampleStyle = ref(null) +const dataLayers = ref([]) + +const { startMapLoading, stopMapLoading } = useLoading() + +export function useExamples() { + const setCurrentExample = async (example) => { + console.log('[useExamples] setCurrentExample called for:', example.name) + console.log('[useExamples] example.layers:', example.layers) + startMapLoading() + + currentExample.value = example + currentExampleStyle.value = + typeof example.style === 'string' ? JSON.parse(example.style) : example.style + +if (example) { + if (example.layers) { + console.log('[useExamples] Using new layer format, calling processLayers with', example.layers.length, 'layers') +// Use the new layer definitions with format registry, applying editor style + // processLayers already handles style application correctly for all layer types + const processedLayers = await processLayers(example.layers, currentExampleStyle.value) + console.log('[useExamples] processLayers returned', processedLayers.length, 'layers') + dataLayers.value = processedLayers + console.log('[useExamples] dataLayers.value set') + } else { + // Fallback to legacy approach + const format = detectDataFormat(example.dataUrl) + + const layer = generateMapLayer({ + dataUrl: example.dataUrl, + name: example.name, + style: currentExampleStyle.value, + id: 'example-layer', + format: format, + }) + + dataLayers.value = [layer] + } + } else { + dataLayers.value = [] + } + + // Stop loading after a brief delay to let map update + setTimeout(() => { + stopMapLoading() + }, 1000) + } + + const addLayer = (layerConfig) => { + const layer = generateMapLayer(layerConfig) + dataLayers.value.push(layer) + return layer + } + + const removeLayer = (layerId) => { + dataLayers.value = dataLayers.value.filter((layer) => layer.id !== layerId) + } + + const clearAllLayers = () => { + dataLayers.value = [] + } + + const updateCurrentStyle = async (newStyle) => { + console.log('[useExamples] updateCurrentStyle called with:', newStyle) + console.log('[useExamples] currentExample:', currentExample.value) + console.log('[useExamples] dataLayers.value:', dataLayers.value) + // Don't show loading indicator for style-only updates + currentExampleStyle.value = newStyle + + // Re-process layers with the new style + if (currentExample.value?.layers) { + // Always use original example layers to preserve variable references + // but copy over calculated extents from current dataLayers + const originalLayers = currentExample.value.layers + console.log('[useExamples] Original layers:', originalLayers) + const layersToProcess = originalLayers.map((layer, index) => { + const currentLayer = dataLayers.value[index] + if (currentLayer?.extent) { + return { ...layer, extent: currentLayer.extent } + } + return layer + }) + console.log('[useExamples] Layers to process:', layersToProcess) + + // processLayers already handles style application correctly for all layer types + const processedLayers = await processLayers(layersToProcess, newStyle) + console.log('[useExamples] Processed layers:', processedLayers) + dataLayers.value = processedLayers + console.log('[useExamples] dataLayers.value updated') + } else if (dataLayers.value && dataLayers.value.length > 0) { + // Handle case where currentExample is null (e.g., custom URL data) + // Reprocess layers through processLayers to ensure variables are handled correctly + console.log('[useExamples] No currentExample, reprocessing custom layers with new style') + + // Create "original" layers by stripping processed styles but keeping extents + const layersToProcess = dataLayers.value.map((layer) => { + const originalLayer = { ...layer } + // Remove processed style so processLayers applies the new style correctly + delete originalLayer.style + // Keep extent if it was calculated + return originalLayer + }) + + // Reprocess through processLayers to handle variables correctly + const processedLayers = await processLayers(layersToProcess, newStyle) + dataLayers.value = processedLayers + console.log('[useExamples] Updated custom layers via processLayers') + } else if (currentExample.value) { + // Update legacy layer style + const updatedLayers = dataLayers.value.map((layer) => { + const updatedLayer = { ...layer } + + if (layer.type === 'Vector') { + // Process variables in style for Vector layers + const processedStyle = updateVectorLayerStyle(newStyle) + updatedLayer.style = processedStyle + + if (!updatedLayer.properties.layerConfig) { + updatedLayer.properties.layerConfig = {} + } + // Include variables in the style object where eox-layercontrol expects them + const styleWithVariables = { + ...processedStyle, + variables: newStyle.variables || {} + } + + updatedLayer.properties.layerConfig = { + ...updatedLayer.properties.layerConfig, + schema: newStyle.jsonform || newStyle.schema, + style: styleWithVariables, // Style now includes variables + legend: newStyle.legend + } + } else if (layer.type === 'WebGLTile') { + // For WebGLTile, keep the style with variables intact + updatedLayer.style = newStyle + + if (!updatedLayer.properties.layerConfig) { + updatedLayer.properties.layerConfig = {} + } + + updatedLayer.properties.layerConfig = { + ...updatedLayer.properties.layerConfig, + schema: newStyle.jsonform || newStyle.schema, + style: newStyle, // Keep original style with variables + legend: newStyle.legend + } + } + return updatedLayer + }) + dataLayers.value = updatedLayers + } + } + + const clearCurrentExample = () => { + currentExample.value = null + currentExampleStyle.value = null + clearAllLayers() + } + + const setCustomDataLayers = async (layers) => { + startMapLoading() + + // Clear current example since we're loading custom data + currentExample.value = null + + // Default style if no example style exists + const defaultStyle = { + 'fill-color': 'rgba(0, 123, 255, 0.2)', + 'stroke-color': '#007bff', + 'stroke-width': 2 + } + + // Use current style or default + const styleToApply = currentExampleStyle.value || defaultStyle + + // If no current style, set the default as current + if (!currentExampleStyle.value) { + currentExampleStyle.value = defaultStyle + } + + // Process the layers with the style + // processLayers already handles style application correctly for all layer types + const processedLayers = await processLayers(layers, styleToApply) + dataLayers.value = processedLayers + + // Stop loading after a brief delay to let map update + setTimeout(() => { + stopMapLoading() + }, 1000) + } + + return { + currentExample: computed(() => currentExample.value), + currentExampleStyle: computed(() => currentExampleStyle.value), + dataLayers: computed(() => dataLayers.value), + setCurrentExample, + addLayer, + removeLayer, + clearAllLayers, + clearCurrentExample, + updateCurrentStyle, + setCustomDataLayers, + } +} diff --git a/src/composables/useLayerControl.js b/src/composables/useLayerControl.js new file mode 100644 index 00000000..349f90d1 --- /dev/null +++ b/src/composables/useLayerControl.js @@ -0,0 +1,15 @@ +import { ref } from 'vue' + +// Global state for layer control visibility +const isLayerControlVisible = ref(false) + +export function useLayerControl() { + const toggleLayerControl = () => { + isLayerControlVisible.value = !isLayerControlVisible.value + } + + return { + isLayerControlVisible, + toggleLayerControl, + } +} diff --git a/src/composables/useLoading.js b/src/composables/useLoading.js new file mode 100644 index 00000000..0828469e --- /dev/null +++ b/src/composables/useLoading.js @@ -0,0 +1,41 @@ +import { ref } from 'vue' + +const isMapLoading = ref(false) +const loadingHint = ref('') + +const loadingHints = [ + 'Calculating orbital trajectories ...', + 'Optimizing delta-v requirements ...', + 'Pointing correct end towards sky ...', + 'Combobulating discombobulators ...', + 'Treating Kessler syndrome ...', + 'Calling orbital mechanic ...', + 'Cleaning transfer windows ...', + 'Counting geigers ...', + 'Coupling decouplers ...', + 'Negotiating gravity ...', + 'Settling argument of periapsis ...', +] + +const getRandomHint = () => { + return loadingHints[Math.floor(Math.random() * loadingHints.length)] +} + +export function useLoading() { + const startMapLoading = () => { + isMapLoading.value = true + loadingHint.value = getRandomHint() + } + + const stopMapLoading = () => { + isMapLoading.value = false + loadingHint.value = '' + } + + return { + isMapLoading, + loadingHint, + startMapLoading, + stopMapLoading, + } +} diff --git a/src/eodash-style-editor.js b/src/eodash-style-editor.js deleted file mode 100644 index 44553fe9..00000000 --- a/src/eodash-style-editor.js +++ /dev/null @@ -1,771 +0,0 @@ -import { LitElement, css, html } from "lit"; -import stringify from "json-stringify-pretty-compact"; -import _debounce from "lodash.debounce"; -import mustache from "mustache"; -import * as SLDReader from "@nieuwlandgeo/sldreader"; - -import Feature from "ol/Feature"; - -import "@eox/layout"; -import "@eox/map"; -import "@eox/layercontrol"; -import "@eox/map/dist/eox-map-advanced-layers-and-sources.js"; -import "@eox/jsonform"; -import "color-legend-element"; - -import "./components/toolbar/toolbar"; -import "./components/style-import-dialog"; - -import StyleParser from "./lib/style/style-parser.js"; - -import { getGeotiffExtent } from "./helpers/geotiff"; -import { getFgbExtent, buildFgbConfig } from "./helpers/fgb"; -import { getGeojsonExtent, buildGeojsonConfig } from "./helpers/geojson"; -import { styleConvertExample } from "./helpers/import-style"; - -import "./fonts/IBMPlexMono-Regular.ttf"; -import eoxUiStyle from "@eox/ui/style.css?inline"; - -import componentStyle from "./styles/app.css?inline"; - -import cerulean from "./cerulean_style.json?inline"; - -//import exampleStyleDef from "./example-style.json?inline" - -const maxEditorHeight = window.innerHeight; - -/** - * @param {object} vector layer - * @param {string} text the xml text - * apply sld - */ -function applySLD(vectorLayer, map, text) { - console.log(map); - const sldObject = SLDReader.Reader(text); - const sldLayer = SLDReader.getLayer(sldObject); - const style = SLDReader.getStyle(sldLayer); - const featureTypeStyle = style.featuretypestyles[0]; - - const viewProjection = map.getView().getProjection(); - vectorLayer.setStyle( - SLDReader.createOlStyleFunction( - featureTypeStyle /*{ - // Use the convertResolution option to calculate a more accurate resolution. - convertResolution: viewResolution => { - const viewCenter = map.getView().getCenter(); - return ol.proj.getPointResolution(viewProjection, viewResolution, viewCenter); - }, - // If you use point icons with an ExternalGraphic, you have to use imageLoadCallback - // to update the vector layer when an image finishes loading. - // If you do not do this, the image will only be visible after next layer pan/zoom. - imageLoadedCallback: () => { - vectorLayer.changed(); - }, - }*/, - ), - ); -} - -const jsonFormConfig = { - type: "object", - properties: { - code: { - type: "string", - title: " ", - description: "", - format: "json", - options: { - ace: { - tabSize: 2, - fontSize: 14, - fontFamily: "'IBM Plex Mono'", - maxPixelHeight: window.innerHeight - 174, - maxLines: 50, - }, - }, - }, - }, -}; - -function parseJsonDataUri(dataUri) { - try { - // Split the data URI to get the encoded part - const encodedData = dataUri.split(",")[1]; - // Decode the URI component to convert %xx characters - const decodedData = decodeURIComponent(encodedData); - // Parse the JSON string into an object - return JSON.parse(decodedData); - } catch (error) { - console.error("Error parsing GeoJSON data URI:", error); - throw error; // Re-throw or handle as needed - } -} - -/* Create a map config for Flat Geo Buf sources */ -function createGeoTiffConfig(url) { - return [ - { - type: "WebGLTile", - properties: { - id: "geotiffLayer", - }, - source: { - type: "GeoTIFF", - normalize: false, - sources: [ - { - url: url, - }, - ], - }, - }, - { - type: "Tile", - properties: { - id: "customId", - }, - source: { - type: "OSM", - }, - }, - ]; -} - -/** - * If you don't care about primitives and only objects then this function - * is for you, otherwise look elsewhere. - * This function will return `false` for any valid json primitive. - * EG, 'true' -> false - * '123' -> false - * 'null' -> false - * '"I'm a string"' -> false - */ -function tryParseJson(jsonString) { - try { - var o = JSON.parse(jsonString); - - // Handle non-exception-throwing cases: - // Neither JSON.parse(false) or JSON.parse(1234) throw errors, hence the type-checking, - // but... JSON.parse(null) returns null, and typeof null === "object", - // so we must check for that, too. Thankfully, null is falsey, so this suffices: - if (o && typeof o === "object") { - return o; - } - } catch (e) {} - - return false; -} - -/** - * updating the variables assigned in the layer style - * from the `styles.variables` property - * @param {Record} styles - * @returns - */ -function updateVectorLayerStyle(styles) { - // pass back flat style if contained in config - let returnStyle = styles; - // Check if variables are defined and need to be "burned in" first - if ("variables" in styles) { - // stringify all the styles to be able to search quickly - let rawStyle = JSON.stringify(styles); - // extract updated variables - const { variables } = styles; - // loop through the variables keys - for (const key in variables) { - // ol styles expects numbers to be assigned as typeof number - if (typeof variables[key] === "number") { - //@ts-expect-error assigning number to string - rawStyle = rawStyle.replaceAll(`["var","${key}"]`, variables[key]); - } else { - // replace all styles variables set of the specific key with the variables value - rawStyle = rawStyle.replaceAll( - `["var","${key}"]`, - `"${variables[key]}"`, - ); - } - } - returnStyle = JSON.parse(rawStyle); - } - return returnStyle; -} - -/** - * An instance of the `eodash` style editor for geospatial features on a map. - * - * @slot - This element has a slot - * @csspart button - The button - */ -export class EodashStyleEditor extends LitElement { - // Disable shadow DOM so that we can use Tailwind - createRenderRoot() { - return this; - } - - constructor() { - super(); - - this._isInitialized = false; - this._mapLayers = []; - this._mapZoomExtent = null; - this._isLayerControlVisible = false; - this._isStyleImporterVisible = false; - - this._currentMapView = null; // Store current view state - this._shouldApplyZoomExtent = true; // Only true on initial load - - this._style = { - "stroke-color": "red", - radius: 5, - fill: "red", - /*"color": [ - "case", - [">", ["band", 1], 0], - [ - "array", - ["*", ["band", 1], 0.4], - ["*", ["band", 2], 1], - ["*", ["band", 3], 1], - 1 - ], - ["color", 0, 0, 0, 0] - ]*/ - }; - - this._style = cerulean; - - this._isMapLoading = false; - // this._url = "https://sentinel-cogs.s3.us-west-2.amazonaws.com/sentinel-s2-l2a-cogs/36/Q/WD/2020/7/S2A_36QWD_20200701_0_L2A/TCI.tif" - //this._url = "https://gist.githubusercontent.com/spectrachrome/911295cd5d54a30495520ed3dde0f3bc/raw/387cbba42f99684c1306891e472b3c706cc9b4d2/testFeatures.json"; - this._url = - "https://workspace-ui-public.cif.gtif.eox.at/api/public/share/public-4WaZei3Y-02/examples/202501200900_SouthEast_RIC-processed.fgb"; - this._layerControlFormValue = {}; - this._errorQueue = []; - this._snackbarDuration = 2000; - this._currentError = ""; - } - - #debouncedEditorFn = null; - - static properties = { - // Reactive internal state - _mapLayers: { state: true }, - _mapZoomExtent: { state: true }, - _geometryUrl: { state: true }, - _isInitialized: { state: true }, - _style: { state: true }, - _isMapLoading: { state: true }, - _isLayerControlVisible: { state: true }, - _isStyleImporterVisible: { state: true }, - _layerControlFormValue: { state: true }, - _shouldUpdate: { state: true }, - _errorQueue: { state: true }, - _currentError: { state: true }, - // Duration in milliseconds until a spawned snackbar notification fades away. - _snackbarDuration: { state: true }, - _currentMapView: { state: true }, - _shouldApplyZoomExtent: { state: true }, - }; - - // Error handling remains the same - _handleError(event) { - event.stopPropagation(); - this._errorQueue = [...this._errorQueue, event.detail]; - - if (!this._currentError) { - this._processNextError(); - } - } - - _processNextError() { - if (this._errorQueue.length === 0) return; - this._currentError = this._errorQueue[0]; - this._errorQueue = this._errorQueue.slice(1); - - setTimeout(() => { - this._currentError = null; - - // Hide snackbar for 500ms - this._currentError = ""; - // Process next error after current is dismissed - setTimeout(this._processNextError, 500); - }, this._snackbarDuration); - } - - _tooltipPropertyTransform = (param) => { - const templateContext = { - ...this._layerControlFormValue, - ...param.properties, - }; - - try { - const tooltipConfig = JSON.parse( - mustache.render(JSON.stringify(this._style.tooltip), templateContext), - ); - - const tooltipProp = tooltipConfig.find((p) => p.id === param.key); - if (!tooltipProp) return null; - - let value = param.value; - if (typeof value === "object") { - value = JSON.stringify(value); - } else if (typeof value === "number") { - value = value.toFixed(4); - } - - return { - key: mustache.render(tooltipProp.title, templateContext), - value: - `${value} ${mustache.render(tooltipProp.appendix || "", templateContext)}`.trim(), - }; - } catch (e) { - console.error("Tooltip transformation error:", e); - return null; - } - }; - - _getFileFormat(url) { - if (url.includes(".tif")) { - return "tif"; - } - if (url.includes(".fgb")) { - return "fgb"; - } - if ( - url.includes("data:,") || - url.includes(".geojson") || - url.includes(".json") - ) { - return "geojson"; - } - - return "unknown"; - } - - async _buildMapLayers(options) { - this._isMapLoading = true; - this._isLayerControlVisible = false; - - var layers = []; - - const inputFormat = this._getFileFormat(this._url); - - switch (inputFormat) { - case "fgb": - this._mapZoomExtent = await getFgbExtent(this._url); - layers = buildFgbConfig(this._url, this._style); - break; - case "geojson": - // "Fetch" data URI - const fetchRes = await fetch(this._url); - const featureCollection = await fetchRes.json(); - this._mapZoomExtent = await getGeojsonExtent(featureCollection); - layers = buildGeojsonConfig(this._url, this._style); - break; - case "tif": - this._mapZoomExtent = await getGeotiffExtent(this._url); - layers = createGeoTiffConfig(this._url, this._style); - break; - default: - console.warn( - "File format not supported. Please use FGB, GeoTiff or COG files.", - ); - } - - // Apply our OpenLayers style, for now it is simply added to each generated vector layer. - // - // NOTE: Generation for non-vector layers is disabled here because it leads to an - // app-breaking exception in the `eox-map` instance when the map is handling - // the style object. - layers.forEach((layer) => { - if (layer.type == "WebGLTile") { - layer.style = this._style; - } else if (layer.type == "Vector") { - console.log(this._style); - if (!this._style) { - this._style = {}; - } - layer.properties.layerConfig = { - schema: this._style.jsonform, - style: this._style, - legend: this._style.legend, - }; - } - - layer.opacity = 1.0; - }); - - this._mapLayers = layers; - - window.setTimeout(() => { - this.renderRoot - .querySelector("eox-jsonform") - .editor.editors[ - "root.code" - ]["ace_editor_instance"].textInput.getElement() - .focus(); - }, 40); - - this._isMapLoading = false; - - // Give the map some time to load, so that EOxLayerControl can establish the link. - window.setTimeout(() => { - this._isLayerControlVisible = true; - }, 40); - } - - _updateLayerStyles() { - console.log("updating styles"); - - if (!this._mapLayers) return; - const eoxMap = this.renderRoot.querySelector("eox-map"); - if (!eoxMap || !eoxMap.map) return; - - // Save current view state - const view = eoxMap.map.getView(); - const currentCenter = view.getCenter(); - const currentZoom = view.getZoom(); - const currentRotation = view.getRotation(); - - console.log("Saving view state:", { currentCenter, currentZoom }); - - // DEBUG - //console.log(eoxMap.map.getLayers().getArray()); - - const newLayers = this._mapLayers.map((layer) => { - // Handle Vector layers - if (layer.type === "Vector") { - const updatedStyle = updateVectorLayerStyle(this._style); - const olLayer = eoxMap.map - .getLayers() - .getArray() - .find((l) => l.get("id") === layer.properties.id); - if (olLayer) { - console.log("Updating style for Vector layer"); - olLayer.setStyle(updatedStyle); - } - return { - ...layer, - style: updatedStyle, - }; - } - - // Handle WebGLTile layers (GeoTIFF) - if (layer.type === "WebGLTile") { - const olLayer = eoxMap.map - .getLayers() - .getArray() - .find((l) => l.get("id") === layer.properties.id); - - if (olLayer) { - console.log("Updating style for WebGLTile layer"); - - // Check if we have variables to update - if ( - this._style.variables && - Object.keys(this._style.variables).length > 0 - ) { - // Use updateStyleVariables for efficient updates - olLayer.updateStyleVariables(this._style.variables); - } else { - // For complete style changes, use setStyle (more expensive) - olLayer.setStyle(this._style); - } - } - - return { - ...layer, - style: this._style, // Don't use updateVectorLayerStyle for WebGL - }; - } - - return layer; - }); - - //this._mapLayers = [...newLayers]; - - // Restore view state after a microtask to ensure DOM updates have processed - /*Promise.resolve().then*/ window.setTimeout(() => { - if (currentCenter && currentZoom) { - console.log("Restoring view state:", { currentCenter, currentZoom }); - view.setCenter(currentCenter); - view.setZoom(currentZoom); - view.setRotation(currentRotation); - } - }, 1); - } - - async onEditorInput(e) { - // When pressing Enter to create new line, the logic responds weirdly and immediately - // resets back to the previous state, effectively undoing the user's change. - // - // Here, we simply return early to prevent this from happening, basically skipping a bit. - if (e.key === "Enter") return; - - // 1. Quit early if the map is currently already loading. - if (this._isMapLoading) return; - - // 2. Retrieve the code the user has edited from the Ace Editor in `eox-jsonform`. - const currentJSON = this.renderRoot - .querySelector("eox-jsonform") - .editor.getValue().code; - - // 3. Validate JSON string and return deserialized object if parsing was successful. - var parseResult = tryParseJson(currentJSON); - - // 4. Rebuild map layers and set editor string if parsing succeeded. - // - // It is important to to only set the editor value only if the parsing was successful, - // otherwise desynchronization sneaks in and messes with our formatting. - - if (parseResult !== false) { - this._style = parseResult; - //await this._buildMapLayers({ shouldBoundsUpdate: true }); - this._updateLayerStyles(); - } - } - - firstUpdated() { - if (!this._isInitialized) { - this.#debouncedEditorFn = _debounce((e) => { - this.onEditorInput(e); - }, 650); - - // Build the map config - this._buildMapLayers({ shouldBoundsUpdate: true }); - this._isInitialized = true; - - // Setup map view listener after a delay to ensure map is ready - setTimeout(() => { - this._setupMapViewListener(); - }, 200); - } - - window.setTimeout(() => { - var aceEditor = - this.renderRoot.querySelector("eox-jsonform").editor.editors[ - "root.code" - ]["ace_editor_instance"]; - - this.renderRoot - .querySelector("eox-jsonform") - .editor.editors[ - "root.code" - ]["ace_editor_instance"].textInput.getElement() - .addEventListener("keyup", this.#debouncedEditorFn); - }, 100); - } - - _setupMapViewListener() { - const eoxMap = this.renderRoot.querySelector("eox-map"); - if (!eoxMap || !eoxMap.map) { - // Retry if map not ready - setTimeout(() => this._setupMapViewListener(), 100); - return; - } - - const view = eoxMap.map.getView(); - - // Listen to view changes and store them - view.on("change:center", () => { - this._currentMapView = { - center: view.getCenter(), - zoom: view.getZoom(), - rotation: view.getRotation(), - }; - // After first user interaction, don't apply zoomExtent anymore - this._shouldApplyZoomExtent = false; - }); - - view.on("change:resolution", () => { - this._currentMapView = { - center: view.getCenter(), - zoom: view.getZoom(), - rotation: view.getRotation(), - }; - this._shouldApplyZoomExtent = false; - }); - } - - // Temporary function until I move the layer control box to a separate element. - get layerControl() { - return html` -
-
- - -
-
- `; - } - - render() { - const urlParams = new URLSearchParams(window.location.search); - const isStyleImportEnabled = urlParams.get("enableStyleImport"); - - return html` - - - { - if (layer.get("type") == "Vector") { - console.log("Applying SLD"); - // Generate and apply the style function generated by `SLDReader` - applySLD(layer, map.map, e.detail); - - const styleFunction = layer.getStyle(); - - console.info(layer.getSource().getFeatures()); - - // Create a dummy feature and resolution for the call - const dummyFeature = layer.getSource().getFeatures()[0]; - - for (const feature of layer.getSource().getFeatures()) { - console.log( - styleFunction(feature, map.map.getView().getResolution()), - ); - } - const dummyResolution = 1; - - // Call the style function - const style = styleFunction(dummyFeature, dummyResolution); - - console.log(style); - - // OL style functions may return a single style or an array - let flatStyle; - if (Array.isArray(style)) { - flatStyle = style[0]; // Use the first style if there's more than one - } else { - flatStyle = style; - } - - // Now, flatStyle is your “snapshot” flat style object. - // You can inspect its properties, serialize, or present for editing. - console.log(flatStyle); - } - }); - }}" - @error="${this._handleError}" - > - -
-
${this._currentError}
-
- error Error: ${this._currentError} -
- - ${this._isMapLoading - ? html`
-
- -
-
` - : html` - - `} - - - - - - ${this._isLayerControlVisible ? html`${this.layerControl}` : html``} - - -
- `; - } - - static get styles() { - return css` - :host { - contain: none; - } - - @media (prefers-color-scheme: light) { - a:hover { - color: #747bff; - } - button { - background-color: #f9f9f9; - } - } - `; - } -} - -window.customElements.define("eodash-style-editor", EodashStyleEditor); diff --git a/src/examples.json b/src/examples.json deleted file mode 100644 index 9ec0ce7e..00000000 --- a/src/examples.json +++ /dev/null @@ -1,6 +0,0 @@ -[ - { - name: "Inline GeoJSON", - uri: "data:,%7B%22type%22%3A%22FeatureCollection%22%2C%22crs%22%3A%7B%22type%22%3A%22name%22%2C%22properties%22%3A%7B%22name%22%3A%22EPSG%3A4326%22%7D%7D%2C%22features%22%3A%5B%7B%22type%22%3A%22Feature%22%2C%22geometry%22%3A%7B%22type%22%3A%22Point%22%2C%22coordinates%22%3A%5B4.3401109%2C50.8792741%5D%7D%2C%22properties%22%3A%7B%22rel%22%3A%22item%22%2C%22href%22%3A%22.%2Fshopping_center_activity%2F2020%2FBrussels.json%22%2C%22type%22%3A%22application%2Fgeo%2Bjson%22%2C%22id%22%3A%22BE4%22%2C%22latlng%22%3A%2250.8792741%2C4.3401109%22%2C%22country%22%3A%22BE%22%2C%22city%22%3A%22Brussels%22%2C%22collection_id%22%3A%22shopping_center_activity%22%2C%22geoDBID%22%3A%22E11%22%2C%22themes%22%3A%5B%22economy%22%5D%7D%7D%2C%7B%22type%22%3A%22Feature%22%2C%22geometry%22%3A%7B%22type%22%3A%22Point%22%2C%22coordinates%22%3A%5B23.69534%2C37.975333%5D%7D%2C%22properties%22%3A%7B%22rel%22%3A%22item%22%2C%22href%22%3A%22.%2Fshopping_center_activity%2F2020%2FAthens.json%22%2C%22type%22%3A%22application%2Fgeo%2Bjson%22%2C%22id%22%3A%22GR3%22%2C%22latlng%22%3A%2237.975333%2C23.69534%22%2C%22country%22%3A%22GR%22%2C%22city%22%3A%22Athens%22%2C%22collection_id%22%3A%22shopping_center_activity%22%2C%22geoDBID%22%3A%22E11%22%2C%22themes%22%3A%5B%22economy%22%5D%7D%7D%2C%7B%22type%22%3A%22Feature%22%2C%22geometry%22%3A%7B%22type%22%3A%22Point%22%2C%22coordinates%22%3A%5B12.573303%2C41.897678%5D%7D%2C%22properties%22%3A%7B%22rel%22%3A%22item%22%2C%22href%22%3A%22.%2Fshopping_center_activity%2F2020%2FRome.json%22%2C%22type%22%3A%22application%2Fgeo%2Bjson%22%2C%22id%22%3A%22IT4%22%2C%22latlng%22%3A%2241.897678%2C12.573303%22%2C%22country%22%3A%22IT%22%2C%22city%22%3A%22Rome%22%2C%22collection_id%22%3A%22shopping_center_activity%22%2C%22geoDBID%22%3A%22E11%22%2C%22themes%22%3A%5B%22economy%22%5D%7D%7D%2C%7B%22type%22%3A%22Feature%22%2C%22geometry%22%3A%7B%22type%22%3A%22Point%22%2C%22coordinates%22%3A%5B9.12225%2C45.43371%5D%7D%2C%22properties%22%3A%7B%22rel%22%3A%22item%22%2C%22href%22%3A%22.%2Fshopping_center_activity%2F2020%2FMilan.json%22%2C%22type%22%3A%22application%2Fgeo%2Bjson%22%2C%22id%22%3A%22IT5%22%2C%22latlng%22%3A%2245.43371%2C9.12225%22%2C%22country%22%3A%22IT%22%2C%22city%22%3A%22Milan%22%2C%22collection_id%22%3A%22shopping_center_activity%22%2C%22geoDBID%22%3A%22E11%22%2C%22themes%22%3A%5B%22economy%22%5D%7D%7D%2C%7B%22type%22%3A%22Feature%22%2C%22geometry%22%3A%7B%22type%22%3A%22Point%22%2C%22coordinates%22%3A%5B21.0139%2C52.1756%5D%7D%2C%22properties%22%3A%7B%22rel%22%3A%22item%22%2C%22href%22%3A%22.%2Fshopping_center_activity%2F2020%2FWarsaw.json%22%2C%22type%22%3A%22application%2Fgeo%2Bjson%22%2C%22id%22%3A%22PL4%22%2C%22latlng%22%3A%2252.1756%2C21.0139%22%2C%22country%22%3A%22PL%22%2C%22city%22%3A%22Warsaw%22%2C%22collection_id%22%3A%22shopping_center_activity%22%2C%22geoDBID%22%3A%22E11%22%2C%22themes%22%3A%5B%22economy%22%5D%7D%7D%2C%7B%22type%22%3A%22Feature%22%2C%22geometry%22%3A%7B%22type%22%3A%22Point%22%2C%22coordinates%22%3A%5B26.084603%2C44.510178%5D%7D%2C%22properties%22%3A%7B%22rel%22%3A%22item%22%2C%22href%22%3A%22.%2Fshopping_center_activity%2F2017%2FBucharest.json%22%2C%22type%22%3A%22application%2Fgeo%2Bjson%22%2C%22id%22%3A%22RO3%22%2C%22latlng%22%3A%2244.510178%2C%2026.084603%22%2C%22country%22%3A%22RO%22%2C%22city%22%3A%22Bucharest%22%2C%22collection_id%22%3A%22shopping_center_activity%22%2C%22geoDBID%22%3A%22E11%22%2C%22themes%22%3A%5B%22economy%22%5D%7D%7D%5D%7D" - } -] \ No newline at end of file diff --git a/src/examples/cerulean/index.js b/src/examples/cerulean/index.js new file mode 100644 index 00000000..e9db564e --- /dev/null +++ b/src/examples/cerulean/index.js @@ -0,0 +1,36 @@ +import style from './style.json' + +export default { + id: 'greenland-ice-thickness', + name: 'Greenland Ice Thickness', + format: 'fgb', + dataUrl: 'https://workspace-ui-public.cif.gtif.eox.at/api/public/share/public-4WaZei3Y-02/examples/202501200900_SouthEast_RIC-processed.fgb', + style, + layers: [ + { + type: 'Vector', + properties: { + id: 'FgbLayer', + title: 'Vector Data', + }, + source: { + type: 'FlatGeoBuf', + url: 'https://workspace-ui-public.cif.gtif.eox.at/api/public/share/public-4WaZei3Y-02/examples/202501200900_SouthEast_RIC-processed.fgb', + }, + style, + interactions: [ + { + type: 'select', + options: { + id: 'selectInteraction', + condition: 'pointermove', + style: { + 'stroke-color': 'white', + 'stroke-width': 3, + }, + }, + }, + ], + }, + ], +} diff --git a/src/examples/cerulean/style.json b/src/examples/cerulean/style.json new file mode 100644 index 00000000..f63700d1 --- /dev/null +++ b/src/examples/cerulean/style.json @@ -0,0 +1,294 @@ +{ + "stroke-color": "black", + "stroke-width": 1, + "legend": [ + { + "title": "Total concentration colour code standard", + "range": ["#367a4a", "#3e9655", "#66bc76", "#fcfb01", "#e36c09", "#bc0106", "#fcfb01"], + "domain": [ + "RIO > 20", + ">= 10 RIO < 20", + ">= 0 RIO < 10", + ">= -10 RIO < 0", + ">= -20 RIO < -10", + "RIO < -20", + "<= -10 RIO < 0" + ], + "scaleType": "categorical", + "markType": "circle", + "boundTo": { + "key": "type_of_visualisation", + "value": "polaris" + } + }, + { + "title": "WMO Concentration", + "range": ["#8cff9f", "#ffff00", "#ff7d07", "#ff0000"], + "domain": ["1 - 3", "4 - 6", "7 - 9", "10"], + "scaleType": "categorical", + "markType": "circle", + "boundTo": { + "key": "type_of_visualisation", + "value": "WMO Concentration" + } + }, + { + "title": "WMO Stage of Development", + "range": [ + "#0064ff", + "#00000000", + "#ffffff", + "#ffccff", + "#ff64ff", + "#00000000", + "#9933cc", + "#ff66ff", + "#ffff00", + "#99cc00", + "#00cc00", + "#006600", + "#cc6633", + "#ff6600", + "#cc0000", + "#660000", + "#ffffff" + ], + "domain": [ + "Ice Free", + "Brash Ice", + "No stage of development", + "New Ice", + "Nilas Ice Rind (<10 cm)", + "Young Ice (10 to 30 cm)", + "Grey Ice", + "Grey-White Ice", + "First Year Ice (>30 cm) or Brash Ice", + "Thin First Year Ice (30 to 70 cm)", + "Medium First Year Ice (70 to 120 cm)", + "Thick First Year Ice (>120 cm)", + "Old Ice", + "Second-Year Ice", + "Multi-Year Ice", + "Glacier Ice (Icebergs)", + "Unknown/Undetermined" + ], + "scaleType": "categorical", + "markType": "circle", + "boundTo": { + "key": "type_of_visualisation", + "value": "WMO Stage of Development" + } + } + ], + "jsonform": { + "type": "object", + "title": "Data configuration", + "properties": { + "type_of_visualisation": { + "title": "Type of Visualisation", + "type": "string", + "enum": [ + "polaris", + "WMO Concentration", + "WMO Stage of Development", + "AIRSS Ice Numeral Go/No Go" + ], + "options": { + "enum_titles": [ + "POLARIS", + "WMO Concentration", + "WMO Stage of Development", + "AIRSS Ice Numeral Go/No Go" + ] + }, + "default": "polaris" + }, + "ship_class": { + "title": "Ship Class", + "type": "string", + "enum": [ + "pc_1", + "pc_2", + "pc_3", + "pc_4", + "pc_5", + "pc_6", + "pc_7", + "pc_ias", + "pc_ia", + "pc_ib", + "pc_ic", + "pc_nis" + ], + "options": { + "enum_titles": [ + "PC1", + "PC2", + "PC3", + "PC4", + "PC5", + "PC6", + "PC7", + "PC IA Super", + "PC IA", + "PC IB", + "PC IC", + "PC NIS" + ] + }, + "default": "pc_nis" + }, + "type_of_ice": { + "title": "Type of Ice (decayed/standard)", + "type": "string", + "enum": ["standard", "decayed"], + "default": "standard" + }, + "combined_prop": { + "type": "string", + "template": "{{vis}}_{{ice}}_{{ship}}_rio", + "options": { + "hidden": true + }, + "watch": { + "vis": "type_of_visualisation", + "ice": "type_of_ice", + "ship": "ship_class" + } + } + } + }, + "variables": { + "ship_class": "nis", + "type_of_ice": "standard", + "type_of_visualisation": "polaris", + "combined_prop": "polaris_standard_pc_nis_rio" + }, + "tooltip": [ + { + "id": "wmo_concentration", + "title": "WMO Concentration" + }, + { + "id": "wmo_stage_of_development", + "title": "Stage of development" + }, + { + "id": "{{combined_prop}}", + "title": "Total concentration ({{ship_class}} ice: {{type_of_ice}})" + } + ], + "fill-color": [ + "case", + ["==", ["var", "type_of_visualisation"], "WMO Concentration"], + [ + "match", + ["get", "wmo_concentration"], + "Ice Free", + [0, 100, 255, 1], + "Open Water (< 1/10 ice)", + [150, 200, 255, 1], + "Bergy Water", + [150, 200, 255, 1], + "1/10", + [140, 255, 159, 1], + "2/10", + [140, 255, 159, 1], + "3/10", + [140, 255, 159, 1], + "4/10", + [255, 255, 0, 1], + "5/10", + [255, 255, 0, 1], + "6/10", + [255, 255, 0, 1], + "7/10", + [255, 125, 7, 1], + "8/10", + [255, 125, 7, 1], + "9/10", + [255, 0, 0, 1], + "10/10", + [255, 0, 0, 1], + "9/10 to 10/10 ice, 9+/10", + [255, 0, 0, 1], + "Unknown/Undetermined", + [255, 255, 255, 1], + [255, 255, 255, 1] + ], + ["==", ["var", "type_of_visualisation"], "WMO Stage of Development"], + [ + "match", + ["get", "wmo_stage_of_development"], + "Ice Free", + [0, 100, 255, 1], + "Brash Ice", + [0, 0, 0, 0], + "No stage of development", + [255, 255, 255, 1], + "New Ice", + [255, 204, 255, 1], + "Nilas Ice Rind (<10 cm)", + [255, 100, 255, 1], + "Young Ice (10 to 30 cm)", + [0, 0, 0, 0], + "Grey Ice", + [153, 51, 204, 1], + "Grey-White Ice", + [255, 102, 255, 1], + "First Year Ice (>30 cm) or Brash Ice", + [255, 255, 0, 1], + "Thin First Year Ice (30 to 70 cm)", + [153, 204, 0, 1], + "Medium First Year Ice (70 to 120 cm)", + [0, 204, 0, 1], + "Thick First Year Ice (>120 cm)", + [0, 102, 0, 1], + "Old Ice", + [204, 102, 51, 1], + "Second-Year Ice", + [255, 102, 0, 1], + "Multi-Year Ice", + [204, 0, 0, 1], + "Glacier Ice (Icebergs)", + [102, 0, 0, 1], + "Unknown/Undetermined", + [255, 255, 255, 1], + [0, 0, 0, 0] + ], + ["==", ["var", "type_of_visualisation"], "polaris"], + [ + "case", + ["==", ["get", "polygon_type"], "Ice Free"], + [0, 100, 255], + ["==", ["get", ["var", "combined_prop"]], "RIO > 20: Normal Operation"], + [54, 122, 74, 1], + ["==", ["get", ["var", "combined_prop"]], ">= 10 RIO < 20: Normal Operation"], + [62, 150, 85, 1], + ["==", ["get", ["var", "combined_prop"]], ">= 0 RIO < 10: Normal Operation"], + [102, 188, 118, 1], + [ + "==", + ["get", ["var", "combined_prop"]], + ">= -10 RIO < 0: Operation subject to special consideration" + ], + [252, 251, 1, 1], + [ + "==", + ["get", ["var", "combined_prop"]], + ">= -20 RIO < -10: Operation subject to special consideration" + ], + [227, 108, 9, 1], + [ + "==", + ["get", ["var", "combined_prop"]], + "RIO < -20: Operation subject to special consideration" + ], + [188, 1, 6, 1], + ["==", ["get", ["var", "combined_prop"]], "<= -10 RIO < 0: Elevated operational risk"], + [252, 251, 1, 1], + [0, 0, 0, 1] + ], + [0, 0, 0, 0] + ] +} diff --git a/src/examples/crop_circles/index.js b/src/examples/crop_circles/index.js new file mode 100644 index 00000000..52db4100 --- /dev/null +++ b/src/examples/crop_circles/index.js @@ -0,0 +1,28 @@ +import style from './style.json' + +export default { + id: 'crop-circles', + name: 'Cairo Crop Circles', + format: 'geotiff', + dataUrl: + 'https://sentinel-cogs.s3.us-west-2.amazonaws.com/sentinel-s2-l2a-cogs/36/Q/WD/2020/7/S2A_36QWD_20200701_0_L2A/TCI.tif', + style, + layers: [ + { + type: 'WebGLTile', + properties: { + id: 'GeoTIFFLayer', + title: 'Cairo Crop Circles', + }, + source: { + type: 'GeoTIFF', + sources: [ + { + url: 'https://sentinel-cogs.s3.us-west-2.amazonaws.com/sentinel-s2-l2a-cogs/36/Q/WD/2020/7/S2A_36QWD_20200701_0_L2A/TCI.tif', + } + ] + }, + style, + }, + ], +} diff --git a/src/examples/crop_circles/style.json b/src/examples/crop_circles/style.json new file mode 100644 index 00000000..083c2123 --- /dev/null +++ b/src/examples/crop_circles/style.json @@ -0,0 +1,19 @@ +{ + "variables": { + "band1Divisor": 1.0, + "band2Divisor": 1.0, + "band3Divisor": 1.0 + }, + "color": [ + "case", + [">", ["band", 1], 0], + [ + "array", + ["/", ["band", 1], ["var", "band1Divisor"]], + ["/", ["band", 2], ["var", "band2Divisor"]], + ["/", ["band", 3], ["var", "band3Divisor"]], + 1 + ], + ["color", 0, 0, 0, 0] + ] +} diff --git a/src/examples/examples.js b/src/examples/examples.js new file mode 100644 index 00000000..3dd04d69 --- /dev/null +++ b/src/examples/examples.js @@ -0,0 +1,5 @@ +import cerulean from './cerulean/index.js' +import geojson from './geojson/index.js' +import cropCircles from './crop_circles/index.js' + +export default [cerulean, geojson, cropCircles] diff --git a/src/examples/geojson/index.js b/src/examples/geojson/index.js new file mode 100644 index 00000000..08148ed2 --- /dev/null +++ b/src/examples/geojson/index.js @@ -0,0 +1,37 @@ +import style from './style.json' + +export default { + id: 'africa', + name: 'Countries of Africa', + format: 'geojson', + dataUrl: '/eodash-style-editor/data/geojson/africa.json', + style, + layers: [ + { + type: 'Vector', + properties: { + id: 'GeoJSONLayer', + title: 'Countries of Africa', + }, + source: { + type: 'Vector', + format: 'GeoJSON', + url: '/eodash-style-editor/data/geojson/africa.json', + }, + style, + interactions: [ + { + type: 'select', + options: { + id: 'selectInteraction', + condition: 'pointermove', + style: { + 'stroke-color': 'white', + 'stroke-width': 3, + }, + }, + }, + ], + }, + ], +} diff --git a/src/examples/geojson/style.json b/src/examples/geojson/style.json new file mode 100644 index 00000000..30890930 --- /dev/null +++ b/src/examples/geojson/style.json @@ -0,0 +1,22 @@ +{ + "variables": { + "strokeWidth": 2 + }, + "fill-color": "transparent", + "stroke-color": "teal", + "stroke-width": ["var", "strokeWidth"], + "jsonform": { + "type": "object", + "title": "Data configuration", + "properties": { + "strokeWidth": { + "type": "number", + "minimum": 0, + "maximum": 10, + "format": "range", + "default": 0 + } + } + }, + "tooltip": [{ "id": "name", "title": "Country" }] +} diff --git a/src/examples/tooltipTest/style.json b/src/examples/tooltipTest/style.json new file mode 100644 index 00000000..4286fab1 --- /dev/null +++ b/src/examples/tooltipTest/style.json @@ -0,0 +1,21 @@ +{ + "stroke-color": "blue", + "stroke-width": 2, + "fill-color": [140, 200, 255, 0.5], + "tooltip": [ + { + "id": "name", + "title": "Name" + }, + { + "id": "population", + "title": "Population", + "appendix": "people" + }, + { + "id": "area", + "title": "Area", + "appendix": "km²" + } + ] +} \ No newline at end of file diff --git a/src/fonts/IBMPlexMono-Bold.ttf b/src/fonts/IBMPlexMono-Bold.ttf deleted file mode 100644 index befdbdcd..00000000 Binary files a/src/fonts/IBMPlexMono-Bold.ttf and /dev/null differ diff --git a/src/fonts/IBMPlexMono-BoldItalic.ttf b/src/fonts/IBMPlexMono-BoldItalic.ttf deleted file mode 100644 index a70576bd..00000000 Binary files a/src/fonts/IBMPlexMono-BoldItalic.ttf and /dev/null differ diff --git a/src/fonts/IBMPlexMono-Italic.ttf b/src/fonts/IBMPlexMono-Italic.ttf deleted file mode 100644 index 25cc39b3..00000000 Binary files a/src/fonts/IBMPlexMono-Italic.ttf and /dev/null differ diff --git a/src/fonts/IBMPlexMono-Medium.ttf b/src/fonts/IBMPlexMono-Medium.ttf deleted file mode 100644 index cd02e159..00000000 Binary files a/src/fonts/IBMPlexMono-Medium.ttf and /dev/null differ diff --git a/src/fonts/IBMPlexMono-MediumItalic.ttf b/src/fonts/IBMPlexMono-MediumItalic.ttf deleted file mode 100644 index 593eb163..00000000 Binary files a/src/fonts/IBMPlexMono-MediumItalic.ttf and /dev/null differ diff --git a/src/fonts/IBMPlexMono-Regular.ttf b/src/fonts/IBMPlexMono-Regular.ttf deleted file mode 100644 index f99c8e98..00000000 Binary files a/src/fonts/IBMPlexMono-Regular.ttf and /dev/null differ diff --git a/src/fonts/IBMPlexMono-Regular.woff b/src/fonts/IBMPlexMono-Regular.woff new file mode 100644 index 00000000..de292290 --- /dev/null +++ b/src/fonts/IBMPlexMono-Regular.woff @@ -0,0 +1,11 @@ + + + + + Error 404 (Not Found)!!1 + + +

404. That’s an error. +

The requested URL /s/ibmplexmono/v19/YA9Er0Wd4kDdMuhWEg_VHJJj2MhVS-ZaLY2hLzV6LnU.woff was not found on this server. That’s all we know. diff --git a/src/fonts/IBMPlexMono-Regular.woff2 b/src/fonts/IBMPlexMono-Regular.woff2 new file mode 100644 index 00000000..f9b7d961 --- /dev/null +++ b/src/fonts/IBMPlexMono-Regular.woff2 @@ -0,0 +1,11 @@ + + + + + Error 404 (Not Found)!!1 + + +

404. That’s an error. +

The requested URL /s/ibmplexmono/v19/YA9dr0Wd4kDdMuhWEg_LGIv6LzlrS-ydCFzNL3pVvn0.woff2 was not found on this server. That’s all we know. diff --git a/src/fonts/fonts.css b/src/fonts/fonts.css new file mode 100644 index 00000000..d15eb5d5 --- /dev/null +++ b/src/fonts/fonts.css @@ -0,0 +1,8 @@ +@font-face { + font-family: 'IBM Plex Mono'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url('./IBMPlexMono-Regular.woff2') format('woff2'), + url('./IBMPlexMono-Regular.woff') format('woff'); +} \ No newline at end of file diff --git a/src/formats/flatgeobuf.js b/src/formats/flatgeobuf.js new file mode 100644 index 00000000..710cdb35 --- /dev/null +++ b/src/formats/flatgeobuf.js @@ -0,0 +1,125 @@ +import { deserialize } from 'flatgeobuf/lib/mjs/geojson.js' +import proj4 from 'proj4' + +// Cache for FGB buffers to prevent multiple fetches of the same URL +const bufferCache = new Map() +const extentCache = new Map() + +async function getFgbBuffer(url) { + // Check buffer cache first + if (bufferCache.has(url)) { + console.log(`FGB buffer cache hit for: ${url}`) + return bufferCache.get(url) + } + + console.log(`Fetching FGB buffer for: ${url}`) + const response = await fetch(url) + const buffer = await response.arrayBuffer() + + // Cache the buffer + bufferCache.set(url, buffer) + console.log(`Cached FGB buffer for: ${url}`) + + return buffer +} + +async function getFgbExtent(url) { + console.log('[flatgeobuf] getFgbExtent called with url:', url) + + // Check extent cache first + if (extentCache.has(url)) { + console.log(`[flatgeobuf] FGB extent cache hit for: ${url}`) + return extentCache.get(url) + } + + console.log(`[flatgeobuf] Calculating FGB extent for: ${url}`) + const buffer = await getFgbBuffer(url) + console.log('[flatgeobuf] Got buffer, size:', buffer.byteLength) + + let minX = Infinity + let minY = Infinity + let maxX = -Infinity + let maxY = -Infinity + + // Process each coordinate recursively + function processCoordinate(coord) { + let [lon, lat] = coord + let [x, y] = proj4('EPSG:4326', 'EPSG:3857', [lon, lat]) + if (x < minX) minX = x + if (x > maxX) maxX = x + if (y < minY) minY = y + if (y > maxY) maxY = y + } + + // Function to traverse coordinates in any geometry type + function traverseCoordinates(coords) { + if (Array.isArray(coords[0])) { + coords.forEach(traverseCoordinates) + } else { + processCoordinate(coords) + } + } + + // FlatGeoBuf v4.x returns an AsyncGenerator - iterate through it + const asyncIterable = deserialize(new Uint8Array(buffer)) + + let featureCount = 0 + + try { + for await (const feature of asyncIterable) { + featureCount++ + + const geometry = feature.geometry + if (!geometry || !geometry.coordinates) continue + + traverseCoordinates(geometry.coordinates) + } + + } catch (error) { + console.error('Error iterating through features:', error) + extentCache.set(url, undefined) + return undefined + } + + if (featureCount === 0) { + console.warn('No features found') + extentCache.set(url, undefined) + return undefined + } + + if (minX === Infinity) { + console.warn('No valid coordinates found') + extentCache.set(url, undefined) + return undefined + } + + const extent = [minX, minY, maxX, maxY] + + // Cache the result + extentCache.set(url, extent) + console.log(`Cached FGB extent for: ${url}`) + + return extent +} + +async function getFgbAsGeoJSON(url) { + console.log(`Converting FGB to GeoJSON for: ${url}`) + const buffer = await getFgbBuffer(url) + + try { + const features = [] + for await (const feature of deserialize(new Uint8Array(buffer))) { + features.push(feature) + } + + return { + type: 'FeatureCollection', + features: features + } + } catch (error) { + console.error('Error converting FGB to GeoJSON:', error) + return null + } +} + +export { getFgbExtent, getFgbBuffer, getFgbAsGeoJSON } \ No newline at end of file diff --git a/src/formats/formatRegistry.js b/src/formats/formatRegistry.js new file mode 100644 index 00000000..e6d69c90 --- /dev/null +++ b/src/formats/formatRegistry.js @@ -0,0 +1,290 @@ +import { getFgbExtent } from './flatgeobuf.js' +import { getGeoJSONExtent } from './geojson.js' +import { getGeoTIFFExtent } from './geotiff.js' +import { updateVectorLayerStyle } from '../utils/styleProcessor.js' + +/** + * Format handler registry using prototype pattern + * Each handler defines how to process layers for a specific format + */ + +const FormatHandler = { + /** + * Process a layer with format-specific logic + * @param {Object} layer - The layer configuration + * @returns {Promise} - Processed layer + */ + async processLayer(layer) { + return layer // Default: return unchanged + }, + + /** + * Check if this handler supports the given source type + * @param {string} sourceType - The source type to check + * @returns {boolean} + */ + // eslint-disable-next-line no-unused-vars + supports(sourceType) { + return false + }, +} + +const FlatGeoBufHandler = Object.create(FormatHandler) +FlatGeoBufHandler.supports = (sourceType) => sourceType === 'FlatGeoBuf' || sourceType === 'flatgeobuf' +FlatGeoBufHandler.processLayer = async function (layer) { + const processedLayer = { ...layer } + + // Skip extent calculation if layer already has an extent + if (layer.extent && Array.isArray(layer.extent) && layer.extent.length === 4) { + processedLayer.extent = layer.extent + processedLayer.properties = { + ...processedLayer.properties, + __extentCalculated: true + } + } else if (layer.source?.url) { + try { + const extent = await getFgbExtent(layer.source.url) + + if (extent) { + processedLayer.extent = extent + // Add a visible marker that we can check + processedLayer.properties = { + ...processedLayer.properties, + __extentCalculated: true + } + } else { + console.warn('FGB extent calculation returned undefined for:', layer.source.url) + // Continue processing without extent - the layer will still work without it + } + } catch (error) { + console.error('FGB extent calculation failed:', error.message) + } + } + + return processedLayer +} + +// GeoJSON handler for extent calculation +const GeoJSONHandler = Object.create(FormatHandler) +GeoJSONHandler.supports = (sourceType) => { + const type = sourceType?.toLowerCase() + return type === 'geojson' || type === 'vector' +} +GeoJSONHandler.processLayer = async function (layer) { + const processedLayer = { ...layer } + + // Check if this is actually a GeoJSON source (Vector type with GeoJSON format or GeoJSON source type) + const isGeoJSON = + layer.source?.format === 'GeoJSON' || + layer.source?.type === 'GeoJSON' || + (layer.source?.type === 'Vector' && layer.source?.url?.toLowerCase().includes('json')) + + if (!isGeoJSON) { + // Not a GeoJSON layer, return unchanged + return processedLayer + } + + // Skip extent calculation if layer already has an extent + if (layer.extent && Array.isArray(layer.extent) && layer.extent.length === 4) { + processedLayer.extent = layer.extent + processedLayer.properties = { + ...processedLayer.properties, + __extentCalculated: true + } + } else if (layer.source?.url) { + try { + const extent = await getGeoJSONExtent(layer.source.url) + + if (extent) { + processedLayer.extent = extent + // Add a visible marker that we can check + processedLayer.properties = { + ...processedLayer.properties, + __extentCalculated: true + } + console.log('GeoJSON extent calculated:', extent) + } else { + console.warn('GeoJSON extent calculation returned null for:', layer.source.url) + // Continue processing without extent - the layer will still work without it + } + } catch (error) { + console.error('GeoJSON extent calculation failed:', error.message) + } + } + + return processedLayer +} + +// GeoTIFF handler for extent calculation +const GeoTIFFHandler = Object.create(FormatHandler) +GeoTIFFHandler.supports = (sourceType) => { + const type = sourceType?.toLowerCase() + return type === 'geotiff' +} +GeoTIFFHandler.processLayer = async function (layer) { + const processedLayer = { ...layer } + + // Skip extent calculation if layer already has an extent + if (layer.extent && Array.isArray(layer.extent) && layer.extent.length === 4) { + processedLayer.extent = layer.extent + processedLayer.properties = { + ...processedLayer.properties, + __extentCalculated: true + } + } else { + // Handle both url and sources array structures + const url = layer.source?.url || layer.source?.sources?.[0]?.url + + if (url) { + try { + const extent = await getGeoTIFFExtent(url) + + if (extent) { + processedLayer.extent = extent + // Add a visible marker that we can check + processedLayer.properties = { + ...processedLayer.properties, + __extentCalculated: true + } + console.log('GeoTIFF extent calculated:', extent) + } else { + console.warn('GeoTIFF extent calculation returned null for:', url) + // Continue processing without extent - the layer will still work without it + } + } catch (error) { + console.error('GeoTIFF extent calculation failed:', error.message) + } + } + } + + return processedLayer +} + +// Default handler for unsupported formats +const DefaultHandler = Object.create(FormatHandler) +DefaultHandler.supports = () => true // Catches all + +// Registry hashmap +const formatHandlers = new Map([ + ['FlatGeoBuf', FlatGeoBufHandler], + ['GeoJSON', GeoJSONHandler], + ['GeoTIFF', GeoTIFFHandler], + ['default', DefaultHandler], +]) + +/** + * Get the appropriate handler for a source type + * @param {string} sourceType - The source type + * @returns {Object} - Format handler + */ +export function getFormatHandler(sourceType) { + return formatHandlers.get(sourceType) || formatHandlers.get('default') +} + +/** + * Register a new format handler + * @param {string} sourceType - The source type to handle + * @param {Object} handler - The handler instance + */ +export function registerFormatHandler(sourceType, handler) { + formatHandlers.set(sourceType, handler) +} + +/** + * Process all layers using appropriate format handlers + * @param {Array} layers - Array of layer configurations + * @param {Object} [editorStyle] - Style from editor that overrides layer styles + * @returns {Promise} - Array of processed layers + */ +export async function processLayers(layers, editorStyle = null) { + console.log('[formatRegistry] processLayers called with', layers.length, 'layers') + const processedLayers = [] + + for (const layer of layers) { + console.log('[formatRegistry] Processing layer:', layer.properties?.title, 'type:', layer.type, 'source.type:', layer.source?.type, 'source.format:', layer.source?.format) + + // Determine the correct handler based on source format or type + let handler + if (layer.source?.format) { + console.log('[formatRegistry] Using format:', layer.source.format) + // Use format if specified (e.g., FlatGeoBuf, GeoJSON) + handler = getFormatHandler(layer.source.format) + } else { + console.log('[formatRegistry] Using source type:', layer.source?.type) + // Fall back to source type + handler = getFormatHandler(layer.source?.type) + } + console.log('[formatRegistry] Selected handler:', handler.constructor.name || 'DefaultHandler') + console.log('[formatRegistry] Calling handler.processLayer...') + let processedLayer = await handler.processLayer(layer) + console.log('[formatRegistry] handler.processLayer completed') + + // Ensure layer has proper ID structure + if (!processedLayer.id && processedLayer.properties?.id) { + processedLayer.id = processedLayer.properties.id + } + if (!processedLayer.id) { + processedLayer.id = `layer-${Date.now()}-${Math.random().toString(36).substr(2, 9)}` + } + + // Override layer style with editor style if provided + if (editorStyle) { + if (processedLayer.type === 'Vector') { + // Process variables in the style first for Vector layers + const processedStyle = updateVectorLayerStyle(editorStyle) + + processedLayer = { + ...processedLayer, + style: processedStyle + } + + // Also set complete layerConfig for eox-map compatibility + if (!processedLayer.properties.layerConfig) { + processedLayer.properties.layerConfig = {} + } + + // Include variables in the style object where eox-layercontrol expects them + const styleWithVariables = { + ...processedStyle, + variables: editorStyle.variables || {} + } + + processedLayer.properties.layerConfig = { + ...processedLayer.properties.layerConfig, + schema: editorStyle.jsonform || editorStyle.schema, + style: styleWithVariables, // Style now includes variables + legend: editorStyle.legend + } + } else if (processedLayer.type === 'WebGLTile') { + // For WebGLTile layers, MERGE editor style with existing style to preserve variables + // If the layer already has a style with variables, don't lose them! + const mergedStyle = { + ...(processedLayer.style || {}), // Keep existing style (including variables from layer definition) + ...editorStyle // Override with editor style (but this preserves variables if editor doesn't have them) + } + processedLayer = { + ...processedLayer, + style: mergedStyle + } + + // Also add to layerConfig for consistency + if (!processedLayer.properties) { + processedLayer.properties = {} + } + if (!processedLayer.properties.layerConfig) { + processedLayer.properties.layerConfig = {} + } + + processedLayer.properties.layerConfig = { + ...processedLayer.properties.layerConfig, + style: mergedStyle, // Use merged style here too + schema: editorStyle.jsonform || editorStyle.schema, + legend: editorStyle.legend + } + } + } + + processedLayers.push(processedLayer) + } + return processedLayers +} diff --git a/src/formats/geojson.js b/src/formats/geojson.js new file mode 100644 index 00000000..2d4cc9e9 --- /dev/null +++ b/src/formats/geojson.js @@ -0,0 +1,98 @@ +/** + * GeoJSON extent calculation utilities + */ + +import { transform } from 'ol/proj' + +/** + * Calculate extent from GeoJSON data + * @param {string} url - URL to the GeoJSON file + * @returns {Promise} - Extent in EPSG:3857 [minX, minY, maxX, maxY] + */ +export async function getGeoJSONExtent(url) { + try { + const response = await fetch(url) + if (!response.ok) { + throw new Error(`Failed to fetch GeoJSON: ${response.statusText}`) + } + + const geojson = await response.json() + + if (!geojson || !geojson.features || geojson.features.length === 0) { + console.warn('GeoJSON has no features') + return null + } + + let minX = Infinity + let minY = Infinity + let maxX = -Infinity + let maxY = -Infinity + + // Process all features to find bounds + for (const feature of geojson.features) { + if (!feature.geometry) continue + + const coords = extractCoordinates(feature.geometry) + for (const [lon, lat] of coords) { + // Transform from EPSG:4326 to EPSG:3857 + const [x, y] = transform([lon, lat], 'EPSG:4326', 'EPSG:3857') + + minX = Math.min(minX, x) + minY = Math.min(minY, y) + maxX = Math.max(maxX, x) + maxY = Math.max(maxY, y) + } + } + + if (!isFinite(minX) || !isFinite(minY) || !isFinite(maxX) || !isFinite(maxY)) { + console.warn('Could not calculate valid extent from GeoJSON') + return null + } + + return [minX, minY, maxX, maxY] + } catch (error) { + console.error('Error calculating GeoJSON extent:', error) + return null + } +} + +/** + * Extract all coordinates from any geometry type + */ +function extractCoordinates(geometry) { + const coords = [] + + switch (geometry.type) { + case 'Point': + coords.push(geometry.coordinates) + break + + case 'LineString': + case 'MultiPoint': + coords.push(...geometry.coordinates) + break + + case 'Polygon': + case 'MultiLineString': + for (const ring of geometry.coordinates) { + coords.push(...ring) + } + break + + case 'MultiPolygon': + for (const polygon of geometry.coordinates) { + for (const ring of polygon) { + coords.push(...ring) + } + } + break + + case 'GeometryCollection': + for (const geom of geometry.geometries) { + coords.push(...extractCoordinates(geom)) + } + break + } + + return coords +} \ No newline at end of file diff --git a/src/formats/geotiff.js b/src/formats/geotiff.js new file mode 100644 index 00000000..f52a9b74 --- /dev/null +++ b/src/formats/geotiff.js @@ -0,0 +1,102 @@ +/** + * GeoTIFF extent calculation utilities + */ + +import { fromUrl } from 'geotiff' +import { transform } from 'ol/proj' +import { register } from 'ol/proj/proj4' +import proj4 from 'proj4' + +// Register common UTM projections for Sentinel-2 +proj4.defs('EPSG:32636', '+proj=utm +zone=36 +datum=WGS84 +units=m +no_defs') +register(proj4) + +/** + * Calculate extent from GeoTIFF metadata + * @param {string} url - URL to the GeoTIFF file + * @returns {Promise} - Extent in EPSG:3857 [minX, minY, maxX, maxY] + */ +export async function getGeoTIFFExtent(url) { + try { + console.log('Calculating GeoTIFF extent for:', url) + const tiff = await fromUrl(url) + const image = await tiff.getImage() + + // Get bbox from GeoTIFF metadata + const bbox = image.getBoundingBox() + console.log('GeoTIFF bbox:', bbox) + + if (!bbox || bbox.length !== 4) { + console.warn('GeoTIFF has no valid bounding box') + return null + } + + // bbox is typically [minX, minY, maxX, maxY] in the image's CRS + const [minX, minY, maxX, maxY] = bbox + + // Try to get the projection info + const geoKeys = image.getGeoKeys() + console.log('GeoTIFF geoKeys:', geoKeys) + + const epsgCode = geoKeys?.ProjectedCSTypeGeoKey || geoKeys?.GeographicTypeGeoKey + console.log('Detected EPSG code:', epsgCode) + + // If we can identify the projection, transform to EPSG:3857 + if (epsgCode === 4326) { + console.log('Transforming from EPSG:4326 to EPSG:3857') + // Transform from EPSG:4326 to EPSG:3857 + const [minX3857, minY3857] = transform([minX, minY], 'EPSG:4326', 'EPSG:3857') + const [maxX3857, maxY3857] = transform([maxX, maxY], 'EPSG:4326', 'EPSG:3857') + console.log('Transformed extent:', [minX3857, minY3857, maxX3857, maxY3857]) + return [minX3857, minY3857, maxX3857, maxY3857] + } else if (epsgCode === 3857) { + console.log('Already in EPSG:3857') + // Already in EPSG:3857 + return [minX, minY, maxX, maxY] + } else { + // Handle specific known projections + if (epsgCode && epsgCode !== 4326 && epsgCode !== 3857) { + console.log(`Transforming from EPSG:${epsgCode} to EPSG:3857`) + try { + // Transform from the detected projection to EPSG:3857 + const [minX3857, minY3857] = transform([minX, minY], `EPSG:${epsgCode}`, 'EPSG:3857') + const [maxX3857, maxY3857] = transform([maxX, maxY], `EPSG:${epsgCode}`, 'EPSG:3857') + console.log('Transformed extent:', [minX3857, minY3857, maxX3857, maxY3857]) + return [minX3857, minY3857, maxX3857, maxY3857] + } catch (error) { + console.error(`Failed to transform from EPSG:${epsgCode}:`, error) + console.warn('Falling back to bbox as-is') + return [minX, minY, maxX, maxY] + } + } else { + // For unknown projections, try to detect if this looks like UTM coordinates + if (Math.abs(minX) > 180 || Math.abs(maxX) > 180 || Math.abs(minY) > 90 || Math.abs(maxY) > 90) { + console.log('Coordinates seem to be in projected CRS, trying to get extent from origin') + + // For COGs, sometimes we need to use the file origin and pixel size + const fileDirectory = image.fileDirectory + console.log('GeoTIFF file directory keys:', Object.keys(fileDirectory)) + + // Try to get the extent another way if available + const width = image.getWidth() + const height = image.getHeight() + console.log('Image dimensions:', width, 'x', height) + + // Return the bbox as-is but log that we're unsure + console.warn('GeoTIFF projection unclear, coordinates look projected:', [minX, minY, maxX, maxY]) + return [minX, minY, maxX, maxY] + } else { + // Coordinates look geographic, assume EPSG:4326 + console.log('Coordinates look geographic, assuming EPSG:4326 and transforming') + const [minX3857, minY3857] = transform([minX, minY], 'EPSG:4326', 'EPSG:3857') + const [maxX3857, maxY3857] = transform([maxX, maxY], 'EPSG:4326', 'EPSG:3857') + console.log('Transformed extent:', [minX3857, minY3857, maxX3857, maxY3857]) + return [minX3857, minY3857, maxX3857, maxY3857] + } + } + } + } catch (error) { + console.error('Error calculating GeoTIFF extent:', error) + return null + } +} \ No newline at end of file diff --git a/src/components/modal/modal.css b/src/formats/index.js similarity index 100% rename from src/components/modal/modal.css rename to src/formats/index.js diff --git a/src/helpers/fgb.js b/src/helpers/fgb.js deleted file mode 100644 index 3ff81cdd..00000000 --- a/src/helpers/fgb.js +++ /dev/null @@ -1,88 +0,0 @@ -import { deserialize } from "flatgeobuf/lib/mjs/geojson.js" -import proj4 from "proj4" - -async function getFgbExtent(url) { - console.log(url); - const response = await fetch(url) - const buffer = await response.arrayBuffer() - const featureCollection = deserialize(new Uint8Array(buffer)) - - let minX = Infinity; - let minY = Infinity; - let maxX = -Infinity; - let maxY = -Infinity; - - // Process each coordinate recursively - function processCoordinate(coord) { - let [lon, lat] = coord; - let [x, y] = proj4('EPSG:4326', 'EPSG:3857', [lon, lat]); - if (x < minX) minX = x; - if (x > maxX) maxX = x; - if (y < minY) minY = y; - if (y > maxY) maxY = y; - } - - // Function to traverse coordinates in any geometry type - function traverseCoordinates(coords) { - if (Array.isArray(coords[0])) { - coords.forEach(traverseCoordinates); - } else { - processCoordinate(coords); - } - } - - // Iterate over all features - for (const feature of featureCollection.features) { - const geometry = feature.geometry; - if (!geometry || !geometry.coordinates) continue; - traverseCoordinates(geometry.coordinates); - } - - if (minX === Infinity) return undefined; - console.log([minX, minY, maxX, maxY]); - return [minX, minY, maxX, maxY]; -} - -function buildFgbConfig(url, style) { - return [ - { - "type": "Vector", - "properties": { - "id": "FlatGeoBufLayer", - "title": "Vector Data", - }, - "source": { - "type": "FlatGeoBuf", - "url": url, - }, - "style": {"stroke-width": 1, "stroke-color": "#000"}, - "interactions":[ - { - "type":"select", - "options":{ - "id":"selectInteraction", - "condition":"pointermove", - "style":{ - "stroke-color":"white", - "stroke-width":3 - } - } - } - ] - }, - { - "type": "Tile", - "properties": { - "title": "OpenStreetMap", - }, - "source": { - "type": "OSM" - } - } - ]; -} - -export { - getFgbExtent, - buildFgbConfig, -} \ No newline at end of file diff --git a/src/helpers/geojson.js b/src/helpers/geojson.js deleted file mode 100644 index 1678860f..00000000 --- a/src/helpers/geojson.js +++ /dev/null @@ -1,87 +0,0 @@ -import proj4 from "proj4" - - -async function getGeojsonExtent(featureCollection) { - console.log(featureCollection); - let minX = Infinity; - let minY = Infinity; - let maxX = -Infinity; - let maxY = -Infinity; - - // Process each coordinate recursively - function processCoordinate(coord) { - let [lon, lat] = coord; - let [x, y] = proj4('EPSG:4326', 'EPSG:3857', [lon, lat]); - if (x < minX) minX = x; - if (x > maxX) maxX = x; - if (y < minY) minY = y; - if (y > maxY) maxY = y; - } - - // Function to traverse coordinates in any geometry type - function traverseCoordinates(coords) { - if (Array.isArray(coords[0])) { - coords.forEach(traverseCoordinates); - } else { - processCoordinate(coords); - } - } - - // Iterate over all features - for (const feature of featureCollection.features) { - const geometry = feature.geometry; - if (!geometry || !geometry.coordinates) continue; - traverseCoordinates(geometry.coordinates); - } - - if (minX === Infinity) return undefined; - console.log([minX, minY, maxX, maxY]); - return [minX, minY, maxX, maxY]; -} - -/// `sld` is an optional parameter to apply an SLD style to the feature collection -function buildGeojsonConfig(url, style, sld) { - return [ - { - "type":"Vector", - "background":"#1366dd", - "properties":{ - "id":"regions" - }, - "source":{ - "type":"Vector", - "url": url, - "format":"GeoJSON", - "attributions":"Regions: @ openlayers.org" - }, - "style": style, - "interactions": style && style.tooltip !== undefined - ? [{ - "type":"select", - "options":{ - "id":"selectInteraction", - "condition":"pointermove", - "style":{ - "stroke-color":"white", - "stroke-width":3 - } - } - }] - : [] - }, - { - "type": "Tile", - "properties": { - "id": "customId" - }, - "source": { - "type": "OSM" - } - } - ]; -} - -export { - getGeojsonExtent, - buildGeojsonConfig, -} \ No newline at end of file diff --git a/src/helpers/geotiff.js b/src/helpers/geotiff.js deleted file mode 100644 index 27e0b0a9..00000000 --- a/src/helpers/geotiff.js +++ /dev/null @@ -1,75 +0,0 @@ -import { fromUrl } from "geotiff"; -import proj4 from "proj4"; - -async function getGeotiffExtent(url) { - try { - // Load and parse the GeoTIFF file - const tiff = await fromUrl(url); - const image = await tiff.getImage(); - - // Get the image's bounding box - const origin = image.getOrigin(); - const resolution = image.getResolution(); - const extent = image.getBoundingBox(); - - // Extract the geo key number that we can use as an EPSG number identifier with - // proj4, so that we can dynamically detect the GeoTIFF projection and convert - // into the usual EPSG:3857 that `eox-map` uses. - // - // The string is very simple, just compose `EPSG:${geoKey}`. - let geoKey = - image.geoKeys.ProjectedCSTypeGeoKey || - image.geoKeys.GeographicTypeGeoKey || - 3857; - - // The `proj4` API only works with coordinate pairs, so we need to temporarily turn our - // bounding box array into two pairs of coordinates here for conversion. - const transformedExtent = [ - proj4(`EPSG:${geoKey}`, "EPSG:3857", [extent[0], extent[1]]), - proj4(`EPSG:${geoKey}`, "EPSG:3857", [extent[2], extent[3]]), - ]; - - // Move the values from our two converted coordinates back into the linear - // arrangement we had before and return the finished bounding box. - return [ - transformedExtent[0][0], - transformedExtent[0][1], - transformedExtent[1][0], - transformedExtent[1][1], - ]; - } catch (error) { - console.error("Error processing GeoTIFF:", error); - throw error; - } -} - -function buildGeotiffConfig(url, _style) { - return [ - { - type: "WebGLTile", - properties: { - id: "geotiffLayer", - }, - source: { - type: "GeoTIFF", - sources: [ - { - url: url, - }, - ], - }, - style: _style ?? {}, - }, - { - type: "Tile", - properties: { - id: "customId", - }, - source: { - type: "OSM", - }, - }, - ]; -} - -export { getGeotiffExtent }; diff --git a/src/helpers/import-style.js b/src/helpers/import-style.js deleted file mode 100644 index e1d26cdd..00000000 --- a/src/helpers/import-style.js +++ /dev/null @@ -1,23 +0,0 @@ - - -const qgisToOL = async (qml) => { - -} - -const styleConvertExample = async () => { - const url = "https://gist.githubusercontent.com/spectrachrome/e74d8ac87ac57f439be0d7d845b1ce6f/raw/48b0caf2ba46bf473f15c53cb7559fe3a4b350c2/qgis_style.xml" - - try { - const response = await fetch(url) - if (!response.ok) { - throw new Error(`Response status: ${response.status}`) - } - - const xml = await response.text() - console.log(await qgisToOL(xml)) - } catch (error) { - console.error(error.message) - } -} - -export { styleConvertExample } \ No newline at end of file diff --git a/src/index.css b/src/index.css deleted file mode 100644 index 527d3ad3..00000000 --- a/src/index.css +++ /dev/null @@ -1,78 +0,0 @@ -:root { - font-family: "Inter", system-ui, Avenir, Helvetica, Arial, sans-serif; - line-height: 1.5; - font-weight: 400; - - color-scheme: light dark; - color: #222; - background-color: #FFF; - - font-synthesis: none; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -@font-face { - font-family: "IBM Plex Mono"; - src: url("./fonts/IBMPlexMono-Regular.ttf") format('ttf'); - font-weight: 400; - font-style: normal; -} - -@font-face { - font-family: "IBM Plex Mono"; - src: url("./fonts/IBMPlexMono-Italic.ttf") format('ttf'); - font-weight: 400; - font-style: italic; -} - -@font-face { - font-family: "IBM Plex Mono"; - src: url("./fonts/IBMPlexMono-Medium.ttf") format('ttf'); - font-weight: 500; - font-style: normal; -} - -@font-face { - font-family: "IBM Plex Mono"; - src: url("./fonts/IBMPlexMono-MediumItalic.ttf") format('ttf'); - font-weight: 500; - font-style: italic; -} - -@font-face { - font-family: "IBM Plex Mono"; - src: url("./fonts/IBMPlexMono-Bold.ttf") format('ttf'); - font-weight: 700; - font-style: normal; -} - -@font-face { - font-family: "IBM Plex Mono"; - src: url("./fonts/IBMPlexMono-BoldItalic.ttf") format('ttf'); - font-weight: 700; - font-style: italic; -} - -* { - box-sizing: border-box; -} - -body { - margin: 0; - padding: 0; - width: 100vw; - height: 100vh; - - /* Disable all scroll behaviour */ - overflow-x: hidden; - overflow-y: hidden; -} - -@media (prefers-color-scheme: light) { - :root { - color: #213547; - background-color: #ffffff; - } -} diff --git a/src/lib/style/eodash-style-example.js b/src/lib/style/eodash-style-example.js deleted file mode 100644 index a5f1e384..00000000 --- a/src/lib/style/eodash-style-example.js +++ /dev/null @@ -1,82 +0,0 @@ -/** - * A loadable instance of a geodata file with an `eodash` style. - * - * @class - * @example - * const style = new EodashStyle() - * .withLayer({ id: 'points', type: 'circle', paint: { 'circle-color': 'blue' } }) - * .withTooltip({ template: '{name}: {value}' }) - */ -class EodashStyleExample { - /** - * Creates a new EodashStyle instance based on the default configuration - * @constructor - */ - constructor() { - /** - * OpenLayers-compatible style configuration - * @type {Object} - * @property {Object} [uri] - URL that points to the data file for the example. - * @property {Object} [style] - An instance of `EodashStyle` - */ - - /** - * Tooltip configuration (from `eodash` style superset) - * @type {Object} - * @public - */ - this.tooltip = {} - - /** - * Legend config for EOxLayerControl (from `eodash` style superset) - * @type {Object} - * @public - */ - this.legend = {} - - /** - * JSON form config for EOxLayerControl (from `eodash` style superset) - * @type {Object} - * @public - */ - this.jsonform = {} - - /** - * Any other keys in the style object that are not - * part of the tooltip, legend or JSON form. - * @type {Object} - * @public - */ - this.entries = {} - } - - /** - * Retrieve the `EodashStyle` as a single OpenLayers style object - */ - toJSON() { - return { - tooltip: this.tooltip, - legend: this.legend, - jsonform: this.jsonform, - ...this.keys, - } - } - - /** - * Add a tooltip config to the `eodash` style - * - * @param {Object} tooltipConfig - Tooltip configuration - * @returns {EodashStyle} This instance for method chaining - * - * @example - * const style = new EodashStyle() - * ..withTooltip({ - * id: '{{combined_prop}}', - * title: 'Total concentration ({{ship_class}} ice: {{type_of_ice}}', - * }) - */ - withTooltip(tooltipConfig) { - // Implementation here - return this - } -} \ No newline at end of file diff --git a/src/lib/style/eodash-style.js b/src/lib/style/eodash-style.js deleted file mode 100644 index def3dac2..00000000 --- a/src/lib/style/eodash-style.js +++ /dev/null @@ -1,94 +0,0 @@ -/** - * `EodashStyle` represents a style configuration for geospatial data within `eodash`. - * - * This class aims to provide a fluent interface for building style documents that extend - * the OpenLayers style format with additional `eodash`-specific features. - * - * @class - * @property {Object} [tooltip] - Tooltip configuration - * @property {Object} [legend] - Legend config for EOxLayerControl - * @property {Object} [jsonform] - JSON form config for EOxLayerControl - * @property {Object} [entries] - Any additional entries present in the style object. - * @example - * const style = new EodashStyle() - * .withLayer({ id: 'points', type: 'circle', paint: { 'circle-color': 'blue' } }) - * .withTooltip({ template: '{name}: {value}' }) - */ -class EodashStyle { - /** - * Creates a new EodashStyle instance based on the default configuration - * @constructor - */ - constructor() { - /** - * Tooltip configuration (from `eodash` style superset) - * @type {Object} - * @public - */ - this.tooltip = {} - - /** - * Legend config for EOxLayerControl (from `eodash` style superset) - * @type {Object} - * @public - */ - this.legend = {} - - /** - * JSON form config for EOxLayerControl (from `eodash` style superset) - * @type {Object} - * @public - */ - this.jsonform = {} - - /** - * Any other keys in the style object that are not - * part of the tooltip, legend or JSON form. - * @type {Object} - * @public - */ - this.entries = {} - } - - /** - * Retrieve the `EodashStyle` as a single OpenLayers style object - */ - toJSON() { - return { - tooltip: this.tooltip, - legend: this.legend, - jsonform: this.jsonform, - ...this.keys, - } - } - - /** - * Convert a Styled Layer Descriptor (SLD) string into an `EodashStyle` object. - */ - fromSLD() { - return { - tooltip: this.tooltip, - legend: this.legend, - jsonform: this.jsonform, - ...this.keys, - } - } - - /** - * Add a tooltip config to the `eodash` style - * - * @param {Object} tooltipConfig - Tooltip configuration - * @returns {EodashStyle} This instance for method chaining - * - * @example - * const style = new EodashStyle() - * ..withTooltip({ - * id: '{{combined_prop}}', - * title: 'Total concentration ({{ship_class}} ice: {{type_of_ice}}', - * }) - */ - withTooltip(tooltipConfig) { - // Implementation here - return this - } -} \ No newline at end of file diff --git a/src/lib/style/format-detector.js b/src/lib/style/format-detector.js deleted file mode 100644 index c7dfe10e..00000000 --- a/src/lib/style/format-detector.js +++ /dev/null @@ -1,375 +0,0 @@ -/** - * StyleFormatDetector - A class for detecting map style formats - * Supports: OpenLayers, Mapbox, SLD, and EODash formats - * - * @author Your Name - * @version 1.0.0 - * @license MIT - */ -class StyleFormatDetector { - constructor() { - // Define format constants - this.FORMATS = { - OPENLAYERS: 'openlayers', - MAPBOX: 'mapbox', - SLD: 'sld', - EODASH: 'eodash' - } - - // Superset keys which make the eodash style distinct from OL flat styles - this.EODASH_KEYS = ["tooltips", "legend", "jsonform"] - } - - /** - * Main detection method - * @param {string} input - The style string to analyze - * @returns {string} - Returns "openlayers", "mapbox", "sld", or "eodash" - * @throws {Error} - If input is invalid or format cannot be determined - */ - detect(input) { - if (!input || typeof input !== 'string') { - throw new Error('Input must be a non-empty string') - } - - const trimmed = input.trim() - - // Check for SLD (XML format) first - if (this.isSLD(trimmed)) { - return this.FORMATS.SLD - } - - // Try to parse as JSON for other formats - let parsed - try { - parsed = JSON.parse(trimmed) - - console.log(parsed) - - // Check for Mapbox style - if (this.isMapboxStyle(parsed)) { - return this.FORMATS.MAPBOX - } - - console.log("past mapbox check") - - // Check for EODash style (must be checked before OpenLayers) - if (this.isEodashStyle(parsed)) { - return this.FORMATS.EODASH - } - - console.log("past eodash check") - - // Check for OpenLayers style - if (this.isOpenLayersStyle(parsed)) { - return this.FORMATS.OPENLAYERS - } - - console.log("past ol check") - } catch (e) { - throw new Error(`Input is not a valid style format: ${e}`) - } - - throw new Error('Unable to determine style format') - } - - /** - * Static method for convenience - * @param {string} input - The style string to analyze - * @returns {string} - The detected format - */ - static detect(input) { - const detector = new StyleFormatDetector() - return detector.detect(input) - } - - /** - * Get all supported format constants - * @returns {object} - Object with format constants - */ - getFormats() { - return { ...this.FORMATS } - } - - /** - * Check if a format is supported - * @param {string} format - The format to check - * @returns {boolean} - True if format is supported - */ - isFormatSupported(format) { - return Object.values(this.FORMATS).includes(format) - } - - /** - * Check if the input is an SLD XML document - * @private - * @param {string} str - The string to check - * @returns {boolean} - True if SLD format - */ - isSLD(str) { - // Check if it starts like XML - if (!str.startsWith('<') || !str.includes('>')) { - return false - } - - const sldIndicators = [ - 'StyledLayerDescriptor', - 'NamedLayer', - 'UserLayer', - 'FeatureTypeStyle', - 'Rule', - 'PointSymbolizer', - 'LineSymbolizer', - 'PolygonSymbolizer', - 'TextSymbolizer', - 'RasterSymbolizer' - ] - - const lowerStr = str.toLowerCase() - - // Check for namespace declarations or SLD-specific content - if (lowerStr.includes('sld:') || - lowerStr.includes('ogc:') || - lowerStr.includes('www.opengis.net/sld')) { - return true - } - - // Check for key SLD elements - for (const indicator of sldIndicators) { - if (lowerStr.includes('<' + indicator.toLowerCase()) || - lowerStr.includes(' 0) { - const layer = obj.layers[0] - const mapboxLayerProps = ['id', 'type', 'source', 'source-layer', 'paint', 'layout', 'filter'] - const hasMapboxProps = mapboxLayerProps.some(prop => prop in layer) - - if (hasMapboxProps) { - // Additional check for hyphenated paint properties - if (layer.paint && typeof layer.paint === 'object') { - const paintKeys = Object.keys(layer.paint) - const hasHyphenatedProps = paintKeys.some(key => key.includes('-')) - if (hasHyphenatedProps) { - return true - } - } - return true - } - } - - // Check for sources object with Mapbox-specific types - if (obj.sources && typeof obj.sources === 'object') { - const sourceKeys = Object.keys(obj.sources) - if (sourceKeys.length > 0) { - const source = obj.sources[sourceKeys[0]] - const mapboxSourceTypes = ['vector', 'raster', 'raster-dem', 'geojson', 'image', 'video'] - if (source.type && mapboxSourceTypes.includes(source.type)) { - return true - } - } - } - - return false - } - - /** - * Check if the parsed JSON is an EODash style - * EODash is a superset of OpenLayers with additional properties - * @private - * @param {object} obj - The parsed object to check - * @returns {boolean} - True if EODash format - */ - isEodashStyle(obj) { - if ('legend' in obj || 'tooltip' in obj || 'jsonform' in obj) { - return true - } - } - - /** - * Check if the parsed JSON is an OpenLayers style - * @private - * @param {object} obj - The parsed object to check - * @returns {boolean} - True if OpenLayers format - */ - isOpenLayersStyle(obj) { - if (!obj || typeof obj !== 'object') { - return false - } - - const olStyleProps = ['fill-color', 'stroke-color', 'image', 'text', 'zIndex', 'geometry'] - const hasOLProps = olStyleProps.some(prop => prop in obj) - - if (hasOLProps) { - // Additional validation for OpenLayers structure - if (obj.fill && typeof obj.fill === 'object' && 'color' in obj.fill) { - return true - } - - if (obj.stroke && typeof obj.stroke === 'object' && - ('color' in obj.stroke || 'width' in obj.stroke)) { - return true - } - - if (obj.image && typeof obj.image === 'object') { - if (obj.image.radius || obj.image.src || obj.image.points) { - return true - } - } - - if (obj.text && typeof obj.text === 'object') { - if ('text' in obj.text || 'font' in obj.text || 'offsetX' in obj.text) { - return true - } - } - - return true - } - - // Check if it's an array of styles - if (Array.isArray(obj)) { - return obj.some(item => this.isOpenLayersStyle(item)) - } - - // Check for style function pattern - if (obj.conditions && Array.isArray(obj.conditions)) { - return true - } - - return false - } - - /** - * Check if the string contains OpenLayers JavaScript code patterns - * @private - * @param {string} str - The string to check - * @returns {boolean} - True if OpenLayers code - */ - isOpenLayersCode(str) { - const olPatterns = [ - /new\s+ol\.style\.Style/i, - /new\s+ol\.style\.Fill/i, - /new\s+ol\.style\.Stroke/i, - /new\s+ol\.style\.Circle/i, - /new\s+ol\.style\.Icon/i, - /new\s+ol\.style\.Text/i, - /ol\.style\./, - /Style\s*\(\s*{/, - /Fill\s*\(\s*{/, - /Stroke\s*\(\s*{/ - ] - - return olPatterns.some(pattern => pattern.test(str)) - } - - /** - * Validate and parse style string to object - * @param {string} input - The style string - * @returns {object} - Parsed style object with format property - * @throws {Error} - If parsing fails - */ - parse(input) { - const format = this.detect(input) - const trimmed = input.trim() - - let parsed = null - - if (format === this.FORMATS.SLD) { - // For SLD, return the XML string as-is - parsed = trimmed - } else { - // For JSON-based formats, parse the JSON - try { - parsed = JSON.parse(trimmed) - } catch (e) { - // For OpenLayers JavaScript code, return as-is - if (format === this.FORMATS.OPENLAYERS && this.isOpenLayersCode(trimmed)) { - parsed = trimmed - } else { - throw new Error('Failed to parse style: ' + e.message) - } - } - } - - return { - format: format, - style: parsed - } - } -} - -/* Example Usage: - -// Create an instance -const detector = new StyleFormatDetector() - -// Method 1: Using instance method -try { - const format = detector.detect(styleString) - console.log('Detected format:', format) // "openlayers", "mapbox", "sld", or "eodash" -} catch (error) { - console.error('Detection failed:', error.message) -} - -// Method 2: Using static method -try { - const format = StyleFormatDetector.detect(styleString) - console.log('Detected format:', format) -} catch (error) { - console.error('Detection failed:', error.message) -} - -// Method 3: Parse and get both format and parsed content -try { - const result = detector.parse(styleString) - console.log('Format:', result.format) - console.log('Parsed style:', result.style) -} catch (error) { - console.error('Parse failed:', error.message) -} - -// Get supported formats -const formats = detector.getFormats() -console.log('Supported formats:', formats) -// Output: { OPENLAYERS: 'openlayers', MAPBOX: 'mapbox', SLD: 'sld', EODASH: 'eodash' } - -// Check if a format is supported -const isSupported = detector.isFormatSupported('mapbox') -console.log('Is mapbox supported?', isSupported) // true - -*/ - -export default StyleFormatDetector \ No newline at end of file diff --git a/src/lib/style/style-parser.js b/src/lib/style/style-parser.js deleted file mode 100644 index eac4231a..00000000 --- a/src/lib/style/style-parser.js +++ /dev/null @@ -1,53 +0,0 @@ - - -/** - * `StyleParser` is a helper class with methods to validate and convert imported styles. - * - * @class - * @example - * const mapboxStyle = StyleParser.parseQML("...") - */ -class StyleParser { - - /** - * Creates a new EodashStyle instance based on the default configuration - * @constructor - */ - constructor() { - - } - - /** - * Convert a QGIS style into a Mapbox style - */ - async parseQML(string) { - - } - - /** - * Convert a Styled Layer Descriptor into a Mapbox style - */ - async parseSLD(string) { - - } - - /** - * Add a tooltip config to the `eodash` style - * - * @param {Object} tooltipConfig - Tooltip configuration - * @returns {EodashStyle} This instance for method chaining - * - * @example - * const style = new EodashStyle() - * ..withTooltip({ - * id: '{{combined_prop}}', - * title: 'Total concentration ({{ship_class}} ice: {{type_of_ice}}', - * }) - */ - withTooltip(tooltipConfig) { - // Implementation here - return this - } -} - -export default StyleParser \ No newline at end of file diff --git a/src/main.js b/src/main.js new file mode 100644 index 00000000..f60430b0 --- /dev/null +++ b/src/main.js @@ -0,0 +1,21 @@ +import './assets/main.css' +import '@eox/ui/style.css' + +import { createApp } from 'vue' +import App from './App.vue' + +// Try to register FlatGeoBuf format support +try { + // Import FlatGeoBuf if available + import('flatgeobuf/lib/mjs/ol') + .then(() => { + // FlatGeoBuf OpenLayers integration loaded successfully + }) + .catch((error) => { + console.warn('Could not load FlatGeoBuf OpenLayers integration:', error) + }) +} catch (error) { + console.warn('FlatGeoBuf import failed:', error) +} + +createApp(App).mount('#app') diff --git a/src/styles/_colors.css b/src/styles/_colors.css deleted file mode 100644 index c177dd05..00000000 --- a/src/styles/_colors.css +++ /dev/null @@ -1,3 +0,0 @@ -.primary { - background: #004170; -} \ No newline at end of file diff --git a/src/styles/app.css b/src/styles/app.css deleted file mode 100644 index 03c6882c..00000000 --- a/src/styles/app.css +++ /dev/null @@ -1,239 +0,0 @@ -@import "./substyles/_spinner.css"; - -@import "./_colors.css"; - -:root, eodash-style-editor { - width: 100vw; - height: 100vh; - max-width: 100vw; - max-height: 100vh; - - --map-button-size: 40px; - - --toolbar-height: 48px; -} - -#map-buttons { - position: absolute; - right: 36px; - top: 90px; - width: var(--map-button-size); - max-width: var(--map-button-size); - z-index: 100; -} - -#map-buttons button { - width: var(--map-button-size); - height: var(--map-button-size); - margin: 0 0 12px 0; - padding: 0; - background: #FFF; - box-shadow: 0px 3px 7px 0px rgba(0,0,0,0.14); - width: var(--map-button-size); -} - -#layercontrol { - position: fixed; - right: 20px; - top: 90px; - z-index: 10; -} - -#mapToolbar { - position: fixed; - right: 20px; - width: 32px; - min-height: 90px; -} - -#navbar { - display: flex; - justify-content: space-between; - align-items: center; - padding: 0 36px; -} - -eox-map { - width: 100vw; - height: 100vh; - position: fixed; - left: 0; - top: 0; -} - -.flex { - display: flex; -} - -.flex-row { - flex-direction: row; -} - -.flex-col { - flex-direction: column; -} - -.flex-center { - justify-content: center; - align-items: center; -} - -#style-editor-loader { - background: #FFF9; - position: fixed; - top: 90px; - right: 20px; - bottom: 20px; - left: 480px; - z-index: 100; -} - -#style-editor-loader > div > .spinner { - transform: scale(4); -} - -.sidebar { - position: fixed; - left: 0; - top: 70px; - width: 600px; - height: calc(100vh - 80px); - padding: 20px; -} - -.sidebar-items { - display: flex; - flex-direction: column; -} - -.editor-toolbar { - position: absolute; - left: 16px; - top: 0; - right: 24px; - display: flex; - justify-content: space-between; - align-items: center; - height: 64px; -} - -.editor-toolbar span { - display: flex; - justify-content: space-between; - align-items: center; - height: 64px; -} - -.editor-toolbar span.start { - justify-content: flex-start; -} - -.editor-toolbar span.end { - justify-content: flex-end; -} - -.icon-container { - width: 36px; - height: 36px; - background: #00417033; - border-radius: 6px; - margin-right: 16px; - display: flex; - justify-content: center; - align-items: center; -} - -.icon-container.blue { - background: #509CCFBB; -} - -.icon-container.green { - background: #67B02FBB; -} - -.icon { - height: 24px; - width: 24px; - /* Position the icon properly */ - background-position: center; - background-repeat: no-repeat; -} - -.icon.layer-control { - background-image: url("data:image/svg+xml,%3Csvg fill='%2336424A' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ctitle%3Elayers%3C/title%3E%3Cpath d='M12,16L19.36,10.27L21,9L12,2L3,9L4.63,10.27M12,18.54L4.62,12.81L3,14.07L12,21.07L21,14.07L19.37,12.8L12,18.54Z' /%3E%3C/svg%3E"); -} - -.icon.code-editor { - background-image: url("data:image/svg+xml,%3Csvg fill='%2336424A' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ctitle%3Ecode-braces%3C/title%3E%3Cpath d='M8,3A2,2 0 0,0 6,5V9A2,2 0 0,1 4,11H3V13H4A2,2 0 0,1 6,15V19A2,2 0 0,0 8,21H10V19H8V14A2,2 0 0,0 6,12A2,2 0 0,0 8,10V5H10V3M16,3A2,2 0 0,1 18,5V9A2,2 0 0,0 20,11H21V13H20A2,2 0 0,0 18,15V19A2,2 0 0,1 16,21H14V19H16V14A2,2 0 0,1 18,12A2,2 0 0,1 16,10V5H14V3H16Z' /%3E%3C/svg%3E"); -} - -.icon.import { - background-image: url("data:image/svg+xml,%3Csvg fill='%23FFF' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ctitle%3Eimport%3C/title%3E%3Cpath d='M14,12L10,8V11H2V13H10V16M20,18V6C20,4.89 19.1,4 18,4H6A2,2 0 0,0 4,6V9H6V6H18V18H6V15H4V18A2,2 0 0,0 6,20H18A2,2 0 0,0 20,18Z' /%3E%3C/svg%3E"); -} - -.editor-title { - font-family: 'IBM Plex Mono'; - font-weight: 700; - font-size: 16px; - color: #051E2E; - margin-top: 0; -} - -.layers-title { - font-weight: 700; - font-size: 16px; - color: #051E2E; -} - -.card { - position: relative; - display: flex; - padding: 9px; - margin-bottom: 16px; - border-radius: 12px; - width: 500px; - min-height: 300px; - background: #fffa; - box-shadow: 0px 3px 5px 0px rgba(0,0,0,0.17); - backdrop-filter: blur(10px); - overflow-x: hidden; - overflow-y: hidden; -} - -.card.editor { - height: calc(100vh - 110px); -} - -.card.scroll { - overflow-y: auto; -} - -.card.layers { - min-height: 200px; -} - -#map-loading { - width: 100vw; - height: 100vh; - display: flex; - justify-content: center; - align-items: center; -} - -eox-jsonform { - position: absolute; - left: 0; - top: 40px; - right: 0; - bottom: 40px; - height: 300px; - max-height: 300px; -} - -h1, h2, h3, h4, h5, h6 { - margin: 0; -} - -.row { - margin-bottom: 16px; -} \ No newline at end of file diff --git a/src/styles/substyles/_spinner.css b/src/styles/substyles/_spinner.css deleted file mode 100644 index 7428f05b..00000000 --- a/src/styles/substyles/_spinner.css +++ /dev/null @@ -1,72 +0,0 @@ -.trinity-rings-spinner, .trinity-rings-spinner * { - box-sizing: border-box; -} - -.trinity-rings-spinner { - height: 66px; - width: 66px; - padding: 3px; - position: relative; - display: flex; - justify-content: center; - align-items: center; - flex-direction: row; - overflow: hidden; - box-sizing: border-box; -} - -.trinity-rings-spinner .circle { - position:absolute; - display:block; - border-radius:50%; - border: 3px solid #004170; - opacity: 1; -} - -.trinity-rings-spinner .circle:nth-child(1) { - height: 60px; - width: 60px; - animation : trinity-rings-spinner-circle1-animation 1.5s infinite linear; - border-width: 3px; -} - -.trinity-rings-spinner .circle:nth-child(2) { - height: calc(60px * 0.65); - width: calc(60px * 0.65); - animation : trinity-rings-spinner-circle2-animation 1.5s infinite linear; - border-width: 2px; -} - -.trinity-rings-spinner .circle:nth-child(3) { - height: calc(60px * 0.1); - width: calc(60px * 0.1); - animation:trinity-rings-spinner-circle3-animation 1.5s infinite linear; - border-width: 1px; -} - -@keyframes trinity-rings-spinner-circle1-animation{ - 0% { - transform: rotateZ(20deg) rotateY(0deg); - } - 100% { - transform: rotateZ(100deg) rotateY(360deg); - } -} - -@keyframes trinity-rings-spinner-circle2-animation{ - 0% { - transform: rotateZ(100deg) rotateX(0deg); - } - 100% { - transform: rotateZ(0deg) rotateX(360deg); - } -} - -@keyframes trinity-rings-spinner-circle3-animation{ - 0% { - transform: rotateZ(100deg) rotateX(-360deg); - } - 100% { - transform: rotateZ(-360deg) rotateX(360deg); - } -} \ No newline at end of file diff --git a/src/styles/substyles/_toolbar.css b/src/styles/substyles/_toolbar.css deleted file mode 100644 index e69de29b..00000000 diff --git a/src/utils/layerGenerator.js b/src/utils/layerGenerator.js new file mode 100644 index 00000000..82d152b9 --- /dev/null +++ b/src/utils/layerGenerator.js @@ -0,0 +1,164 @@ +/** + * Utility functions for generating EOX map layers from various data formats + */ + +/** + * Detects data format based on URL or file extension + * @param {string} dataUrl - The URL or path to the data file + * @returns {string} - Detected format: 'FlatGeobuf', 'GeoJSON', 'GeoTIFF', or 'Unknown' + */ +export function detectDataFormat(dataUrl) { + const url = dataUrl.toLowerCase() + + // Check file extensions + if (url.endsWith('.fgb')) { + return 'FlatGeoBuf' + } + if (url.endsWith('.geojson') || url.endsWith('.json')) { + return 'GeoJSON' + } + if (url.endsWith('.tif') || url.endsWith('.tiff') || url.endsWith('.geotiff')) { + return 'GeoTIFF' + } + + // Check for common patterns in URLs + if (url.includes('geojson') || url.includes('json')) { + return 'GeoJSON' + } + if (url.includes('tiff') || url.includes('geotiff')) { + return 'GeoTIFF' + } + if (url.includes('fgb') || url.includes('flatgeobuf')) { + return 'FlatGeoBuf' + } + + return 'Unknown' +} + +/** + * Generates appropriate layer source configuration based on data format + * @param {string} dataUrl - URL to the data + * @param {string} format - Data format (detected or specified) + * @returns {Object} - EOX map layer source configuration + */ +export function generateLayerSource(dataUrl, format) { + const detectedFormat = format || detectDataFormat(dataUrl) + + switch (detectedFormat) { + case 'FlatGeoBuf': + return { + type: 'Vector', + url: dataUrl, + format: 'FlatGeoBuf', + } + + case 'GeoJSON': + return { + type: 'Vector', + url: dataUrl, + format: 'GeoJSON', + } + + case 'GeoTIFF': + return { + type: 'GeoTIFF', + url: dataUrl, + } + + default: + // Fallback to GeoJSON for unknown formats + return { + type: 'Vector', + url: dataUrl, + format: 'GeoJSON', + } + } +} + +/** + * Generates a complete EOX map layer configuration + * @param {Object} options - Layer generation options + * @param {string} options.dataUrl - URL to the data + * @param {string} options.name - Layer name/title + * @param {Object} options.style - Style configuration for the layer + * @param {string} [options.format] - Force specific data format + * @param {string} [options.id] - Custom layer ID + * @param {Object} [options.properties] - Additional layer properties + * @returns {Object} - Complete EOX map layer configuration + */ +export function generateMapLayer({ dataUrl, name, style, format, id, properties = {} }) { + const detectedFormat = format || detectDataFormat(dataUrl) + const source = generateLayerSource(dataUrl, detectedFormat) + + // Determine layer type based on data format + const layerType = detectedFormat === 'GeoTIFF' ? 'WebGLTile' : 'Vector' + + const layer = { + type: layerType, + source, + id: id || `layer-${Date.now()}`, + title: name, + properties: { + visible: true, + ...properties, + }, + } + + // Add style configuration if provided + if (style) { + if (layerType === 'Vector') { + // For vector layers, set both layer.style and complete layerConfig + layer.style = style + if (!layer.properties.layerConfig) { + layer.properties.layerConfig = {} + } + // Include variables in the style object where eox-layercontrol expects them + const styleWithVariables = { + ...style, + variables: style?.variables || {} + } + + layer.properties.layerConfig = { + ...layer.properties.layerConfig, + schema: style?.jsonform || style?.schema, + style: styleWithVariables, // Style now includes variables + legend: style?.legend + } + } else if (layerType === 'WebGLTile') { + // For raster layers, style might be applied differently + // This depends on EOX map's raster styling capabilities + layer.style = style + } + } + + return layer +} + +/** + * Generates multiple layers for complex datasets + * @param {Array} datasets - Array of dataset configurations + * @returns {Array} - Array of EOX map layer configurations + */ +export function generateMapLayers(datasets) { + return datasets.map((dataset, index) => { + return generateMapLayer({ + ...dataset, + id: dataset.id || `layer-${index}-${Date.now()}`, + }) + }) +} + +/** + * Utility to validate if a URL is accessible + * @param {string} url - URL to validate + * @returns {Promise} - True if URL is accessible + */ +export async function validateDataUrl(url) { + try { + const response = await fetch(url, { method: 'HEAD' }) + return response.ok + } catch (error) { + console.warn('URL validation failed:', url, error) + return false + } +} diff --git a/src/utils/styleProcessor.js b/src/utils/styleProcessor.js new file mode 100644 index 00000000..3437eb1e --- /dev/null +++ b/src/utils/styleProcessor.js @@ -0,0 +1,37 @@ +/** + * Process and update variables in vector layer styles + * Replaces ["var", "key"] expressions with actual values from styles.variables + * @param {Record} styles + * @returns {Record} Processed style with variables burned in + */ +export function updateVectorLayerStyle(styles) { + // Return flat style if no variables to process + let returnStyle = styles; + + // Check if variables are defined and need to be "burned in" first + if ("variables" in styles) { + // Stringify all the styles to be able to search quickly + let rawStyle = JSON.stringify(styles); + // Extract updated variables + const { variables } = styles; + + // Loop through the variables keys + for (const key in variables) { + // OpenLayers styles expects numbers to be assigned as typeof number + if (typeof variables[key] === "number") { + // Replace ["var","key"] with actual number value + rawStyle = rawStyle.replaceAll(`["var","${key}"]`, variables[key]); + } else { + // Replace all style variables set of the specific key with the variables value + rawStyle = rawStyle.replaceAll( + `["var","${key}"]`, + `"${variables[key]}"` + ); + } + } + + returnStyle = JSON.parse(rawStyle); + } + + return returnStyle; +} \ No newline at end of file diff --git a/vite.config.js b/vite.config.js index 621062b6..d1e8a086 100644 --- a/vite.config.js +++ b/vite.config.js @@ -1,5 +1,28 @@ +import { fileURLToPath, URL } from 'node:url' + import { defineConfig } from 'vite' +import vue from '@vitejs/plugin-vue' +import vueDevTools from 'vite-plugin-vue-devtools' +// https://vite.dev/config/ export default defineConfig({ base: '/eodash-style-editor/', -}) \ No newline at end of file + plugins: [ + vue({ + template: { + compilerOptions: { + isCustomElement: (tag) => tag.startsWith('eox-') + } + } + }), + vueDevTools() + ], + optimizeDeps: { + include: ['@eox/map', '@eox/layercontrol', '@eox/jsonform'], + }, + resolve: { + alias: { + '@': fileURLToPath(new URL('./src', import.meta.url)), + }, + }, +})